ubuntu 下部署源码管理器(git +gitea+mysql)
之前源码服务器都是部署在内网服务器上,但是最近需要用到外网上,所以在外网服务器上部署一下,并记录一下过程。
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 中新建对应名称的空数据库即可