MENU

Vagrant Box の作成 – CentOSセットアップ篇 –

前回、仮想マシンの作成と CentOS のインストールまでを行ったので、今回は OS のセットアップを行っていきます。なお、プレーンな状態の Box を作成する機会もあると思いますので、Apache 等のインストールは別で書きたいと思います。

目次

仮想マシンにログインする

VM Virtual Box を起動し、左のリストから作成中の仮想マシンを選択して起動ボタンを押します。

ウィンドウがポップアップしてきて、しばらくすると仮想マシンのCentOSが起動します。
するとログインユーザーをきいてきますので、「 root 」 と入力します。続いてパスワードも聞かれるので、「 vagrant 」 と入力します。

localhost: root
Password: (vagrant)  //何も表示されませんが入力はされています。

ログインに成功すると下図のようになると思います。( Last login: は文言通り、最後にログインした日時を表しています。)

Virtual Box のコンソールから直接操作するのではなく、SSH接続用のクライアントソフトを使用しても OK です。ちなみに、僕は 「 Moba Xterm 」 というクライアントソフトを使用しています。( 一番最後に補足として載せておきます。 )

管理用ユーザーを作成する

通常、操作するにあたってはrootユーザーではなく、新たに管理権限を持つユーザーを作成します。
参考としてvagrant というユーザーを作成します。

# useradd -g wheel vagrant    // wheel グループに vagrant ユーザーを作成する
# id vagrant    // ユーザーが作成されているかを id を表示させて確認する
# passwd vagrant    // このあとでパスワードを入力する(今回はvagrant にしました)

vimのインストールと設定をする

vimをインストールする

これはやってもやらなくても構いませんが、今後、vi 操作で行番号などが表示された方が何かと便利なので、今のうちにインストールを設定をしておきます。

# yum -y install vim    // -y オプションをつけると、インストール時の確認(y/n)を省略できます

viの操作方法に関してはここでは詳しく触れません。基本操作としては、
[ a ]: 挿入モード、[ esc ]: 挿入モード解除、[ :wp ]: 上書き保存、[ :!q ]: 保存しないで終了
くらいを覚えておけばいいかと思います。

vimの設定変更(.vimrcファイル編集)

vimもインストール直後は、行番号の表示や文字等のハイライトはされないので、初期設定をして起きます。

# vim ~/.vimrc    // .vimrc ファイルをルートディレクトリ直下に作成する

[ a ] キーを押して挿入モードに入り、下記を入力します。(使用しているエディターによってはコピペができるので、できるならそちらで。)
なお、今回は基本的な設定しかしていません。

set encoding=utf-8    " 文字コードをutf-8に設定
scriptencoding utf-8
nnoremap <ESC><ESC> :nohlsearch<CR><ESC>    " Escの2回押しでハイライト消去
set ambiwidth=double    " 特殊文字の文字化けを修正する
set fileformats=unix,dos,mac    " 他OSで作成されたファイルに対応
set number    " 行番号を表示
set backspace=indent,eol,start    " バックスペースキーの有効化
set autoindent    " 前の行のインデントを継続させる
set smartindent    " 自動的にインデントを行う
set shiftwidth=4    " インデントする際のスペースの数
set expandtab    " タブを空白にに変換
set hlsearch    " ハイライトを有効にする
set incsearch    " 検索中に自動的にハイライトする
set ignorecase    " 小文字で検索する際に、検索結果に大文字を含める
set smartcase    " 検索文字列に、大文字と小文字が混在している場合に、区別して検索する。
set wrapscan    " 検索が末尾まで終わると先頭に戻る
set cursorline    " 現在の行に下線を表示する
set showmatch    " ()を強調させる
set iminsert=0    " 自動的にIMEをオフにする
set imsearch=-1
set wildmenu    " コマンドの補完を有効化
set history=1000    " コマンドの履歴を1000件保存
" ペースト時のインデントを防止 "
if &term =~ "xterm"
  let &t_SI .= "\e[?2004h"
  let &t_EI .= "\e[?2004l"
  let &pastetoggle = "\e[201~"
 
  function XTermPasteBegin(ret)
    set paste
    return a:ret
  endfunction
 
  inoremap <special> <expr> <Esc>[200~ XTermPasteBegin("")
endif

入力後に[ esc ]きーを押して挿入モードを抜け、[ :wq ]と入力して終了します。

SSH接続用の設定を行う

vagrantユーザーが SSH接続する際に使用するキーペアを作成します。

今回作成するキーペアは安全なものではありませんが、自分専用の仮想マシンのため利用に関しては問題ありません。( 作成した Box を外部公開するなどの場合は、適宜変更が必要です。 )

# mkdir /home/vagrant/.ssh    // .ssh ディレクトリを作成
# chmod 700 /home/vagrant/.ssh    // パーミッションを 700 変更
 
# cd /home/vagrant/.ssh    // .ssh ディレクトリに移動
# curl -k -L -o authorized_keys 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub'    // -k: SSL 証明書の警告を無視、-L: リダイレクト先に再接続、-o: ファイル名を指定して保存
 
# chmod 600 /home/vagrant/.ssh/authorized_keys  // ssh キーのパーミッションを変更
# chown -R vagrant:wheel /home/vagrant/.ssh  // キー保存先の所有者を vagrant に変更
 
ついでに sshd の設定も変更しておく。
# vi /etc/ssh/sshd_config
 
UseDNS no    // 115行目あたり SSH 接続速度向上のため
 
# systemctl restart sshd.service    // 設定を反映させるため、sshd デーモンを再起動する

sudoコマンドの設定

Vagrant Box 起動の際、vagrant up コマンドに利用される sudo コマンドの設定をする。

# visudo
%wheel ALL = (ALL)    NOPASSWD: ALL    // 110行目あたり wheelグループのユーザーがsudoコマンドをパスワードなしで実行できるようにするため、コメントを外す。

動作確認してみる…

# su - vagrant    // vagrantユーザーに切り替え
$ sudo ls /root    // rootディレクトリが表示されれば成功
$ logout

SELinuxを無効化する

色々と面倒なことになる前に無効化しておきます。

# vim /etc/sysconfig/selinux

SELINUX = disabled    // 7行目付近のencoding をdisabled に書き換える

その後、念の為再起動して確認しておく。

# shutdown -r now
( 再起動後 )
# getenforce
Disabled    // この表示が出れば無効化されている

ファイヤーウォールを無効化する

自分自身のローカル専用環境なので、ファイヤーウォール関連も無効化しておきます。

# systemctl stop firewalld.service    // ファイヤーウォールデーモンを停止
# systemctl disable firewalld.service    // 自動起動を無効化
# systemctl status firewalld.service    // 設定したステータスを確認しておく

yumリポジトリの登録

よく使いそうなリポジトリをあらかじめ追加しておきます。今回はepel、ius、remi を登録しておきます。

# yum install epel-release
# curl -s https://setup.ius.io/ | sh
# rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi    // remi の GPG key をインポートしておく
# yum install http:/rpms.famillecollet.com/enterprise/remi-release-7.rpm

インストール済のパッケージをアップデートしておく

ここまでで、一度アップデートしておきます。

# yum update
# shutdown -r now   // 再起動コマンド

開発環境用のパッケージをインストールする ( 必要な場合 )

開発に必要なパッケージをインストールしておきます。(必要になったら入れるでも構いません。)

# yum groups mark convert
# yum groupinstall "Development tools"
# yum install man man-pages man-pages-overrides man-pages-jp
# yum install wget
# yum install bash-completion
# yum install tree
1行目: グループインストールの前準備
2行目: 開発環境用のパッケージをグループで一括インストール
3行目: マニュアル表示用にmamコマンドをインストール
4行目: ファイルのダウンロード用にwgetコマンドをインストール
5行目: コマンドの補完機能の拡張パッケージをインストール
6行目: treeコマンドを使えるようにしておく

補足:SSHクライアントソフト「Moba Xterm」

詳しくは公式や紹介サイトを見ていただくことにして、簡単にスクリーンショットだけ載せておきます。

まず、起動すると下のような画面が表示されます。

画面左上にある「 Session 」をクリックします。

Session settings という画面がポップアップするので、これも左上にある「SSH」をクリックします。

SSH 接続に使用するユーザー名などの設定画面になるので、以下の内容を入力して「 OK 」をクリックします。

Remote host  :  localhost
Specify username  :  root ( rootでログインする場合 )
Port  :  2222 (仮想マシンに設定したSSH接続用ポート)
※ port 2222 は前回、仮想マシンに設定した内容です。

「 OK 」を押すとパスワードの入力を求められるので、「 vagrant 」と入力します。すると、パスワードを保存するか聞いてくるので、今回は一応「 NO 」にしておきました。

下のような画面になれば、接続完了です。

今回はここまでです。お疲れさまでした。( 戻る場合はここをクリック )
ここまで設定すればプレーンな状態の VagrantBox を作成することができますので、Box の作成まで一気に読み飛ばしていただいて構いません。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次