読者です 読者をやめる 読者になる 読者になる

mabulog

このブログは、mabuの平凡な日常を淡々と描く物です。 過度な期待はしないでください。 あと、部屋は明るくして、 モニターから3メートルは離れて見やがってください。

Installed VirtualBox + CentOS6.4

CentOS VirtualBox

背景 Background

MacRubyの勉強をしたい。
Macで環境構築するのは環境構築師Lv1のmabuにはリスクが高いため、
VitrualBoxを利用してCentOSをインストールする。

目標 Goal

  • 開発環境として使いやすい環境である事
  • rootアカウントは極力使用しないサーバ構成である事
  • ローカルPCからSSH接続出来る事
  • ローカルPCから直接VertualBox上にあるCentOSを起動できる事
  • VirtualBoxがローカルPCを圧迫しない事
  • anyenv、Vimを利用できる事

手順 Operation

VirtualBox設定

新規作成時設定内容

  • 一般
    • 名前:devmabu
  • システム
    • メモリ:2048MB
    • 起動順序
      1. CD/DVD-ROM
      2. ハードディスク
  • ストレージ:256GB(可変)
  • オーディオ:無効化
  • ネットワーク
    • ポートフォワーディング

      名前 プロトコル ホストIP ホストポート ゲストIP ゲストポート
      SSHD TCP (空) 2222 (空) 22
      HTTPD TCP (空) 2223 (空) 80

OSインストール後設定変更

  • システム
    • 起動順序
      1. ハードディスク
    • ストレージ
      • ストレージツリーからISOファイルを削除

パスワードなしのsudo権限をmabulogアカウントに付与

$ su - root
パスワード:**********************
# visudo
mabulog ALL=(ALL)ALL

# exit

SELinuxの無効化

$ getenforce
Enforcing
$ sudo vi /etc/sysconfig/selinux
#SELINUX=enforcing
SELINUX=disabled

インストール済パッケージ更新

$ sudo yum -y update

SSH、HTTP、MySQL自動起動設定

$ sudo chkconfig sshd   on
$ sudo chkconfig httpd  on
$ sudo chkconfig mysqld on
$ sudo service sshd   start
$ sudo service httpd  start
$ sudo service mysqld start

FW穴開け

$ sudo vi /etc/sysconfig/iptables
....
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
....

$ sudo service iptables restart

ローカルPCのターミナルからSSH、HTTP接続確認

localPC$ curl -I http://localhost:2223
localPC$ ssh -l mabulog -p 2222 localhost

再起動後、設定確認

ターミナルからのSSH接続のため、コピー&ペーストが可能となります。

ウィンドウ無しでVM起動

localPC$ VBoxManage startvm devmabu --type=headless

ローカルPCのターミナルからmabulogアカウントでSSH接続確認

localPC$ ssh -l mabulog -p 2222 localhost

SELinux確認

$ getenforce
Disabled

yumレポジトリ追加

良く使用するyumレポジトリをインストールします。
バージョンについては、事前確認済みです。

$ cd /usr/local/src
$ sudo rpm --import http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-6
$ sudo rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
$ sudo rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
$ sudo wget http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
$ sudo wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
$ sudo wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
$ sudo rpm -ivh epel-release-6-8.noarch.rpm
$ sudo rpm -ivh remi-release-6.rpm
$ sudo rpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
$ cd /etc/yum.repos.d
$ sudo vi epel.repo
[epel]
....
#enabled=1
enabled=0
....

$ sudo vi rpmforge.repo
[rpmforge]
....
#enabled=1
enabled=0
....

必要なパッケージインストール

$ sudo yum -y install man-pages-ja mercurial git-core \
    ncurses-devel make gcc openssl openssl-devel ctags \
    zlib-devel bzip2 bzip2-devel readline-devel sqlite \
    sqlite-devel libxml2-devel bison bison-devel \
    curl-devel libjpeg-devel libpng-devel libtidy \
    libxslt libxslt-devel httpd-devel enchant-devel \
    libXpm libXpm-devel freetype-devel t1lib \
    t1lib-devel gmp-devel libc-client-devel \
    libicu-devel oniguruma-devel net-snmp \
    net-snmp-devel fontforge tree lynx
$ sudo yum -y --enablerepo=epel install re2c libmcrypt \
    libmcrypt-devel
$ sudo yum -y --enablerepo=remi install memcached \
    memcached-devel libmemcached libmemcached-devel \
    php-pecl-memcache mysql

公開鍵をGitHubに登録

$ cd
$ ssh-keygen
$ cat .ssh/id_rsa.pub
ssh-rsa asdfasd........................
....== mabulog@localhost.localdomain

mabu用のhomeディレクトリ設定

GitHubに登録しているmabu用の設定ファイルを設置する

$ cd
$ mkdir work
$ git clone https://github.com/KazuakiM/mySettingFiles work/mySettingFiles
$ diff $HOME/work/mySettingFiles/.bash_profile .bash_profile
$ diff $HOME/work/mySettingFiles/.bash_logout  .bash_logout
$ diff $HOME/work/mySettingFiles/.ctags        .ctags
$ diff $HOME/work/mySettingFiles/.vimrc        .vimrc

個人環境のため、ご利用は計画的にお願いします。

$ ln -sf $HOME/work/mySettingFiles/.bash_profile .bash_profile
$ ln -sf $HOME/work/mySettingFiles/.bash_logout  .bash_logout
$ ln -sf $HOME/work/mySettingFiles/.ctags        .ctags
$ ln -sf $HOME/work/mySettingFiles/.vimrc        .vimrc
$ cp -R work/mySettingFiles/.vim .vim
$ exec $SHELL -l

アプリインストール

  1. (ソースから)Git Command
  2. anyenv
  3. LuaJIT
  4. PHPマニュアル for vim-ref
  5. Vim
  6. NeoBundle for Vim

アプリインストール後、作業

$ cd
$ ln -s $HOME/.vim/bundle/jellybeans.vim/colors/jellybeans.vim .vim/colors/jellybeans.vim
$ ctags --languages=PHP -f $HOME/.vim/tags/php.tags `pwd`
$ cd .vim/bundle/vimproc
$ sudo make

今後 To be continue.

参考サイトにもある通り、MBAVirtualBoxを起動は電池消費量が多いため、
不要なサービスなどの停止・削除などを検討する。
こちらはVirtualBox自体の停止等を簡単に行えるShellを作成する方向で進めていますが、
コマンドについては少しづつまとめているため、記事には時間がかかると思われます。 (2014/05/11 追記)
VirtualBox起動シェル記事に省電力について暫定的ではありますが、記載しました。

参考サイト Reference