阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

177次阅读
没有评论

共计 5780 个字符,预计需要花费 15 分钟才能阅读完成。

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

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

本教程说明了如何在 Ubuntu 18.04 上安装和配置 Gitea。相同的说明适用于 Ubuntu 16.04 和任何其他基于 Debian 的发行版。

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

必要条件

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

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

[linuxidc@linux:~/www.linuxidc.com]$ sudo apt update

[linuxidc@linux:~/www.linuxidc.com]$ sudo apt install sqlite3

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

安装 Gitea

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

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

安装 Git

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

[linuxidc@linux:~/www.linuxidc.com]$ sudo apt install git

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

[linuxidc@linux:~/www.linuxidc.com]$ git –version

git version 2.17.1

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

创建一个 Git 用户

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

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

[linuxidc@linux:~/www.linuxidc.com]$ sudo adduser –system –group –disabled-password –shell /bin/bash –home /home/git –gecos ‘Git Version Control’ git
正在添加系统用户 ”git” (UID 122)…
正在添加新组 ”git” (GID 127)…
正在将新用户 ”git” (UID 122)添加到组 ”git”…
创建主目录 ”/home/git”…

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

下载 Gitea 二进制文件

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

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

[linuxidc@linux:~/www.linuxidc.com]$ VERSION=1.10.2
[linuxidc@linux:~/www.linuxidc.com]$ sudo wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64

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

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

[linuxidc@linux:~/www.linuxidc.com]$ sudo mv /tmp/gitea /usr/local/bin

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

[linuxidc@linux:~/www.linuxidc.com]$ sudo chmod +x /usr/local/bin/gitea

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

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

[linuxidc@linux:~/www.linuxidc.com]$ sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
[linuxidc@linux:~/www.linuxidc.com]$ sudo chown git: /var/lib/gitea/{data,indexers,log}
[linuxidc@linux:~/www.linuxidc.com]$ sudo chmod 750 /var/lib/gitea/{data,indexers,log}
[linuxidc@linux:~/www.linuxidc.com]$ sudo mkdir /etc/gitea
[linuxidc@linux:~/www.linuxidc.com]$ sudo chown root:git /etc/gitea
[linuxidc@linux:~/www.linuxidc.com]$ sudo chmod 770 /etc/gitea

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

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

创建 Systemd Unit 位文件

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

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

[linuxidc@linux:~/www.linuxidc.com]$ sudo wget https://raw.githubusercontent.com/go-gitea/gitea/master/contrib/systemd/gitea.service -P /etc/systemd/system/

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

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

[linuxidc@linux:~/www.linuxidc.com]$ sudo systemctl daemon-reload
[linuxidc@linux:~/www.linuxidc.com]$ sudo systemctl enable –now gitea
Created symlink /etc/systemd/system/multi-user.target.wants/gitea.service → /etc/systemd/system/gitea.service.

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

配置 Gitea

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

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

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

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

[linuxidc@linux:~/www.linuxidc.com]$ sudo ufw allow 3000/tcp
[sudo] linuxidc 的密码:
防火墙规则已更新
规则已更新(v6)

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

打开浏览器,输入 http://git.linuxidc.com:3000/ 然后将显示类似以下的屏幕:

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 配置文件的权限更改为只读:

[linuxidc@linux:~/www.linuxidc.com]$ sudo chmod 750 /etc/gitea

[linuxidc@linux:~/www.linuxidc.com]$ sudo chmod 640 /etc/gitea/app.ini

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

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

此步骤是可选的,但强烈建议这样做。要将 Nginx 用作反向代理,您需要具有一个指向服务器公共 IP 的域或子域。在本教程中,我们将使用 git.linuxidc.com。

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

https://www.linuxidc.com/Linux/2018-05/152257.htm

https://www.linuxidc.com/Linux/2020-02/162228.htm

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

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;
    }
}

不要忘记用您的 Gitea 域替换 git.linuxidc.com,并为 SSL 证书文件设置正确的路径。HTTP 流量重定向到 HTTPS

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

$sudo systemctl restart nginx

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

$sudo nano /etc/gitea/app.ini

[server]
DOMAIN          = git.linuxidc.com
ROOT_URL        = https://git.linuxidc.com/

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

sudo systemctl restart gitea

至此,已经配置了 Gitea 代理,您可以在以下位置访问它:https://git.linuxidc.com

配置电子邮件通知

为了使 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 实例并创建第一个项目。

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

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-21发表,共计5780字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中