CentOS下搭建gogs
时间:2017-05-27 11:29 来源:linux.it.net.cn 作者:IT
步骤
-
新建用户
-
下载源码进行编译/下载预编译二进制文件
-
安装
-
调整配置
-
配置nginx反向代理
-
添加服务及开机启动
注意,这里默认你已经安装并配置好了MySQL和nginx,如果没有,请自行查找如何安装和配置这些依赖。当然你也可以使用SQLite数据库。
新建用户
Gogs默认以Git用户运行,因此我们需要建立一个git用户
$ sudo adduser git #建立git用户
$ su git #以git用户登录
$ mkdir ~/.ssh #建立.ssh目录
下载并解压缩
为了节省时间,我选择的是编译好的二进制文件,需要从源码编译的话,请参考一般Go语言项目的编译。 在这里寻找适用于你系统的二进制包
下载地址:https://github.com/gogits/gogs/releases/
wget https://github.com/gogits/gogs/releases/download/v0.11.4/linux_amd64.tar.gz
下载后解压到你喜欢的地方,例如/usr/share/gogs/或者/home/git/gogs/。目录结构如下:
$ ls ~/gogs
custom gogs log README.md scripts
data LICENSE public README_ZH.md templates
安装
首先建立数据库。Gogs目录的scripts/mysql.sql文件是数据库初始化文件。 执行mysql -u root -p < scripts/mysql.sql(需要输入密码)即可初始化数据库。
然后登录MySQL创建一个新用户gogs,并将数据库gogs 的所有权限都赋予该用户。
$ mysql -u root -p
mysql> # (输入密码)
mysql> create user 'gogs'@'localhost' identified by '密码';
mysql> grant all privileges on gogs.* to 'gogs'@'localhost';
mysql> flush privileges;
mysql> exit;
执行./gogs web运行Gogs,然后访问http://服务器IP:3000/ 安装,按照页面提示填写信息。
调整配置
配置文件位于Gogs目录的custom/conf/app.ini,为INI格式的文本文件,关键配置如下。 详细的配置解释和默认值请参考配置文件手册
-
RUN_USER默认为git,指定Gogs以哪个用户运行
-
ROOT 所有仓库的存储根路径
-
PROTOCOL用nginx反代的话使用http
-
DOMAIN域名,会影响SSH clone地址
-
ROOT_URL完整的根路径,会影响页面上链接指向,以及HTTP(s) clone的地址
-
HTTP_ADDR监听地址,使用nginx建议127.0.0.1,否则localhost或0.0.0.0也可以
-
HTTP_PORT监听端口,默认3000
-
INSTALL_LOCK锁定安装页面
-
Mailer相关的选项 注意邮箱stmp地址要加端口号
配置nginx反向代理
修改nginx的配置文件,添加如下内容:
server {
server_name 域名或IP;
listen 80; #或者443,如果你使用 HTTPS 的话
# ssl on; 是否启用加密连接
# 如果你使用HTTPS,还需要填写ssl_certificate和ssl_certificate_key
location / { #如果你希望通过子路径访问,此处修改为子路径,注意以/开头和结束
proxy_pass http://127.0.0.1:3000/;
}
}
执行sudo service nginx reload重新载入nginx配置
添加服务及开机启动
在Gogs目录的scripts目录中找到对应你所用发行版的版本,文件名为gogs。 执行
$ sudo cp /home/git/gogs/scripts/init/centos/gogs /etc/init.d/
$ sudo chmod +x /etc/init.d/gogs
修改对应的WORKINGDIR值为自己的路径
设置开机启动
$ sudo chkconfig gogs on
即可添加开机启动,取消自启可以执行sudo chkonfig gogs off
Ubuntu 下设置开机启动
$ sudo cp /home/git/gogs/scripts/init/debian/gogs /etc/init.d/
$ sudo chmod +x /etc/init.d/gogs
修改对应的WORKINGDIR值为自己的路径
复制gogs.service
cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/
vim /etc/systemd/system/gogs.service
修改gogs.service文件,添加mysql.service 到最前面
After=mysql.service mysqld.service postgresql.service memcached.service redis.service mariadb.service
参考资料
使用Gogs搭建自己的Git服务器
配置文件手册
Gogs在github上的项目页
(责任编辑:IT)
步骤
注意,这里默认你已经安装并配置好了MySQL和nginx,如果没有,请自行查找如何安装和配置这些依赖。当然你也可以使用SQLite数据库。 新建用户Gogs默认以Git用户运行,因此我们需要建立一个git用户 $ sudo adduser git #建立git用户 $ su git #以git用户登录 $ mkdir ~/.ssh #建立.ssh目录 下载并解压缩为了节省时间,我选择的是编译好的二进制文件,需要从源码编译的话,请参考一般Go语言项目的编译。 在这里寻找适用于你系统的二进制包 下载地址:https://github.com/gogits/gogs/releases/ wget https://github.com/gogits/gogs/releases/download/v0.11.4/linux_amd64.tar.gz 下载后解压到你喜欢的地方,例如/usr/share/gogs/或者/home/git/gogs/。目录结构如下: $ ls ~/gogs custom gogs log README.md scripts data LICENSE public README_ZH.md templates 安装首先建立数据库。Gogs目录的scripts/mysql.sql文件是数据库初始化文件。 执行mysql -u root -p < scripts/mysql.sql(需要输入密码)即可初始化数据库。 然后登录MySQL创建一个新用户gogs,并将数据库gogs 的所有权限都赋予该用户。 $ mysql -u root -p mysql> # (输入密码) mysql> create user 'gogs'@'localhost' identified by '密码'; mysql> grant all privileges on gogs.* to 'gogs'@'localhost'; mysql> flush privileges; mysql> exit; 执行./gogs web运行Gogs,然后访问http://服务器IP:3000/ 安装,按照页面提示填写信息。 调整配置配置文件位于Gogs目录的custom/conf/app.ini,为INI格式的文本文件,关键配置如下。 详细的配置解释和默认值请参考配置文件手册
配置nginx反向代理修改nginx的配置文件,添加如下内容: server { server_name 域名或IP; listen 80; #或者443,如果你使用 HTTPS 的话 # ssl on; 是否启用加密连接 # 如果你使用HTTPS,还需要填写ssl_certificate和ssl_certificate_key location / { #如果你希望通过子路径访问,此处修改为子路径,注意以/开头和结束 proxy_pass http://127.0.0.1:3000/; } } 执行sudo service nginx reload重新载入nginx配置 添加服务及开机启动在Gogs目录的scripts目录中找到对应你所用发行版的版本,文件名为gogs。 执行 $ sudo cp /home/git/gogs/scripts/init/centos/gogs /etc/init.d/ $ sudo chmod +x /etc/init.d/gogs 修改对应的WORKINGDIR值为自己的路径 设置开机启动 $ sudo chkconfig gogs on 即可添加开机启动,取消自启可以执行sudo chkonfig gogs off Ubuntu 下设置开机启动 $ sudo cp /home/git/gogs/scripts/init/debian/gogs /etc/init.d/ $ sudo chmod +x /etc/init.d/gogs 修改对应的WORKINGDIR值为自己的路径 复制gogs.service cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/ vim /etc/systemd/system/gogs.service 修改gogs.service文件,添加mysql.service 到最前面 After=mysql.service mysqld.service postgresql.service memcached.service redis.service mariadb.service 参考资料使用Gogs搭建自己的Git服务器 配置文件手册 Gogs在github上的项目页 (责任编辑:IT) |