Scientific Linux 6.xで、LAMP環境を構築する (+Parallels Desktop 6)

Scientific Linux 6.0


新規にMacをセットアップしたついでに、Scientific LinuxParallels Desktopでローカル開発環境としてセットアップしたときのログです。

いままでのMacBookだとメモリとかその他性能とか色々なものが不足していたので、今回はようやっと!という試み。


SL6のインストール

最初からメモリが少ないとセットアップさせてくれなかったり(256MB以下?)、グラフィカルモードでなくなったり(512MB以下?)するので、インストール時は1GBほどメモリを割り当てます。(後で下げます)

OSのISOイメージは、オフィシャルは遅いのでriken.go.jpのミラーを利用します。Scientific Linux Tipsから、インストールメディアをダウンロードします。

Parallels Desktop側ではCentOS扱いで適当に設定しています。デフォルト設定のまま進みます。

インストール中の選択肢メモ

構成は最小限から始めています。

  1. Install or Upgrade an existing system を選択して次へ
  2. Media Testは Skip して次へ
  3. 言語を選択("English"等)して次へ
  4. キーボードを選択("US English"等)して次へ
  5. デバイスの種類 Basic Storage Device(基本ストレージデバイス) を選択して次へ
  6. This device may need to be reinitialized.と言われたらRe-initialize allを選択
  7. ホスト名を設定("sl6.local"等)
  8. ConfigureNetwork(ネットワークの設定)を開く
  9. Wired(有線)から"system eth0"をえらんで、Edit(編集)する
  10. Connect automatically(自動接続)をチェックしてApply(適用)する
  11. ネットワーク設定を閉じて次へ
  12. タイムゾーンを選択("Asia/Tokyo"等)して次へ
  13. パスワードを設定して次へ
  14. インストール方法 Use All Space(すべての領域を使用する) を選択して次へ
  15. Writing storage configuration to disk.と言われたらWrite changes to diskを選択
  16. インストールタイプの選択 Minimal を選択
  17. Customize now を選択して次へ
  18. 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のあたりが変更されているようなので、注意してください。詳しくはリンク先をごらんくださいまし。