搭建gogs
我的機器環境:centos 7
1.安裝git
yum install git
2.安裝mysql
gogs的數據存在mysql中,需要安裝一個mysql來存數據,當然也有其他的選擇,比如sqllite。
mysql安裝:
http://www.cnblogs.com/dingxu/p/8927955.html
安裝好mysql后:
登錄到mysql
mysql -uroot -p
SET GLOBAL storage_engine = 'InnoDB'; //如果顯示沒有這個字段的錯誤,就用default_storage_engine = 'InnoDB'
CREATE DATABASE gogs CHARACTER SET utf8 COLLATE utf8_bin;
GRANT ALL PRIVILEGES ON gogs.* TO ‘root’@‘localhost’ IDENTIFIED BY 'xxxx';
FLUSH PRIVILEGES;
QUIT;
## xxxx是密碼
3.安裝nginx
yum install nginx // 默認配置文件安裝在/etc/nginx,修改nginx.conf和nginx.conf.default配置文件
啟動nginx
cd /usr/sbin
./nginx //啟動nginx
./nginx -s quit //停止nginx
./nginx -s stop //強制停止,相當於執行 ps -ef 后,找到pid,執行kill -9 pid
./nginx -s reload //重啟,使nginx配置文件做了修改,可以使用此命令
gogs的默認web頁面是在3000端口,可以通過nginx來做一個轉發,這樣直接ip就可以訪問了。
server {
listen 80;
server_name ip;//ip或者域名
location / {
proxy_pass http://127.0.0.1:3000/;
}
}
4.安裝gogs
1.創建git用戶
useradd git
passwd git //設置密碼
2.下載解壓gogs
切換到git用戶
su git
cd ~
# unzip 命令不可用的話需先安裝
unzip linux_amd64.zip
3.配置gogs
vim /home/git/gogs/scripts/init/debian/gogs
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="GoGs Git Service"
NAME=gogs
SERVICEVERBOSE=yes
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
WORKINGDIR=/home/git/gogs #根據自己的目錄修改
DAEMON=$WORKINGDIR/$NAME
DAEMON_ARGS="web"
USER=git #修改對應用戶
4.切回root,拷貝文件和服務
#拷貝到init.d下
cp /home/git/gogs/scripts/init/debian/gogs /etc/init.d/
#添加可執行權限
chmod +x /etc/init.d/gogs
#拷貝service
cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/
5.啟動
systemctl start gogs.service
訪問ip:3000,也可以用nginx做一個反向代理
配置gogs
修改數據庫的配置,ip地址啊,開放注冊,管理員設置等
配置完成后
可以把它理解為一個簡單的github來用。還是不錯的
修改配置
編輯/home/git/gogs/custom/conf/app.ini即可
app.ini:
[repository]
ROOT = /home/git/gogs-repositories
[server]
DOMAIN = xxx.xxx.xxx.xxx
HTTP_PORT = 3000
ROOT_URL = http:// xxx.xxx.xxx.xxx:3000/
DISABLE_SSH = false
SSH_PORT = 22
START_SSH_SERVER = false
OFFLINE_MODE = false
[mailer]
ENABLED = false
[service]
REGISTER_EMAIL_CONFIRM = false
ENABLE_NOTIFY_MAIL = false
DISABLE_REGISTRATION = true
ENABLE_CAPTCHA = false
REQUIRE_SIGNIN_VIEW = false
[picture]
DISABLE_GRAVATAR = true
ENABLE_FEDERATED_AVATAR = false
[session]
PROVIDER = file
[log]
MODE = file
LEVEL = Info
ROOT_PATH = /home/git/gogs/log
[security]
INSTALL_LOCK = true
SECRET_KEY = My9SzhERU5PiV6F
注意:
測試參考文檔在做nginx時,通過創建/etc/nginx/sites-available/gogs.conf或者/etc/nginx/sites-enabled/gogs.conf文件,nginx不生效,通過修改nginx.conf和nginx.conf.default配置文件才成功反向代理
gogs.conf:
server {
listen 80;
server_name 127.0.0.1;
location / {
proxy_pass http://127.0.0.1:3000/;
proxy_redirect default;
}
}
