安装wsl2
适用于 Linux 的 Windows 子系统安装指南 (Windows 10)
注意:1909以下的系统一定要先升级才能使用wsl2
自动启动
wsl2不支持systemd,需要在/etc/init.d下注册服务脚本。或者使用supervisor
在 Ubuntu 16.04 LTS 中以 service 方式运行
安装mysql
gitea默认使用mysql,安装及使用参见mysql文档
create database gitea;
create user 'gitea'@'%' identified by 'PASSWORD';
grant all privileges on gitea.* to 'gitea'@'%';
安装gitea
获取可执行文件
从gitea-runable-1.13.2下载gitea的可执行文件,版本任选
若不能从github下载可执行文件,也可以从gitea-github或者镜像网站gitea-src-mirror下载源码自行编译
gitea-${GITEA_VERSION}-linux-amd64是可执行文件,直接运行即可
创建工作环境
创建数据目录链接
如果是使用独立数据盘,需要进行额外链接设置
mkdir -p ${DATA_DIR}
cd /home
ln -s ${DATA_DIR} git
在创建了git用户后,更改数据目录权限
chown git:git ${DATA_DIR}
创建git用户
sudo adduser --system --group --disabled-password \
--shell /bin/bash --home /home/git \
--gecos 'Git Version Control' git
参考 如何在 Ubuntu 18.04 上安装和配置 Gogs
创建gitea程序安装环境
mkdir -p ${TOOL_ROOT}/gitea
cp gitea-${GITEA_VERSION}-linux-amd64 ${TOOL_ROOT}/gitea
sudo mkdir -p /opt/gitea
cd /opt/gitea
sudo ln -s ${TOOL_ROOT}/gitea/gitea-${GITEA_VERSION}-linux-amd64 gitea
cd ${TOOL_ROOT}/gitea
chmod 775 gitea-${GITEA_VERSION}-linux-amd64
创建启动脚本
mkdir -p ${TOOL_ROOT}/gitea/autostart
cd ${TOOL_ROOT}/gitea/autostart
tee gitea.supervisor << EOF
[program:gitea]
directory=/home/git/gitea/
command=/opt/gitea/gitea --work-path /home/git/gitea/workpath --custom-path /home/git/gitea/workpath/custom --config /home/git/gitea/workpath/conf/app.ini web
autostart=true
autorestart=true
startsecs=10
stdout_logfile=/home/git/log/gitea/stdout.log
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=10
stdout_capture_maxbytes=1MB
stderr_logfile=/home/git/log/gitea/stderr.log
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=10
stderr_capture_maxbytes=1MB
user = git
environment = HOME="/home/git", USER="git"
EOF
cd /etc/supervisor/conf.d
ln -s ${TOOL_ROOT}/gitea/autostart/ gitea.supervisor gitea.conf
sudo service supervisor restart
测试gitea启动命令
因为gitea服务是用git用户启动,因此测试gitea的启动命令是否正确需要使用su或runuser命令。而因为git用户无法登录,直接su -l git -c 'command'
会报权限错误,因此我们需要先通过su命令登录为root后再使用su或runuser命令以git身份进行操作。
su
输入密码登录为root后
su -l git -c "/opt/gitea/gitea --work-path /home/git/gitea/workpath --custom-path /home/git/gitea/workpath/custom --config /home/git/gitea/workpath/conf/app.ini web"
或
runuser -l git -c "/opt/gitea/gitea --work-path /home/git/gitea/workpath --custom-path /home/git/gitea/workpath/custom --config /home/git/gitea/workpath/conf/app.ini web"