如何在ubuntu server 14.04下安装gitlab中文版

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在ubuntu server 14.04下安装gitlab中文版相关的知识,希望对你有一定的参考价值。

参考技术A 安装步骤有:

1. 依赖包

2. ruby

3. 用户创建

4. 数据库初始化

5. redis

6. gitlab源码

7. apache

本文可能会用到VPN连接,在命令行下创建VPN连接的方法如下:

sudo apt-get install pptp-linux
sudo pptpsetup --create VPN名称 --server 服务器地址 --username 用户名
--password 密码 [--encrypt] --start

以上命令会创建一个设备,如果没有其他的拨号设备,这个设备会是ppp0,用ifconfig可以看到,“--encrypt”选项可选,因为有的服务器不支持,会提示MPPE required but
peer negotiation
failed,创建时带上“--start”选项可以看到连接的情况。
pptpsetup创建的VPN连接重启后会失效,如果想在不重启的情况下删除VPN连接:

sudo pptpsetup --delete VPN名称

创建VPN连接后还需要使能,并且添加到路由列表:

sudo pon VPN名称
sudo route add
default dev ppp0

禁用VPN连接的方法是:

sudo
poff VPN名称

下面开始正文:

1. 依赖包

我装的是ubuntu server
14.04,安装的时候可以选是否安装LAMP(Linux+Apache+mysql+php),如果没装,可以用下面的命令装:

sudo tasksel install
lamp-server

安装的时候会提示输入MySQL的root密码,下面要用。

接下来是依赖关系:

sudo apt-get install flex bison ruby
build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev
libreadline-dev libncurses5-dev libffi-dev curl openssh-server
redis-server checkinstall libxml2-dev libxslt-dev
libcurl4-openssl-dev libicu-dev logrotate python-docutils
pkg-config cmake libkrb5-dev nodejs git-core

注意:这里面装了ruby,应该是1.9.1版本的,gitlab需要2.0以上的ruby,但是安装2.0以上的ruby需要低版本的ruby,所以我们先装上,一会儿卸掉。另外,ubuntu
14.04的软件库里有ruby 2.0,但是实测不能用,所以还是从源码装ruby吧。

2. ruby

下载,编译,安装(安装前删掉ruby 1.9.1):

curl -L --progress
http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.5.tar.gz | tar
xz
cd ruby-2.1.5
./configure --prefix=/usr --disable-install-rdoc
make

sudo apt-get autoremove ruby
sudo make install

然后安装bundler:

sudo gem install bundler --no-ri
--no-rdoc

3. 用户创建

为gitlab创建一个git用户:

sudo adduser --disabled-login --gecos
'GitLab' git

4. 数据库初始化

官方指南用的是PostgreSQL,不过官方也有MySQL的说明:
http://doc.gitlab.com/ce/install/database_mysql.html

sudo apt-get install -y mysql-server
mysql-client libmysqlclient-dev

mysql -u root -p

输入MySQL的root密码登陆,然后:

mysql> CREATE USER
'git'@'localhost' IDENTIFIED BY '$password';

记得把上面这句的"$password"换成实际的密码,然后:

mysql> SET
storage_engine=INNODB;

mysql> CREATE DATABASE IF NOT
EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE
`utf8_unicode_ci`;

mysql> GRANT SELECT, INSERT,
UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, LOCK TABLES ON
`gitlabhq_production`.* TO 'git'@'localhost';

mysql> \q

5. Redis

Redis貌似是用来存key的数据库吧,不知道,反正按步骤安装:

sudo apt-get install redis-server
sudo cp /etc/redis/redis.conf /etc/redis/redis.conf.orig
sed 's/^port .*/port 0/' /etc/redis/redis.conf.orig | sudo tee
/etc/redis/redis.conf
echo 'unixsocket /var/run/redis/redis.sock' | sudo tee -a
/etc/redis/redis.conf
echo 'unixsocketperm 770' | sudo tee -a /etc/redis/redis.conf
sudo service redis-server restart
sudo usermod -aG redis git

6. gitlab源码

gitlab源码默认是安装在/home/git/gitlab,如果要更改,请参照官方手册。获取中文版源码的过程如下:

cd /home/git

sudo -u git -H git
clone https://gitlab.com/larryli/gitlab.git

不知道是因为GFW还是什么,git
clone这个版本库可慢可慢了,我用了VPN,速度会快点。

git
clone完以后可以checkout你想要的版本,在本文编写的时间(2015年4月22日),可以:

sudo -u git -H git checkout
7-7-zh

然后配置源码

cd /home/git/gitlab
sudo -u git -H cp config/gitlab.yml.example config/gitlab.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 -u git -H mkdir /home/git/gitlab-satellites
sudo chmod u+rwx,g=rx,o-rwx /home/git/gitlab-satellites
sudo chmod -R u+rwX tmp/pids/
sudo chmod -R u+rwX tmp/sockets/
sudo chmod -R u+rwX public/uploads
sudo -u git -H cp config/unicorn.rb.example config/unicorn.rb
sudo -u git -H cp config/initializers/rack_attack.rb.example
config/initializers/rack_attack.rb
sudo -u git -H git config --global user.name "GitLab"
sudo -u git -H git config --global user.email
"example@example.com"
sudo -u git -H git config --global core.autocrlf input
sudo -u git -H cp config/resque.yml.example
config/resque.yml

当然,你可以把example@example.com改成你的email;上面的那些yml文件里面的配置基本都不用更改;然后,配置数据库用户名和密码:

sudo -u git cp config/database.yml.mysql
config/database.yml
sudo -u git -H editor config/database.yml

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

然后,安装gems:

sudo -u git -H bundle install --deployment --without
development test postgres aws

这一步必须使用VPN,因为万恶的GFW屏蔽了rubygems.org,所以会提示connection reset by
peer之类的,这部时间也会比较久,如果你的机器是多核的,也可以加上和make相同-jN参数,N等于核数。

(2015年5月2日追加)

发现淘宝做了个rubygrems.org的国内镜像,http://ruby.taobao.org/,可以参照上面的内容设置,加快gems安装速度。

再接下来安装gitlab
shell:

sudo -u git -H bundle exec rake
gitlab:shell:install[v2.6.0]
REDIS_URL=unix:/var/run/redis/redis.sock RAILS_ENV=production
sudo -u git -H editor
/home/git/gitlab-shell/config.yml

把gitlab的url改成http://localhost/或者你的域名。

在接下来初始化数据库:

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

加入启动项:

sudo cp lib/support/init.d/gitlab
/etc/init.d/gitlab
sudo update-rc.d gitlab defaults 21

初始化日志:

sudo 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

启动gitlab服务:

sudo service gitlab start

7. apache

下载apache的配置文件:https://gitlab.com/gitlab-org/gitlab-recipes/blob/master/web-server/apache/gitlab-apache2.4.conf
将其中的“ProxyPassReverse

http://gitlab.example.com/”改成“ProxyPassReverse

http://localhost/”或者你的域名,将其中的“/var/log/httpd/logs/”改为“/var/log/apache2/”。

用命令来说:
wget https://gitlab.com/gitlab-org/gitlab-recipes/raw/master/web-server/apache/gitlab-apache2.4.conf
mv gitlab-apache2.4.conf
001-gitlab.conf
editor 001-gitlab.conf
(进行上述修改)
sudo cp 001-gitlab.conf
/etc/apache2/sites-available
cd /etc/apache2/sites-enabled
sudo rm 000-default.conf
sudo ln -s ../sites-available/001-gitlab.conf
001-gitlab.conf
另外,还需要使能代理模块以实现反向代理功能,不然会提示“ProxyPassReverse”无效之类的。
cd /etc/apache2/mods-enabled
sudo ln -s ../mods-available/proxy.conf
proxy.conf
sudo ln -s
../mods-available/proxy.load proxy.load
sudo ln -s
../mods-available/proxy_connect.load proxy_connect.load
sudo ln -s
../mods-available/proxy_http.load proxy_http.load
sudo ln -s
../mods-available/rewrite.load rewrite.load
重启apache:
sudo service apache2 restart
然后,检查下配置是否正确:

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

如果都是绿色的结果,那就可以访问了。登陆用户名:root,初始密码:5iveL!fe

最后配置一下邮件,修改/home/git/gitlab/config/gitlab.yml,里面的“email_from:”为一个有效的email地址;修改/home/git/gitlab/config/environments/production.rb,里面的
“config.action_mailer.delivery_method=”为“:smtp”;最后:

cd /home/git/gitlab/config/initializers

sudo -u git -H
cp smtp_settings.rb.sample smtp_settings.rb

然后把文件的里的内容修改正确了,再重启一下gitlab服务就行了:

sudo service gitlab
restart

「ubuntu」如何在Ubuntu Server使用开源软件ownCloud架设私有云网盘

 

  随着360网盘的轰然关闭,可见离网盘全体关停的时间已经不远了。为了避免再次遭遇如鸟兽散的悲催,并解决对公共网盘安全性的担忧,架设私有云网盘将成为必然趋势。然而,实现私有云网盘通过一块NAS就能轻松搞定,但如果你止步于NAS不菲的价格,且有一台闲置可联网的电脑,那么,可以考虑自己动手搭建一个私有云网盘。

  以下是在Ubuntu Server 16.04环境下,利用ownCloud搭建私有云网盘的具体方法:

 

以上是关于如何在ubuntu server 14.04下安装gitlab中文版的主要内容,如果未能解决你的问题,请参考以下文章

如何在ubuntu server 14.04下安装gitlab中文版

如何远程连接Ubuntu 14.04 Server 的图形界面

如何远程连接Ubuntu 14.04 Server 的图形界面

如何远程连接Ubuntu 14.04 Server 的图形界面

Windows10下Xshell6如何远程连接Ubuntu14.04

Ubuntu 14.04上安装和配置Rstudio-Server