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


ubuntu20.04如何安装Gitea自建Git服务器环境?

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。

sudo apt update

sudo apt install git

这里我们采用的是Ubuntu镜像。

git –version

安装完毕之后,我们用命令检查版本。如果有反馈的数据版本说明安装完毕。

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’ …

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

使用wget下载/tmp目录下的Gitea二进制文件:

VERSION=1.14.1

sudo wget -O /tmp/gitea 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,以便安装向导可以创建配置文件。 安装完成后,我们将设置更严格的权限。

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

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

sudo wget raw.githubusercontent/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 2023-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

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

sudo ufw allow 3000/tcp

打开浏览器,输入http://YOUR_DOMAIN_IR_IP: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 Encrypt SSL 证书:

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

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

配置:

server {

listen 80;

server_name git.example;

include snippets/letsencrypt.conf;

return 301 git.example$request_uri;

}

server {

listen 443 ssl http2;

server_name git.example;

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/fullchain.pem;

ssl_certificate_key /etc/letsencrypt/live/git.example/privkey.pem;

ssl_trusted_certificate /etc/letsencrypt/live/git.example/chain.pem;

include snippets/letsencrypt.conf;

include snippets/ssl.conf;

# log files

access_log /var/log/nginx/git.example.access.log;

error_log /var/log/nginx/git.example.error.log;

# Handle / requests

location / {

proxy_redirect off;

proxy_pass http://127.0.0.1:3000;

}

}

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

最后要重启Nginx生效。

sudo systemctl restart nginx

实际上我们安装SSL,最好是用免费或者付费证书,然后我们配置SSL文件即可。

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

sudo nano /etc/gitea/app.ini

编辑:

[server]

DOMAIN = git.example

ROOT_URL = git.example/

保存后重启生效

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 。

sudo systemctl stop gitea

VERSION=

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

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

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

sudo systemctl restart gitea

这样,我们就可以完成在服务器中部署Gitea ,如果我们是个人或者小团队使用是够用的。


上一篇:香港服务器租用对比国内大陆服务器更适合建站?

下一篇:酷锐云:国庆优惠,香港/美国CN2 GIA VPS全场7折,8G内存及以上套餐5折


Copyright © 2002-2019 测速网 www.inhv.cn 皖ICP备2023010105号
测速城市 测速地区 测速街道 网速测试城市 网速测试地区 网速测试街道
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!

热门搜索 城市网站建设 地区网站制作 街道网页设计 大写数字 热点城市 热点地区 热点街道 热点时间 房贷计算器