Scientific Linux 6.xで、LAMP環境を構築する (+Parallels Desktop 6)
Posted: Updated:
Scientific Linux 6.0
新規にMacをセットアップしたついでに、Scientific LinuxをParallels Desktopでローカル開発環境としてセットアップしたときのログです。
いままでのMacBookだとメモリとかその他性能とか色々なものが不足していたので、今回はようやっと!という試み。
SL6のインストール
最初からメモリが少ないとセットアップさせてくれなかったり(256MB以下?)、グラフィカルモードでなくなったり(512MB以下?)するので、インストール時は1GBほどメモリを割り当てます。(後で下げます)
OSのISOイメージは、オフィシャルは遅いのでriken.go.jpのミラーを利用します。Scientific Linux Tipsから、インストールメディアをダウンロードします。
Parallels Desktop側ではCentOS扱いで適当に設定しています。デフォルト設定のまま進みます。
インストール中の選択肢メモ
構成は最小限から始めています。
- Install or Upgrade an existing system を選択して次へ
- Media Testは Skip して次へ
- 言語を選択("English"等)して次へ
- キーボードを選択("US English"等)して次へ
- デバイスの種類 Basic Storage Device(基本ストレージデバイス) を選択して次へ
- This device may need to be reinitialized.と言われたらRe-initialize allを選択
- ホスト名を設定("sl6.local"等)
- ConfigureNetwork(ネットワークの設定)を開く
- Wired(有線)から"system eth0"をえらんで、Edit(編集)する
- Connect automatically(自動接続)をチェックしてApply(適用)する
- ネットワーク設定を閉じて次へ
- タイムゾーンを選択("Asia/Tokyo"等)して次へ
- パスワードを設定して次へ
- インストール方法 Use All Space(すべての領域を使用する) を選択して次へ
- Writing storage configuration to disk.と言われたらWrite changes to diskを選択
- インストールタイプの選択 Minimal を選択
- Customize now を選択して次へ
- Base SystemのなかのBaseにチェックして次へ
ついでにParallels Toolsをインストール
仮想マシンウインドウのVirtual MachineからInstall Parallels Toolsを選択すると、それのインストーラが入ったISOイメージがマウントされます。
左の画面はinstaller起動後の最後。この画面にたどり着くためには以下のようにします。
Upgrading or Installing Parallels Tools in Text Mode in a Linux Guest OSを参考にしつつ手を進めます。dvdに刺さってるので、ちゃんとマウントしてあげれば問題ないはず。
マウントポイントの作成
% mkdir /media/dvd
dev/dvdを、media/dvdにマウント
% mount -o exec /dev/dvd /media/dvd
インストールを実行
% cd /media/dvd
% ./install
リポジトリ周りを整備
これからミドルウェアをヤムヤムするために、yum.repos.d周辺をどうこうしていきます。
標準repoのbaseurlをrikenにふりかえる
貧乏人のRedHat: CentOSとScientific Linuxの違い - bero の日記のコメント欄を参考に、低速な本家リポジトリから、高速な国内リポジトリにbaseurlを変更します。
% emacs /etc/yum.repos.d/sl.repo
#baseurl=http://ftp.scientificlinux.org/linux/scientific/$releasever/$basearch/os/
baseurl=http://ftp.riken.jp/Linux/scientific/$releasever/$basearch/os/
% emacs /etc/yum.repos.d/sl-updates.repo
#baseurl=http://ftp.scientificlinux.org/linux/scientific/$releasever/$basearch/updates/security/
baseurl=http://ftp.riken.jp/Linux/scientific/$releasever/$basearch/updates/security/
#baseurl=http://ftp.scientificlinux.org/linux/scientific/$releasever/$basearch/updates/fastbugs/
baseurl=http://ftp.riken.jp/Linux/scientific/$releasever/$basearch/updates/fastbugs/
先日リリースされたScientific Linux 6.1ではsl.repo周りが変更されているようなので、この記事の最後のほうのSL6.1の参考情報をご覧ください。
remiをいれる
今までの感じだと、remiがあればそれでいい気がしてるので、今回はremiだけ入れてみます。RepoView: Les RPM de RemiからRHEL6系のrpmを落としてきます。
% wget http://rpms.famillecollet.com/RPM-GPG-KEY-remi
% wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
% rpm --import RPM-GPG-KEY-remi
% rpm -Uvh remi-release-6.rpm
remiはデフォルトでenbaled=0なので、使うときは --enablerepo=remi と指定します。
基本的な部分の設定
とりあえずこれが無いとしぬものだけ先行してinstallします。設定ファイルはあとからscpとかで送り込みます。
% yum install emacs
% yum install zsh
% chsh -s /bin/zsh
ローカルだし色々めんどいので激アマ設定に
SELINUXとIPTABLESの類を無効化します。どこかでrebootするまでは反映されてません。
% emacs /etc/selinux/config
#SELINUX=enforcing
SELINUX=disalbed
% chkconfig iptables6 off
% chkconfig iptables off
ユーザーを作成しておく
ユーザーを作成して、sudoできるようにしておきます。必要なら公開鍵とかも別途設定するとよろしいかと。(参考:とあるさくらのVPS (1) ユーザーとSSHを設定)
% useradd YOURNAME
% passwd YOURNAME
[new password]
% usermod -G wheel YOURNAME
% chsh -s /bin/zsh YOURNAME
% visudo
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
アップデートかけてそろそろリブート
このあとはMac側のTerminalからSSHして操作したいので、ifconfigでIPアドレスを控えてから、updateしてrebootをかけます。
% ifconfig
eth0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
inet addr:ここにIPアドレスでるよ Bcast:000.000.000.000 Mask:255.255.254.0
...
% yum update
% reboot
SSHできることを確認
再起動を確認したらMac側でTerminalを開いて、sshできるかを確認します。以後は、通常ユーザでログイン&操作して、権限が必要な箇所ではsudoしているものとします。suしてもいいんですけどね :-)
% ssh 控えたIPアドレス -l YOURNAME
[input password]
ようやっとLAMPの用意
延々と事前設定が続きましたが、ミドルウェアのインストールに移ります。基本はremiの新しめなバージョン狙いでいきます。
いきなりぶつかるreleaseverとremiの相性
素直に --enablerepo=remi だけだとそんなURLは見つからないぞと、404大会になってしまいます。
404になると思うパターン
% yum -y --enablerepo=remi install httpd
じつは、Scientific Linuxの場合$releaseverが、 6.0 や 6.1 のようにマイナーバージョン込みの番号になるので、http://rpms.famillecollet.com/enterprise/6.0/remi/mirror が参照されて404になります。正しくは、http://rpms.famillecollet.com/enterprise/6/remi/mirror です。
そこで、remiをつかうときはreleaseverも指定してやる必要があります。
yum -y --releasever=6 --enablerepo=remi install...
yumを叩くときに、--releasever=6 を加えることで、先ほどの問題をクリアできます。
% yum -y --releasever=6 --enablerepo=remi install httpd
% yum -y --releasever=6 --enablerepo=remi install mysql mysql-server
% yum -y --releasever=6 --enablerepo=remi install php php-mbstring php-cli php-mysql php-pdo php-gd
chkconfig httpd on
chkconfig mysqld on
設定と起動確認
mysqlは root & パスなしのままでいきますが、apacheはServerNameの設定をしておきます。たぶんこれで起動するはず。
% emacs /etc/httpd/conf/httpd.conf
#ServerName www.example.com:80
ServerName 控えておいた仮想マシンのIP:80
% /etc/init.d/mysqld start
% /etc/init.d/httpd start
これでブラウザから仮想マシンのIPを開いたときに、左のような画面になっていれば成功です。
あとは順次、PHPの動作等も調べていけば大丈夫です。
とりあえずココマデ!
このあとphpMyAdmin(MySQL Workbenchで済ますかも?)とか、SFTPの設定とか色々やることになるのですが、いずれも必須ではないので割愛します。
ここまで触ってみた感じは、やっぱりCentOSとぜんぜん変わらないので、わりとすんなりScientific Linuxに移ることが出来るのではないでしょうか。
ところでSL6.1がリリースされていました。
releaseverがマイナーバージョンを含んでいることで、明示的に6.1を指定してupdateしないといけませんが、下記のような感じでupdateできるみたいです。
% yum --releasever=6.1 update sl-release
% yum update
アップデートの際は、こちらのサイトが参考になります。yum.repos.dのあたりが変更されているようなので、注意してください。詳しくはリンク先をごらんくださいまし。