一、数据库准备
-
安装数据库(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 123456
-
创建服务
编辑 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