1.准备环境
Ubuntu16.04 server (搞清楚自己的环境,如果不知道 请输入以下命令):
root@Ubuntu1610:/# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.10
Release: 16.10
Codename: yakkety
1.安装依赖包:
sudo apt-get install curl openssh-server ca-certificates postfix
注:执行完成后,出现邮件配置,选择Internet那一项(不带Smarthost的)如下所示:
选择完后,后面的东西,随便填吧,没啥卵用~
2.利用清华大学的镜像(https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/)来进行主程序的安装
首先信任 GitLab 的 GPG 公钥:
curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null
使用root用户修改配置文件(系统是ubuntu 16.10):
vi /etc/apt/sources.list.d/gitlab-ce.list
#添加以下内容
deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xenial main
如果你的系统是Ubuntu 14.04 ,那么添加的内容为:
deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu trusty main
安装 gitlab-ce:
sudo apt-get update
sudo apt-get install gitlab-ce
注: 有点慢 耐心等吧~
修改配置 :
vi /etc/gitlab/gitlab.rb
更改external_url =http://192.168.1.38 (IP换成你本机的IP地址)
2.官方的建议是使用脚本直接执行安装
sudo curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt-get install gitlab-ce
如果你能通过以上方式安装,恭喜你的网络很好,但一般因为大墙的存在这个方式很多时候并不能成功,所以我们要通过手动下载包的方式进行安装。
sudo curl -LJO https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/xenial/gitlab-ce-XXX.deb/download
sudo dpkg -i gitlab-ce-XXX.deb
以上是示例,具体版本需要进行替换,在 https://packages.gitlab.com/gitlab/gitlab-ce 中找到适合自己的 GitLab 版本,从 Download 获取到下载地址。
我选择的是目前最新的 GitLab 9.0 版本
使用 wget 或 curl 将这个包下载到服务器上。服务器下载慢的话可在本地用工具下载然后通过 SCP 或 ftp 传到服务器上去。
sudo dpkg -i gitlab-ce_9.0.0-ce.0_amd64.deb
使用以上命令进行安装。
3.启动sshd和postfix服务
service sshd start
service postfix start
4.添加防火墙规则
sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
5.启动各项服务
sudo gitlab-ctl reconfigure
- 有点慢,可以出去抽根烟溜达一圈~
上面这一步可能会失败,报错如下:
解决办法:进入到文件: /etc/gitlab/gitlab.rb,找到下面他们俩:user[‘username’]=’git’
User[‘group’]=’git’
讲git改为gitlab。然后初始化配置
sudo gitlab-ctl reconfigure
6.查看安装是否成功
sudo gitlab-ctl status
- 出现一下画面就OK了:
root@Ubuntu1610:/# sudo gitlab-ctl status
run: alertmanager: (pid 22060) 15s; run: log: (pid 22146) 15s
run: gitaly: (pid 21990) 17s; run: log: (pid 22003) 16s
run: gitlab-monitor: (pid 22026) 16s; run: log: (pid 22030) 16s
run: gitlab-workhorse: (pid 21973) 17s; run: log: (pid 21981) 17s
run: logrotate: (pid 21526) 64s; run: log: (pid 21983) 17s
run: nginx: (pid 21498) 66s; run: log: (pid 21982) 17s
run: node-exporter: (pid 21753) 52s; run: log: (pid 22004) 16s
run: postgres-exporter: (pid 22153) 15s; run: log: (pid 22161) 14s
run: postgresql: (pid 21187) 201s; run: log: (pid 21964) 17s
run: prometheus: (pid 22039) 15s; run: log: (pid 22053) 15s
run: redis: (pid 21117) 207s; run: log: (pid 21963) 17s
run: redis-exporter: (pid 21791) 44s; run: log: (pid 22031) 16s
run: sidekiq: (pid 21465) 73s; run: log: (pid 21966) 17s
run: unicorn: (pid 21428) 79s; run: log: (pid 21965) 17s
登陆地址 ,就是刚才你刚才添加到配置文件的那个地址登陆访问(无需输入端口):
上来先让你初始化密码,剩下的就是界面画操作。
安装到此结束~
注:gitlab在服务器中的默认代码存放的位置是 /var/opt/gitlab/git-data/repositories
汉化
1.下载社区提供的汉化包,在 https://gitlab.com/xhang/gitlab/ 中找到相应的汉化分支。
sudo wget wget -cO gitlab-9.0_zh.tar.gz https://gitlab.com/xhang/gitlab/repository/archive.tar.gz?ref=9-0-stable-zh
2.解压包
sudo tar zxvf gitlab-9.0_zh.tar.gz
3.停止 GitLab 服务
sudo gitlab-ctl stop
4.备份 gitlab-rails 目录,该目录下主要是web应用部分,也是当前项目仓库的起始版本,也是汉化包要覆盖的目录。
sudo tar zcvf /opt/gitlab/embedded/service/gitlab-rails-bak.tar.gz gitlab-rails
5.将解压后的汉化补丁覆盖原来的
sudo cp -rf gitlab-9-0-stable-zh/* gitlab-rails/
6.启动服务
sudo gitlab-ctl start
7.重新执行配置命令
sudo gitlab-ctl reconfigure
汉化完成
一些界面设置
进入界面后关掉一些我们可能用不到的设置,在 「管理区域」的设置中进行更改
6. IP显示及HTTP,SSH 端口配置
当你完成以上操作之后,你会发现你仓库中的SSH和HTTP地址是下图这样的,所以我们要对GitLab进行IP显示的配置及端口配置。
1557456570395.png
6.1 IP配置
vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
修改如下项
gitlab:
## Web server settings (note: host is the FQDN, do not include http://)
host: 192.168.10.64
port: 6109
https: false
修改 gitlab.rb
vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.10.64:6109'
当你完成以上配置后,还是不能通过 http:// ip location : prot 来访问你的GitLab仓库。
6.2 HTTP 端口配置
修改GitLab ngnix 监听端口
vim /etc/gitlab/gitlab.rb
然后通过输入 /nginx 修改以下项
nginx['listen_port'] = 6109
vim /var/opt/gitlab/nginx/conf/gitlab-http.conf
修改:
listen *:6109
完成以上设置之后,就可以通过 IP + PORT 来访问你的GitLab库了,同时仓库的HTTP地址显示也正常
6.3 SSH 端口配置
修改SSH端口首先要修改服务器的SSH端口,这会影响到 Xshell 对服务器的连接。
-
修改 sshd_config 中的端口号
vim /etc/ssh/sshd_config Port 6119 //默认为22
-
重启 sshd 服务
systemct1 restart sshd 此时会报错 systemct1 status sshd //之后你会看到类似如下的错误信息 localhost.localdomain sshd[50776]: error: Bind to port 6119 on failed: Permission denied. localhost.localdomain sshd[50776]: error: Bind to port 6119 on failed: Permission denied. 网上博客有说到关闭SELinux来解决这个问题,即修改 /etc/selinux/config 文件 SELINUX=disable 但这种方法本人实验无效 最终通过以下方法解决 semanage port -a -t ssh_port_t -p tcp 6119 systemct1 restart sshd systemct1 status sshd [root@localhost ~]# systemctl status sshd ?.sshd.service - OpenSSH server daemon Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2019-05-10 04:19:51 EDT; 5min ago Docs: man:sshd(8) man:sshd_config(5) Main PID: 36086 (sshd) Tasks: 1 Memory: 1.0M CGroup: /system.slice/sshd.service ?..36086 /usr/sbin/sshd -D May 10 04:19:51 localhost.localdomain systemd[1]: Starting OpenSSH server daemon... May 10 04:19:51 localhost.localdomain sshd[36086]: Server listening on 0.0.0.0 port 6119. May 10 04:19:51 localhost.localdomain sshd[36086]: Server listening on :: port 6119. May 10 04:19:51 localhost.localdomain systemd[1]: Started OpenSSH server daemon. 端口修改成功
6.4 重启GitLab
gitlab-ctl reconfigure
gitlab-ctl restart
完成以上操作之后,一切就都正常了
作者:LeonardoEzio
链接:https://www.jianshu.com/p/302b5b3f38d1
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。