当前位置: 首页>>技术教程>>正文


如何在Ubuntu 18.04 LTS上安装Gogs GIT服务

,

Gogs是一种免费,开源,简单,稳定且可扩展的self-hosted git服务,以Go编程语言编写。它轻巧,cross-platform,并且易于安装,因此您可以在开发环境中轻松设置self-hosted git服务。 Gogs作为独立的二进制发行版分发,并且具有最低要求,因此它可以在Go支持的所有平台上运行,例如Windows,Linux,ARM,Mac等。

特征

  • 基于Web的管理面板
  • 支持SMTP /LDAP /反向代理身份验证
  • 提供用于存储库文件和Wiki的基于Web的编辑器
  • 支持two-factor身份验证
  • 支持MySQL,PostgreSQL,SQLite3和MSSQL
  • 支持约29种语言

在本教程中,我们将学习如何在Ubuntu 18.04服务器上安装Gogs。

要求

  • 运行Ubuntu 18.04 LTS的服务器。
  • 为服务器设置了静态IP地址。
  • 具有sudo特权的非root用户。

入门

开始之前,您需要使用最新版本更新系统。您可以通过运行以下命令来执行此操作:

sudo apt-get更新-y
sudo apt-get升级-y

系统更新后,请重新启动系统以应用更改。

安装和配置MariaDB

首先,您需要将MariaDB服务器和其他必需的软件包安装到系统中。您可以使用以下命令安装所有组件:

sudo apt-get install mariadb-server git wget -y

安装完所有软件包后,您将需要更改MariaDB默认配置文件:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

在[mysqld]部分下添加以下行:

innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_default_row_format = dynamic

完成后,保存并关闭文件。

接下来,使用以下命令登录MariaDB shell:

mysql -u root -p

输入您的root密码,然后使用以下命令设置全局变量并创建Gogs数据库:

MariaDB [(none)]> SET GLOBAL innodb_file_per_table = ON;
MariaDB [(none)]> CREAT DATABASE gogsdb;

接下来,使用以下命令为Gogs授予所有特权:

MariaDB [(none)]>GRANT ALL ON gogsdb.* TO 'gogs'@'localhost' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

用您选择的安全密码替换“ mypassword”一词。接下来,刷新特权并使用以下命令从MariaDB shell退出:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

接下来,启动MariaDB服务,并使用以下命令启用它以在启动时启动:

sudo systemctl start mariadb
sudo systemctl enable mariadb

下载Gogs

首先,您将需要从Git存储库安装最新版本的Gogs。您可以使用以下命令下载它:

cd /tmp
wget https://github.com/gogs/gogs/releases/download/v0.11.66/linux_amd64.tar.gz

下载Gogs之后,使用以下命令解压缩下载的文件:

tar -xvzf linux_amd64.tar.gz

接下来,使用以下命令将提取的目录复制到/opt:

sudo cp -r gogs /opt/

创建Gogs系统服务文件

首先,您需要创建一个gogs用户来运行gogs服务。您可以使用以下命令执行此操作:

sudo adduser gogs

接下来,使用以下命令将gogs systemd服务文件复制到/etc /systemd /system目录:

sudo cp /opt/gogs/scripts/systemd/gogs.service /etc/systemd/system/

接下来,编辑gogs.service文件并进行一些更改:

sudo nano /etc/systemd/system/gogs.service

进行以下更改:

[Unit]
Description=Gogs
After=syslog.target
After=network.target
After=mariadb.service mysqld.service postgresql.service memcached.service redis.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=gogs
Group=gogs
WorkingDirectory=/opt/gogs
ExecStart=/opt/gogs/gogs web
Restart=always
Environment=USER=gogs HOME=/opt/gogs

# 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目录赋予适当的权限:

sudo chown -R gogs:gogs /opt/gogs/
sudo chmod -R 777 /opt/gogs/

接下来,启动gogs服务,并使用以下命令使其在启动时启动:

sudo systemctl start gogs
sudo systemctl enable gogs

现在,您可以使用以下命令检查Gogs服务的状态:

sudo systemctl status gogs

您应该看到以下输出:

? gogs.service - Gogs
   Loaded: loaded (/etc/systemd/system/gogs.service; disabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-04-09 15:51:55 UTC; 4s ago
 Main PID: 6882 (gogs)
    Tasks: 7 (limit: 2323)
   CGroup: /system.slice/gogs.service
           ??6882 /opt/gogs/gogs web

Apr 09 15:51:55 ubuntu1804 gogs[6882]: 2019/04/09 15:51:55 [ WARN] Custom config '/opt/gogs/custom/conf/app.ini' not found, ignore this if you'
Apr 09 15:51:55 ubuntu1804 gogs[6882]: 2019/04/09 15:51:55 [TRACE] Custom path: /opt/gogs/custom
Apr 09 15:51:55 ubuntu1804 gogs[6882]: 2019/04/09 15:51:55 [TRACE] Log path: /opt/gogs/log
Apr 09 15:51:55 ubuntu1804 gogs[6882]: 2019/04/09 15:51:55 [TRACE] Log Mode: Console (Trace)
Apr 09 15:51:55 ubuntu1804 gogs[6882]: 2019/04/09 15:51:55 [ INFO] Gogs 0.11.66.0916
Apr 09 15:51:55 ubuntu1804 gogs[6882]: 2019/04/09 15:51:55 [ INFO] Cache Service Enabled
Apr 09 15:51:55 ubuntu1804 gogs[6882]: 2019/04/09 15:51:55 [ INFO] Session Service Enabled
Apr 09 15:51:55 ubuntu1804 gogs[6882]: 2019/04/09 15:51:55 [ INFO] SQLite3 Supported
Apr 09 15:51:55 ubuntu1804 gogs[6882]: 2019/04/09 15:51:55 [ INFO] Run Mode: Development
Apr 09 15:51:55 ubuntu1804 gogs[6882]: 2019/04/09 15:51:55 [ INFO] Listen: http://0.0.0.0:3000

访问Gogs Web界面

Gogs现在已安装并在端口3000上侦听。打开Web浏览器并输入URL(用您的服务器IP地址替换URL中的IP地址)。您将被重定向到Gogs Web安装向导,如下所示:

数据库设置

Gogs installation part 1

常规应用程序设置

Gogs installation part 2

应用程序端口,URL和登录

Gogs installation part 3

现在,提供所有必需的详细信息,例如数据库名称,数据库用户名,密码,应用程序URL,管理员用户名,密码,运行用户和域。然后,点击安装 高格斯按钮。成功完成安装后,您应该在以下页面中看到Gogs默认仪表板:

Gogs GIT service dashboard

 

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/10156.html,未经允许,请勿转载。