星期二, 4月 21, 2015

bitnami.com 救了我

花了好幾天才研究出如何安裝成功的 GitLab 竟然有個重要功能失效,放棄了!幸好有別人找到這個網站。

星期一, 4月 20, 2015

讓 CentOS 6 登入畫面不要出現那麼多帳號

在裝了某個軟體之後,因為建了許多帳號,一個個系統使用者都出現在登入畫面上了。後來是參考這篇來解決,雖然是 Ubuntu 的論壇。

星期六, 4月 18, 2015

困而學之

Ruby? Rails? 這兩個我不懂也不想懂,反正能正常運作就是了。但遇到 GitLab 那個很難打的預設密碼「好像」被我自己改壞掉,不得不想辦法重置的時候,幸好參考這一篇的內容救了回來。
糟糕!我好像常這樣。論語是這麼說的:

生而知之者上也;學而知之者次也;困而學之又其次也;困而不學,民斯為下矣。

GitLab 開機後自動執行

因為 32 位元的 GitLab 沒有安裝套件,一切都得自己來。在奮鬥許久後,終於新建了一個使用者 gitlab,抓完原始碼放在家目錄下的 gitlabhq,建置安裝完成。啟動的指令如下:
  • sudo /etc/rc.d/init.d/mysqld start
  • sudo /etc/rc.d/init.d/redis start
  • cd && cd gitlabhq && bundle exec rails s -e production
想要開機後自動執行,可以將指令放在 /etc/rc.d/rc.local 這個檔案,大致需要以下這些:
  • # exec >/var/log/rc.local.log 2>&1
  • /etc/rc.d/init.d/mysqld start
  • /etc/rc.d/init.d/redis start
  • PATH=$PATH:/usr/local/bin
  • cd /home/gitlab/gitlabhq && bundle exec rails s -e production &
部份需要改變的原因是執行身分不同、路徑不同、環境變數不同,還有背景執行。如果需要偵錯,也可以打開被註解的那一行。

星期五, 4月 17, 2015

Install GitLab on CentOS 6 32bit

GitLab 只提供 64 位元的安裝套件,沒想到在 32 位元的環境這麼難裝,基本上參考一篇快滿三年的文章,再修改一些步驟以解決問題,紀錄一下:

# add current user to sudoers

# www connected

sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

sudo sed -i "s/mirrorlist=https/mirrorlist=http/" /etc/yum.repos.d/epel.repo

sudo yum -y groupinstall 'Development Tools' 'Additional Development'

sudo yum -y install readline readline-devel ncurses-devel gdbm-devel
glibc-devel tcl-devel openssl-devel curl-devel expat-devel db4-devel
byacc gitolite sqlite-devel gcc-c++ libyaml libyaml-devel libffi
libffi-devel libxml2 libxml2-devel libxslt libxslt-devel libicu
libicu-devel system-config-firewall-tui python-devel redis

curl -O http://ftp.ruby-lang.org/pub/ruby/2.2/ruby-2.2.2.tar.gz

tar xzvf ruby-2.2.2.tar.gz

cd ruby-2.2.2

./configure --enable-shared --disable-pthread

sudo make && sudo make install

sudo yum -y install qt-devel qtwebkit-devel

export PATH=$PATH:/usr/lib/qt4/bin

alias sudo="sudo env PATH=$PATH"

sudo gem update --system

sudo gem update

sudo gem install rails

sudo adduser --shell /bin/bash --create-home --home-dir /home/gitlab gitlab

sudo passwd gitlab

su gitlab

ssh-keygen -t rsa

# keep default filename, empty for no passphrase

exit

sudo adduser --system --shell /bin/sh --comment 'gitolite'
--create-home --home-dir /home/git git

sudo cp /home/gitlab/.ssh/id_rsa.pub /home/git/gitlab.pub

sudo passwd git

su git

gl-setup ~/gitlab.pub

# When the prompt appears edit the provided file (it's in a vi-Editor)
and set $REPO_UMASK to 0007

exit

sudo usermod -a -G git gitlab

sudo chmod -R g+rwX /home/git/repositories/

sudo chmod 770 /home/git

sudo service sshd start

su gitlab

ssh git@localhost

exit

exit

su -

curl https://bootstrap.pypa.io/ez_setup.py | python

exit

sudo easy_install pip

sudo pip install pygments

sudo gem install bundler

sudo visudo

# add: gitlab    ALL=(ALL)    ALL

sudo gem install charlock_holmes

sudo yum -y install cmake

sudo gem install rugged -v '0.21.4'

su gitlab

cd && git clone https://github.com/gitlabhq/gitlabhq.git

cd gitlabhq

bundle install

sudo yum -y install mysql-server

sudo yum -y install nodejs

sudo /etc/init.d/mysqld start

mysql_secure_installation

mysql -u root -p

mysql> CREATE DATABASE gitlab CHARACTER SET UTF8;

mysql> GRANT ALL PRIVILEGES ON gitlab.* TO 'gitlabusr'@'localhost'
IDENTIFIED BY 'supersecret' WITH GRANT OPTION;

mysql> quit

sudo nohup redis-server > /dev/null

# hit CTRL+Z

bg

cp ~/gitlabhq/config/database.yml.mysql ~/gitlabhq/config/database.yml

cp ~/gitlabhq/config/gitlab.yml.example ~/gitlabhq/config/gitlab.yml

vim ~/gitlabhq/config/database.yml

# In database.yml you have to edit the production settings of your
database (at the very top of the file). You have to change the
database-name, username and password.

RAILS_ENV=production rake db:setup

RAILS_ENV=production rake db:seed_fu

bundle exec rails s -e production

# visit http://localhost:3000 with root / 5iveL!fe

以上。日後要啟動 GitLab 服務的步驟也整理在此:

# Terminal #1

sudo /etc/rc.d/init.d/mysqld start

redis-server

# Terminal #2

su gitlab

cd

cd gitlabhq

bundle exec rails s -e production

星期四, 4月 16, 2015

VirtualBox Guest Additions on CentOS 6

看了很多篇文章,最正確完整的是這篇。唯一的一個小問題,如果在裝完 epel 6 rpm 之後的 yum install 出現 Cannot retrieve metalink 的錯誤,要多跑這個指令:
  • sudo sed -i "s/mirrorlist=https/mirrorlist=http/" /etc/yum.repos.d/epel.repo
之後如果要掛載共享目錄,比來比去還是我的一篇舊聞算不錯,即使當初設定的題目似乎沒有涵蓋,但仍然適用。

[2015/06/29] 若是由 osboxes.org 抓的 CentOS 7 image,步驟可以少很多,符合這篇文章 4.2.2.1.6 小節的描述,基本上只要:
  • sudo yum update -y
  • sudo yum install -y gcc kernel-devel
  • reboot
  • install Guest Additions
  • reboot
就可以安裝成功了。

星期一, 4月 13, 2015

CentOS 6.3 + Jenkins + Git

由於 CentOS 6.3 內建的 Git 較舊,在最近的 Jenkins 版本使用了新功能(git config --local)會導致錯誤,必須先升級