如何在Ubuntu 19.04/18.04/16.04上安装Gitea Git服务

时间:2020-02-23 14:44:38  来源:igfitidea点击:

欢迎来到我们关于如何在Ubuntu 19.04/18.04/16.04上安装Gitea自主Git服务的教程。
Gitea是一种无痛的自主的Git服务,从GOGS分叉,类似于Github,Bitbucket和Gitlab。

Gitea主要目标是为建立自主托管的GIT服务提供最快,最简单,最无痛的方式。
通过Go写入,它被分发为二进制包,运行跨越支持的所有平台和体系结构。

它在Linux,MacOS和Windows上运行,位于AMD64,I386,ARM,PowerPC等体系结构上。
按照下面提供的步骤将Gitea安装在Ubuntu 19.04/18.04/16.04服务器上。

Gitea系统设置

该设置包括Ubuntu ServerMariaDB数据库ServerGit Version ControlGitea服务,具有系统D.

第1步:创建Git系统用户

运行以下命令以添加用户git来管理系统上的gitea。

sudo adduser \
   --system \
   --shell /bin/bash \
   --gecos 'Git Version Control' \
   --group \
   --disabled-password \
   --home /home/git \
   git

命令 id应显示用户ID和组ID

$id git
uid=112(git) gid=117(git) groups=117(git)

第2步:安装MariaDB数据库服务器

我们将使用MariaDB存储Gitea数据,在服务器上安装MariaDB。

sudo apt -y install mariadb-server

为Gitea创建数据库。

$sudo mysql -u root -p
CREATE DATABASE gitea;
GRANT ALL PRIVILEGES ON gitea.* TO 'gitea'@'localhost' IDENTIFIED BY "StrongPassword";
FLUSH PRIVILEGES;
QUIT;

第3步:在Ubuntu上安装Gitea

现在从下载页面下载Gitea二进制文件。
在下载之前检查最新版本。

export VER=1.9.4
wget https://github.com/go-gitea/gitea/releases/download/v${VER}/gitea-${VER}-linux-amd64

将下载的二进制文件移动到 /use/local/bin目录

chmod +x gitea-${VER}-linux-amd64
sudo mv gitea-${VER}-linux-amd64 /usr/local/bin/gitea

我们可以确认使用的版本使用。

$gitea --version
Gitea version 1.9.4 built with: bindata, sqlite

创建所需的目录结构。

sudo mkdir -p /etc/gitea /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 chown root:git /etc/gitea
sudo chmod 770 /etc/gitea

Web安装程序将需要编写权限配置文件 /etc/gitea创建系统服务单元

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

配置文件以设置用户,组和WorkDir。

[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
After=mysql.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

重新加载系统并重新启动服务

sudo systemctl daemon-reload
sudo systemctl restart gitea

还启用服务开始启动

sudo systemctl enable gitea

示例状态输出。

$systemctl status gitea
* gitea.service - Gitea (Git with a cup of tea)
   Loaded: loaded (/etc/systemd/system/gitea.service; disabled; vendor preset: enabled)
   Active: active (running) since Mon 2016-10-01 12:25:19 PDT; 3s ago
 Main PID: 6919 (gitea)
    Tasks: 10 (limit: 1111)
   CGroup: /system.slice/gitea.service
           `-6919 /usr/local/bin/gitea web -c /etc/gitea/app.ini
.......

第4步:配置nginx代理

在Debian 10上安装nginx。

sudo apt -y install nginx

如果启用了UFW,请允许HTTP和HTTPS端口。

for i in http https; do
 sudo ufw allow $i
done

为Gitea创建nginx配置文件

sudo vim /etc/nginx/conf.d/gitea.conf

将数据粘贴到创建的文件中。

server {
    listen 80;
    server_name git.example.com;
    location/{
        proxy_pass http://localhost:3000;
    }
}

设置正确的域名并重新启动nginx服务。

sudo systemctl restart nginx

第5步:在Ubuntu上配置Gitea

访问http://servichostname /安装来启动安装

设置数据库身份验证

在第一页上,设置数据库连接

提供的用户名和密码应匹配数据库配置部分中提供的密码。
如果数据库服务器位于其他主机上,请在主机部分下提供IP地址。

设置应用程序常规设置

设置SSH服务器域 - 应该是nginx配置中使用的相同域。

提供应用程序URL和HTTP侦听端口。
由于我们使用nginx代理,因此无需更改默认值。

禁用用户自我注册

我们可以在"服务器和其他服务设置"下禁用用户自我登记。
这意味着管理员用户将手动创建用户帐户。

(可选)创建管理员用户帐户。
默认情况下,root用户将自动获得管理员访问权限。

完成配置后,单击"安装Gitea"按钮以完成安装。
在成功安装时,我们应该登录Gitea管理控制台。