站长视角
用户至上

如果在搬瓦工Ubuntu 20.04系统安装基于gitea自建git服务环境教程

Gitea是一个用go编写的快速且易于使用的自我管理git服务器应用程序。Gitea包括存储库文件编辑器、项目问题跟踪、用户管理、通知、内置Wiki等。Gitea是一个轻量级应用程序,可以安装在低功耗系统上。如果我们正在寻找内存占用较小的gitlab替代品,并且您不需要gitlab来提供复杂的函数,那么我们可以使用相对简单的gitea。

基于Ubuntu 20.04安装Gitea自建Git服务环境

本文,仍然以搬瓦工Ubuntu 20.04为例,我们在机器上安装和配置gitea。

首先,必要的兼容环境

gitea安装环境要求我们当前的服务器支持SQLite、PostgreSQL和MySQL/MariaDB作为数据库后端。如果我们的数据很小,我们可以使用SQLite数据库。如果我们的数据很大,建议使用MySQL或PostgreSQL。

sudo apt update
sudo apt install sqlite3

第二,安装gitea服务

Gitea提供可以从源代码、二进制文件和软件包安装的docker映像。我们将从二进制文件安装gitea。

1.安装git:

sudo apt update
sudo apt install git

这里我们使用Ubuntu图像。

git --version

安装之后,我们使用命令检查版本。如果存在反馈数据版本,则安装已完成。

2.创建用户

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

上面的命令创建一个名为GIT的新用户和组,并将主目录设置为/home/GIT。输出结果如下:

Adding system user `git' (UID 112) ...
Adding new group `git' (GID 118) ...
Adding new user `git' (UID 112) with group `git' ...
Creating home directory `/home/git' ...

3.下载文件

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

使用WGet下载/tmp目录中的gitea二进制文件:

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

我们可以在任何地方运行gitea二进制文件。我们将按照约定将二进制文件移动到/usr/local/bin目录:

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

使二进制文件可执行:

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

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

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

上述目录结构是gitea的官方文档推荐的/etc/gitea目录的权限设置为770,以便安装向导可以创建配置文件。安装后,我们将设置更严格的权限。

4.创建系统单元文件

我们将gitea作为系统服务运行。

通过键入以下命令,将示例SYSTEMd单元文件下载到/etc/SYSTEMd/system目录:

sudo wget https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/systemd/gitea.service -P /etc/systemd/system/

然后我们需要开始。

sudo systemctl daemon-reload
sudo systemctl enable --now gitea

验证状态。

sudo systemctl status gitea

看看返回值。

 gitea.service - Gitea (Git with a cup of tea)
     Loaded: loaded (/etc/systemd/system/gitea.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2021-05-06 05:32:04 UTC; 7s ago
   Main PID: 77781 (gitea)
      Tasks: 6 (limit: 470)
     Memory: 130.6M
     CGroup: /system.slice/gitea.service
             └─77781 /usr/local/bin/gitea web --config /etc/gitea/app.ini
...

5.配置gitea

现在gitea已经下载并运行,我们可以通过web界面完成安装。默认情况下,gitea侦听所有网络接口上端口3000上的连接。如果UFW防火墙在我们的服务器上运行,我们需要打开gitea端口。要允许端口3000上的通信,请输入以下命令:

sudo ufw allow 3000/tcp

打开浏览器并输入http://YOUR_ 域uIRuuIP:3000,将出现以下屏幕:

相应地,我们需要在安装之前填写数据信息,这类似于我们的网站CMS。

如果安装不好,您需要授权文件:

sudo chmod 750 /etc/gitea
sudo chmod 640 /etc/gitea/app.ini

第三,nginx被配置为SSL

是否安装SSL是可选的,但建议这样做。安装SSL后,这意味着nginx将充当gitea应用程序和web客户端之间的中介点,因此您可以通过HTTPS访问gitea。

首先,安装nginx并使用以下准则生成免费的let’s加密SSL证书:

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

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

要配置:

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

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

server {
    listen 443 ssl http2;
    server_name git.example.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.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/git.example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/git.example.com/chain.pem;
    include snippets/letsencrypt.conf;
    include snippets/ssl.conf;

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

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

根据需要修改。不要忘记用我们的gitea域替换git.example.com,并设置SSL证书文件的正确路径。

最后,重新启动nginx以使其生效。

sudo systemctl restart nginx

事实上,当我们安装SSL时,我们最好使用免费或付费证书,然后我们可以配置SSL文件。

接下来,更改gitea域和根URL。我们需要打开配置文件并编辑以下行:

sudo nano /etc/gitea/app.ini

编辑:

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

保存后重新启动生效

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

然后重新启动以生效

sudo systemctl restart gitea

第五,如何升级gitea

如果有新版本,我们如何升级gitea。

1.先关闭服务

sudo systemctl stop gitea

2.将最新文件下载到/usr/local/bin目录

VERSION=
wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64
sudo mv /tmp/gitea /usr/local/bin

3.执行文件

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

4.重新启动生效

sudo systemctl restart gitea

通过这种方式,我们可以在服务器中部署gitea。如果我们是个人或小团队,这就足够了。

搬瓦工香港 CN2 GIA VPS 套餐介绍

优惠码:BWH3HYATVBJW,节约6.58%,全场通用!

方案 内存 CPU 硬盘 流量/月 带宽 机房 价格 购买
HK 2GB 2核 40GB 0.5TB 1Gbps 香港 CN2 GIA $89.99/月
$899.99/年
购买
HK 4GB 4核 80GB 1TB 1Gbps $155.99/月
$1559.99/年
购买
HK 8GB 6核 160GB 2TB 1Gbps $299.99/月
$2999.99/年
购买
HK 16GB 8核 320GB 4TB 1Gbps $589.99/月
$5899.99/年
购买

搬瓦工 CN2 GIA-E套餐推荐

下面是搬瓦工 CN2 GIA-E 所有套餐,目前已经将 CN2 GIA-E 限量版套餐再次整合进去。目前购买的人数比较多的就是限量版方案以及最便宜的常规版方案也就是 $169.99 年付那个。这两个主要是流量区别比较大,以及 CPU 方面限量版方案有所缩水,其他的基本都一。优惠码:BWH3HYATVBJW,节约6.58%,全场通用!

方案 内存 CPU 硬盘 流量/月 带宽 机房 价格 购买
CN2 GIA-E
限量版
1GB 1核 20GB 0.5TB 1Gbps DC6 CN2 GIA-E
DC9 CN2 GIA
日本软银 JPOS_1

DC3 CN2
DC8 ZNET

DC2 QNET
DC4 MCOM
美国弗里蒙特
美国新泽西
美国纽约
荷兰阿姆斯特丹
$99.99/年 购买
CN2 GIA-E 1GB 2核 20GB 1TB 2.5Gbps $49.99/季度
$169.99/年
购买
CN2 GIA-E 2GB 3核 40GB 2TB 2.5Gbps $89.99/季度
$299.99/年
购买
CN2 GIA-E 4GB 4核 80GB 3TB 2.5Gbps $56.99/月
$549.99/年
购买
CN2 GIA-E 8GB 6核 160GB 5TB 5Gbps $86.99/月
$879.99/年
购买
CN2 GIA-E 16GB 8核 320GB 8TB 5Gbps $159.99/月
$1599.99/年
购买
CN2 GIA-E 32GB 10核 640GB 10TB 10Gbps $289.99/月
$2759.99/年
购买
CN2 GIA-E 64GB 12核 1280GB 12TB 10Gbps $549.99/月
$5399.99/年
购买

网络测试

  • 美国 cn2 gia:162.244.241.103\104\105\106\107
  • 日本软银:185.212.59.148\149\150\151\152
  • 香港cn2 gia:93.179.124.167\168\169\170\171\172
  • 荷兰联通:104.255.65.1
赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权, 转载请注明出处。
文章名称:《如果在搬瓦工Ubuntu 20.04系统安装基于gitea自建git服务环境教程》
文章链接:https://cnidc.co/19773.html
【声明】:国外主机测评仅分享信息,不参与任何交易,也非中介,所有内容仅代表个人观点,均不作直接、间接、法定、约定的保证,读者购买风险自担。一旦您访问国外主机测评,即表示您已经知晓并接受了此声明通告。
【关于安全】:任何 IDC商家都有倒闭和跑路的可能,备份永远是最佳选择,服务器也是机器,不勤备份是对自己极不负责的表现,请保持良好的备份习惯。

登录

找回密码

注册