之前源碼服務器都是部署在內網服務器上,但是最近需要用到外網上,所以在外網服務器上部署一下,並記錄一下過程。
1 首先是安裝一下 MySQL,我用的是 ubuntu 系統
(1)首先根據官網 地址 https://dev.mysql.com/downloads/ 找到apt鏈接 也可以手動下載,這里 直接輸入下面命令
wget https://repo.mysql.com//mysql-apt-config_0.8.14-1_all.deb
(2) 接下來 輸入以下命令(非 root 用戶需加上 sudo )
dpkg -i mysql-apt-config_0.8.14-1_all.deb
(3)以上輸入命令后會彈出設置,這里是讓你選擇要安裝哪些功能,我這里直接按默認功能,確定之后 會提示 使用 apt-get update 更新mysql安裝包鏈接
(4)接下里依次輸入
apt-get update
apt-get install mysql-server
中間會有彈窗提示輸入密碼,和密碼驗證方式
2 配置 MySQL 遠程訪問
(1) 本地連接 MySQL
mysql -uroot -p
輸入密碼
(2)查看用戶相關信息
use mysql; select host, user, authentication_string, plugin from user;
可以看到當前用戶的host 是 localhost ,而可以訪問的賬戶 的 HOST 需要為 %
(3)建立新用戶,並賦予遠程訪問權限
create user 'test'@'%' identified by '復雜密碼';
grant all privileges on *.* to 'test'@'%' with grant option;
#上述語句含義為:
#GRANT:賦權
#ALL PRIVILEGES:當前用戶的所有權限
#*.*:當前用戶對所有數據庫和表的相應操作權限
#‘test’@’%’:權限賦給test用戶,所有ip都能連接
#WITH GRANT OPTION:允許級聯賦權
flush privileges;
#刷新權限
新建完成后可以本地登錄試試。這里可以直接給 root 賦予遠程登錄權限,也可以通過 sql 語句對表中用戶進行相關操作。
(4)關閉防火牆
ufw disable
ufw disable
(5) 在本地測試連接,連接成功。
3 安裝 git
sudo apt-get install git
安裝完成后 可以使用 git --version 查看版本
4 安裝 gitea(其實官網已經講得很詳細了https://docs.gitea.io/zh-cn/install-from-binary/)
(1)新建一個 gitea 目錄
mkdir gitea
(2)從 gitea 官網上找到對應下載地址
wget -O gitea https://dl.gitea.io/gitea/1.11/gitea-1.11-linux-amd64 chmod +x gitea
(3)測試運行
./gitea web
可以訪問 IP:3000 查看,測試效果
(4) 設置守護進程(官網給出兩種以service運行的方法,這里我選擇suprvisor)
(a) 安裝 supervisor
apt install supervisor
(b) 配置日志路徑
mkdir gitea/log/supervisor
(c)配置supervisor config
vim /etc/supervisor/conf.d/gitea.conf
(d) 根據官網給出的配置文件修改一些內容 寫入剛剛編輯的文件 https://github.com/go-gitea/gitea/blob/master/contrib/supervisor/gitea
這里給出我稍作修改后的配置(directory 是 gitea 的地址,command 就是運行的命令和上面測試時運行的命令一致,log我存入剛剛建立的log文件夾中)
[program:gitea] directory=/root/source/gitea/ command=/root/source/gitea/gitea web autostart=true autorestart=true startsecs=10 stdout_logfile=/root/source/gitea/log/stdout.log stdout_logfile_maxbytes=1MB stdout_logfile_backups=10 stdout_capture_maxbytes=1MB stderr_logfile=/root/source/gitea/log/stderr.log stderr_logfile_maxbytes=1MB stderr_logfile_backups=10 stderr_capture_maxbytes=1MB user = root environment = HOME="/root/", USER="root"
(e)啟動 supervisor
systemctl enable supervisor systemctl start supervisor
這時可以運行命令 supervisorctl 進入 supervisor 的界面
運行 update 會顯示 已添加了 gitea
可以用 status 命令查看是否已運行(若沒有運行 可以使用 start 命令)
出現錯誤可以在上述設置日志的地方找到錯誤明細。
5 配置 gitea
上述布置完成后直接訪問 IP:3000 可以直接訪問到 gitea 。點擊導航欄中的探索會有一些基礎設置。(設置倉庫目錄與數據庫)
如果提示數據庫不存在,則在mysql 中新建對應名稱的空數據庫即可