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

时间:2023-10-11 00:00人气:编辑:admin

ubuntu 20.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。

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。 如果有可用的新版本,请在下面的命令中更改 VERSION 变量。

使用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_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.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 ,如果我们是个人或者小团队使用是够用的。

标签:
相关资讯
热门频道

热门标签

官方微信官方微博阿里云

Copyright © 2016-2023 金龙云科技公司 版权所有