gitlab安装配置

来源:互联网 发布:sql注入测试 编辑:程序博客网 时间:2024/05/02 01:03

注:有关配置文件的修改可以参考我的另外一篇文章


1、更新===根据实际情况

yum update -y
yum upgrade -y
update-alternatives --set editor /usr/bin/vim.basic

2、安装依赖
yum -y install vim sudo epel-release build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl openssh-server checkinstall libxml2-dev libxslt-dev libcurl4-openssl-dev libicu-dev logrotate python-docutils pkg-config cmake readline readline-devel ncurses-devel gdbm-devel glibc-devel tcl-devel openssl-devel curl-devel expat-devel db4-devel byacc sqlite-devel libyaml libffi libffi-devel libxslt libxslt-devel libicu libicu-devel system-config-firewall-tui sudo wget crontabs logwatch perl-Time-HiRes libcom_err-devel libcom_err-devel patch gcc-c++ zlib-devel make autoconf automake libtool bison cpio gettext-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker libkrb5-dev libexpat1-dev gettext libz-dev

3、安装git
yum remove git

mkdir /tmp/git && cd /tmp/git
将文件git-2.8.4.tar.gz拷贝到/tmp/git目录
tar zxvf git-2.8.4.tar.gz
cd git-2.8.4/
./configure
make prefix=/usr/local all

make prefix=/usr/local install

ln -fs /usr/local/bin/git* /usr/bin/

yum install -y postfix

验证Git为2.8.4
git --version

4、安装ruby
yum remove ruby

cd /tmp/git
将文件ruby-2.3.3.tar.gz拷贝到/tmp/git目录
tar zxvf ruby-2.3.3.tar.gz
cd ruby-2.3.3
./configure --prefix=/usr/local --disable-install-rdoc
make
make install

验证Rubyruby 2.3.3p222
ruby -v

5、安装bundler、rake
gem install bundler --no-doc
gem install rake

6、安装go
rm -rf /usr/local/go
cd /tmp/git
将文件go1.5.3.linux-amd64.tar.gz拷贝到/tmp/git目录
echo '43afe0c5017e502630b1aea4d44b8a7f059bf60d7f29dfd58db454d4e4e0ae53  go1.5.3.linux-amd64.tar.gz' | shasum -a256 -c - && \
  tar -C /usr/local -xzf go1.5.3.linux-amd64.tar.gz
ln -sf /usr/local/go/bin/{go,godoc,gofmt} /usr/local/bin/

7、安装nodejs
yum install nodejs

8、安装yarn
cd /tmp/git
wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo
yum install yarn

9、创建系统用户
adduser --system --shell /bin/bash --comment 'GitLab' --create-home --home-dir /home/git/ git
visudo

Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin
替换为
Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin  #替换为这个

10、安装mysql客户端
yum install mysql

11、安装redis==此处不需要安装
yum install redis

12、安装gitlab
cd /home/git
将文件gitlab-ce-9.0.0.tar.gz拷贝到/home/git目录,下载地址:
sudo -u git -H tar -zxvf gitlab-ce-9.0.0.tar.gz
mv gitlab-ce-v9.0.0-cf020e66dff606f6ea2d2dbaeb7bef43d446c536 /home/git/gitlab

cd /home/git/gitlab
sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml
#gitlab.yml修改见《配置文件修改条目1》

sudo -u git -H cp config/secrets.yml.example config/secrets.yml
sudo -u git -H chmod 0600 config/secrets.yml

sudo chown -R git log/
sudo chown -R git tmp/
sudo chmod -R u+rwX,go-w log/
sudo chmod -R u+rwX tmp/

sudo chmod -R u+rwX tmp/pids/
sudo chmod -R u+rwX tmp/sockets/
sudo -u git -H mkdir public/uploads/
sudo chmod 0700 public/uploads
sudo chmod -R u+rwX builds/
sudo chmod -R u+rwX shared/artifacts/
sudo chmod -R ug+rwX shared/pages/

sudo -u git -H cp config/unicorn.rb.example config/unicorn.rb
#unicorn.rb修改见《配置文件修改条目2》

sudo -u git -H cp config/initializers/rack_attack.rb.example config/initializers/rack_attack.rb

sudo -u git -H git config --global core.autocrlf input
sudo -u git -H git config --global gc.auto 0
sudo -u git -H git config --global repack.writeBitmaps true

sudo -u git -H cp config/resque.yml.example config/resque.yml
sudo -u git -H vim config/resque.yml
#resque.yml修改见《配置文件修改条目3》

sudo -u git cp config/database.yml.mysql config/database.yml
#database.yml修改见《配置文件修改条目4》

sudo -u git -H chmod o-rwx config/database.yml

创建目录
sudo -u git -H mkdir /home/git/gitlab-satellites
chmod u+rwx,g=rx,o-rwx /home/git/gitlab-satellites

13、安装gem
sudo -u git -H gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
sudo -u git -H gem sources -l
sudo -u git -H bundle config mirror.https://rubygems.org https://gems.ruby-china.org
sudo -u git -H bundle install --deployment --without development test postgres aws kerbero

14、安装GitLab-shell
sudo -u git -H mkdir /home/git/repositories
sudo -u git -H bundle exec rake gitlab:shell:install REDIS_URL=redis://r-bp10b1a5df1ef7c4.redis.rds.aliyuncs.com RAILS_ENV=production SKIP_STORAGE_VALIDATION=true

#config.yml修改见《配置文件修改条目5》

15、安装gitlab-workhorse
sudo -u git -H bundle exec rake "gitlab:workhorse:install[/home/git/gitlab-workhorse]" RAILS_ENV=production

16、初始化数据库
sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production

17、脚本
cp lib/support/init.d/gitlab /etc/init.d/gitlab
cp /home/git/gitlab/lib/support/init.d/gitlab.default.example /etc/default/gitlab
chmod +x /etc/init.d/gitlab
chkconfig --add gitlab
chkconfig gitlab on
#gitlab修改见《配置文件修改条目6》

18、安装Gitaly
cd /home/git/gitlab
sudo -u git -H bundle exec rake "gitlab:gitaly:install[/home/git/gitaly]" RAILS_ENV=production
chmod 0700 /home/git/gitlab/tmp/sockets/private
chown git /home/git/gitlab/tmp/sockets/private
#cd /home/git/gitaly
#sudo -u git cp config.toml.example config.toml
#sudo -u git -H vim config.toml
#echo 'gitaly_enabled=true' | sudo tee -a /etc/default/gitlab

18、日志
cd /home/git/gitlab
cp lib/support/logrotate/gitlab /etc/logrotate.d/gitlab

19、编译Assets
sudo -u git -H yarn install --production --pure-lockfile

sudo -u git -H bundle exec rake gitlab:assets:compile RAILS_ENV=production NODE_ENV=production

20、relative_url.rb路径修改
#relative_url.rb修改见《配置文件修改条目7》

21、检查状态
sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production
  
sudo -u git -H bundle exec rake assets:precompile RAILS_ENV=production

sudo -u git -H bundle exec rake webpack:compile RAILS_ENV=production

sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production

22、授权文件
chmod -R ug+rwX,o-rwx /home/git/repositories/
chmod -R ug-s /home/git/repositories/
find /home/git/repositories/ -type d -print0 | sudo xargs -0 chmod g+s

23、Nginx
yum install -y nginx

cp /home/git/gitlab/lib/support/nginx/gitlab-ssl /etc/nginx/conf.d/gitlab.conf

添加SSL
mkdir /etc/nginx/ssl
将秘钥添加到这里来

修改配置文件:nginx.conf
#nginx.conf修改见《配置文件修改条目8》

修改配置文件:gitlab.conf
#gitlab.conf修改见《配置文件修改条目9》

nginx -t

啟動:systemctl start nginx
停止:systemctl stop nginx
查看狀態:systemctrl status nginx

24、备份与恢复
手动备份
#默认备份路径为/home/git/gitlab/tmp/backups
cd /home/git/gitlab
sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production STRATEGY=copy

自动备份
cd /home/git/gitlab
sudo -u git -H vim config/gitlab.yml 
编辑如下:
keep_time: 604800

sudo -u git crontab -e 

恢复
sudo -u git -H mkdir /home/git/gitlab/tmp/backups
#拷贝备份文件到/home/git/gitlab/tmp/backups
sudo -u git -H cp /home/1492568781_2017_04_19_gitlab_backup.tar /home/git/gitlab/tmp/backups
bundle exec rake gitlab:backup:restore RAILS_ENV=production















0 0
原创粉丝点击