一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

CentOS 6.7上全编译安装GitLab 7-14中文版

时间:2016-01-22 编辑:简简单单 来源:一聚教程网

1、关闭SELinux

#下面的命令实现永久关闭SELinux [root@vps197119 ~]# sed -i 's/^SELINUX=.*/#&/;s/^SELINUXTYPE=.*/#&/;/SELINUX=.*/a SELINUX=disabled' /etc/sysconfig/selinux #下面的命令实现临时关闭SELinux [root@vps197119 ~]# /usr/sbin/setenforce 0 /usr/sbin/setenforce: SELinux is disabled

2、设置PS1

[root@vps197119 ~]# echo "PS1='[\[\033[0;34m\]\u\[\033[0;37m\]@\[\033[0;35m\]\h\[\033[0;33m\] \w\[\033[0;37m\]]\[\033[0;31m\]\\$\[\033[00m\] '" >>/etc/profile

 

3、设置命令记录和阻止You have mail in /var/spool/mail/root提示
[root@vps197119 ~]# echo "export PROMPT_COMMAND='{ msg=\$(history 1 | { read x y; echo \$y; });user=\$(whoami); echo \$(date \"+%F %H:%M:%S\"):\$user:\`pwd\`/:\$msg ---- \$(who am i); } >> /tmp/\`date \"+%F\"\`.\`hostname\`.\`whoami\`.history-timestamp'" >> /etc/profile [root@vps197119 ~]# echo "unset MAILCHECK" >> /etc/profile

 

4、source /etc/profile使之刚才的设置生效
[root@vps197119 ~]# . /etc/profile

 

Linux之CentOS 6.7上全编译安装GitLab 7-14中文版

 

5、安装wget yum-utils和epel源
[root@vps197119 ~]# yum -y install epel* wget yum-utils

 

6、导入EPEL源的key
[root@vps197119 ~]# rpm --import https://www.fedoraproject.org/static/0608B895.txt

 

7、安装bash-completion (主要左右是支持tab键补齐)
[root@vps197119 ~]# yum -y install bash-completion [root@vps197119 ~]# . /etc/bash_completion

 

8、安装PUIAS源和导入对应key
[root@vps197119 ~]# wget -qO- https://gitlab.com/gitlab-org/gitlab-recipes/raw/master/install/centos/PUIAS_6_computational.repo > /etc/yum.repos.d/PUIAS_6_computational.repo [root@vps197119 ~]# rpm --import http://springdale.math.ias.edu/data/puias/6/x86_64/os/RPM-GPG-KEY-puias

 

9、重新建立源缓存和检测key导入是否成功
[root@vps197119 ~]# yum clean all && yum makecache [root@vps197119 ~]# rpm -qa gpg*| grep '0608b895' [root@vps197119 ~]# rpm -qa gpg*| grep '41a40948'

 

Linux之CentOS 6.7上全编译安装GitLab 7-14中文版

 

10、安装Development Tools开发组包和一下必要的包文件
[root@vps197119 ~]# yum -y groupinstall 'Development Tools' [root@vps197119 ~]# yum -y install readline readline-devel ncurses-devel gdbm-devel \ glibc-devel tcl-devel openssl-devel curl-devel expat-devel db4-devel byacc sqlite-devel \ libyaml libyaml-devel libffi libffi-devel libxml2 libxml2-devel libxslt libxslt-devel libicu \ libicu-devel system-config-firewall-tui sudo crontabs logwatch logrotate perl-Time-HiRes \ libcom_err-devel.i686 libcom_err-devel.x86_64 nodejs redis

 

11、安装vim且设置为默认编辑器
[root@vps197119 ~]# yum -y install vim-enhanced [root@vps197119 ~]# update-alternatives --set editor /usr/bin/vim.basic [root@vps197119 ~]# ln -sv /usr/bin/vim /usr/bin/editor

 

12、安装reStructuredText markup语法支持需要的依赖包
[root@vps197119 ~]# yum install -y python-docutils

 

13、安装postfix
[root@vps197119 ~]# yum -y install postfix

 

14、同步时间
[root@vps197119 tmp]# rm -rf /etc/localtime  [root@vps197119 ~]# ln -sv /usr/share/zoneinfo/Asia/Shanghai /etc/localtime  [root@vps197119 ~]# yum -y install ntp [root@vps197119 ~]# ntpdate pool.ntp.org [root@vps197119 ~]# echo '*/20 * * * * /usr/sbin/ntpdate pool.ntp.org > /dev/null 2>&1' >>/var/spool/cron/root

 

15、编译安装高版本git
[root@vps197119 ~]# yum -y remove git [root@vps197119 ~]# yum -y install zlib-devel perl-CPAN gettext curl-devel expat-devel gettext-devel openssl-devel [root@vps197119 ~]# mkdir /tmp/git && cd /tmp/git [root@vps197119 /tmp/git]# wget http://mirrors.dwhd.org/Git/git-2.5.3.tar.xz [root@vps197119 /tmp/git]# tar xf git-2.5.3.tar.xz  [root@vps197119 /tmp/git]# cd git-2.5.3/ [root@vps197119 /tmp/git/git-2.5.3]# ./configure --prefix=/usr/local [root@vps197119 /tmp/git/git-2.5.3]# make -j $(awk '/processor/{i++}END{print i}' /proc/cpuinfo) && make install && cd ../.. #[root@vps197119 /tmp]# echo "PATH=/usr/local/bin:\$PATH" >/etc/profile.d/git.sh #[root@vps197119 /tmp]# . /etc/profile.d/git.sh [root@vps197119 /tmp]# which git /usr/local/bin/git [root@vps197119 /tmp]# git --version git version 2.5.3

 

16、编译安装高版本ruby
[root@vps197119 /tmp]# yum -y remove ruby [root@vps197119 /tmp]# mkdir /tmp/ruby && cd /tmp/ruby [root@vps197119 /tmp/ruby]# wget -c http://mirrors.dwhd.org/Ruby/ruby/2.2/ruby-2.2.3.tar.xz [root@vps197119 /tmp/ruby]# tar xf ruby-2.2.3.tar.xz  [root@vps197119 /tmp/ruby]# cd ruby-2.2.3/ [root@vps197119 /tmp/ruby/ruby-2.2.3]# ./configure --prefix=/usr/local --disable-install-rdoc [root@vps197119 /tmp/ruby/ruby-2.2.3]# make -j $(awk '/processor/{i++}END{print i}' /proc/cpuinfo) && make install && cd ../.. [root@vps197119 /tmp]# ruby -v ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-linux]

 

17、安装bundler
[root@vps197119 tmp]# gem install bundler --no-doc ##如果地址被墙请跟换ruby源 gem sources --remove https://rubygems.org/ gem sources -a https://ruby.taobao.org/ gem sources -l

 

Linux之CentOS 6.7上全编译安装GitLab 7-14中文版

 

18、添加系统用户git
[root@vps197119 /tmp]# adduser -r -s /bin/bash -c 'GitLab' -m -d /home/git/ git

 

19、编译按cmake
[root@vps197119 tmp]# mkdir /tmp/cmake && cd /tmp/cmake [root@vps197119 cmake]# wget http://cmake.org/files/v3.3/cmake-3.3.2.tar.gz [root@vps197119 cmake]# tar xf cmake-3.3.2.tar.gz  [root@vps197119 cmake]# cd cmake-3.3.2 [root@vps197119 cmake-3.3.2]# ./bootstrap [root@vps197119 cmake-3.3.2]# make -j $(awk '/processor/{i++}END{print i}' /proc/cpuinfo) && make install && cd ../..

 

20、编译安装kytea,后面编译MariaDB需要
[root@vps197119 tmp]# mkdir /tmp/kytea && cd /tmp/kytea [root@vps197119 kytea]# wget http://www.phontron.com/kytea/download/kytea-0.4.7.tar.gz [root@vps197119 kytea]# tar xf kytea-0.4.7.tar.gz [root@vps197119 kytea]# cd kytea-0.4.7 [root@vps197119 kytea-0.4.7]# ./configure [root@vps197119 kytea-0.4.7]# make -j $(awk '/processor/{i++}END{print i}' /proc/cpuinfo) && make install && cd ../..

 

21、编译安装MariaDB
[root@vps197119 tmp]# mkdir /tmp/mariadb && cd /tmp/mariadb [root@vps197119 /tmp/mariadb]# wget http://mirrors.dwhd.org/SQL/MariaDB/mariadb-10.0.21/source/mariadb-10.0.21.tar.gz [root@vps197119 /tmp/mariadb]# tar xf mariadb-10.0.21.tar.gz  [root@vps197119 /tmp/mariadb]# cd mariadb-10.0.21 [root@vps197119 /tmp/mariadb/mariadb-10.0.21]# adduser -r -s /sbin/nologin -c 'MariaDB' -M mysql [root@vps197119 /tmp/mariadb/mariadb-10.0.21]# mkdir -p /data/mariadb [root@vps197119 /tmp/mariadb/mariadb-10.0.21]# chown -R mysql.mysql /data/mariadb [root@vps197119 /tmp/mariadb/mariadb-10.0.21]# rpm --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB [root@vps197119 /tmp/mariadb/mariadb-10.0.21]# yum -y install libxml2-devel lz4 lz4-devel libpcap nmap lsof socat #这里有几个包是galera用到的,不是全部必须安装 ##如果需要重新编译,请编译前做清空动作 ##make clean && rm CMakeCache.txt  [root@vps197119 /tmp/mariadb/mariadb-10.0.21]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb \ -DMYSQL_DATADIR=/data/mariadb \ -DWITH_SSL=system \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_SPHINX_STORAGE_ENGINE=1 \ -DWITH_ARIA_STORAGE_ENGINE=1 \ -DWITH_XTRADB_STORAGE_ENGINE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DWITH_FEDERATEDX_STORAGE_ENGINE=1 \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ -DWITH_EXTRA_CHARSETS=all \ -DWITH_EMBEDDED_SERVER=1 \ -DWITH_READLINE=1 \ -DWITH_ZLIB=system \ -DWITH_LIBWRAP=0 \ -DEXTRA_CHARSETS=all \ -DENABLED_LOCAL_INFILE=1 \ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci [root@vps197119 /tmp/mariadb/mariadb-10.0.21]# make -j $(awk '/processor/{i++}END{print i}' /proc/cpuinfo) && make install && cd ../.. [root@vps197119 /tmp/mariadb/mariadb-10.0.21]# cd /usr/local/mariadb/ ##拷贝MariaDB的启动脚本 [root@vps197119 /usr/local/mariadb]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld ##MariaDB启动脚本添加可执行权限 [root@vps197119 /usr/local/mariadb]# chmod +x /etc/rc.d/init.d/mysqld ##拷贝MariaDB的主配置文件 [root@vps197119 /usr/local/mariadb]# \cp /usr/local/mariadb/support-files/my-large.cnf /etc/my.cnf [root@vps197119 /usr/local/mariadb]# sed -i '/query_cache_size/a datadir = /data/mariadb/' /etc/my.cnf ##设置环境变量加入MariaDB [root@vps197119 /usr/local/mariadb]# echo "export PATH=/usr/local/mariadb/bin:\$PATH" > /etc/profile.d/mariadb.sh [root@vps197119 /usr/local/mariadb]# . /etc/profile.d/mariadb.sh ##设置man文档加入MariaDB [root@vps197119 /usr/local/mariadb]# sed -i "$(awk '$1=="MANPATH"{i=NR}END{print i}' /etc/man.config)a \MANPATH\tMANPATH /usr/local/mariadb/man" /etc/man.config ##初始化数据库 [root@vps197119 /usr/local/mariadb]# /usr/local/mariadb/scripts/mysql_install_db --user=mysql --datadir=/data/mariadb ##启动MariaDB [root@vps197119 /usr/local/mariadb]# cd && service mysqld start ##删除MariaDB的空密码用户、test库和添加git用户 [root@vps197119 ~]# mysql -uroot -p <<<"USE mysql; UPDATE user SET password=PASSWORD('lookback') WHERE USER='root'; DELETE FROM user WHERE User=''; DROP DATABASE test; CREATE USER 'git'@'localhost' IDENTIFIED BY 'lookback'; SET storage_engine=INNODB; CREATE DATABASE IF NOT EXISTS gitlabhq_production DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON gitlabhq_production.* TO 'git'@'localhost'; FLUSH PRIVILEGES; SELECT USER,PASSWORD,HOST FROM user; SHOW DATABASES;" [root@vps197119 ~]# usermod -a -G git mysql

 

22、编译安装redis
[root@vps197119 ~]# yum -y remove redis [root@vps197119 ~]# mkdir /tmp/redis && cd /tmp/redis [root@vps197119 /tmp/redis]# wget -c `curl -s http://redis.io/download | awk -F"'" '/[0-9].[0-9].*.tar.gz/{print $4;exit}'` [root@vps197119 /tmp/redis]# tar xf redis* [root@vps197119 /tmp/redis]# cd redis* [root@vps197119 /tmp/redis/redis-3.0.4]# if [ `getconf WORD_BIT` == 32 ] && [ `getconf LONG_BIT` == 32 ];then sed -i '1i\CFLAGS= -march=i686' src/Makefile && sed -i 's@^OPT=.*@OPT=-O2 -march=i686@' src/.make-settings;fi [root@vps197119 /tmp/redis/redis-3.0.4]# make [root@vps197119 /tmp/redis/redis-3.0.4]# mkdir -p /usr/local/redis/{bin,etc,var} [root@vps197119 /tmp/redis/redis-3.0.4]# cp -af src/{redis-benchmark,redis-check-aof,redis-check-dump,redis-cli,redis-sentinel,redis-server} /usr/local/redis/bin/ [root@vps197119 /tmp/redis/redis-3.0.4]# cp -a redis.conf /usr/local/redis/etc/ [root@vps197119 /tmp/redis/redis-3.0.4]# echo "export PATH=/usr/local/redis/bin:\$PATH" > /etc/profile.d/redis.sh [root@vps197119 /tmp/redis/redis-3.0.4]# . /etc/profile.d/redis.sh [root@vps197119 /tmp/redis/redis-3.0.4]# sed -i 's@pidfile.*@pidfile /var/run/redis.pid@' /usr/local/redis/etc/redis.conf [root@vps197119 /tmp/redis/redis-3.0.4]# sed -i "s@logfile.*@logfile /usr/local/redis/var/redis.log@" /usr/local/redis/etc/redis.conf [root@vps197119 /tmp/redis/redis-3.0.4]# sed -i "s@^dir.*@dir /usr/local/redis/var@" /usr/local/redis/etc/redis.conf [root@vps197119 /tmp/redis/redis-3.0.4]# sed -i 's@daemonize no@daemonize yes@' /usr/local/redis/etc/redis.conf [root@vps197119 /tmp/redis/redis-3.0.4]# [ -z "`grep ^maxmemory /usr/local/redis/etc/redis.conf`" ] && sed -i 's@maxmemory @maxmemory \nmaxmemory 360000000@' /usr/local/redis/etc/redis.conf [root@vps197119 /tmp/redis/redis-3.0.4]# wget http://www.dwhd.org/script/Redis-server-init-CentOS -O /etc/init.d/redis-server [root@vps197119 /tmp/redis/redis-3.0.4]# chmod +x /etc/init.d/redis-server [root@vps197119 /tmp/redis/redis-3.0.4]# chkconfig redis-server on #启动redis [root@vps197119 /tmp/redis/redis-3.0.4]# service redis-server start Starting redis-server:                                     [  OK  ] #验证启动成功 [root@vps197119 /tmp/redis/redis-3.0.4]# ss -tnl|grep :6379 LISTEN     0      128                       *:6379                     *:*      LISTEN     0      128                      :::6379                    :::*      #停止redis [root@vps197119 /tmp/redis/redis-3.0.4]# service redis-server stop Stopping redis-server:                                     [  OK  ] #设置redis基于socket运行 [root@vps197119 /tmp/redis/redis-3.0.4]# mkdir -p /var/run/redis && chown -R redis.redis /var/run/redis/ [root@vps197119 /tmp/redis/redis-3.0.4]# sed -ri 's/^(port).*/\1 0/' /usr/local/redis/etc/redis.conf [root@vps197119 /tmp/redis/redis-3.0.4]# echo 'unixsocket /var/run/redis/redis.sock' >> /usr/local/redis/etc/redis.conf [root@vps197119 /tmp/redis/redis-3.0.4]# echo 'unixsocketperm 0770' >> /usr/local/redis/etc/redis.conf [root@vps197119 /tmp/redis/redis-3.0.4]# service redis-server start Starting redis-server:                                     [  OK  ] ##验证redis安装是否成功 [root@vps197119 /tmp/redis/redis-3.0.4]# redis-cli -s /var/run/redis/redis.sock <<< "info" | grep 'redis.version' redis_version:3.0.4 ##将git添加到redis用户组中 [root@vps197119 /tmp/redis/redis-3.0.4]# usermod -aG redis git && cd ../..

 

23、编译安装Nginx
[root@vps197119 /tmp]# mkdir /tmp/nginx && cd /tmp/nginx [root@vps197119 /tmp/nginx]# wget http://mirrors.dwhd.org/Nginx/nginx-1.9.5.tar.gz [root@vps197119 /tmp/nginx]# tar xf nginx-1.9.5.tar.gz  [root@vps197119 /tmp/nginx]# cd nginx-1.9.5/ [root@vps197119 /tmp/nginx/nginx-1.9.5]# yum -y install pcre-devel pcre [root@vps197119 /tmp/nginx/nginx-1.9.5]# adduser -r -s /sbin/nologin -c 'Web' -M www [root@vps197119 /tmp/nginx/nginx-1.9.5]# ./configure --prefix=/usr/local/nginx/ \ --user=www --group=www \ --error-log-path=/tmp/nginx/error.log \ --http-log-path=/tmp/nginx/access.log \ --pid-path=/var/run/nginx/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --with-pcre \ --with-http_ssl_module \ --with-http_flv_module \ --with-http_v2_module \ --with-http_gzip_static_module \ --with-http_stub_status_module \ --http-client-body-temp-path=/usr/local/nginx/client/ \ --http-proxy-temp-path=/usr/local/nginx/proxy/ \ --http-fastcgi-temp-path=/usr/local/nginx/fcgi/ \ --http-uwsgi-temp-path=/usr/local/nginx/uwsgi \ --http-scgi-temp-path=/usr/local/nginx/scgi [root@vps197119 /tmp/nginx/nginx-1.9.5]# make -j $(awk '/processor/{i++}END{print i}' /proc/cpuinfo) && make install && cd ../.. [root@vps197119 /tmp]#  echo "export PATH=/usr/local/nginx/sbin:\$PATH" > /etc/profile.d/nginx.sh [root@vps197119 /tmp]# . /etc/profile.d/nginx.sh [root@vps197119 /tmp]# wget http://www.dwhd.org/script/Nginx-init-CentOS -O /etc/rc.d/init.d/nginx [root@vps197119 /tmp]# chmod +x /etc/rc.d/init.d/nginx [root@vps197119 /tmp]# chkconfig nginx on [root@vps197119 /tmp]# nginxCONF=/usr/local/nginx/conf/nginx.conf [root@vps197119 /tmp]# sed "$(awk '{a=NR}END{print a}' $nginxCONF)s@^@ include vhost/*.conf;\n&@" $nginxCONF [root@vps197119 /tmp]# mkdir -p /usr/local/nginx/conf/vhost/ [root@vps197119 /tmp]# mkdir -p /var/log/nginx/ [root@vps197119 /tmp]# wget https://gitlab.com/gitlab-org/gitlab-ce/raw/master/lib/support/nginx/gitlab -O /usr/local/nginx/conf/vhost/git.dwhd.org.conf [root@vps197119 /tmp]# usermod -a -G git www
[root@vps197119 /tmp]# cmake --version cmake version 3.3.2  CMake suite maintained and supported by Kitware (kitware.com/cmake). [root@vps197119 /tmp]# mysql -V mysql  Ver 15.1 Distrib 10.0.21-MariaDB, for Linux (x86_64) using readline 5.1 [root@vps197119 /tmp]# redis-cli -s /var/run/redis/redis.sock <<< "info" | grep 'redis.version' redis_version:3.0.4 [root@vps197119 /tmp]# nginx -v nginx version: nginx/1.9.5 [root@vps197119 /tmp]#

 

Nginx配置文件参考
[root@vps197119 /tmp]# grep -Ev '^(\s+)?(#|$)' /usr/local/nginx/conf/vhost/git.dwhd.org.conf upstream gitlab {   server unix:/home/git/gitlab/tmp/sockets/gitlab.socket fail_timeout=0; } server {   listen 0.0.0.0:80 default_server;   server_name git.dwhd.org; ## Replace this with something like gitlab.example.com   server_tokens off; ## Don't show the nginx version number, a security best practice   root /home/git/gitlab/public;   client_max_body_size 256m;   access_log  /var/log/nginx/gitlab_access.log;   error_log   /var/log/nginx/gitlab_error.log;   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    Host                $http_host;     proxy_set_header    X-Real-IP           $remote_addr;     proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;     proxy_set_header    X-Forwarded-Proto   $scheme;     proxy_set_header    X-Frame-Options     SAMEORIGIN;     proxy_pass http://gitlab;   } }

 

Linux之CentOS 6.7上全编译安装GitLab 7-14中文版

 

24、修改sudo配置
[root@vps197119 /tmp]# chmod u+w /etc/sudoers [root@vps197119 /tmp]# sed -ri 's@^(Defaults\s+secure_path\s+=).*@\1 /usr/local/mariadb/bin:/usr/local/nginx/sbin:/usr/local/redis/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin@' /etc/sudoers [root@vps197119 /tmp]# chmod ugo-w /etc/sudoers

 

二、安装GitLab

 

1、GitLab
#使用git用户身份下载gitlab 7-14-zh 中文版 [root@vps197119 /tmp]# sudo -u git -H git clone https://gitlab.com/jieme/gitlab.git -b 7-14-zh gitlab #验证下载 [root@vps197119 /tmp]# cd /home/git/gitlab/ [root@vps197119 /home/git/gitlab]# sudo -u git -H git branch -va |head -1 * 7-14-zh                    12bbae4 Merge branch '7-14-stable' into 7-14-zh

 

2、复制GitLab配置文件config/gitlab.yml
[root@vps197119 /home/git/gitlab]# sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml

 

3、修改gitlab配置文件
####如果你有公网IP可以按照以下方法修改配置文件,如果没有请自行做相关修改 [root@vps197119 /home/git/gitlab]# IPaddress=$(curl -4s curlip.me|awk '{print $2;exit}') [root@vps197119 /home/git/gitlab]# sudo -u git -H sed -ri "s/^(\s+host:).*/\1 $IPaddress/" config/gitlab.yml [root@vps197119 /home/git/gitlab]# sudo -u git -H sed -ri "s/^(\s+email_from:).*/\1 GitLab@dwhd.org/" config/gitlab.yml ####下面的命令是手工修改方法 ##[root@vps197119 /home/git/gitlab]# sudo -u git -H editor config/gitlab.yml #如下是修改后的参考 [root@vps197119 /home/git/gitlab]# grep -Ev '^(\s+)?(#|$)' config/gitlab.yml production: &base   gitlab:     host: 0.0.0.0     port: 80 # Set to 443 if using HTTPS, see installation.md#using-https for additional HTTPS configuration details     https: false # Set to true if using HTTPS, see installation.md#using-https for additional HTTPS configuration details     email_enabled: false     email_from: GitLab@dwhd.org     email_display_name: GitLab     email_reply_to: noreply@example.com     default_theme: 2     default_projects_features:       issues: true       merge_requests: true       wiki: true       snippets: false   gravatar:     enabled: true                 # Use user avatar image from Gravatar.com (default: true)   ldap:     enabled: false     servers:       main: # 'main' is the GitLab 'provider ID' of this LDAP server         label: 'LDAP'         host: '_your_ldap_server'         port: 389         uid: 'sAMAccountName'         method: 'plain' # "tls" or "ssl" or "plain"         bind_dn: '_the_full_dn_of_the_user_you_will_bind_with'         password: '_the_password_of_the_bind_user'         active_directory: true         allow_username_or_email_login: false         block_auto_created_users: false         base: ''         user_filter: ''   omniauth:     enabled: false     allow_single_sign_on: false     block_auto_created_users: true     auto_link_ldap_user: false     providers:   satellites:     path: /home/git/gitlab-satellites/     timeout: 30   backup:     path: "tmp/backups"   # Relative paths are relative to Rails.root (default: tmp/backups/)   gitlab_shell:     path: /home/git/gitlab-shell/     repos_path: /home/git/repositories/     hooks_path: /home/git/gitlab-shell/hooks/     upload_pack: true     receive_pack: true   git:     bin_path: /usr/bin/git     max_size: 20971520 # 20.megabytes     timeout: 10   extra:   rack_attack:     git_basic_auth: development:   <<: *base test:   <<: *base   gravatar:     enabled: true   gitlab:     host: localhost     port: 80   satellites:     path: tmp/tests/gitlab-satellites/   backup:     path: tmp/tests/backups   gitlab_shell:     path: tmp/tests/gitlab-shell/     repos_path: tmp/tests/repositories/     hooks_path: tmp/tests/gitlab-shell/hooks/   issues_tracker:     redmine:       title: "Redmine"       project_url: "http://redmine/projects/:issues_tracker_id"       issues_url: "http://redmine/:project_id/:issues_tracker_id/:id"       new_issue_url: "http://redmine/projects/:issues_tracker_id/issues/new"   ldap:     enabled: false     servers:       main:         label: ldap         host: 127.0.0.1         port: 3890         uid: 'uid'         method: 'plain' # "tls" or "ssl" or "plain"         base: 'dc=example,dc=com'         user_filter: ''         group_base: 'ou=groups,dc=example,dc=com'         admin_group: ''         sync_ssh_keys: false staging:   <<: *base

 

4、给目录log/和tmp/ git用户有写权限
[root@vps197119 /home/git/gitlab]# chown -R git {log,tmp}/ [root@vps197119 /home/git/gitlab]# chmod -R u+rwX {log,tmp}/

 

5、创建satellites目录并设置权限
[root@vps197119 /home/git/gitlab]# sudo -u git -H mkdir /home/git/gitlab-satellites [root@vps197119 /home/git/gitlab]# chmod u+rwx,g=rx,o-rwx /home/git/gitlab-satellites

 

6、给tmp/pids、tmp/sockets以及public/uploads/目录 git用户有写权限
[root@vps197119 /home/git/gitlab]# chmod -R u+rwX tmp/pids/ [root@vps197119 /home/git/gitlab]# chmod -R u+rwX tmp/sockets/ [root@vps197119 /home/git/gitlab]# chmod -R u+rwX public/uploads #确认权限 [root@vps197119 /home/git/gitlab]# ls -ld tmp/pids/ tmp/sockets/ public/uploads drwxr-xr-x 2 git git 4096 Oct  1 01:19 public/uploads drwxr-xr-x 2 git git 4096 Oct  1 01:19 tmp/pids/ drwxr-xr-x 2 git git 4096 Oct  1 01:19 tmp/sockets/

 

7、从模版拷贝出Unicorn配置文件
[root@vps197119 /home/git/gitlab]# sudo -u git -H cp config/unicorn.rb.example config/unicorn.rb

 

8、如果你负载比较大请启用集群模式
[root@vps197119 /home/git/gitlab]# sudo -u git -H sed -ri "s/^(worker_processes ).*/\1 $(nproc)/" config/unicorn.rb #绑定cpu [root@vps197119 /home/git/gitlab]# sudo -u git -H sed -ri "s/^(timeout ).*/\1 300/" config/unicorn.rb

 

9、从模版拷贝出Rack attack配置文件
[root@vps197119 /home/git/gitlab]# sudo -u git -H cp config/initializers/rack_attack.rb.example config/initializers/rack_attack.rb

 

10、为git用户做全局配置
# Edit user.email according to what is set in gitlab.yml [root@vps197119 /home/git/gitlab]# sudo -u git -H git config --global user.name "GitLab" [root@vps197119 /home/git/gitlab]# sudo -u git -H git config --global user.email "gitlab@dwhd.org" [root@vps197119 /home/git/gitlab]# sudo -u git -H git config --global core.autocrlf input

 

11、配置redis的连接
[root@vps197119 /home/git/gitlab]# sudo -u git -H cp config/resque.yml.example config/resque.yml #修改为socket连接方式 [root@vps197119 /home/git/gitlab]# sudo -u git -H sed -ri "s@^(development:).*@\1 unix:/var/run/redis/redis.sock@" config/resque.yml

 

12、配置Gitlab 数据库设置
[root@vps197119 /home/git/gitlab]# sudo -u git cp config/database.yml.mysql config/database.yml [root@vps197119 /home/git/gitlab]# sudo -u git -H editor config/database.yml 修改为正确的用户名和密码 分别修改git用户和root用户 [root@vps197119 /home/git/gitlab]# sudo -u git -H chmod o-rwx config/database.yml

 

Linux之CentOS 6.7上全编译安装GitLab 7-14中文版

 

13、安装Gems
[root@vps197119 /home/git/gitlab]# sudo -u git -H bundle install --deployment --without development test postgres aws ##如果是国内服务器安装请修改为淘宝的ruby源 ##[root@vps197119 /home/git/gitlab]# sed -ri 's@^(source ).*@\1"https://ruby.taobao.org"@' Gemfile

 

Linux之CentOS 6.7上全编译安装GitLab 7-14中文版

 

14、安装gitlab-shell
[root@vps197119 /home/git/gitlab]# sudo -u git -H bundle exec rake gitlab:shell:install[v$(cat GITLAB_SHELL_VERSION)] REDIS_URL=unix:/var/run/redis/redis.sock RAILS_ENV=production

 

如果遇到下图中的错误请按照下面的方式做修改
[root@vps197119 /home/git/gitlab]# sudo -u git -H bundle exec rake gitlab:shell:install[v$(cat GITLAB_SHELL_VERSION)] REDIS_URL=unix:/var/run/redis/redis.sock RAILS_ENV=production /home/git/gitlab/vendor/bundle/ruby/2.2.0/gems/rouge-1.9.1/lib/rouge/lexers/shell.rb:20: warning: already initialized constant Rouge::Lexers::Shell::KEYWORDS /home/git/gitlab/vendor/bundle/ruby/2.2.0/gems/rouge-1.9.1/lib/rouge/lexers/shell.rb:20: warning: previous definition of KEYWORDS was here /home/git/gitlab/vendor/bundle/ruby/2.2.0/gems/rouge-1.9.1/lib/rouge/lexers/shell.rb:25: warning: already initialized constant Rouge::Lexers::Shell::BUILTINS /home/git/gitlab/vendor/bundle/ruby/2.2.0/gems/rouge-1.9.1/lib/rouge/lexers/shell.rb:25: warning: previous definition of BUILTINS was here

 

Linux之CentOS 6.7上全编译安装GitLab 7-14中文版
sed -i '43s/ load / require /' /home/git/gitlab/vendor/bundle/ruby/2.*/gems/rouge-1.9.1/lib/rouge.rb sed -i '436,438d' /home/git/gitlab/vendor/bundle/ruby/2.*/gems/rouge-1.9.1/lib/rouge/lexer.rb sed -i '435s/module Lexers.*/&\n    def self.require_lexer(relpath)/' /home/git/gitlab/vendor/bundle/ruby/2.*/gems/rouge-1.9.1/lib/rouge/lexer.rb sed -i '438s/.*/      require root.join(relpath)/' /home/git/gitlab/vendor/bundle/ruby/2.*/gems/rouge-1.9.1/lib/rouge/lexer.rb sed -i "5s/.*/    require_lexer 'c'/" /home/git/gitlab/vendor/bundle/ruby/2.*/gems/rouge-1.9.1/lib/rouge/lexers/cpp.rb sed -i "5s/.*/    require_lexer 'c'/" /home/git/gitlab/vendor/bundle/ruby/2.*/gems/rouge-1.9.1/lib/rouge/lexers/glsl.rb sed -i "5s/.*/    require_lexer 'lua'/" /home/git/gitlab/vendor/bundle/ruby/2.*/gems/rouge-1.9.1/lib/rouge/lexers/moonscript.rb sed -i "5s/.*/    require_lexer 'c'/" /home/git/gitlab/vendor/bundle/ruby/2.*/gems/rouge-1.9.1/lib/rouge/lexers/objective_c.rb sed -i "5s/.*/    require_lexer 'shell'/" /home/git/gitlab/vendor/bundle/ruby/2.*/gems/rouge-1.9.1/lib/rouge/lexers/powershell.rb sed -i "5s/.*/    require_lexer 'javascript'\n/" /home/git/gitlab/vendor/bundle/ruby/2.*/gems/rouge-1.9.1/lib/rouge/lexers/qml.rb sed -i "5s@.*@    require_lexer 'sass/common'@" /home/git/gitlab/vendor/bundle/ruby/2.*/gems/rouge-1.9.1/lib/rouge/lexers/sass.rb sed -i "5s@.*@    require_lexer 'sass/common'@" /home/git/gitlab/vendor/bundle/ruby/2.*/gems/rouge-1.9.1/lib/rouge/lexers/scss.rb ##上面的几处修改原因见https://github.com/jneen/rouge/commit/0b91f25bedecdffba05300821ef6f1e49334abf7

 

Linux之CentOS 6.7上全编译安装GitLab 7-14中文版

 

配置gitlab-shell
[root@vps197119 /home/git/gitlab]# sudo -u git -H editor /home/git/gitlab-shell/config.yml ##配置参考如下 [root@vps197119 /home/git/gitlab]# cat /home/git/gitlab-shell/config.yml --- user: git gitlab_url: http://51.254.102.19/ http_settings:   self_signed_cert: false repos_path: "/home/git/repositories/" auth_file: "/home/git/.ssh/authorized_keys" redis:   bin: "/usr/local/redis/bin/redis-cli"   namespace: resque:gitlab   socket: "/var/run/redis/redis.sock" log_level: INFO audit_usernames: false

 

初始化数据并且激活高级特性
[root@vps197119 /home/git/gitlab]# sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production [root@vps197119 /home/git/gitlab]# sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production GITLAB_ROOT_PASSWORD=lookback

 

Linux之CentOS 6.7上全编译安装GitLab 7-14中文版Linux之CentOS 6.7上全编译安装GitLab 7-14中文版
Linux之CentOS 6.7上全编译安装GitLab 7-14中文版Linux之CentOS 6.7上全编译安装GitLab 7-14中文版

 

安装启动脚本和设置开机启动
[root@vps197119 /home/git/gitlab]# wget -O /etc/init.d/gitlab https://gitlab.com/gitlab-org/gitlab-recipes/raw/master/init/sysvinit/centos/gitlab-unicorn [root@vps197119 /home/git/gitlab]# chmod +x /etc/init.d/gitlab [root@vps197119 /home/git/gitlab]# chkconfig gitlab on [root@vps197119 /home/git/gitlab]# service gitlab start

 

设置日志滚动
[root@vps197119 /home/git/gitlab]# cp lib/support/logrotate/gitlab /etc/logrotate.d/gitlab [root@vps197119 /tmp]# chmod g+rx /home/git/

 

检查应用程序状态
[root@vps197119 /home/git/gitlab]# sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production  System information System:   Current User:   git Using RVM:      no Ruby Version:   2.1.6p336 Gem Version:    2.2.3 Bundler Version:1.10.6 Rake Version:   10.4.2 Sidekiq Version:3.3.0  GitLab information Version:        7.14.3 Revision:       12bbae4 Directory:      /home/git/gitlab DB Adapter:     mysql2 URL:            http://51.254.102.19 HTTP Clone URL: http://51.254.102.19/some-group/some-project.git SSH Clone URL:  git@51.254.102.19:some-group/some-project.git Using LDAP:     no Using Omniauth: no  GitLab Shell Version:        2.6.5 Repositories:   /home/git/repositories/ Hooks:          /home/git/gitlab-shell/hooks/ Git:            /usr/bin/git [root@vps197119 /home/git/gitlab]#

 

Linux之CentOS 6.7上全编译安装GitLab 7-14中文版

 

Linux之CentOS 6.7上全编译安装GitLab 7-14中文版
一起都好了之后看看web
Linux之CentOS 6.7上全编译安装GitLab 7-14中文版

 

Linux之CentOS 6.7上全编译安装GitLab 7-14中文版

 

Linux之CentOS 6.7上全编译安装GitLab 7-14中文版

热门栏目