FreeBSD 6.1 & Apache 2.2 & MySQL 5.1 & PHP5 & Drupal 4.7.2 インストール

お仕事でFreeBSDのサーバを作るための練習をしました。
環境は6.1-RELEASE-i386
なんでFreeBSDを選んだのかは自分でもよくわかりません。サーバ用途ならLinuxよりFreeBSD というのをどこかで見たことがあるような気がしました。とにかく慣れてみようかと。
適度にドキュメントがあることも重要です。

ハードウエア
NEC MA12T(リース切れで転がっていたもの)
メモリ
512M
ハードディスク
SUMSUNG
モニタ
15インチ液晶モニタ

前提条件として僕のスキルについて書いておくと
FreeBSDは触ったことがありません。MacOSXには触ったことがあります。
10年ほど前にNECのEWS(System V)を手順書にしたがってSGしたことがあります。
viは基本的なコマンドが少しわかる程度です。
要はまったく知識がありません。苦労しました。

1.FreeBSD用のイメージファイルをダウンロード

ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/6.1/
から
6.1-RELEASE-i386-bootonly.iso
をWindowsの動いているマシンでダウンロードしました。

2.isoイメージをCD-Rに焼く

ダウンロードしたイメージをPCに添付されていたSonic Record Now DX を使って焼きました。
メディアは太陽誘電のです。

3.2で作ったCD-Rをいれてターゲットマシンを起動。

 

4.インストール前の設定

言語:Japanese
Keymap:Japanese 106
Standardインストール(recomendedと書いてあったので)
スライス(Windowsで言うところのパーティションとのこと)はaを押してハードディスク全部に割り当て
Bootマネージャは必要ないのでStandard(no boot manager)
パーティションもスライスと同様にaキーを押して自動作成(本来aキーはデスクトップ向けの設定だそうです)
デストリビューションはALL

5.インストールの実行

Firewall内なのでHTTPを選択
NIC:fxp0 Intel EtherExpress Pro/100B PCI Fast Ethernet card
Host:sv.exsample.co.jp
Domain:exsample.co.jp
Geteway:WindowsのPCと一緒
Name Server:WindowsのPCと一緒
IPv4 Address:固定IPアドレスを記入
Netmask:255.255.255.0
ドメインを指定しない場合はlocalhostと記入するらしいです。

6.30分ほどでインストール終了

いくつかメッセージボックスが表示されるが以下の記述以外はデフォルトにしておく
Time Zoneは5 Asia から18 Japan
Linux binary compatibilityはなんとなくNoにしました。(まずい?)
PS/2マウスは使うかもなのでYesを選択。テストをすると問題なくOK。

7.portsの画面になる。

FreeBSDにはportsという便利な仕組みがあるそうです。
入れたいパッケージのディレクトリまで行ってmale installでインストールができるというもの。すごいです。初心者にはそのディレクトリがどこにあるのか探すだけでも大変ですけど。
今回インストールしたいのは
・Apache /usr/ports/www/apache22
・MySQL /usr/ports/databases/mysql51-server
・PHP /usr/ports/lang/php5
・phpMyAdmin /usr/ports/databases/phpmyadmin
・FTP
・Telnet
あとDrupal
とりあえず、最小構成で立ち上げてみたいのでとりあえず後回し。
何もインストールしないでInstallを選択する。

 

 

8.ユーザの作成

とりあえず僕を追加
Groupはwheelを選択
Member Groupはoperator(PCの電源をrootにならなくても切れるらしいです)
Login shell は /bin/tcsh に変更

 

 

9.rootの名パスワードの設定

10.CDを抜いてリブート

ここまで約40分です。

11.DefaultでBoot

 

12.rootでログイン

Welcome to FreeBSD!

13.環境変数にHTTP_PROXYを追加

Firewallの中にいるとまずこの設定をしないとfetchができません。
HTTP Proxyを利用する場合は、
csh/tcshでは、~/.cshrcに以下を追加。
setenv{TAB}HTTP_PROXY{TAB}hostname:port
タブで区切らないと怒られます。

 

 

14.再起動

shutdown -r now
#reboot

 

 

15.再びrootでログイン

 

16.apacheインストール

# cd /usr/ports/www/apache22/
# make clean
# make WITH_REWRITE_MODULES=yes

途中いろいろ聞かれますがデフォルトでWITH_REWRITE_MODULESオプションはDrupalのClean URLsを利用するためなのですが、本当に必要なのかはわかりません

#make install

 

 

17.MySQLインストール

# cd /usr/ports/databases/mysql51-server
# make install

18.PHP5インストール

# cd /usr/ports/lang/php5
# make install

19.phpMyAdminインストール

# cd /usr/ports/databases/phpmyadmin
# make install

Improved MySQL何とかもインストール

20.rc.confの編集

# vi /etc/rc.conf
apache22_enable="YES"
mysql_enable="YES"

これで起動するとApacheとMySQLが自動起動します。

 

 

21.httpd.confの編集

# vi /usr/local/etc/apache22/httpd.conf
--<IfModule mime_module>の中
AddHandler cgi-script .cgi
Addtype application/x-httpd-php .php
--<IfModule dir_module>の中
DirectoryIndex index.php index.html
※<IfModule alias_module>の中
Alias /phpmyadmin/ /usr/local/www/phpMyAdmin/
<Directory "/usr/local/www/phpMyAdmin">
Options -Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>

 

 

22.Apahce再起動

# /usr/local/etc/rc.d/apache22.sh restart

 

 

23.MySQLにrootパスワードを設定。

# /usr/local/bin/mysqladmin -u root password hogehoge

24.phpMyAdminの設定

# cp /usr/local/www/phpMyAdmin/config.default.php /usr/local/www/phpMyAdmin/config.inc.php
# vi /usr/local/www/phpMyAdmin/config.inc.php
$cfg['PmaAbsoluteUri'] = 'http://100.1.1.1/phpmyadmin/';
$cfg['blowfish_secret'] = 'hogehoge';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
//$cfg['Servers'][$i]['user'] = 'root';
//$cfg['Servers'][$i]['password'] = '';
$cfg['DefaultLang'] = 'ja';
$cfg['DefaultCharset'] = 'UTF-8';

※config.inc.phpを設定。
auth_typeはcookieにしておいてuser/passwordは不要だそうです。

 

 

25.Drupalダウンロード

#cd home
#fetch http://ftp.osuosl.org/pub/drupal/files/projects/drupal-4.7.2.tar.gz.
#tar xzvf drupal-4.7.2.tar.gz
#cd drupal-4.7.2
#mv * /usr/local/www/apache22/data/
#mv .htaccess /usr/local/www/apache22/data/
#cd ..
#rm drupal-4.7.2.tar.gz

たぶん全部をmvできると思うのですが

26.データベース作成

mysql -u root -p
create database drupal;
mysql -u root -p drupal <database/database.4.1mysql

27.Drupal設定ファイル編集

#vi /usr/local/www/apache22/data/sites/default/settings.php

db_url = 'mysql://drupal:password@localhost/drupal';
base_url = 'BASE_URL';

28.ファイルの作成

Drupalの使うfilesフォルダを作成します。
# mkdir files
# chown www:www files
# chmod 775 files

29.ブラウザでアクセス

初期ユーザの登録

 

朝から初めておやつの時間になっちゃいました。


参考にさせていただいたサイト
どうもありがとうございました。

・Monologue[http://blog.teachat.org/]
やったことはほぼすべてこのサイトに書いてあるとおりにやりました。

・UNIXな生活[http://park15.wakwak.com/~unixlife/]
Firewall内からHttp Proxyを使う方法を参考にさせていただきました。

・Drupal Linux wiki[http://oku.edu.mie-u.ac.jp/~okumura/linux/?Drupal]
Drupalのインストールを参考にさせていただきました。

・vi機能主要別コマンドリファレンス[http://www.glasscom.com/tone/linux/Reference/Vi/ViReference1.htm]
viのコマンドを参考にさせていただきました。

参考にさせていただいた本
・FreeBSD ビギナーズバイブル

IBM-なぜFreeBSDか[http://www-06.ibm.com/jp/developerworks/opensource/050819/j_os-freebsd.shtml ]
BSDオルタナティブのクイック・ツアー