Ubuntu 20.04系统下搬瓦工基于gitea自建git服务环境的方法

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

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。

搬瓦工新手必读教程和推荐套餐

搬瓦工新手选择服务器必备的教程。

1、搬瓦工购买教程:搬瓦工VPS主机购买教程 选择一款合适的外贸主机

2、搬瓦工优惠码:BWH3HYATVBJW

3、搬瓦工套餐推荐:搬瓦工云服务器全部套餐对比列表 可选CN2 GIA和香港机房

4、搬瓦工测试IP:搬瓦工全部数据中心测试IP地址和下载测速文件

5、搬瓦工面板管理:搬瓦工KIWIVM面板的全部功能介绍

搬瓦工VPS的最便宜套餐和最具性价比套餐,简单整理如下:

方案CPU内存硬盘流量带宽机房价格购买
CN2 GT1核1GB20GB1TB1GbpsDC8等$49.99/年购买
香港2核2GB40GB500GB1Gbps香港$89.99/月购买
CN2 GIA2核1GB20GB1TB2.5GbpsDC6等$49.99/季购买
CN2 GIA10核32GB640GB10TB10GbpsDC6等$289.99/月购买
日本2核1GB20GB1TB2.5GbpsDC6等$49.99/季购买

本文结束。

未经允许不得转载:搬瓦工评测网 » Ubuntu 20.04系统下搬瓦工基于gitea自建git服务环境的方法