如何在Fedora 29上安装Gitea

・6 分钟阅读

使用不同的系统?

Gitea是Git支持的另一个开源自托管版本控制系统,Gitea是用Golang编写的是一个轻量级的解决方案,可以在任何平台上托管。

前提条件

  • 新的Fedora 29实例,
  • 具有sudo权限的用户或root用户。
  • Git
  • MariaDB

安装Git

首先,更新你的系统。

 
sudo dnf update

 

安装Git 。


sudo dnf -y install git

安装MariaDB数据库服务器

Gitea支持以下数据库服务器。

  • MariaDB/mysql
  • PostgreSQL
  • SQLite
  • TiDB

对于本教程,我们会使用MariaDB服务器。


sudo dnf -y install mariadb-server

完成后,确保MariaDB已启用,并且正在运行。


systemctl enable mariadb.service
systemctl start mariadb.service

然后,运行下面的命令以保护MariaDB服务器,创建root密码,并且禁止远程root访问。


sudo mysql_secure_installation

出现提示时,请按照下列指南回答下列问题。


Enter current password for root (enter for none): Just press the Enter
Set root password? [Y/n]: Y
New password: Enter password
Re-enter new password: Repeat password
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y

重新启动MariaDB 。


sudo systemctl restart mariadb.service

登录到MariaDB控制台。


sudo mysql -u root -p

然后键入你在上面创建的密码以登录,你将看到MariaDB欢迎消息。

创建一个名为gitea的数据库。


CREATE DATABASE gitea;

创建一个叫giteauser的数据库用户,使用新密码。


CREATE USER 'giteauser'@'localhost' IDENTIFIED BY 'new_password_here';

确保你用一个强大而复杂的密码替换new_password_here

然后授予用户对数据库的完全访问权限。


GRANT ALL ON gitea.* TO 'giteauser'@'localhost' IDENTIFIED BY 'user_password_here' WITH GRANT OPTION;

最后,保存更改并退出。


FLUSH PRIVILEGES;
EXIT;

准备Gitea环境

创建用户以运行Gitea 。


sudo adduser --system --shell /bin/bash --comment 'Git Version Control' --user-group --home-dir /home/git -m git

创建所需的目录结构。


sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
sudo chown git:git /var/lib/gitea/{data,indexers,log}
sudo chmod 750 /var/lib/gitea/{data,indexers,log}
sudo mkdir /etc/gitea
sudo chown root:git /etc/gitea
sudo chmod 770 /etc/gitea

安装Gitea

可以通过运行以下命令下载Gitea二进制文件,你应该用下面的链接替换下面的链接此下载页面


sudo wget -O gitea https://dl.gitea.io/gitea/1.6.1/gitea-1.6.1-linux-amd64 
sudo chmod +x gitea

将二进制文件复制到全局位置。


sudo cp gitea /usr/local/bin/gitea

创建服务文件以自动启动Gitea

创建Linux服务文件。


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

使用你选择的文本编辑器打开这个新建文件并将它填充如下。


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

[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because
# of that
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
# If you want to bind Gitea to a port below 1024 uncomment
# the two values below
###
#CapabilityBoundingSet=CAP_NET_BIND_SERVICE
#AmbientCapabilities=CAP_NET_BIND_SERVICE

[Install]
WantedBy=multi-user.target

启动时启用并启动Gitea


sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl start gitea

确保Gitea正在运行。


sudo systemctl status gitea

在Firewalld中启用到Gitea默认端口的通信:


sudo firewall-cmd --add-port 3000/tcp --permanent
sudo firewall-cmd --reload 

最后,打开一个网页浏览器并将它指向:


http://YOUR_SERVER_IP:3000/install

按照屏幕上的说明完成Gitea设置。

Zuoxiaojuan profile image