一、数据库准备
- 安装数据库(mariadb)
sudo dnf install mariadb-server -y
- 启动数据库服务,并设置开机启动
sudo systemctl start mariadb
sudo systemctl enable mariadb
- 检查服务状态
sudo systemctl status mariadb
- 使用mariadb安全脚本设置
sudo mysql_secure_installation
# root 密码: Pro@@@123qwe
- gitea 数据库账户设定
# 在服务器上登录数据库
mysql -u root -p
按提示输入密码
# 有可能这里登录不上,就要已安全模式登录修改密码
sudo systemctl stop mariadb.service
sudo mysqld_safe --skip-grant-tables &
mysql -u root
use mysql;
flush privileges;
alter user 'root'@'localhost' identified by 'Pro@@@123qwe';
flush privileges;
quit;
sudo kill -9 "刚才安全模式运行的进程id"
sudo systemctl start mariadb.service
# 创建一个gitea 使用的数据库用户
SET old_passwords=0;
CREATE USER 'gitea'@'127.0.0.1' IDENTIFIED BY 'gitea';
# 使用一个UTF-8字符集和排序规则创建数据库(根据需要修改数据库名称)
CREATE DATABASE giteadb CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';
# 将数据库上的所有权限授予上述创建的数据库用户
GRANT ALL PRIVILEGES ON giteadb.* TO 'gitea';
FLUSH PRIVILEGES;
- 下载二进制文件
wget -O gitea https://dl.gitea.com/gitea/1.20.3/gitea-1.20.3-linux-arm64
chmod +x gitea
sudo cp gitea /usr/local/bin/gitea
- 准备环境:
检查是否安装 Git。要求 Git 版本 >= 2.0。
git --version
创建用户(推荐使用名称 git)
# On Ubuntu/Debian:
adduser \
--system \
--shell /bin/bash \
--gecos 'Git Version Control' \
--group \
--disabled-password \
--home /home/git \
git
# On Fedora/RHEL/CentOS:
sudo groupadd --system git
sudo adduser \
--system \
--shell /bin/bash \
--comment 'Git Version Control' \
--gid git \
--home-dir /home/git \
--create-home \
git
- 创建工作路径
sudo mkdir -p /data/gitea/{custom,data,log}
sudo chown -R git:git /data/gitea/
sudo chmod -R 750 /data/gitea/
sudo mkdir /etc/gitea
sudo touch /etc/gitea/app.ini
sudo chown -R root:git /etc/gitea
sudo chmod -R 770 /etc/gitea
export GITEA_WORK_DIR=/data/gitea/
- 运行
sudo su - git
GITEA_WORK_DIR=/data/gitea/ /usr/local/bin/gitea web -c /etc/gitea/app.ini
- 防火墙放行
sudo firewall-cmd --add-port=3000/tcp --permanent
sudo firewall-cmd --reload
- 管理员cyalias dong0720
- 创建服务
编辑 sudo vim /etc/systemd/system/gitea.service
[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
After=mysqld.service
After=postgresql.service
After=memcached.service
After=redis.service
[Service]
# 用户和组需要与创建的系统用户和组匹配
User=git
Group=git
RestartSec=2s
Type=simple
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
WorkingDirectory=/data/gitea
[Install]
WantedBy=multi-user.target
执行如下命令:
sudo systemctl daemon-reload
sudo systemctl start gitea
sudo systemctl status gitea