使用gogs搭建git私有仓库
搭建gogs
我的机器环境:centos 71.安装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 ~ wget https://dl.gogs.io/0.11.4/linux_amd64.zip # unzip 命令不可用的话需先安装 unzip linux_amd64.zip3.配置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地址啊,开放注册,管理员设置等SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
配置完成后
可以把它理解为一个简单的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 相关参考文档:https://www.jianshu.com/p/63206dad0afa http://www.yangyingming.com/article/383/ https://blog.mynook.info/post/host-your-own-git-server-using-gogs/ 注意: 测试参考文档在做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; } }更多精彩