Gogs 是一种紧凑且自托管的无障碍 Git 服务,您可以将其安装在您的 Ubuntu Linux 服务器和发行版上,以享受 Git 设施。 Gogs 服务轻巧但功能强大; 您可以在 Docker、云服务器甚至树莓派系统上安装 Gogs 服务。 即使是旧的 PC 和硬件系统也可以处理 Gogs 服务。 Gogs 是用 Go 语言编写的。 Gogs Git 服务的简单仪表板、自定义域支持、HTTP 安全性和多数据库支持将为您提供在 Ubuntu 系统上使用 Git 服务的舒适设置。
Ubuntu Linux 上的 Gogs Git 服务
在 Ubuntu Linux 上安装 Gogs Git 服务不是一个复杂的过程,也不是一个快速的过程。 您可以将其安装在您的机器上并通过域或域使用 Gogs 服务 本地主机服务器. 要在 Ubuntu 机器上获取 Gogs 服务,您需要在系统上安装数据库引擎、HTTP 服务器和 Git 服务。
这篇文章将介绍如何在 Ubuntu Linux 系统上安装、配置和开始使用 Gogs 服务。 如果你有一个 Linux 服务器,主要是在你的机器上运行一个 Ubuntu 服务器,那么安装 Gogs 会容易得多。
第 1 步:在 Ubuntu Linux 上安装数据库
由于 Gogs 服务需要数据库引擎,您可以在 MySQL、PostgreSQL、TiDB 和 SQLite3 数据库中选择自己喜欢的数据库引擎。 在这里,我将在我的 Ubuntu Linux 系统上安装 PostgreSQL。 您可以运行下面给出的以下命令行以使用 root 权限在您的 Ubuntu 系统上安装 PostgreSQL。
sudo apt install -y postgresql postgresql-client libpq-dev
在您的系统上安装 PostgreSQL 后,您现在可以运行以下系统控制命令来启动和启用 Ubuntu 系统上的数据库。 如果您找不到 PostgreSQL 的默认密码或发现任何问题,您可以查看这篇文章以了解如何在 Linux 上设置和开始使用 PostgreSQL。
systemctl start postgresql systemctl enable postgresql
– –
现在,我们必须在我们的 Ubuntu 系统上为 Gogs 服务创建一个数据库。 您现在可以运行以下命令来登录您的数据库引擎。
su - postgres psql
登录后,创建一个用户,并为数据库设置一个新密码。 我必须提到,您应该记下数据库名称和密码; 您稍后将需要此信息来登录 Gogs 仪表板。
CREATE USER git CREATEDB; password git
如果您的登录成功,您现在可以在终端 shell 上运行以下 SQL 命令来为您的 Ubuntu 系统上的 Gogs git 服务创建一个数据库。
CREATE DATABASE gogs_production OWNER git;
第 2 步:在 Ubuntu Linux 上安装 Gogs
在这一步中,我们将看到在我们的 Ubuntu Linux 上安装 Gogs 服务的过程。 现在,我们将在我们的 Linux 文件系统上下载 Gogs 服务的压缩版本。 你需要在你的 Ubuntu 系统上安装 Wget 服务来获取 Gogs 文件。 如果您已经拥有 wget
安装,你可以运行导出和 wget
命令行如下。
sudo apt install wget export VER=0.11.86 wget https://github.com/gogs/gogs/releases/download/v${VER}/linux_amd64.tar.gz
完成下载后,您可以在 Ubuntu 终端 shell 上运行以下 tar 命令来提取压缩文件。
tar xvf linux_amd64.tar.gz
第三步:在 Ubuntu Linux 上配置 GIT Git 服务
在我们的 Ubuntu 系统上成功安装 Gogs git 服务后,我们现在将在我们的系统上安装 Git 服务。 如果您的机器上已经安装了 Git,则无需再次安装。
sudo apt install git
现在,将一个新用户添加到您的 Git 服务并分配一个新密码。 提供所有必要信息并完成在您的 Ubuntu 系统上创建新 Git 用户的过程。
$ sudo adduser git
创建新的 Git 用户后,我们现在将创建一个新目录并为其授予 root 访问权限。 然后我们将复制Gogs文件里面的 /etc/systemd/system
目录。 使用 root 权限在终端 shell 上运行以下 make directory 命令和所有权更改命令。
sudo mkdir /var/log/gogs sudo chown -R git:git /var/log/gogs/
现在,在终端上运行 copy (cp) 命令,将 Gogs 文件复制到 /etc/systemd/system
目录。
sudo cp gogs/scripts/systemd/gogs.service /etc/systemd/system
我们现在将在我们的 Ubuntu 系统上编辑和配置 Gogs 服务的配置设置。 您可以运行下面给出的以下命令来编辑 Gogs 配置脚本。 在这里,我使用的是 nano 脚本编辑器; 您也可以使用任何其他脚本编辑器。
sudo nano /etc/systemd/system/gogs.service
现在,复制下面给出的以下脚本并用它替换默认脚本。 如有必要,您可以更改脚本。
[Unit] Description=Gogs self-hosted Git service After=syslog.target After=network.target After=mysql.service [Service] # Modify these two values and uncomment them if you have # repos with lots of files and get an HTTP error 500 because # of that ### #LimitMEMLOCK=infinity #LimitNOFILE=65535 Type=simple User=git Group=git WorkingDirectory=/home/git ExecStart=/home/git/gogs web Restart=always Environment=USER=git HOME=/home/git # Some distributions may not support these hardening directives. If you cannot start the service due # to an unknown option, comment out the ones not supported by your version of systemd. ProtectSystem=full PrivateDevices=yes PrivateTmp=yes NoNewPrivileges=true [Install] WantedBy=multi-user.target
不得不提的是,Gogs 服务使用的是 3000 网络端口; 如果 3000 端口已在您机器上的其他服务中使用,您可以为 Gogs 服务分配任何其他网络端口。 要分配新端口,您可以找到以下行并替换端口。
ExecStart=/home/git/gogs web -port 3001
我们现在将 Gogs 目录复制到 home/git 目录并更改所有权。 在 Ubuntu 终端 shell 上运行以下命令行以进行更改。
sudo rsync -avz gogs/* /home/git/ sudo chown -R git:git /home/git/
第 4 步:在 Ubuntu Linux 上检查 Gogs 状态
在您的 Ubuntu Linux 上安装和配置数据库和 Gogs 服务后,您现在可以运行下面给出的以下系统控制命令来重新加载、启动和启用 Ubuntu 系统上的 Gogs 服务。
sudo systemctl daemon-reload sudo systemctl start gogs sudo systemctl enable gogs
最后,您可以运行以下系统控制命令来检查 Ubuntu Linux 上 Gogs 服务的状态。 如果一切正常,您将在终端 shell 上看到 Gogs 服务的激活状态、主 PID、任务和内存使用情况。
sudo systemctl status gogs
您现在可以从当前用户切换到 git 用户并查看 Gogs 手册。
su - git Password: [email protected]:~$ ./gogs
第 5 步:在 Ubuntu Linux 上配置 Gogs Git 服务
至此,我们已经成功安装了 Gogs 服务并在我们的 Ubuntu 系统上创建了一个 Git 用户。 我们现在将找到我们机器的 IP 地址并使用该 IP 地址加载 Gogs 设置页面。 您可以在终端 shell 上运行以下命令行来查找您的 IP 地址。
ip address
如果您必须在您的机器上定期运行服务器或基于 Web 的服务器,则使用静态 IP 会更好。 如果您的系统上安装了 localhost 服务器,您还可以使用 localhost IP 地址在您的 Ubuntu Linux 上加载 Gogs 安装页面。
https://192.168.0.1:3000/install
现在,选择您的数据库,输入正确的主机地址,并提供之前创建的数据库的用户名和密码。 您还可以找到设置 admin 账户在设置页面的底部。 Gogs 存储库配置完成后,单击“安装”按钮完成安装过程。
安装完成后,您将被重定向到登录页面。 您可以为 Gogs 创建一个新帐户,也可以改为登录。
在 Ubuntu Linux 上登录 Gogs git 服务后,您将看到 Gogs 系统的简单仪表板。
第 6 步:配置 Nginx 服务器
您可以使用 Ubuntu 机器上的 Nginx 反向代理服务器来为 Gogs 服务使用自定义域。 首先,运行下面给出的以下命令在您的 Ubuntu 系统上安装 Nginx 服务器。
sudo apt install nginx
现在,要配置您的域地址并将您当前的 Gogs 服务重定向到您的域,请在终端 shell 上运行以下命令。
sudo nano /etc/nginx/conf.d/gogs.conf
打开 Nginx 配置脚本后,将以下行复制并粘贴到您的 Nginx 配置脚本中。 您必须更换 example.com 域与您自己的域。
server { listen 80; server_name git.example.com; location / { proxy_pass https://localhost:3000; } }
最后的话
Gogs 服务对新老 Linux 用户与 Git 服务保持联系非常有用且用户友好。 在整篇文章中,我已经描述了在 Ubuntu Linux 上安装 Gogs 服务的方法。 我还展示了如何通过 Ubuntu 系统上的 Nginx 服务器为 Gogs 服务配置个人域。
尽管 Gogs 是一个轻量级工具,但它不会中断您在 Ubuntu 机器上的其他工作。 但是,如果您是普通 Ubuntu 用户,则必须更新您的 Linux 内核; 最新的 Ubuntu 内核令人难以置信。
如果您觉得这篇文章有用且内容丰富,请与您的朋友和 Linux 社区分享。 我们还鼓励您在评论部分写下您的意见。