0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在Ubuntu 20.04安装Gitea

CHANBAEK 来源:myfreax 作者:myfreax 2023-01-04 17:23 次阅读

Gitea是用Go语言编写的自托管开源git服务器。它是Gogs的分支。Gitea包含有文件编辑器,项目问题跟踪,用户管理,通知,内置Wiki等。

Gitea是轻型应用程序,可以安装在低配置系统。如果您正在寻找内存占用量少得多的Gitlab替代产品,并且不需要Gitlab提供的所有功能,那么您绝对应该尝试Gitea。

教程介绍如何在Ubuntu 20.04安装Gitea。相同的说明适用于基于Ubuntu 20.04的Linux发行版,例如Linux mint。

安装Gitea 数据库

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

我们将使用SQLite作为Gitea的数据库。如果您的Ubuntu 20.04未安装SQLite,可以运行命令sudo apt update && sudo apt install sqlite3安装SQLite。

Gitea提供Docker映像,也可以使用源码,二进制文件的方式安装。我们将使用二进制文件安装Gitea。

安装Gitea的第一步是安装git。运行命令sudo apt install git。当git安装完成后运行命令git --version验证git的安装。

我们将创建一个普通用户运行Gitea。运行命令adduser命令创建用户git。命令将创建一个名为git的用户和组,并将家目录设置为/home/git

sudo apt update
sudo apt install sqlite3 git

sudo adduser --system --group --disabled-password --shell /bin/bash --home /home/git --gecos 'Git Version Control' 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' ...

下载 Gitea

访问Gitea下载页面,并下载适用于您的系统架构二进制文件。在撰写本文时,最新版本为1.17.3。

如果有可用的新版本,请在下面的命令中更改VERSION变量。然后运行wget命令下载Gitea二进制文件到/tmp目录。

gitea二进制文件可以在任何目录运行。我们将遵循Linux目录约定并将二进制文件移动到/usr/local/bin目录。

默认情况下二进制文件不具有可执行权限。因此需要为gitea二进制文件添加可执行权限,运行chmod命令。

运行mkdir命令创建目录并设置所需的权限和所有权。这是官方的Gitea文档建议使用目录结构。

etc/gitea目录的权限设置为770,在安装向导时可以创建配置文件。安装完成后,我们将设置更多限制性权限。

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

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

创建Systemd 服务

Gitea提供已配置的Systemd Unit文件。可以运行wget命令将Systemd Unit文件下载到etc/systemd/system/目录。

完成后,重新加载Systemd,运行命令sudo systemctl daemon-reload。然后启用并启动Gitea服务。

验证Gitea服务的运行状态,运行命令sudo systemctl status gitea。你将会看到Gitea服务已成功启动。

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

sudo systemctl daemon-reload
sudo systemctl start gitea
sudo systemctl enable 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监听所有接口端口3000的连接。

如果您Ubuntu 20.04正在运行运行UFW防火墙,则需要打开Gitea端口。允许端口3000的连接。运行命令sudo ufw allow 3000/tcp

sudo ufw allow 3000/tcp

打开浏览器,输入http://127.0.0.1:3000。将数据库设置的为以下参数

Database Type: SQLite3。

Path/var/lib/gitea/data/gitea.db,必须是绝路径。

Site Title可是你喜欢的任意名称。

Repository Root Path: /home/git/gitea-repositories

Git LFS Root Path: /var/lib/gitea/data/lfs

Run As Username: git。

SSH Server Port: 22,如果SSH服务正在监听其他端口,请更改它端口。

Server Domain: localhost。

Gitea HTTP Listen Port: 3000。

Gitea Base URL: http://localhost:3000/。

Log Path: /var/lib/gitea/log

您可以随时通过编辑Gitea配置文件来更改设置。完成后,点击install Gitea按钮。安装是实时的。

完成后,您将被重定向到登录页面。点击立即注册。第一个注册用户将自动添加到管理员组。

然后运行命令sudo chmod 750 etc/gitea将Gitea配置文件的权限更改为只读。至此, Gitea已安装在您的Ubuntu 20.04。

sudo chmod 750 etc/gitea

Nginx反向代理 Gitea

如何在Ubuntu 20.04安装Nginx | myfreax

本教程介绍了如何在Ubuntu 20.04上安装和管理Nginx。Nginx发音为engine x,是一种开源的高性能HTTP和反向代理服务器

myfreaxmyfreax

如何在Ubuntu 20.04 安装 Nginx

如何在Ubuntu 20.04配置Nginx虚拟主机 | myfreax

server是Nginx指令,用于定义特定域的设置,从而使您可以在一台服务器上运行多个网站

myfreaxmyfreax

如何在Ubuntu 20.04配置Nginx虚拟主机

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

使用你喜欢的文本编辑器创建文件Nginx配置文件git.example.com.conf。在本教程中,我们将使用vim创建文件。

复制Nginx配置内容文件到文件etc/nginx/conf.d/git.example.com.conf。完成后保存文件并退出vim。

sudo vim etc/nginx/conf.d/git.example.com.conf
server {
    listen 80;
    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;
    # 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;
    }
}

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

你应该在每次编辑Nginx配置文件后,使用nginx -t命令测试Nginx配置的语法是否正确。然后重新启动Nginx服务,以使更改生效。

为了能够正确解释域名domain1.com。因此我们还需要映射domain1.com到本地回环地址127.0.0.1

运行命令echo "127.0.0.1 git.example.com" | sudo tee -a etc/hosts

接下来,更改Gitea域和根URL。继续使用你喜欢编辑器,打开Gitea配置文件修改DOMAIN和ROOT_URL。

完成gitea的配置更改后,重启gitea服务运行命令sudo systemctl restart gitea。至此,已配置Gitea代理,您可以在以下位置访问它:https://git.example.com

sudo systemctl restart nginx
echo "127.0.0.1 git.example.com" | sudo tee -a etc/hosts

sudo vim etc/gitea/app.ini
sudo systemctl restart gitea
[server]
DOMAIN           = git.example.com
ROOT_URL         = https://git.example.com/

etc/gitea/app.ini

如果你需要配置SSL为你的Nginx虚拟主机,请参考我们的教程如何在Ubuntu 20.04 Nginx配置Let's Encrypt SSL证书。

如何在Ubuntu 20.04 Nginx配置Let’s Encrypt SSL证书 | myfreax

Web进行安全通信依赖于HTTPS,这需要使用数字证书,以便浏览器验证Web服务器的身份

myfreaxmyfreax

如何在Ubuntu 20.04 Nginx配置Let's Encrypt SSL证书

电子邮件通知

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

要启用电子邮件通知,继续使用你喜欢编辑器,打开Gitea配置文件app.ini。修改以下内容。

请确保您输入了正确的SMTP服务器信息。重新启动Gitea服务以使更改生效。

sudo vim etc/gitea/app.ini
sudo systemctl restart gitea
[mailer]
ENABLED = true
HOST    = SMTP_SERVER:SMTP_PORT
FROM    = SENDER_EMAIL
USER    = SMTP_USER
PASSWD  = YOUR_SMTP_PASSWORD

etc/gitea/app.ini

升级Gitea

要升级到最新的Gitea版本,只需下载并替换二进制文件。首先是停止Gitea服务。

下载最新的Gitea版本并将其移动到/usr/local/bin目录。运行chmod命令使Gitea二进制具有可执行权限。

最后重启Gitea服务,运行命令sudo systemctl restart gitea

sudo systemctl stop gitea
VERSION=
sudo chmod +x /usr/local/bin/gitea
sudo systemctl restart gitea

结论

本教程向您介绍了在Ubuntu 20.04安装Gitea的过程。您现在应该访问Gitea文档页面,并学习如何配置Gitea实例并创建第一个项目。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11191

    浏览量

    208628
  • Ubuntu
    +关注

    关注

    5

    文章

    559

    浏览量

    29477
  • go语言
    +关注

    关注

    1

    文章

    157

    浏览量

    9012
收藏 人收藏

    评论

    相关推荐

    何在ubuntu安装gcc?

    何在ubuntu安装gcc?
    发表于 04-19 09:02

    Ubuntu 20.04上使用Systemback

    Ubuntu 20.04运行。我就花了点时间对Systemback进行了开发使其支持在Ubuntu 20.04上工作。同时添加了软件对大文件的支持。现在软件生成的系统镜像ISO不再受
    发表于 05-16 19:12

    怎样利用Ubuntu20.04安装Mentor Calibre 2020?

    怎样利用Ubuntu20.04安装Mentor Calibre 2020?有没有人遇到过这个问题啊
    发表于 06-23 07:19

    何在Ubuntu20.04上的STM32CubeIDE中安装STM32CubeL5?

    我已经在Ubuntu 20.04安装了STM32CubeIDE,并为NUCLEO L552ZE-Q设置了一个项目,我想尝试STM32L5的例子,发现它需要STM32CubeL5。如何安装
    发表于 01-06 09:06

    S32DS 3.5 Ubuntu 20.04安装卡住了怎么解决?

    S32DS 3.5 Ubuntu 20.04 安装卡住
    发表于 04-21 08:07

    何在Ubuntu桌面环境上安装Google Chrome ?

    作为全球最受欢迎的网页浏览器,新的 Linux 用户经常会问如何在 Ubuntu安装谷歌浏览器。 这不是一个愚蠢的问题。围绕构建 Linux 的困境,大多数用户试图从 Ubuntu
    发表于 05-05 14:00 2205次阅读

    Ubuntu 20.04默认附带Snap版本

    Ubuntu开发团队的邮件列表显示,即将发布的Ubuntu 20.04将默认附带Snap版本的应用商店。ubuntu-desktop和ubuntu
    的头像 发表于 03-06 14:20 3665次阅读

    Ubuntu 20.04调查结果已发布

    Ubuntu 20.04 随附了最新的 GNOME 3.36 版本。除其他事项外,此版本还具有改进的shell theme、新的锁定屏幕、请勿打扰切换功能和改进的设置面板。
    的头像 发表于 05-19 17:04 2065次阅读

    如何制作ubuntu20.04的文件系统

    firefly自带的文件系统,由于缺少一些基本功能模块,因此,我们可以自己手动制作一个ubuntu20.04的文件系统。
    的头像 发表于 10-17 12:12 3633次阅读

    何在Ubuntu 20.04安装和配置FTP服务器

    本教程介绍如何在Ubuntu 20.04安装和配置,用于在设备之间共享文件的FTP服务器。
    的头像 发表于 12-05 16:04 4627次阅读

    何在Ubuntu安装RPM文件

    Ubuntu软件源包含数千个deb软件包,可以从Ubuntu软件中心或使用`apt`命令行安装
    的头像 发表于 12-07 17:28 1.2w次阅读

    何在Ubuntu 22.04上安装Microsoft Edge浏览器

    其他浏览器,如 Microsoft edge 浏览器。 在本教程中,我们将在 Ubuntu 20.04 完成 Microsoft edge 下载和安装(包括稳定版、测试版和开发版)的过程。现在让我们开始吧。 Edge
    的头像 发表于 02-20 11:13 1.2w次阅读

    Windows11 wsl2安装Ubuntu-20.04

    Windows11 wsl2安装Ubuntu-20.04
    的头像 发表于 08-16 10:04 1077次阅读
    Windows11 wsl2<b class='flag-5'>安装</b><b class='flag-5'>Ubuntu-20.04</b>

    ubuntu20.04安装教程

    Ubuntu 20.04安装步骤如下: 制作启动U盘。首先下载Ubuntu 20.04的镜像文件和UltraISO(镜像制作工具)。然后
    的头像 发表于 11-13 16:59 1960次阅读

    Ubuntu 20.04如何更改用户名

    产品简介本文适用于所有RK3568/RK3588平台产品在Ubuntu20.04系统上如何更改用户名,本文以IDO-EVB3588开发板为例,在ubuntu20.04系统上修改用户名industio
    的头像 发表于 01-26 08:34 729次阅读
    <b class='flag-5'>Ubuntu</b> <b class='flag-5'>20.04</b>如何更改用户名