标签:undle 系统 over vim lib port tin false ssl
---恢复内容开始---
一、安装源和依赖包
cd /usr/local/src#增epel源,如果你是i686系统,请把x86_64修改下。wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 https://www.fedoraproject.org/static/0608B895.txtrpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm#确认是否安装成功rpm -qa gpg*gpg-pubkey-0608b895-4bd22942#增puias源wget -O /etc/yum.repos.d/PUIAS_6_computational.repo https://gitlab.com/gitlab-org/gitlab-recipes/raw/master/install/centos/PUIAS_6_computational.repoPUIAS_6_computational.repo 源[PUIAS_6_computational] name=PUIAS computational Base $releasever - $basearch mirrorlist=http://puias.math.ias.edu/data/puias/computational/$releasever/$basearch/mirrorlist #baseurl=http://puias.math.ias.edu/data/puias/computational/$releasever/$basearch gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puias
wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-puias http://springdale.math.ias.edu/data/puias/6/x86_64/os/RPM-GPG-KEY-puiasrpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-puias#验证是否成功rpm -qa gpg*gpg-pubkey-41a40948-4ce19266yum-config-manager --enable epel --enable PUIAS_6_computational二、安装依赖包
yum -y updateyum -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三、安装gityum remove git -yyum install zlib-devel perl-CPAN gettext curl-devel expat-devel gettext-devel openssl-develmkdir /tmp/git && cd /tmp/gitcurl --progress https://www.kernel.org/pub/software/scm/git/git-2.1.3.tar.gz | tar xzcd git-2.1.3/ && ./configure && make && make prefix=/usr/local installwhich gitgit version 2.1.3
四、安装ruby
#ruby版本需要2.0+,所以先卸载系统已存在的
yum remove ruby
#如果是源码安装的
cd (your-ruby-source-path) && make uninstall
#安装
mkdir /tmp/ruby && cd /tmp/ruby
curl --progress ang.org/pub/ruby/2.1/ruby-2.1.2.tar.gz | tar xz
cd ruby-2.1.2 && ./configure --disable-install-rdoc && make && make prefix=/usr/local install
#安装bundler
gem install bundler --no-doc
#完成后验证
which ruby/usr/local/bin/rubyruby -vruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux]
五、创建系统用户
adduser --system --shell /bin/bash --comment ‘GitLab‘ --create-ome --home-dir /home/git/ git
增加/usr/local/bin
visudo#修改以下内容Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
六、安装mysql
#mysql的版本至少5.5.14或更新
[root@www ~]# /usr/local/mysql/bin/mysql --version
/usr/local/mysql/bin/mysql Ver 14.14 Distrib 5.6.31, for Linux (x86_64) using EditLine wrapper
安装方法略过
##创建数据库用户并授权
mysql -u root -pmysql> CREATE USER ‘git‘@‘localhost‘ IDENTIFIED BY ‘gitpwd‘;mysql> show variables like "%engine";+------------------------+--------+| Variable_name | Value |+------------------------+--------+| default_storage_engine | InnoDB || storage_engine | InnoDB |+------------------------+--------+2 rows in set (0.01 sec)#如果不是InnoDB引擎,需执行下面命令mysql> 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‘;
#测试是否能够成功登录
mysql -ugit -pgitpwd -D gitlabhq_production
七、配置redis
chkconfig redis oncp /etc/redis.conf /etc/redis.conf.orig#修改监听端口(此步骤可忽略)sed ‘s/^port .*/port 0/‘ /etc/redis.conf.orig |tee /etc/redis.conf#增加内容echo ‘unixsocket /var/run/redis/redis.sock‘ |tee -a /etc/redis.confecho -e ‘unixsocketperm 0770‘ |tee -a /etc/redis.conf
#创建目录改权限
mkdir /var/run/redischown redis:redis /var/run/redischmod 755 /var/run/redisusermod -aG redis gitcd /home/git#下载源码sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-ce.git -b 7-4-stable gitlabcd gitLab/sudo -u git -H cp config/gitlab.yml.example config/gitlab.ymlsudo -u git -H vim config/gitlab.ymlgitlab: ## Web server settings (note: host is the FQDN, do not include http://) host: localhost port: 80 https: falsechown -R git log/chown -R git tmp/chmod -R u+rwX log/chmod -R u+rwX tmp/chmod -R u+rwX tmp/pids/chmod -R u+rwX tmp/sockets/chmod -R u+rwX public/uploadssudo -u git -H mkdir /home/git/gitlab-satelliteschmod u+rwx,g=rx,o-rwx /home/git/gitlab-satellitessudo -u git -H cp config/unicorn.rb.example config/unicorn.rb#查看系统核心数nproc1#编辑配置sudo -u git -H vim config/unicorn.rbworker_processes 1sudo -u git -H cp config/initializers/rack_attack.rb.example config/initializers/rack_attack.rbsudo -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#连接redis配置,默认配置,未修改sudo -u git -H vim config/resque.ymlsudo -u git cp config/database.yml.mysql config/database.yml#编辑配置文件sudo -u git -H vim config/database.ymlproduction: adapter: mysql2 encoding: utf8 collation: utf8_general_ci reconnect: false database: gitlabhq_production pool: 10 username: git password: "gitpwd" host: localhost socket: /var/lib/mysql/mysql.sock#修改文件权限,只有git用户可读sudo -u git -H chmod o-rwx config/database.ymlcd /home/git/gitLabsudo -u git -H bundle install --deployment --without development test postgres awssudo -u git -H bundle exec rake gitlab:shell:install[v2.0.1] REDIS_URL=unix:/var/run/redis/redis.sock RAILS_ENV=production#编辑配置sudo -u git -H vim /home/git/gitlab-shell/config.yml---user: gitgitlab_url: https://localhost/http_settings: self_signed_cert: truerepos_path: "/home/git/repositories/"auth_file: "/home/git/.ssh/authorized_keys"redis: bin: "/usr/bin/redis-cli" namespace: resque:gitlab socket: "/var/run/redis/redis.sock"log_level: INFOaudit_usernames: falsesudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production#可以设置管理员密码(此步骤可省略。。。)sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production GITLAB_ROOT_PASSWORD=newpasswordwget -O /etc/init.d/gitlab https://gitlab.com/gitlab-org/gitlab-recipes/raw/master/init/sysvinit/centos/gitlab-unicorn chmod +x /etc/init.d/gitlabchkconfig --add gitlabchkconfig gitlab on#设置logrotatecp lib/support/logrotate/gitlab /etc/logrotate.d/gitlab#检测应用状态sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=productionsudo -u git -H bundle exec rake assets:precompile RAILS_ENV=production#启动服务service gitlab start#本人使用的nginx
yum -y install nginx
chkconfig nginx on
mkdir /etc/nginx/sites-available
mkdir /etc/nginx/sites-enabled
wget -O /etc/nginx/sites-available/gitlab https://raw.github.com/gitlabhq/gitlab-recipes/master/web-server/nginx/gitlab-ssl
ln -sf /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/gitlab
编辑/etc/nginx/nginx.conf,将 include /etc/nginx/conf.d/*.conf; 替换成 include /etc/nginx/sites-enabled/*;,就是修改额外加载的配置文件目录。
编辑/etc/nginx/sites-available/gitlab,将配置中server_name替换成实际访问的域名。
#将nginx加入git用户组
usermod -a -G git nginx
chmod g+rx /home/git/
#添加ssl证书或者自己生成一个
cd /etc/nginx
openssl req -new -x509 -nodes -days 3560 -out gitlab.crt -keyout gitlab.key
#启动nginx
service nginx start
#登陆
用户名/密码
root/5iveL!fe
https://192.168.16.111/users/sign_in

遇到的问题:
启动后打开页面显示 502 错误:
解决方法:看日志

2016/10/28 11:50:46 [crit] 15189#0: *6 connect() to unix:/home/git/gitlab/tmp/sockets/gitlab-workhorse.socket failed (2: No such file or directory) while con
necting to upstream, client: 192.168.16.231, server: 192.168.16.111, request: "GET /static.css HTTP/1.1", upstream: "http://unix:/home/git/gitlab/tmp/sockets
/gitlab-workhorse.socket:/static.css", host: "192.168.16.111", referrer: "https://192.168.16.111/users/sign_in"
此时需要修改 nginx 里 gitlab.socketde 路径
nginx.conf 配置文件


图中红框内的socket文件改成 /home/git/gitlab/tmp/sockets 路径下存在的socket文件

标签:undle 系统 over vim lib port tin false ssl
原文地址:http://www.cnblogs.com/FRESHMANS/p/6008843.html