云网牛站
所在位置:首页 > Linux云服务器 > 在Ubuntu 18.04系统上安装、配置和升级Gitea的详细方法

在Ubuntu 18.04系统上安装、配置和升级Gitea的详细方法

2020-01-05 09:06:48作者:陈铜稿源:云网牛站

本教程说明了如何在Ubuntu 18.04操作系统上安装和配置Gitea,包括升级Gitea的方法,相同的说明适用于Ubuntu 16.04和任何其他基于Debian Linux的发行版。

在Ubuntu 18.04系统上安装、配置和升级Gitea的详细方法

 

先决条件

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

我们将使用SQLite作为Gitea的数据库,如果Ubuntu 18.04系统上未安装SQLite,则可以通过以sudo用户身份输入以下命令来安装它:

sudo apt update

sudo apt install sqlite3

 

安装Gitea

Gitea提供了Docker映像,可以从源代码、二进制文件或作为软件包安装。

我们将从二进制文件安装Gitea,完成以下步骤,在Ubuntu 18.04上安装Gitea。

1、安装Git

第一步是在服务器上安装Git:

sudo apt update

sudo apt install git

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

git --version

返回信息:

git version 2.17.1

参考:在Ubuntu 18.04系统下安装和初次使用Git

2、创建一个Git用户

创建一个新的系统用户,将通过键入以下命令来运行Gitea应用程序:

sudo adduser --system --group --disabled-password --shell /bin/bash --home /home/git --gecos 'Git Version Control' git

该命令将创建一个名为git的新用户和组,并将主目录设置为/home/git,输出将如下所示:

Adding system user `git' (UID 111) ...

Adding new group `git' (GID 116) ...

Adding new user `git' (UID 111) with group `git' ...

Creating home directory `/home/git' ...

3、下载Gitea二进制文件

访问Gitea下载页面(地址:https://dl.gitea.io/gitea/),并下载适用于体系结构的最新二进制文件,在写本文时,最新版本为1.10.2,如果有可用的新版本,请把下载地址中的1.10.2改成新版本号。

使用以下wget命令在/tmp目录中下载Gitea二进制文件:

sudo wget -O /tmp/gitea https://dl.gitea.io/gitea/1.10.2/gitea-1.10.2-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,indexers,public,log}

sudo chown git: /var/lib/gitea/{data,indexers,log}

sudo chmod 750 /var/lib/gitea/{data,indexers,log}

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/master/contrib/systemd/gitea.service -P /etc/systemd/system/

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

sudo systemctl daemon-reload

sudo systemctl enable --now gitea

验证服务是否成功启动:

在Ubuntu 18.04系统上安装、配置和升级Gitea的详细方法

 

配置Gitea

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

默认情况下,Gitea会侦听所有网络接口上3000端口上的连接。

如果服务器上运行着UFW防火墙,则需要打开Gitea端口,参考Debian、Ubuntu、Linux Mint系统中的UFW防火墙入门教程

要允许3000端口上的流量,请输入以下命令:

sudo ufw allow 3000/tcp

打开浏览器,输入地址形如:http://YOUR_DOMAIN_IR_IP:3000,然后将显示类似以下的屏幕:

在Ubuntu 18.04系统上安装、配置和升级Gitea的详细方法

数据库设置:

数据库类型: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配置文件来更改设置。

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

点击“Sign up now”链接,第一个注册用户将自动添加到Admin组。

使用以下命令将Gitea配置文件的权限更改为只读:

sudo chmod 750 /etc/gitea

sudo chmod 640 /etc/gitea/app.ini

至此,Gitea已安装并配置在Ubuntu 18.04计算机上了。

 

将Nginx配置为SSL Termination Proxy

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

首先,安装Nginx,可参考在Ubuntu 18.04/19.04系统上安装Nginx最新版本的方法。https://ywnz.com/linuxyffq/5148.html

完成后,打开文本编辑器并编辑域server block文件(/etc/nginx/sites-enabled/git.example.com),运行:

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

重新启动Nginx服务以使更改生效:

sudo systemctl restart nginx

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

sudo nano /etc/gitea/app.ini

在/etc/gitea/app.ini文件中编辑内容:

[server]

DOMAIN = git.example.com

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

通过键入以下命令重新启动Gitea服务:

sudo systemctl restart gitea

至此,已经配置了Gitea代理,可以使用地址 https://git.example.com 来访问它。

 

配置电子邮件通知

为了使Gitea能够发送通知电子邮件,可以安装Postfix或使用某些事务性邮件服务,例如SendGrid、MailChimp、MailGun或SES。

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

sudo nano /etc/gitea/app.ini

在/etc/gitea/app.ini文件中编辑内容:

[mailer]

ENABLED = true

HOST = SMTP_SERVER:SMTP_PORT

FROM = SENDER_EMAIL

USER = SMTP_USER

PASSWD = YOUR_SMTP_PASSWORD

确保输入了正确的SMTP服务器信息。

重新启动Gitea服务以使更改生效:

sudo systemctl restart gitea

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

Gitea还允许通过创建Web Webhook连接到Slack并将通知发送到Slack频道。

 

升级Gitea

要升级到最新的Gitea版本,只需下载并替换二进制文件即可。

1、停止Gitea服务:

sudo systemctl stop gitea

2、下载最新的Gitea版本并将其移至/home/git目录:

VERSION=<THE_LATEST_GITEA_VERSION>

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

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

注:自行更改${VERSION}值,建议直接填入新版本号。

3、使二进制文件可执行:

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

4、启动Gitea服务:

sudo systemctl restart gitea

至此,升级Gitea的操作完成。

 

相关主题

在Ubuntu 18.04/Ubuntu 16.04上安装Gitea托管Git服务

精选文章
热门文章