gitea

安装环境:ubuntu

1. 安装git

sudo apt update sudo apt install git

2. 安装mysql

下载

wget https://repo.mysql.com//mysql-apt-config_0.8.32-1_all.deb

安装

dpkg -i mysql-apt-config_0.8.32-1_all.deb

# 更新并安装mysql-server
apt-get update
apt-get install mysql-server

# 这里会有输入mysql密码的操作,请注意!!!

连接

使用root账户连接mysql

sudo mysql -u root -p

创建用户

首次使用mysql,需要先创建用户。并配置用户密码。

CREATE USER 'gitea' IDENTIFIED BY 'gitea666@';

若已经存在用户,则先删除再创建。

# 若报错,则查看下是否已经创建过了
SELECT user FROM mysql.user WHERE user='gitea';

# 若已经存在,则删除
DROP USER 'gitea';

创建数据库

首次使用mysql,需要先创建数据库。并授权用户。

# 创建数据库
CREATE DATABASE giteadb CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';

# 授权
GRANT ALL PRIVILEGES ON giteadb.* TO 'gitea';

# 刷新权限
FLUSH PRIVILEGES;

若已经存在数据库,则先删除再创建。

# 查看数据库是否已经存在
SHOW DATABASES LIKE 'giteadb';

# 若报错,看是否数据库已经存在。那么先删除后重新建立。
DROP DATABASE giteadb;

登录

退出mysql后,尝试用gitea用户登录

mysql -u gitea -p giteadb
# 输入当时配置的mysql用户gitea密码	

3. 安装gitea

新建账户

# 创建用户
sudo adduser --system --group --disabled-password --shell /bin/bash --home /home/gitea gitea

下载

wget https://dl.gitea.com/gitea/1.22.1/gitea-1.22.1-linux-amd64

将下载的特定版本文件修改名为gitea,并赋予可执行权限。

sudo mv gitea /usr/local/bin/gitea
sudo chmod +x /usr/local/bin/gitea

配置

可以参考下面的脚本,我当时因为有权限问题,所以相关文件放在了gitea用户主路径下。

#!/usr/bin/bash
sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
sudo chown gitea:gitea /var/lib/gitea/{data,indexers,log}
sudo chmod 750 /var/lib/gitea/{data,indexers,log}
sudo mkdir /etc/gitea
sudo chown root:gitea /etc/gitea
sudo chmod 770 /etc/gitea

创建服务文件:

sudo vim /etc/systemd/system/gitea.service

将以下内容写入到文件中:

[Unit] 
Description=Gitea (Git with a cup of tea)
After=syslog.target After=network.target
Requires=mysqld.service 

[Service]
RestartSec=2s
Type=simple
User=gitea
Group=gitea
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=gitea
HOME=/home/gitea
GITEA_WORK_DIR=/var/lib/gitea

[Install]
WantedBy=multi-user.target

启用服务

# 启动服务
sudo systemctl enable gitea
sudo systemctl start gitea

若后续服务文件有所更新,那么可以通过下面的命令重启服务。

# 重启服务 
sudo systemctl restart gitea

其他可能用到的

# 修改用户名
sudo usermod -l gitea -d /home/gitea -m git

# 修改用户组
sudo groupmod -n gitea git

4. gitea配置

gitea的配置文件在/etc/gitea/app.ini下,可以修改一些配置,比如ROOT_URL或者APP_DATA_PATH等。