1:系统和软件:
root@ubuntu1:/home/ubuntu1
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.3 LTS
Release: 14.04
Codename: trusty
2:下载gitlab安装包:
https://about.gitlab.com/downloads/archives/
@H_
301_54@注:下载相应的系统对应的版本。
3:安装需要的openssh和mail服务:
sudo apt-get install openssh-server
sudo apt-get install postfix
注:邮件选择:No configuration!之后自己配置!
4:安装“gitlab-ce_7.10.4~omnibus-1_amd64.deb”,[内含Ruby、Redis,Nginx和Postgresql]:
sudo dpkg -i gitlab-ce_7.10.4~omnibus-1_amd64.deb
5:配置访问域名端口和邮箱:
sudo vim /etc/gitlab/gitlab.rb
#unicorn端口冲突--配置9090,默认8080!
unicorn['port'] = 9090
#配置gitlab的域名或ip和端口或域名(外网)
# external_url 'http://192.168.1.110:8080'
external_url 'http://git.loveshare.me'
#配置邮件
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "eg.smtp.163.com"
gitlab_rails['smtp_port'] =25
gitlab_rails['smtp_user_name'] = "your email"
gitlab_rails['smtp_password'] = "your passwd"
gitlab_rails['smtp_domain'] = "eg.smtp.163.com"
gitlab_rails['smtp_authentication'] = :login
gitlab_rails['smtp_enable_starttls_auto'] = true
#163邮箱,修改gitlab配置的发信人
gitlab_rails['gitlab_email_from'] = "your email"
user["git_user_email"] = "your email"
6:GitLab进行重加载gitlab.rb配置启动:
sudo gitlab-ctl reconfigure
7:检测GitLab状态:
sudo gitlab-ctl status
run: logrotate: (pid 16722) 2161s; run: log: (pid 3316) 45362s
run: Nginx: (pid 3297) 45364s; run: log: (pid 3296) 45364s
run: postgresql: (pid 3180) 45383s; run: log: (pid 3179) 45383s
run: redis: (pid 3081) 45389s; run: log: (pid 3080) 45389s
run: sidekiq: (pid 3272) 45370s; run: log: (pid 3271) 45370s
run: unicorn: (pid 3244) 45372s; run: log: (pid 3243) 45372s
注:若状态都为down,则使用,启动:
sudo gitlab-ctl start
ok: run: logrotate: (pid 14246) 1s
ok: run: Nginx: (pid 14249) 0s
ok: run: postgresql: (pid 14257) 0s
ok: run: redis: (pid 14265) 1s
ok: run: sidekiq: (pid 14269) 0s
ok: run: unicorn: (pid 14273) 1s
8:检查GitLab的日志:
sudo gitlab-ctl tail
由于GitLab包自带了Ruby、Redis,Nginx和Postgresql,所以也就不需要考虑太多兼容性的问题。
直接Web登录GitLab所在的服务器,并使用帐号root,密码5iveL!fe来登录GitLab{此密码为默认}。
首次登录GitLab会强行让你重置密码,然后就可以进入GitLab了。
10:停止服务
sudo gitlab-ctl stop
ok: down: logrotate: 0s,normally up
ok: down: Nginx: 1s,normally up
ok: down: postgresql: 0s,normally up
ok: down: redis: 1s,normally up
ok: down: sidekiq: 0s,normally up
ok: down: unicorn: 1s,normally up
11.使用Nginx代理域名gitlab外网访问:
sudo vim /etc/gitlab/gitlab.rb
external_url 'http://git.loveshare.me'
server {
listen 80;
server_name git.loveshare.me;
proxy_redirect off;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE_HOST $server_name;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://192.168.1.230:80;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
问题1:注:错误码对应解释网易服务器smtp机器要求身份验证帐号和发信帐号必须一致,如果用户在发送邮件时,身份验证帐号和发件人帐号是不同的,因此拒绝发送。修改gitlab.rb,修改发信人和身份验证帐号一致,163发信OK。
问题2:Nginx默认监听80端口,unicorn默认监听8080端口,如使用此两个端口请修改配置!
日志附件:
1:
root@dubbo:/home/install
Selecting prevIoUsly unselected package gitlab-ce.
(Reading database ... 56801 files and directories currently installed.)
Preparing to unpack gitlab-ce_7.10.4~omnibus-1_amd64.deb ...
Unpacking gitlab-ce (7.10.4~omnibus-1) ...
Setting up gitlab-ce (7.10.4~omnibus-1) ...
dpkg-query: package 'gitlab' is not installed
Use dpkg
and dpkg
gitlab: Thank you for installing GitLab!
gitlab: Configure and start GitLab by running the following command:
gitlab:
gitlab: sudo gitlab-ctl reconfigure
gitlab:
gitlab: GitLab should be reachable at http://dubbo
gitlab: Otherwise configure GitLab for your system by editing /etc/gitlab/gitlab.rb file
gitlab: And running reconfigure again.
gitlab:
gitlab: For a comprehensive list of configuration options please see the Omnibus GitLab readme
gitlab: https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md
gitlab:
It looks like GitLab has not been installed yet; skipping the upgrade script.
2:
root@dubbo:/home/dubbo
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:32000 0.0.0.0:* LISTEN 2334/java
tcp 0 0 127.0.0.1:9090 0.0.0.0:* LISTEN 14288/config.ru
tcp 0 0 0.0.0.0:8500 0.0.0.0:* LISTEN 14249/Nginx
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 958/sshd
tcp 0 0 127.0.0.1:48350 0.0.0.0:* LISTEN 14265/redis-server
tcp6 0 0 :::22 :::* LISTEN 958/sshd
3:
root@dubbo:/home/dubbo
root 894 1 0 Jul11 ? 00:00:15 runsvdir -P /opt/gitlab/service log: ...........................................................................................................................................................................................................................................................................................................................................................................................................
root 906 902 0 Jul11 ? 00:00:00 svlogd -tt /var/log/gitlab/sidekiq
root 908 901 0 Jul11 ? 00:00:00 svlogd -tt /var/log/gitlab/Nginx
root 910 899 0 Jul11 ? 00:00:00 svlogd -tt /var/log/gitlab/unicorn
root 911 898 0 Jul11 ? 00:00:02 svlogd -tt /var/log/gitlab/redis
root 915 903 0 Jul11 ? 00:00:00 svlogd -tt /var/log/gitlab/logrotate
root 917 900 0 Jul11 ? 00:00:00 svlogd -tt /var/log/gitlab/postgresql
root 14249 901 0 18:27 ? 00:00:00 Nginx: master process /opt/gitlab/embedded/sbin/Nginx -p /var/opt/gitlab/Nginx
gitlab-+ 14250 14249 0 18:27 ? 00:00:00 Nginx: worker process
gitlab-+ 14251 14249 0 18:27 ? 00:00:00 Nginx: worker process
gitlab-+ 14252 14249 0 18:27 ? 00:00:00 Nginx: worker process
gitlab-+ 14253 14249 0 18:27 ? 00:00:00 Nginx: worker process
gitlab-+ 14254 14249 0 18:27 ? 00:00:00 Nginx: worker process
gitlab-+ 14255 14249 0 18:27 ? 00:00:00 Nginx: worker process
gitlab-+ 14257 900 0 18:27 ? 00:00:00 /opt/gitlab/embedded/bin/postgres -D /var/opt/gitlab/postgresql/data
gitlab-+ 14259 14257 0 18:27 ? 00:00:00 postgres: checkpointer process
gitlab-+ 14260 14257 0 18:27 ? 00:00:00 postgres: writer process
gitlab-+ 14261 14257 0 18:27 ? 00:00:00 postgres: wal writer process
gitlab-+ 14262 14257 0 18:27 ? 00:00:00 postgres: autovacuum launcher process
gitlab-+ 14263 14257 0 18:27 ? 00:00:00 postgres: stats collector process
gitlab-+ 14265 898 0 18:27 ? 00:00:01 /opt/gitlab/embedded/bin/redis-server 127.0.0.1:0
git 14269 902 0 18:27 ? 00:00:12 sidekiq 3.3.0 gitlab-rails [0 of 25 busy]
git 14288 1 0 18:27 ? 00:00:08 unicorn master -D -E production -c /var/opt/gitlab/gitlab-rails/etc/unicorn.rb /opt/gitlab/embedded/service/gitlab-rails/config.ru
git 14349 14288 0 18:27 ? 00:00:00 unicorn worker[0] -D -E production -c /var/opt/gitlab/gitlab-rails/etc/unicorn.rb /opt/gitlab/embedded/service/gitlab-rails/config.ru
git 14352 14288 0 18:27 ? 00:00:00 unicorn worker[1] -D -E production -c /var/opt/gitlab/gitlab-rails/etc/unicorn.rb /opt/gitlab/embedded/service/gitlab-rails/config.ru
git 14355 14288 0 18:27 ? 00:00:00 unicorn worker[2] -D -E production -c /var/opt/gitlab/gitlab-rails/etc/unicorn.rb /opt/gitlab/embedded/service/gitlab-rails/config.ru
git 14358 14288 0 18:27 ? 00:00:00 unicorn worker[3] -D -E production -c /var/opt/gitlab/gitlab-rails/etc/unicorn.rb /opt/gitlab/embedded/service/gitlab-rails/config.ru
git 14361 14288 0 18:27 ? 00:00:00 unicorn worker[4] -D -E production -c /var/opt/gitlab/gitlab-rails/etc/unicorn.rb /opt/gitlab/embedded/service/gitlab-rails/config.ru
git 14364 14288 0 18:27 ? 00:00:00 unicorn worker[5] -D -E production -c /var/opt/gitlab/gitlab-rails/etc/unicorn.rb /opt/gitlab/embedded/service/gitlab-rails/config.ru
git 14367 14288 0 18:27 ? 00:00:00 unicorn worker[6] -D -E production -c /var/opt/gitlab/gitlab-rails/etc/unicorn.rb /opt/gitlab/embedded/service/gitlab-rails/config.ru
gitlab-+ 14377 14257 0 18:27 ? 00:00:00 postgres: gitlab gitlabhq_production [local] idle
gitlab-+ 14382 14257 0 18:27 ? 00:00:00 postgres: gitlab gitlabhq_production [local] idle
gitlab-+ 14385 14257 0 18:27 ? 00:00:00 postgres: gitlab gitlabhq_production [local] idle
gitlab-+ 14554 14257 0 18:28 ? 00:00:00 postgres: gitlab gitlabhq_production [local] idle
gitlab-+ 14753 14257 0 18:30 ? 00:00:00 postgres: gitlab gitlabhq_production [local] idle
root 16860 11942 0 19:05 pts/0 00:00:00 grep