如何在Ubuntu 15.04上配置Gogs
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) |
GO | go1.4.2.linux-amd64.tar.gz |
git | git版本2.1.4 |
内存和CPU | 2 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命令,就可以轻松地在其他系统上获取它。