Ubuntu 18.04 上安装搭建私有 Git 服务器 Gitea

Gitea是用Go编写的自托管开源git服务器。 这是Gogs的分叉。 Gitea包括存储库文件编辑器,项目问题跟踪,用户管理,通知,内置Wiki等。

Gitea是轻量级的应用程序,可以安装在低功率系统上。 如果您正在寻找内存占用量少得多的Gitlab替代产品,并且不需要Gitlab提供的所有功能,那么您绝对应该尝试Gitea。

Ubuntu 18.04 上安装搭建私有 Git 服务器 Gitea

必要条件

Gitea支持SQLite,PostgreSQL和MySQL/MariaDB作为数据库后端。

我们将使用SQLite作为Gitea的数据库。 如果您的Ubuntu系统上未安装SQLite,则可以通过以sudo用户身份输入以下命令来安装它:

Ubuntu 18.04 上安装搭建私有 Git 服务器 Gitea

安装Gitea

Gitea提供了Docker映像,可以从源代码,二进制文件或作为软件包安装。

我们将从二进制文件安装Gitea。 完成以下步骤,在Ubuntu上安装Gitea。

安装Git

第一步是在您的服务器上安装Git:

通过显示Git版本来验证安装:

git version 2.17.1

Ubuntu 18.04 上安装搭建私有 Git 服务器 Gitea

创建一个Git用户

创建一个新的系统用户,将通过键入以下内容来运行Gitea应用程序:

该命令将创建一个名为git的新用户和组,并将主目录设置为/home/git。 输出如下所示:

Ubuntu 18.04 上安装搭建私有 Git 服务器 Gitea

下载Gitea二进制文件

访问Gitea下载页面,并下载适用于您的体系结构的最新二进制文件。 在撰写本文时,最新版本为1.10.2。 如果有可用的新版本,请在下面的命令中更改VERSION变量。

使用以下wget命令在/tmp目录中下载Gitea二进制文件:

Ubuntu 18.04 上安装搭建私有 Git 服务器 Gitea

gitea二进制文件可以在任何位置运行。 我们将遵循约定并将二进制文件移至/usr/local/bin目录:

赋予二进制文件可执行权限:

Ubuntu 18.04 上安装搭建私有 Git 服务器 Gitea

运行以下命令以创建目录并设置所需的权限和所有权:

Ubuntu 18.04 上安装搭建私有 Git 服务器 Gitea

/etc/gitea目录的权限设置为770,以便安装向导可以创建配置文件。 安装完成后,我们将设置更多限制性权限。

创建Systemd Unit位文件

Gitea提供了已配置为与我们的设置匹配的Systemd Unit文件。

通过键入以下命令将文件下载到/etc/systemd/system/目录:

Ubuntu 18.04 上安装搭建私有 Git 服务器 Gitea

完成后,启用并启动Gitea服务:

Ubuntu 18.04 上安装搭建私有 Git 服务器 Gitea

配置Gitea

现在已经下载并运行了Gitea,是时候通过Web界面完成安装了。

默认情况下,Gitea会侦听所有网络接口上端口3000上的连接。

如果您的服务器上运行着UFW防火墙,则需要打开Gitea端口:

要允许端口3000上的流量,请输入以下命令:

Ubuntu 18.04 上安装搭建私有 Git 服务器 Gitea

Ubuntu 18.04 上安装搭建私有 Git 服务器 Gitea

数据库设置:

  • 数据库类型:SQLite3
  • 路径:使用绝对路径/var/lib/gitea/data/gitea.db

应用程序常规设置:

  • 站点名称:您可以在此输入您公司的名称。
  • 存储库根路径:保留默认的/home/git/gitea-repositories。
  • Git LFS根路径:保留默认的/var/lib/gitea/data/lfs。
  • 以用户名运行:git
  • SSH服务器域:输入您的域或服务器IP地址。
  • SSH端口:22,如果SSH正在侦听其他端口,请更改它
  • Gitea HTTP侦听端口:3000
  • Gitea基本URL:使用http和您的域或服务器IP地址。
  • 日志路径:保留默认的/var/lib/gitea/log

您可以随时通过编辑Gitea配置文件来更改设置。

完成后,点击“安装Gitea”按钮。安装是即时的。完成后,您将被重定向到登录页面。

点击“立即注册”链接。第一个注册用户将自动添加到Admin组。

Ubuntu 18.04 上安装搭建私有 Git 服务器 Gitea

Ubuntu 18.04 上安装搭建私有 Git 服务器 Gitea

Ubuntu 18.04 上安装搭建私有 Git 服务器 Gitea

使用以下命令将Gitea配置文件的权限更改为只读:

就这样。 Gitea已安装在您的Ubuntu计算机上。

将Nginx配置为SSL/TLS代理(termination proxy)

首先,安装Nginx并使用以下指南生成免费的“加密SSL”证书:

完成后,打开文本编辑器并编辑域服务器块文件:

sudo nano /etc/nginx/sites-enabled/git.example.com

server {
    listen 80;
    server_name git.linuxidc.com;

    include snippets/letsencrypt.conf;
    return 301 https://git.linuxidc.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name git.linuxidc.com;

    proxy_read_timeout 720s;
    proxy_connect_timeout 720s;
    proxy_send_timeout 720s;

    client_max_body_size 50m;

    # Proxy headers
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;

    # SSL parameters
    ssl_certificate /etc/letsencrypt/live/git.linuxidc.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/git.linuxidc.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/git.linuxidc.com/chain.pem;
    include snippets/letsencrypt.conf;
    include snippets/ssl.conf;

    # log files
    access_log /var/log/nginx/git.linuxidc.com.access.log;
    error_log /var/log/nginx/git.linuxidc.com.error.log;

    # Handle / requests
    location / {
       proxy_redirect off;
       proxy_pass http://127.0.0.1:3000;
    }
}

重新启动Nginx服务以使更改生效:

$sudo systemctl restart nginx

接下来,更改Gitea域和根URL。 为此,请打开配置文件并编辑以下行:

$sudo nano /etc/gitea/app.ini

通过键入以下命令重新启动Gitea服务:

sudo systemctl restart gitea

配置电子邮件通知

为了使Gitea能够发送通知电子邮件,您可以安装Postfix或使用某些事务性邮件服务,例如SendGrid,MailChimp,MailGun或SES。

要启用电子邮件通知,请打开配置文件并编辑以下行:

$sudo nano /etc/gitea/app.ini

[mailer]
ENABLED = true
HOST    = SMTP_SERVER:SMTP_PORT
FROM    = SENDER_EMAIL
USER    = SMTP_USER
PASSWD  = YOUR_SMTP_PASSWORD

确保您输入了正确的SMTP服务器信息。

重新启动Gitea服务以使更改生效:

sudo systemctl restart gitea

要验证设置并发送测试电子邮件,请登录Gitea,然后转到:站点管理>配置> SMTP邮件程序配置。

Gitea还允许您通过创建Web Webhook连接到Slack并将通知发送到您的Slack频道。

升级Gitea

要升级到最新的Gitea版本,只需下载并替换二进制文件即可。

01、停止Gitea服务:

sudo systemctl stop gitea

02、下载最新的Gitea版本并将其移至/home/git目录:

VERSION=<THE_LATEST_GITEA_VERSION>

wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64

sudo mv /tmp/gitea /usr/local/bin

03、赋予二进制文件可执行权限:

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

04、启动Gitea服务:

sudo systemctl restart gitea

就这样。

总结

本教程将引导您完成在Ubuntu 18.04上安装Gitea的过程。现在,您应该访问Gitea文档页面,并学习如何配置Gitea实例并创建第一个项目。

如有疑问,请在下面发表评论。

猜你喜欢

转载自www.linuxidc.com/Linux/2020-02/162227.htm