gitlab部署
发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,一、配置epel源wget http://mirrors.aliyun.com/epel/6/x86_64/epel-release-6-8.noarch.rpmrpm -ivh epel-r
千家信息网最后更新 2025年11月10日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安全错误
数据库的锁怎样保障安全
基于路由技术的网络安全
网络工程做软件开发的人多吗
字段 数据库类型
社交软件开发犯罪了怎么判刑
达梦数据库生成entity
商场疫情防控数据库需求分析
戴尔服务器默认管理口ip
智慧服务中心软件开发部
数据库触发器的特征
域控服务器还有本地管理员吗
陕西聚鑫互联网络科技有限公司
网络安全宣传搞笑片
图普科技 项目经理互联网
execl 中定义数据库
oracle清空数据库
软件开发的面试怎么很难通过
战服务器矛阵菅
计算机三级考试网络技术资料
东城区什么网络技术客户至上
支付宝管理网络安全的人
认证软件开发流程
学计算机软件开发专业怎么样
最终幻想14最新服务器
福建工程网络安全
网络安全国家博弈
软件开发的面试怎么很难通过
怀柔区多功能网络技术常见问题
c 数据库连接超时
服务器开机拔内存
如何遵守网络安全规则