sudo apt-get install curl openssh-server ca-certificates postfix
執行完成後,出現郵件配置,選擇Internet那一項(不帶Smarthost的)html
下載頁面: https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/pool/xenial/main/g/gitlab-ce/nginx
能夠自行選擇想要部署的版本,使用命令curl
進行下載git
curl -O https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/pool/xenial/main/g/gitlab-ce/gitlab-ce_11.3.6-ce.0_amd64.deb
sudo dpkg –i gitlab-ce_11.3.6-ce.0_amd64.deb
若是安裝過程出現錯誤則須要自行解決依賴等問題(筆者安裝時一切正常)redis
sudo gitlab-ctl reconfigure
初次安裝使用請必定記得生成配置sql
輸入如下命令檢查是否安裝正確ubuntu
sudo gitlab-ctl status
出現相似如下的結果,則說明運行正常ruby
run: gitlab-workhorse: (pid 1148) 884s; run: log: (pid 1132) 884s run: logrotate: (pid 1150) 884s; run: log: (pid 1131) 884s run: nginx: (pid 1144) 884s; run: log: (pid 1129) 884s run: postgresql: (pid 1147) 884s; run: log: (pid 1130) 884s run: redis: (pid 1146) 884s; run: log: (pid 1133) 884s run: sidekiq: (pid 1145) 884s; run: log: (pid 1128) 884s run: unicorn: (pid 1149) 885s; run: log: (pid 1134) 885s
使用的時候,系統管理員帳戶名稱爲root
,須要先設置一個root
帳戶密碼。bash
若是出現502錯誤的話,則將如下文件的讀權限打開服務器
sudo chmod -R o+x /var/opt/gitlab/gitlab-rails
編輯配置文件app
sudo nano /etc/gitlab/gitlab.rb
將內部的external_url
修改成本身的部署域名,例如:
http://xxx.xxx.xxx.xxx
便可http://your.domain-name.com
而後,從新生成配置
sudo gitlab-ctl reconfigure
實際上,這個快速部署的軟件包內是自帶nginx
的,然而實際服務器部署的話,咱們經常須要部署在系統原生的nginx
上,咱們能夠按照這樣的方式進行操做:
在nginx
配置文件中添加配置:
# gitlab socket 文件地址 upstream gitlab { # 7.x 版本在此位置 # server unix:/var/opt/gitlab/gitlab-rails/tmp/sockets/gitlab.socket; # 8.0+ 版本位置(11.x版本親測可用) server unix://var/opt/gitlab/gitlab-rails/sockets/gitlab.socket; } server { listen *:80; server_name gitlab.liaohuqiu.com; # 請修改成你的域名 server_tokens off; # don't show the version number, a security best practice root /opt/gitlab/embedded/service/gitlab-rails/public; # Increase this if you want to upload large attachments # Or if you want to accept large git objects over http client_max_body_size 250m; # individual nginx logs for this gitlab vhost access_log /var/log/gitlab/nginx/gitlab_access.log; error_log /var/log/gitlab/nginx/gitlab_error.log; location / { # serve static files from defined root folder;. # @gitlab is a named location for the upstream fallback, see below try_files $uri $uri/index.html $uri.html @gitlab; } # if a file, which is not found in the root folder is requested, # then the proxy pass the request to the upsteam (gitlab unicorn) location @gitlab { # If you use https make sure you disable gzip compression # to be safe against BREACH attack proxy_read_timeout 300; # Some requests take more than 30 seconds. proxy_connect_timeout 300; # Some requests take more than 30 seconds. proxy_redirect off; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Frame-Options SAMEORIGIN; proxy_pass http://gitlab; } # Enable gzip compression as per rails guide: http://guides.rubyonrails.org/asset_pipeline.html#gzip-compression # WARNING: If you are using relative urls do remove the block below # See config/application.rb under "Relative url support" for the list of # other files that need to be changed for relative url support location ~ ^/(assets)/ { root /opt/gitlab/embedded/service/gitlab-rails/public; # gzip_static on; # to serve pre-gzipped version expires max; add_header Cache-Control public; } error_page 502 /502.html; }
編輯gitlab配置文件
sudo nano /etc/gitlab/gitlab.rb
禁用掉自帶的nginx
(若是本來沒有這句話的話須要加上)
nginx['enable'] = false
重啓nginx,重啓gitlab服務
sudo /usr/local/nginx/sbin/nginx -s reload sudo gitlab-ctl reconfigure
一樣的,若是再次出現502錯誤的話,須要修改一下配置
sudo chmod -R o+x /var/opt/gitlab/gitlab-rails