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