1:系统和软件:
- root@ubuntu1:/home/ubuntu1# lsb_release -a
- 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/
注:下载相应的系统对应的版本。
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"
注:若Nginx有权限问题问题则将Nginx.conf中启动用户修改成root.
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,则使用,启动:
8:检查GitLab的日志:
- sudo gitlab-ctl tail
9:请求git的web版:http://192.168.1.110:8080/
由于GitLab包自带了Ruby、Redis,Nginx和Postgresql,所以也就不需要考虑太多兼容性的问题。
直接Web登录GitLab所在的服务器,并使用帐号root,密码5iveL!fe来登录GitLab{此密码为默认}。
首次登录GitLab会强行让你重置密码,然后就可以进入GitLab了。
10:停止服务
11.使用Nginx代理域名gitlab外网访问:
- # gitlab配置(192.168.1.230)
- sudo vim /etc/gitlab/gitlab.rb
-
- external_url 'http://git.loveshare.me'
- # Nginx配置
- 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# sudo dpkg -i gitlab-ce_7.10.4~omnibus-1_amd64.deb
- 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 --info (= dpkg-deb --info) to examine archive files,
- and dpkg --contents (= dpkg-deb --contents) to list their contents.
- 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# netstat -tunlp
- 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# ps -ef | grep gitlab
- 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 --color=auto gitlab