gitlab部署
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,一、配置epel源wget http://mirrors.aliyun.com/epel/6/x86_64/epel-release-6-8.noarch.rpmrpm -ivh epel-r
千家信息网最后更新 2026年11月02日gitlab部署
一、配置epel源
wget http://mirrors.aliyun.com/epel/6/x86_64/epel-release-6-8.noarch.rpmrpm -ivh epel-release-6-8.noarch.rpm
二、安装依赖包
yum -y install libicu-devel patch gcc-c++ readline-devel zlib-devel libffi-devel openssl-devel make cmake autoconf automake libtool bison libxml2-devel libxslt-devel libyaml-devel zlib-devel openssl-devel cpio expat-devel gettext-devel curl-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
三、安装git
下载链接:
wget -O git-src.zip https://github.com/git/git/archive/master.zip
[root@localhost ~]# unzip git-src.zip[root@localhost ~]# cd git-master/[root@localhost git-master]# make prefix=/usr/local all[root@localhost git-master]# make prefix=/usr/local install[root@localhost git-master]# ln -fs /usr/local/bin/git* /usr/bin/
四、安装ruby
[root@localhost src]# wget ftp://ftp.ruby-lang.org/pub/ruby/ruby-2.1.5.tar.gz[root@localhost src]# tar-zxf ruby-2.1.5.tar.gz[root@localhost src]# cd ruby-2.1.5[root@localhost ruby-2.1.5]# ./configure --disable-install-rdoc && make && make install[root@localhost ~]# ln -s /usr/local/bin/ruby /usr/bin/ruby[root@localhost ~]# ln -s /usr/local/bin/gem /usr/bin/gem[root@localhost ~]# gem install bundler --no-ri --no-rdoc[root@localhost ~]# ln -s /usr/local/bin/bundle /usr/bin/bundle
五、安装mysql并初始化gitlab库
[root@localhost ~]# yum -y install mysql mysql-devel mysql-server[root@localhost ~]# service mysqld start[root@localhost ~]# chkconfig mysqld on[root@localhost ~]# mysqlmysql> create database gitlab;mysql> grant all privileges on gitlab.* to 'gitlab'@'localhost' identified by 'gitlab';
测试是否可以用gitlab登录数据库:
[root@localhost ~]# mysql -u gitlab -p -D gitlabEnter password:
六、安装redis
[root@localhost ~]# yum -y install redis[root@localhost ~]# vi /etc/redis.conf 36 unixsocket /tmp/redis.sock 37 unixsocket perm 755[root@localhost ~]# service redis start[root@localhost ~]# chkconfig redis on
七、创建git用户并允许sudo
[root@localhost ~]# useradd gitecho "git ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
八、安装gitlab
[root@localhost ~]# cd /home/git/[root@localhost git]# sudo -u git -H git clone -b 7-8-stable gitlab[root@localhost git]# cd gitlab[root@localhost gitlab]# cp config/gitlab.yml.example config/gitlab.yml[root@localhost gitlab]# vi config/gitlab.yml 20 host: localhost 21 port: 80 267 bin_path: /usr/bin/git[root@localhost gitlab]# chown -R git log/[root@localhost gitlab]# chown -R git tmp/[root@localhost gitlab]# chmod -R u+rwX log/[root@localhost gitlab]# chmod -R u+rwX tmp/[root@localhost gitlab]# sudo -u git -H mkdir /home/git/gitlab-satellites[root@localhost gitlab]# sudo chmod u+rwx,g=rx,o-rwx /home/git/gitlab-satellites[root@localhost gitlab]# chmod -R u+rwX tmp/pids/[root@localhost gitlab]# chmod -R u+rwX tmp/sockets[root@localhost gitlab]# chmod -R u+rwX public/uploads/[root@localhost gitlab]# cp config/unicorn.rb.example config/unicorn.rb[root@localhost gitlab]# cp config/initializers/rack_attack.rb.example config/initializers/rack_attack.rb
以上不存在的目录,手动创建。
配置数据库:
[root@localhost gitlab]# cp config/database.yml.mysql config/database.yml[root@localhost gitlab]# vi config/database.yml 9 database: gitlab #这里的数据库要跟在mysql中创建的库名一致。 10 pool: 10 11 username: gitlab 12 password: gitlab
九、安装gitlab-shell
[root@localhost ~]# cd /home/git/[root@localhost git]# sudo -u git -H git clone -b v2.6.0[root@localhost git]# cd gitlab-shell/[root@localhost gitlab-shell]# cp config.yml.example config.yml[root@localhost gitlab-shell]# vi config.yml 9 gitlab_url: http://localhost:8080/ 30 bin: /usr/bin/redis-cli[root@localhostgitlab-shell]# sudo -u git -H ./bin/install
十、nginx安装
[root@localhost src]# tar -zxf pcre-8.38.tar.gz[root@localhost src]# cd pcre-8.38[root@localhostp cre-8.38]# ./configure --prefix=/usr/local/pcre-8.38 && make && make install[root@localhost src]# wget http://124.205.69.171/files/8095000002FE839E/nginx.org/download/nginx-1.8.1.tar.gz[root@localhost src]# tar -zxf nginx-1.8.1.tar.gz[root@localhost src]# cd nginx-1.8.1[root@localhost nginx-1.8.1]# ./configure --prefix=/usr/local/nginx --user=git --group=git--with-http_ssl_module --with-http_stub_status_module --with-pcre=/usr/local/src/pcre-8.38/ && make && make install
十一、安装需要的gems
[root@localhost ~]# cd /home/git/gitlab[root@localhost gitlab]# sudo -u git -H bundle install --deployment --without development testpostgres aws
十二、初始化数据库
[root@localhost gitlab]# sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production
十三、拷贝启动文件脚本及日志切割文件
[root@localhost gitlab]# cp lib/support/init.d/gitlab /etc/init.d/gitlab[root@localhost gitlab]# cp lib/support/init.d/gitlab.default.example /etc/default/gitlab[root@localhost gitlab]# cp lib/support/logrotate/gitlab /etc/logrotate.d/gitlab
十四、设置git账号信息
[root@localhost gitlab]# sudo -u git -H "/usr/bin/git" config --global user.name "GitLab"[root@localhost gitlab]# sudo -u git -H "/usr/bin/git" config --global user.email "example@example.com"[root@localhost gitlab]# sudo -u git -H "/usr/bin/git" config --global core.autocrlf "input"
十五、配置nginx
[root@localhost ~]# vi /usr/local/nginx/conf/nginx.conf upstream gitlab { server unix:/home/git/gitlab/tmp/sockets/gitlab.socket; } server { listen 80; server_name localhost; access_log /var/log/nginx/gitlab_access.log; error_log /var/log/nginx/gitlab_error.log; root /home/git/gitlab/public; location / { try_files $uri $uri/index.html $uri.html @gitlab; } location @gitlab { proxy_read_timeout 300; proxy_connect_timeout 300; 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_pass http://gitlab; } }[root@localhost ~]# mkdir -p /var/log/nginx[root@localhost ~]# chown -R git:git/var/log/nginx/[root@localhost ~]# chown -R git:git /usr/local/nginx/[root@localhost ~]# /usr/local/nginx/sbin/nginx -t[root@localhost gitlab]# service nginx restart十六、检测当前环境
[root@localhostgitlab]# sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production
可能会有报错:Error: Table 'gitlab.projects' doesn't exist
这时重新初始化数据库,执行以下命令:
[root@localhost gitlab]# sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production
会发现,执行结束时生成了一个登录账号和密码:
login.........rootpassword......5iveL!fe 用来登录gitlab
再次执行环境检测命令……OK
十七、拉取gitlab静态资源文件
[root@localhost gitlab]# sudo -u git -H bundle exec rake assets:precompile RAILS_ENV=production
十八、启动gitlab
[root@localhost gitlab]# /etc/init.d/gitlab start[root@localhost gitlab]# sudo chmod -R ug+rwX,o-rwx /home/git/repositories/[root@localhost gitlab]# sudo chmod -R ug-s /home/git/repositories/[root@localhost gitlab]# find /home/git/repositories/ -type d -print0 | sudo xargs -0 chmod g+s
十九、检测各个组件是否正常工作
[root@localhost gitlab]#sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
错误一:Send ping to redisserver: Could not connect to Redis at /tmp/redis.sock: Permission denied
[root@localhost gitlab]#vi /home/git/gitlab-shell/config.yml35 #socket: /tmp/redis.sock # Comment out thisline if you want to use TCP
错误二:用浏览器访问时,出现"502 Bad Gateway"
编译nginx时指定 --user=git --group=git
[root@localhost ~]# vi/usr/local/nginx/conf/nginx.conf 2 user git;
数据
数据库
文件
检测
登录
配置
命令
环境
账号
错误
一致
信息
再次
密码
手动
拷贝
日志
浏览器
环境检测
用户
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
云之行互联网科技
中关村互联网科技集团
深圳恒合互联网络科技有限公司
互联网属科技
科技互联网项目
科技互联网政务服务
互联网中国科技
天扬科技互联网广告
新华互联网科技校企合作
海南科技产业互联网平台
昭通云南众福互联网科技有限公司
广州恒生互联网科技有限
速维有品互联网信息科技(苏州)有限公司
坤平互联网科技
天津腾达互联网科技有限公司
互联网安防科技感
兰石爱特工业互联网科技分公司
马化腾互联网科技教学
数字互联网科技有限公司
利用互联网等科技手段
天津市摩尔互联网科技
伟宏互联网科技
互联网巨头科技公司
顺网科技2021年互联网排名
互联网科技生活的内容
湖南洣水互联网科技有限公司扣款
互联网科技教育视频
上海乐五互联网科技有限公司
广州三三互联网科技有限公司
颐高云石互联网科技