一、安裝前準備
sudo apt update && sudo apt upgrade -y更新系統至最新版本,安裝必要依賴包(curl用于下載腳本、openssh-server用于SSH訪問、ca-certificates用于SSL證書驗證、tzdata用于時區設置、postfix用于郵件通知,配置為“Internet Site”模式)。curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash添加GitLab社區版(CE)官方倉庫,確保后續安裝最新穩定版本。二、基礎安裝與配置
EXTERNAL_URL="http://your_server_ip_or_domain" apt-get install gitlab-ce命令安裝(替換為服務器IP或域名),安裝過程中會提示設置管理員密碼(默認root用戶)。/etc/gitlab/gitlab.rb文件,修改external_url參數為服務器IP或域名(如external_url 'http://192.168.1.100'),保存后執行sudo gitlab-ctl reconfigure應用配置,重啟GitLab服務(sudo gitlab-ctl restart)。sudo ufw allow 22/tcp && sudo ufw allow 80/tcp && sudo ufw allow 443/tcp && sudo ufw reload。三、安全加固
/etc/gitlab/gitlab.rb添加letsencrypt['enable'] = true和letsencrypt['auto_renew'] = true,執行sudo gitlab-ctl reconfigure自動獲取并配置證書,強制使用HTTPS加密數據傳輸。/etc/ssh/sshd_config設置PermitRootLogin no),使用SSH密鑰對認證(ssh-keygen生成密鑰,cat ~/.ssh/id_rsa.pub | ssh git@your_server_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"添加公鑰),設置強密碼策略(通過PAM模塊要求復雜密碼,包含大小寫字母、數字和特殊字符)。sudo gitlab-rake gitlab:backup:create),默認備份路徑為/var/opt/gitlab/backups。配置自動備份(通過cron定時任務,如0 2 * * * /usr/bin/gitlab-rake gitlab:backup:create每天凌晨2點備份),定期測試備份恢復流程(如刪除測試項目后恢復)。四、性能優化
puma['threads_min'] = 4、puma['threads_max'] = 16,根據CPU核心數調整),設置合理請求超時(puma['worker_timeout'] = 60秒),增加Nginx客戶端上傳限制(nginx['client_max_body_size'] = '200m',支持大文件上傳)。優化Sidekiq并發(sidekiq['concurrency'] = 10,根據內存調整),避免后臺任務阻塞。/etc/gitlab/gitlab.rb添加gitlab_rails['object_store']['enabled'] = true及相關參數)。啟用Redis緩存(gitlab_rails['redis_cache_instance'] = "redis://127.0.0.1:6379"),加速代碼、問題等數據的讀取。五、監控與維護
top、vmstat、free等命令實時監控系統狀態,及時發現高負載情況。/var/log/gitlab/gitlab-rails/production.log、/var/log/gitlab/gitlab-shell/gitlab-shell.log),使用ELK Stack(Elasticsearch+Logstash+Kibana)進行日志分析,實現實時日志監控、異常預警(如頻繁的登錄失?。?;配置日志輪轉(編輯/etc/gitlab/gitlab.rb設置gitlab_rails['log_rotate_frequency'] = 'daily'和gitlab_rails['log_max_size'] = '200MB'),避免日志文件過大占用磁盤空間。sudo apt update && sudo apt upgrade gitlab-ce),獲取安全補丁和新功能;升級前備份數據,避免升級失敗導致數據丟失。