Archives

KVMにCentOSをKickstartインストール

ホストPCはUbuntuです。CentOSでも同じような感じで。
まずKVMに必要なものをインストール

sudo apt-get install -y kvm kvm-ipxe libvirt0 libvirt-bin virtinst
sudo modprobe kvm
sudo modprobe kvm_intel

インストールするCentOSのイメージを用意

wget http://ftp.riken.jp/Linux/centos/6/isos/x86_64/CentOS-6.5-x86_64-bin-DVD1.iso

ksファイルを作成(vi ks.cfg)

cmdline
install
lang en_US.UTF-8
keyboard jp106

network --device=eth0 --bootproto=static --ip=192.168.0.101 --netmask=255.255.255.0 --gateway=192.168.0.1 --nameserver=192.168.20.1 --ipv6=auto

zerombr
bootloader --location=mbr --append="crashkernel=auto rhgb quiet"

clearpart --all --initlabel
part / --fstype=ext4 --grow --asprimary --size=1

rootpw --plaintext password
authconfig --enableshadow --passalgo=sha512
selinux --disabled
firewall --disabled
firstboot --disabled
timezone --utc Asia/Tokyo
reboot

%packages
@core
@base
@japanese-support
%end
  •  ネットワーク部分は自分の環境に合わせて書き換えてください
  • rootのパスワードも”password”になってるけど適宜書き換え

ブリッジの作成(sudo vi /etc/network/interfaces)

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto p2p1
iface p2p1 inet manual

auto br0
iface br0 inet static                                                                     
        address 192.168.0.10
        netmask 255.255.255.0
        gateway 192.168.0.1
        dns-nameservers 192.168.0.1
        bridge_ports p2p1
        bridge_stp off
        bridge_df 0
        bridge_maxwait 0
  •  p2p1はCentOSで言うeth0

インストール先となるディスクイメージを、cent6.imgという名前でqcow2方式で30GB用意

sudo qemu-img create -f qcow2 cent6.img 30G

インストール

sudo virt-install \
    --accelerate \
    --hvm \
    --connect=qemu:///system \
     --name=cent6 \
     --vcpus=1 \
     --ram=6144 \
     --disk=/PATH/TO/cent6.img,format=qcow2 \
     --network bridge=br0 \
     --location='/PATH/TO/CentOS-6.5-x86_64-bin-DVD1.iso' \
     --initrd-inject=/PATH/TO/ks.cfg \
     --nographics \
     --extra-args='ks=file:/ks.cfg console=tty0 console=ttyS0,115200n8 keymap=ja'
  •  extra-argsでシリアルコンソール接続の設定をしています。
  • name, ramは適宜変更

しばらくしてから、”virsh console <名前(この場合cent6)>”なりsshなりでアクセス出来ます。便利。

Omnibus GitLabをCentOSにインストール

ちょっと前に、GithubのクローンであるGitLab-6.5をCentOS6.4に導入するという記事を書きましたが、

Omnibus-GitLabというのを使えばもっと簡単にインストール出来るようです。

[browser-shot width=”600″ url=”https://about.gitlab.com/downloads/”]

 

以下の手順は、CentOS6.5のminimal install状態からの手順です。

 

1. iptables, SELinuxの無効化

$ sudo service iptables stop
$ sudo chkconfig iptables off
$ sudo setenforce 0
$ sudo vi /etc/selinux/config
  # SELINUX=disabled に変更

 

2. 必要なツールのインストール

$ sudo yum -y update
$ sudo yum -y groupinstall 'Development Tools'
$ sudo yum -y install wget which``

 

3. 最新版gitをインストール

CentOS 6.5のgitは1.7なので…

$ sudo yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker
$ cd /usr/local/src
$ git clone git://github.com/git/git.git
$ cd git-1.9.0/
$ sudo make configure
$ ./configure --prefix=/usr/local --with-curl --with-expat
$ sudo make all
$ sudo make install

configure時に”–with-curl”オプションを付けないと、httpによるgit remote操作で

fatal: Unable to find remote helper for ‘https’
というようなエラーになってしまいます。これはクライアント側のgitでも起こります。

4. gitlabインストール

Omnibus GitLabは簡単にインストールできます。

まずはダウンロード。

$ wget https://downloads-packages.s3.amazonaws.com/centos-6.5/gitlab-7.1.1_omnibus-1.el6.x86_64.rpm
$ sudo yum -y install openssh-server
$ sudo yum -y install postfix
$ sudo rpm -i gitlab-7.1.1_omnibus-1.el6.x86_64.rpm

それから、

$ sudo -e /etc/gitlab/gitlab.rb

アプリケーションの設定をします。gitlab.rbは以下のようにしました。

external_url 'http://ip.of.your.server'

user['git_user_email'] = "gitlab@gitlab.com"

# SMTP
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "localhost"
gitlab_rails['smtp_domain'] = "gitlab.com"
gitlab_rails['gitlab_email_from'] = "gitlab@gitlab.com"

gitlabのサーバーurlや、新規ユーザー登録時などメールでの通知を行うのでその時の設定とかです。

この設定ファイルを次のコマンドで読み込みます。

$ sudo gitlab-ctl reconfigure
$ sudo gitlab-ctl show-config   // 確認用コマンド
$ sudo lokkit -s http -s ssh

これで完了です。
途中で表示されますが、いつものように
ユーザー: root
パスワード: 5iveL!fe
でログインしましょう。

いままでのインストールの面倒くささからすると、こんなに簡単でいいのかって感じですね。