Centos6.8从源码安装Gitlab详细教程
来源:互联网 发布:算法设计与分析答案 编辑:程序博客网 时间:2024/05/19 14:38
本人用的是1核2G的阿里云服务器,从源码安装Gitlab中文版(英文版的安装几乎没有差别,下详)。安装过程对于像我这样的新手来说十分艰辛,中间遇到不少问题,但功夫不负有心人,最终还是安装成功了。现分享安装步骤。
各位觉得麻烦,建议用官网推荐的Omnibus 安装方式。
安装的环境如下图所示,另,安装Gitlab必须要有至少1G的内存,否则安装之后无法运行;还有本人使用Mysql数据库,比较顺手。
运行效果如图——
安装所需工具——
XSHELL 用来连接阿里云服务器,这个没什么好说的。
XFTP 由于网络原因,许多包我都直接下载到本地再上传到服务器的,上传的路径皆为/usr/etc。
Emacs 建议大家学习至少一个编辑器。
参考网站——
主要是官网,其实按照官网一步步来安装成功的机率也是蛮大的。但是有一些坑。
https://github.com/gitlabhq/gitlab-recipes/tree/master/install/centos centos安装Gitlab的指导
https://gitlab.com/larryli/gitlab/wikis/home 汉化版Gitlab的安装指导
http://blog.csdn.net/h348592532/article/details/53706786 有点过时的教程,但是还是很大帮助,如果和本教程不同,请按本教程来,命令的作用可以参考该网页。
安装步骤
·重要准备工作
开辟SWAP内存,这一点对阿里云服务器来说很重要
yum -y update
yum -y install nano
yum -y install emacs
执行以下命令并得到如下结果,证明不存在SWAP内存
开辟内存
sudo dd if=/dev/zero of=/swapfile bs=1024 count=256k
使开辟内存在重启机器后仍有效
sudo nano /etc/fstab
[加入如图所示内容]
[按Ctrl+X,输入Y,回车退出]
echo 10 | sudo tee /proc/sys/vm/swappiness
echo vm.swappiness = 10 | sudo tee -a /etc/sysctl.conf
sudo chown root:root /swapfile
sudo chmod 0600 /swapfile
[重启]
free -h
·安装依赖
su -
yum -y groupinstall 'Development Tools'
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 redis sudo wget crontabs logwatch logrotate perl-Time-HiRes git cmake libcom_err-devel.i686 libcom_err-devel.x86_64 nodejs
yum -y install python-docutils
注意到redis,按照官方的安装方式,安装的redis版本为2.4.10好像,不符合要求,所以待会要卸载,并且不按照官方的方式
·安装Git
要求Git版本在2.7.4或以上
在官网下载压缩包(Tarballs), 上传到服务器
git --version
yum -y remove git
yum install zlib-devel perl-CPAN gettext curl-devel expat-devel gettext-devel openssl-devel
tar -xzvf git-2.11.0.tar.gz
cd git-2.11.0
./configure
make
make prefix=/usr/local install
git --version
·安装Ruby
yum remove ruby
在官网下载压缩包https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.3.tar.gz
·安装Bundler Gem
gem install bundler --no-doc
·安装GO
官网下载,上传 https://storage.googleapis.com/golang/go1.5.3.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.5.3.linux-amd64.tar.gz
sudo ln -sf /usr/local/go/bin/{go,godoc,gofmt} /usr/local/bin/
rm go1.5.3.linux-amd64.tar.gz
·创建git用户
adduser --system --shell /bin/bash --comment 'GitLab' --create-home --home-dir /home/git/ git
修改git用户的PATH路径
visudo
[
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
修改为
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
]
`安装MySql
从官网下载,mysql57-community-release-el6-9.noarch.rpm
sudo rpm -Uvh mysql57-community-release-el6-9.noarch.rpm
yum install -y mysql-server mysql-devel
chkconfig mysqld on
service mysqld start
查看Mysql为用户设的初始密码
sudo grep 'temporary password' /var/log/mysqld.log
mysql -u root -p
输入密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Mysql2017#'; //更换密码
CREATE USER 'git'@'localhost' IDENTIFIED BY 'Git2017!'; //增加GIT并设置密码
CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
GRANT ALL PRIVILEGES ON `gitlabhq_production`.* TO 'git'@'localhost';
\q
[
如果提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=4;
mysql> SHOW VARIABLES LIKE 'validate_password%';[]
]
·安装Redis
yum remove redis //这一步很重要
1、官网下载,上传 http://download.redis.io/releases/redis-3.2.5.tar.gz
2、解压、编译、安装redis-3.2.5:
tar -zxvf redis-3.2.5.tar.gz -C /usr/src/
cd /usr/src/redis-3.2.5/
make && make install
3、创建redis相关目录:
mkdir -p /home/redis/bin
mkdir -p /home/redis/log
mkdir -p /home/redis/pid
mkdir -p /home/redis/db
4、将可执行文件复制到自己的安装目录:/home/redis/
ln -s /usr/local/bin/redis-* /home/redis/bin/
5、复制配置文件到自己的安装目录:/home/redis/
cp redis.conf /home/redis/
6、进入自己的安装目录,编辑redis.conf配置文件:
cd /home/redis/emacs /home/redis/redis.conf根据实际需要修改配置文件,以下仅供参考daemonize yespidfile /home/redis/pid/redis.pidlogfile /home/redis/log/redis.logdir /home/redis/dbport 0unixsocket /var/run/redis/redis.sockunixsocketperm 700
最后两行必须删除#号,使之生效。
配置的意思 参见[http://www.cnblogs.com/qq78292959/archive/2013/09/21/3331032.html]
7、创建redis服务脚本,并赋予权限:
emacs /etc/init.d/redis
#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
PATH=/home/redis/bin:/sbin:/usr/bin:/bin
REDISPORT=6379
EXEC=/home/redis/bin/redis-server
CLIEXEC=/home/redis/bin/redis-cli
PIDFILE=/home/redis/pid/redis.pid
CONF="/home/redis/redis.conf"
case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed"
else
echo "Starting Redis server..."
$EXEC $CONF
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$CLIEXEC -p $REDISPORT shutdown
while [ -x /proc/${PID} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
*)
echo "Please use start or stop as first argument"
;;
esac
8、添加redis服务开机启动:
chmod a+x /etc/init.d/redis
9、启动redis服务:
mkdir /var/run/redis/
service redis start
10、测试OK
redis-cli -s /var/run/redis/redis.sock
set key1 hello
get key1
quit
chmod 770 /var/run/redis/redis.sock
11、改变权限
chown -R redis:redis /var/run/redis
chmod -R 755 /var/run/redis
将Git添加Redis组
usermod -aG redis git
·获取Gitlab
cd /home/git
sudo -u git -H git clone https://git.coding.net/larryli/gitlab.git gitlab //这是中文版
cd /home/git/gitlab
sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml
sudo -u git -H emacs config/gitlab.yml
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 -u git -H cp config/unicorn.rb.example config/unicorn.rb
sudo -u git -H emacs config/unicorn.rb
sudo -u git -H cp config/initializers/rack_attack.rb.example config/initializers/rack_attack.rb
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.ymlsudo -u git cp config/database.yml.mysql config/database.yml
sudo -u git -H emacs config/database.yml修改成你自己设的密码
·安装GEM
cd /home/git/gitlab
sudo -u git -H bundle install --deployment --without development test postgres aws kerberos[他们都说要用淘宝源,我并没有用,速度也还行]
·安装Gitlab-shell
按官网说的装,
sudo -u git -H bundle exec rake gitlab:shell:install[v3.0.0] REDIS_URL=unix:/var/run/redis/redis.sock RAILS_ENV=production
或者直接
cd /home/git/
sudo -u git -H mkdir gitlab-shell
sudo -u git -H chown -R git gitlab-shell/
sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-shell.git gitlab-shell
sudo -u git -H emacs /home/git/gitlab-shell/config.yml
restorecon -Rv /home/git/.ssh
·安装Gitlab-workhorse
·安装cd /home/git
sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-workhorse.git
cd gitlab-workhorse
sudo -u git -H git checkout v0.7.5
sudo -u git -H make
cd /home/git/gitlab
sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production
cp lib/support/init.d/gitlab /etc/init.d/gitlab
chkconfig gitlab on
cp lib/support/logrotate/gitlab /etc/logrotate.d/gitlab
·检查检查环境
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
开启
service gitlab start
此时可以访问Gitlab网站,查看收获。希望一切顺利。
注:以上教程是我的亲身经历,如果中途还遇到问题,可以留言或者百度谷歌;最重要的,要懂得查看log,如gitlab/log里面的log,可以用less命令很方面的查看,也可以用XFTP下载到本地,用Sublime Text查看。cd /home/git/gitlab
sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
- Centos6.8从源码安装Gitlab详细教程
- Linux系统安装 Centos6.8系统安装详细教程
- Centos6.8下gitLab的安装
- Centos6.5 安装 gitlab
- centos6安装GitLab
- centos6.5 安装gitlab
- CentOS6安装gitlab
- CentOS6安装gitlab
- CentOS6 GitLab安装
- centos6/7安装gitlab
- centos6 安装GitLab
- CentOS6.4 安装gitlab
- CentOS6.2 安装Coreseek(Sphinx)详细教程
- 虚拟机下安装CentOS6.4详细教程
- Centos6.2安装Memcached详细教程
- Centos6.2安装Memcached详细教程
- Linux Centos6 安装Nginx详细图解教程
- CentOS6.5安装MySQL5.7详细教程
- 奥运排序问题(关键字排序)
- py-faster-rcnn配置运行demo.py(Ubuntu14.04),不成功的朋友请与我(lee)联系,后面附带邮箱
- 驱动级,socks5 代理 支持udp tcp
- java之核心问题大作战
- CLASSPATH 是什麼
- Centos6.8从源码安装Gitlab详细教程
- 用正则表达式获取网页里面的内容/java面试题
- LeetCode 108Convert Sorted Array to Binary Search Tree
- BZOJ3626: [LNOI2014]LCA LCT
- 计算机视觉会议和期刊分类
- Oracle数据库之安装教程
- RBM(Restricted Bolzmann Machines)原理
- 参考
- Qt Creator在Windows 7上的调试器安装与配置