如何在Ubuntu 15.04上配置Gogs

时间:2020-03-05 15:31:51  来源:igfitidea点击:

Gogs(Go Git服务)是一种用Go语言编写的无痛苦的自托管Git服务。
由于它是使用Go构建的,因此我们会自动获得其支持的跨平台兼容性,包括Linux,Mac OS和Windows。
Gogs的占用空间确实很低,因此很容易使用低系统资源。
在本文中,我们将通过简单的步骤为我们提供指导,并通过其Web界面,管理仪表板及其所有操作功能在Ubuntu 15.04上启动并运行它,因为它具有许多出色的功能,易于使用和易于使用的特点,因此我们可以其中托管代码。
使用权。

基本要求

为了设置Gogs,我们需要具有其基本资源和以下必需软件包的更新OS。

  • MySQL 5.1或者更高版本。
  • git(bash)1.8.0或者更高版本

我们将以具有sudo特权的普通用户在以下环境中设置gogs安装及其配置。

GOGS(GO GIT服务)
基础操作系统Ubuntu 15.04(GNU/Linux 3.19.0-15通用x86_64)
数据库MySQL Ver 14.14分布5.6.24,用于Debian-Linux-GNU(X86_64)
GOgo1.4.2.linux-amd64.tar.gz
gitgit版本2.1.4
内存和CPU2 GB,1.0 GHz
硬盘30 GB

系统更新

在开始安装之前,我们需要确保我们的系统是最新的,我们始终可以使用以下命令来做到这一点。

root@ubuntu-15:~#apt-get update

建立新使用者

我们将创建一个新用户,该用户将用于该用户的整个设置和安装。

root@ubuntu-15:~# adduser git

向用户“ git”授予超级用户特权

root@ubuntu-15:~# visudo
# User privilege specification
root ALL=(ALL:ALL) ALL
git ALL=(ALL:ALL) ALL

开始安装过程

首先,我们需要安装Gogs设置所需的准备工作。

Git安装

Ubuntu 15.04附带了预安装的git最新版本,因此无需重新安装。
我们可以使用以下命令检查其版本。

git@ubuntu-15:~$git --version
git version 2.1.4

MySQL数据库安装

在这些步骤中,将安装mysql服务器,然后创建一个新数据库和一个将用作Gogs数据库的用户。

步骤1:使用apt-get安装mysql

git@ubuntu-15:~$sudo apt-get install mysql-server mysql-server-5.6
git@ubuntu-15:~$sudo systemctl status mysql
git@ubuntu-15:~$sudo mysql --version
mysql Ver 14.14 Distrib 5.6.24, for debian-linux-gnu (x86_64) using EditLine wrapper

步骤2:选择root密码

在安装过程中,它将要求输入mysql root用户密码,因此请选择一个安全的密码。

步骤3:按照以下步骤为Gogs创建新的数据库和用户:

git@ubuntu-15:~$sudo mysql -u root -p
Enter password:
mysql> SET GLOBAL storage_engine = 'InnoDB';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> CREATE DATABASE gogs CHARACTER SET utf8 COLLATE utf8_bin;
Query OK, 1 row affected (0.00 sec)
mysql> CREATE USER 'gogs'@'localhost' IDENTIFIED by 'gogs123';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON gogs.* TO 'gogs'@'localhost' IDENTIFIED BY 'gogs123';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> \q
Bye

go安装

我们将go(bash)软件包安装在一个单独的目录中,这样它就不会与系统的数据包管理器将来的更新进行交互。

第1步:创建新目录并下载Go的最新版本

git@ubuntu-15:~$sudo mkdir local
git@ubuntu-15:~$cd local/
git@ubuntu-15:~/local$pwd
/home/git/local
git@ubuntu-15:~/local$sudo wget https://storage.googleapis.com/golang/go1.4.2.linux-amd64.tar.gz

步骤2:将包展开到相同的~/local目录中

git@ubuntu-15:~/local$sudo tar xf go1.4.2.linux-amd64.tar.gz
git@ubuntu-15:~/local$ls
go go1.4.2.linux-amd64.tar.gz

步骤3:在终端中输入“ go”,我们将看到其命令行手册为

设置Go的环境

其中我们需要为git用户建立一个环境,以设置其对应于我们系统的路径。

Gogs安装开始

现在,我们开始使用Go源代码命令行工具开始安装Gogs。

第1步:运行Go的Get命令以下载Gogs

git@ubuntu-15:~/local$go get -u github.com/gogits/gogs

步骤2:更改目录并构建主程序

git@ubuntu-15:~/local$cd $GOPATH/src/github.com/gogits/gogs
git@ubuntu-15:~/go/src/github.com/gogits/gogs$go build

步骤3:Gogs安装测试

运行以下命令以确保gogs正常运行,如果我们没有看到任何错误消息,只需按Ctrl-c即可停止Gogs,我们还可以使用IP和端口3000在本地主机Web浏览器上对其进行访问,但最好不要此时开始安装以避免出现错误。

git@ubuntu-15:~$cd $GOPATH/src/github.com/gogits/gogs
git@ubuntu-15:~/go/src/github.com/gogits/gogs$./gogs web

Nginx安装

我们需要安装Nginx才能将其用作反向代理,以便将域名绑定到Gogs。

因此,让我们开始安装它,然后为Gogs配置它。

第1步:使用apt-get命令安装Nginx

git@ubuntu-15:~$sudo apt-get install nginx
git@ubuntu-15:~$sudo systemctl status nginx
git@ubuntu-15:~$sudo nginx -V
nginx version: nginx/1.6.2 (Ubuntu)

步骤2:配置Nginx

git@ubuntu-15:~$sudo vi /etc/nginx/sites-available/default
# Default server configuration
#server {
listen 80 default_server;
listen [::]:80 default_server;
# SSL configuration
## listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
## Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
## include snippets/snakeoil.conf;
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name 172.25.10.179;
location/{
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
proxy_pass http://localhost:3000;
try_files $uri $uri/=404;
}
}

步骤3:现在,重新启动Niginx Service并检查其状态

git@ubuntu-15:~$systemctl restart nginx

将gogs作为服务启动

要设置Gogs作为后端的运行服务自动启动,我们将通过安装软件包Supervisor来实现。

步骤1:使用apt-get安装Supervisor

git@ubuntu-15:~$sudo apt-get install supervisor
git@ubuntu-15:~$systemctl status supervisor

步骤2:重新配置主管
安装主管后,现在根据我们的环境和需求对其进行配置。
让我们开始为日志创建一个新目录,然后将supervisod.conf文件添加为:

git@ubuntu-15:~$sudo mkdir -p /var/log/gogs
git@ubuntu-15:~$sudo vi /etc/supervisor/supervisord.conf
[program:gogs]
directory=/home/git/go/src/github.com/gogits/gogs/
command=/home/git/go/src/github.com/gogits/gogs/web
autostart=true
autorestart=true
startsecs=10
stdout_logfile=/var/log/gogs/stdout.log
stdout_logfile_maxbytes=1MB
stdout_logfilebackups=10
stdout_capture_maxbytes=1MB
stderr_logfile=/var/log/gogs/stderr.log
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=10
stderr_capture_maxbytes=1MB
environment = HOME="/home/git", USER="git"

步骤3:重新启动Supervisor服务并检查其状态

完成Gogs安装设置

Gogs已通过其初始设置和其他必需软件包的配置进行了全部设置。
现在,我们只需要在首次运行时执行几个安装步骤即可。

让我们打开Web浏览器并使用localhost IP访问gogs:

http://localhost:3000/install
http://172.25.10.179:3000/install

在其数据库类型,用户名和密码中选择适当的配置。
然后,在创建管理员帐户后,只需单击以安装Gogs,就可以了。

我们还可以使用其仪表板克隆任何存储库。
我们只需要获取所需存储库的链接,然后对另一个系统进行SSH,然后使用git clone命令,就可以轻松地在其他系统上获取它。