gitlab部署
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,一、配置epel源wget http://mirrors.aliyun.com/epel/6/x86_64/epel-release-6-8.noarch.rpmrpm -ivh epel-r
千家信息网最后更新 2025年01月23日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安全错误
数据库的锁怎样保障安全
软件开发服务的风险
图像算法和软件开发区别
开软件开发工作室流程
大唐无双怎么看开服务器多少天
济南海天永辉网络技术有限公司
花生壳 ddns服务器
服务器怎么解除脱机状态
win7终端服务器管理工具
图片服务器安全性
海南it软件开发排行
宝山区微型软件开发服务是什么
网络安全概述的作用
惠普服务器磁盘灯亮
东北大学数据库技术开卷
中兴基站软件开发部门
盗版我的世界宝可梦服务器
软件开发的培训学校
it软件开发工作总结
上海铁路局网络安全工程师招聘
服务器注册和发现
数据库安全开发
sql数据库怎么输代码
电商网络技术教学工作总结
姜堰市华方软件开发有限公司
主题教育网络安全活动
更改数据库中的字段名称
服务器测试类工装
office网络技术论坛
网络安全周游园会
马鞍山系统软件开发定制