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安装向导,如下所示:
数据库设置
常规应用程序设置
应用程序端口,URL和登录
现在,提供所有必需的详细信息,例如数据库名称,数据库用户名,密码,应用程序URL,管理员用户名,密码,运行用户和域。然后,点击安装 高格斯按钮。成功完成安装后,您应该在以下页面中看到Gogs默认仪表板: