一、安装前准备
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),获取安全补丁和新功能;升级前备份数据,避免升级失败导致数据丢失。