如何在 centos 8 上安装 gitea-凯发k8一触即发

gitea 是一个在 go 中编写的自托管开源 git 服务器。它配备了存储库文件编辑器、项目问题跟踪、用户管理、通知、内置 wiki 等。

gitea是一个轻量级应用程序,可以安装在功能不太强大的系统上。如果您正在寻找内存占用空间更小的 gitlab 替代方案,并且不需要 gitlab 提供的所有铃声和口哨,您应该尝试 gitea。

本文介绍如何在 上安装和配置 gitea。

先决条件

gitea 支持sqlite、postgresql和mysql /mariadb作为数据库后端。

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

sudo dnf install sqlite

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

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 768x0 resize q75 lanczos
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 版本是一项简单的任务。您只需要下载并替换二进制文件。

  1. 停止 gitea 服务:
    sudo systemctl stop gitea
  2. 下载最新的 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
  3. 使二进制可执行:
    sudo chmod  x /usr/local/bin/gitea
  4. 重新启动 gitea 服务:
    sudo systemctl restart gitea

就是这样。

原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/yun35712.html

(0)
打赏 微信扫一扫不于多少! 微信扫一扫不于多少! 支付宝扫一扫礼轻情意重 支付宝扫一扫礼轻情意重
上一篇 2021年2月4日 下午8:18
下一篇 2021年2月4日

相关推荐

  • gitea 是一个免费的开源 git 存储库托管平台。它允许您使用具有其他功能的版本控制软件,包括问题跟踪、拉取请求、用户管理、通知等。它与github非常相似。gitea是用go…

    linux命令 2022年11月24日
  • 一些用户抱怨他们的计算机经常崩溃并显示停止代码video dxgkrnl fatal error。 此特定问题仅偶尔发生,并且错误检查值为 0x00000113,这表明 micro…

    2021年12月9日 win 11
  • 如何在 debian 11 上安装 gitea

    gitea 是一个用 go 语言编写的开源 git 服务。它是一个类似于 github 的版本控制平台。它健壮、可扩展,并提供许多功能,包括问题和时间跟踪、存储库分支、文件锁定以及…

    linux命令 2021年10月28日
  • microk8s 是一个面向开发人员、物联网和 edge的小型、快速、单包kubernetes。一个命令在 linux、windows 和 macos 上安装带有精心挑选的附加组件…

    2021年9月4日
  • arangodb 是一个开源 nosql 数据库管理器,提供现代 web 应用程序所需的所有数据库功能。arangodb 不像 mysql 或 postgresql 那样使用传统的…

    linux命令 2021年8月1日
  • openssl 是一个强大的、商业级的、功能齐全的传输层安全 (tls) 协议开源工具包以前称为安全套接字层 (ssl) 协议。协议实现基于全功能通用密码库,也可以独立使用。ope…

    2021年7月12日
  • 如何在 centos 8 上安装 monit

    monit 是 linux 操作系统的开源进程跟踪工具,可帮助您监控系统进程。它会自动对特定过程进行维护和修复,并确保它重新上线。monit 还可用于处理和监控包、文件、目录、文件…

    2021年7月5日
  • google cloud sdk 包含的工具和库使您能够在 google cloud platform 上轻松创建和管理资源。它也支持 linux、mac 和 windows。 在…

    2021年6月29日
  • weberp 是一个免费、开源且完整的基于 web 的会计和业务管理系统。您只需要一个网络浏览器和 pdf 阅读器即可使用 weberp。使用 weberp,您可以管理许多事情,包…

    2021年6月23日
  • veracrypt 是适用于 windows、mac os x 和 linux 的免费开源磁盘加密软件。如果攻击者强迫您透露密码,veracrypt 会提供合理的否认。相比之下,对…

    2021年6月15日
  • 点击进入:chatgpt工具插件导航大全 windows 11 pro iso文件在哪下载最新版?如何下载原装纯净版win11 ?点击进入   持续更新! 本月的更新很糟糕,修复了…

    2021年6月9日
  • 如何在 centos 8 上安装 caddy

    caddy web 服务器是一个用go编写的开源 web 服务器。它围绕简单性和安全性而设计,具有许多对托管网站有用的功能。caddy 旨在支持所有流行平台,这就是为什么它适用于 …

    2021年6月8日
  • jitsi meet是市场上流行的开源视频会议工具之一。jitsi meet是zoom,skype和google meet的一种简单,优雅且安全的替代方案,它支持所有常见的浏览器以…

    2021年5月28日
  • roundcube是使用php编程语言编写的流行webmail接口。您可以通过roundcube web界面上的pop / imap访问在linux服务器上创建的邮箱。 在cent…

    2021年5月25日
  • porr是一种快速,现代且开源的链接简化程序。它允许您托管自己的url缩短器,标记url并控制数据。polr可以帮助您推广在线品牌,因为通过跟踪每个链接的点击可以更方便地共享短链接…

    2021年5月25日
  • samba是一个免费的开源软件,可用于在linux之间共享文件,文件夹和打印机。和windows系统。 在centos 8上安装samba 步骤1.首先,让我们首先确保您的系统是最…

    2021年5月17日
  • virtualmin是一个免费的服务器控制面板(也提供pro版本)。它有助于使用apache,nginx,php,dns,mysql,ftp,ssh等管理网站(主机)。它基于著名的…

    2021年5月9日
  • 默认情况下,在配置服务器时,默认时区将自动使用协调世界时(utc)进行配置。 。在centos上,系统的时区是在安装过程中设置的,但以后可以轻松更改。 在centos 8上更改时区…

    2021年5月5日
  • telnet是提供双向交互式基于文本的通信的应用程序层协议。它在服务器/客户端模式下工作,在该模式下,将telnet服务器应用程序安装在主计算机上,并且所有其他计算机都使用teln…

    2021年5月5日
  • 如何在centos 8上安装telnet

    telnet是提供双向交互式基于文本的通信的应用程序层协议。它在服务器/客户端模式下工作,在该模式下,将telnet服务器应用程序安装在主计算机上,并且所有其他计算机都使用teln…

    2021年4月30日
  • chrony是网络时间协议(ntp)的实现。chrony通常将计算机与internet时间服务器或其他资源(例如无线电或卫星接收器或电话调制解调器服务)同步。它也可以用作客户端系统…

    2021年4月23日
  • teamspeak是跨平台的语音服务器或voip应用程序,用于通过internet进行实时语音聊天。游戏玩家通常使用它来与队友进行交流,以提供清晰的声音,无延迟的性能,军事级的安全…

    2021年4月23日
  • deluge使用了前端和后端架构,其中libtorrent是用c 编写的软件库,可提供应用程序的功能。网络逻辑通过项目自己的python绑定使用gtk 连​​接到各种前端之一…

    2021年4月21日
  • 在centos 8上安装dig 步骤1.首先,让我们首先确保您的系统是最新的。 sudo dnf update sudo dnf install epel-release 步骤2.…

    2021年4月20日
  • apache subversion(svn)是一个免费的开源版本控制系统,用于管理和跟踪windows中的更改。文件和目录。每次更改,添加或删除使用subversion管理的文件或…

    2021年4月20日
网站地图