云服务器网:购买云服务器和VPS必上的网站!

centos8如何安装Gitea自建Git服务器环境

centos8如何安装Gitea自建Git服务器环境?Gitea是一个极易安装,运行非常快速,安装和使用体验良…

centos8如何安装Gitea自建Git服务器环境?Gitea是一个极易安装,运行非常快速,安装和使用体验良好的自建Git服务。采用Go作为后端语言,这使得只要生成一个可执行程序即可。

Gitea还支持跨平台,支持Linux、macOS和Windows以及各种架构,除了x86,amd64,还包括ARM和 PowerPC。本文介绍如何在 centos 8上安装和配置Gitea。

先决条件

Gitea 支持SQLite、PostgreSQL和MySQL /MariaDB作为数据库后端。

我们将使用 SQLite。它是一个轻量级数据库,在单个文件中存储数据。如果 CentOS 计算机上未安装 SQLite,您可以通过以 sudo 用户方式运行以下命令来安装它:

sudo dnf install sqlite

我们假设SELinux 已禁用或设置为允许模式。

安装Gitea

Gitea 可以从源、二进制和作为包安装。它也可以部署为 Docker 映像。我们将使用 thr 二进制安装 Gitea。

安装Git

第一步是在CentOS上安装 Git:

sudo dnf install git

通过显示 Git 版本来验证安装:

git –version

git version 2.18.4

创建Git 用户

创建新的系统用户以运行 Gitea 应用程序:

sudo useradd \ –system \ –shell /bin/bash \ –comment ‘Git Version Control’ \ –create-home \ –home /home/git \ git

该命令将创建一个名为 的新用户和组,并将主目录设置为 。git/home/git

下载Gitea二进制文件

最新的Gitea二进制文件可以从Gitea下载页面下载。请确保下载适合体系结构的二进制文件。

在编写本文时,最新版本为 1.12.3。如果有新版本可用,请更改下面的命令中的变量。VERSION

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

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

可以从任何位置运行二进制文件。我们将遵循约定,将二进制文件移动到目录:/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,indexers,public,log}sudo chown git: /var/lib/gitea/{data,indexers,log}sudo chmod 750 /var/lib/gitea/{data,indexers,log}sudo mkdir /etc/giteasudo chown root:git /etc/giteasudo chmod 770 /etc/gitea

上述目录结构由官方 Gitea 文档推荐。

目录的权限设置为以便安装向导可以创建配置文件。安装完成后,我们将设置更严格的权限。/etc/gitea770

创建系统单元文件

Gitea 提供了一个系统单元文件,该文件配置为与我们的设置相匹配。

通过键入以下类型将文件下载到目录:/etc/systemd/system/

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

完成后,启用并启动 Gitea 服务:

sudo systemctl daemon-reloadsudo 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 Sat 2020-01-04 21:27:23 UTC; 3s ago

Main PID: 14804 (gitea)

Tasks: 9 (limit: 1152)

CGroup: /system.slice/gitea.service

└─14804 /usr/local/bin/gitea web –config /etc/gitea/app.ini

配置 Gitea

现在 Gitea 已启动并运行,是时候通过 Web 界面完成安装了。

默认情况下,Gitea 侦听所有网络接口上的端口上的连接。您需要配置防火墙才能访问Gitea Web 界面:3000

sudo firewall-cmd –permanent –zone=public –add-port=3000/tcpsudo firewall-cmd –reload

打开浏览器,输入 ,初始配置页面将显示:http://YOUR_DOMAIN_IR_IP:3000/install

Gitea Install Hu0fef48a1a4fc23c829fe9e7f27f3c37c 115259 768×0 Resize Q75 Lanczos

填写所需的字段,如下:

数据库设置:

数据库类型:SQLite3

路径:使用绝对路径,/var/lib/gitea/data/gitea.db

应用程序常规设置:

网站标题 – 输入组织名称。

存储库根路径 – 保留默认值 。/home/git/gitea-repositories

Git LFS 根路径 – 保留默认值 。/var/lib/gitea/data/lfs

以用户名运行 – git

SSH 服务器域 – 输入您的域或服务器 IP 地址。

SSH 端口 – 22,如果 SSH 正在侦听其他端口,请更改它

Gitea HTTP 侦听端口 – 3000

Gitea 基本 URL – 使用 http 和您的域或服务器 IP 地址。

日志路径 – 保留默认值/var/lib/gitea/log

稍后,您可以通过编辑 Gitea 配置文件来更改设置。

完成后,点击”安装 Gitea”按钮。安装是即时的。完成后,您将被重定向到登录页面。

点击”立即注册”链接。第一个注册用户将自动添加到管理组。

若要使安装更安全,请使用以下方法将 Gitea 配置文件的权限更改为只读:

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

就是这样。Gitea 已安装在 CentOS 计算机上。

将Nginx配置为SSL终止代理

此步骤是可选的,但强烈建议这样做。若要使用 Nginx 作为反向代理,需要有指向服务器公共 IP 的域或子域。在本教程中,我们将使用 。git.example.com

首先,安装 Nginx 并使用以下指南生成免费的”让我们加密 SSL 证书”:

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

sudo nano /etc/nginx/conf.d/git.example.com.conf

/etc/nginx/conf.d/git.示例.com.conf

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 证书文件的正确路径。HTTP 流量重定向到 HTTPS 。

完成后,重新启动 Nginx 服务以使更改生效:

sudo systemctl restart nginx

接下来,更改 Gitea 域和根 URL。为此,请打开配置文件并编辑以下行:

sudo nano /etc/gitea/app.ini

/等/吉泰亚/应用程序.ini

[server]

DOMAIN = git.example.com

ROOT_URL = https://git.example.com/

通过键入:

sudo systemctl restart gitea

此时,Gitea 代理已配置,您可以在:https://git.example.com

配置电子邮件通知

对于要发送的通知电子邮件,您可以安装 Postfix 或使用事务性邮件服务,如 SendGrid、MailChimp、MailGun 或 SES。

若要启用电子邮件通知,请打开配置文件并编辑以下行:

sudo nano /etc/gitea/app.ini

/等/吉泰亚/应用程序.ini

[mailer]

ENABLED = true

HOST = SMTP_SERVER:SMTP_PORT

FROM = SENDER_EMAIL

USER = SMTP_USER

PASSWD = YOUR_SMTP_PASSWORD

请确保使用正确的 SMTP 服务器信息。

每次编辑文件时,都需要重新启动 Gitea 服务才能使更改生效:app.ini

sudo systemctl restart gitea

要验证设置并发送测试电子邮件,请登录到 Gitea 并转到:站点管理 > 配置 > SMTP 邮件配置。

Gitea 还允许您通过创建 Webhook连接到 Slack,并向 Slack 通道发送通知。

升级吉泰亚

升级到最新的 Gitea 版本是一项简单的任务。您只需要下载并替换二进制文件。

停止 Gitea 服务:

sudo systemctl stop gitea

下载最新的 Gitea 二进制文件并移动到目录:/usr/local/bin

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

使二进制可执行:

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

重新启动 Gitea 服务:

sudo systemctl restart gitea

就是这样。

本文来源:https://www.yuntue.com/post/30744.html | 云服务器网,转载请注明出处!

关于作者: yuntue

云服务器(www.yuntue.com)是一家专门做阿里云服务器代金券、腾讯云服务器优惠券的网站,这里你可以找到阿里云服务器腾讯云服务器等国内主流云服务器优惠价格,以及海外云服务器、vps主机等优惠信息,我们会为你提供性价比最高的云服务器和域名、数据库、CDN、免费邮箱等企业常用互联网资源。

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注