VMWareにFreeBSDとMovable Typeをinstallする(覚書) | けむしのブログ

VMWareにFreeBSDとMovable Typeをinstallする(覚書)

覚書なので意味不明な点があるかも、$は通常ユーザのプロンプト、#はrootのプロンプト

※今回はVMWare Server上にFreeBSD環境を構築してインストール
※hogeというユーザを作っておく

■VMWare_ServerにFreeBSDをインストール(packageをインストールしない状態で)
(1)ISOイメージをダウンロードしてCDに焼く
※ packageをインストールしないならdownloadはcd1だけでよい

後は
http://serverfan.dip.jp/freebsd/install63.html 参照


■apachのインストール
sysinstallからインストールしてみる
(1)rootでログイン
(2)$sysinstall
(3)configure
(4)Packages
(5)3 FTP Passive
(6)Japan
(7)www
(8)apache+mod_perl-1.3.39

ついでにperlがインストールされる

■suの設定
rootでログインして/etc/groupを編集
FreeBSDではwheelというグループに登録されていないユーザはsuできない
sshはrootでログインできないのでteratermなどで作業をするために必要
/etc/groupを編集
wheel:*:0:root,hoge
^^^^↑これを追加(これでユーザhogeはsuできる)

http://www.server-memo.net/freebsd/freebsd-su 参照

■cvsupのインストール
portsを最新にするにするためにcvsupをインストールする
http://iris.homeunix.net/yayoi/freebsd/inst/cvsup.asp
(1)portsを使ってインストール
$ cd /usr/ports/net/cvsup-without-gui
$ su
# make install clean
(2)shellにコマンドを認識させるためにrehashを実行(これが本当に必要かどうかは未検証)
# rehash
(3)cvsupのsupfileを作る
# cp /usr/share/examples/cvsup/ports-supfile /etc (この場合は/etcにコピー)
# chmod 644 /etc/ports-supfile (コピーしたports-supfileは読み取り専用なので解除)
(4)ports-supfileの編集
*default host=CHANGE_THIS.FreeBSD.org の部分を書き換える
http://www.jp.freebsd.org/www.FreeBSD.org/doc/ja_JP.eucJP/books/handbook/cvsup.html#CVSUP-MIRRORS
から一番近そうなホストを選んで書き換え
今回は
*default host=cvsup.jp.FreeBSD.org
とした
(5)最新にするカテゴリーの選択
カテゴリーを選択する場合は
ports-all
の行をコメントアウトして
#ports-base
以下のコメントを必要に応じてはずせばよい
※今回は(5)は実行せずただしcvsupの初回実行には非常に時間がかかった
(6)cvsupの実行
# cvsup -g -L2 /etc/ports-supfile

■postgesql8.3.3のインストール

http://www.kishiro.com/FreeBSD/postgresql8.html

(1)rootにログイン
(2)# cd /usr/ports/databases/postgresql83-server
(2)# make config-recursive
・defaultの設定のままでOK
lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
x Options for postgresql-server 8.3.3 x
x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
x x[X] NLS Use internationalized messages x x
x x[ ] PAM Build with PAM support (server only) x x
x x[ ] LDAP Build with LDAP authentication support x x
x x[ ] MIT_KRB5 Build with MIT's kerberos support x x
x x[ ] HEIMDAL_KRB5 Builds with Heimdal kerberos support x x
x x[ ] OPTIMIZED_CFLAGS Builds with compiler optimizations (-O3) x x
x x[X] XML Build with XML data type (server) x x
x x[X] TZDATA Use internal timezone database (server) x x
x x[ ] DEBUG Builds with debugging symbols x x
x x[ ] ICU Use ICU for unicode collation (server) x x
x x[ ] INTDATE Builds with 64-bit date/time type (server)x x
x x x x
x x x x
x x x x
x x x x
tqmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjqu
x [ OK ] Cancel x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj

(2) # make install clean
※ftpがUSに向いている→これをJPに向ける方法を探す

(3) dbの初期化
# su pgsql
$ cd /usr/local/pgsql/
$ mkdir data
$ initdb -D ./data --encoding=EUC_JP --lc-collate=C ←今回はEUCを使うので参考ページから変更


(4) db serverの起動(とりあえず)
$ su pgsql
$ postmaster -D /usr/local/pgsql/data

(5)rc.confに設定(起動時にpostgreSQLを立ち上げる)
以下の行を追加

postgresql_enable="YES"
postgresql_flags="-w -s -m fast"
postgresql_initdb_flags="--encoding=EUC_JP --lc-collate=C"
postgresql_class="default"

■PHPのインストール
(1)rootにログイン
(2)# cd /usr/ports/lang/php5
(3)# make config-recursive
lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
x Options for php5 5.2.6_2 x
x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
x x[X] CLI Build CLI version x x
x x[X] CGI Build CGI version x x
x x[X] APACHE Build Apache module x x
x x[ ] DEBUG Enable debug x x
x x[X] SUHOSIN Enable Suhosin protection system (not for jails) x x
x x[ ] MULTIBYTE Enable zend multibyte support x x
x x[ ] IPV6 Enable ipv6 support x x
x x[ ] MAILHEAD Enable mail header patch x x
x x[ ] REDIRECT Enable force-cgi-redirect support (CGI only) x x
x x[ ] DISCARD Enable discard-path support (CGI only) x x
x x[X] FASTCGI Enable fastcgi support (CGI only) x x
x x[X] PATHINFO Enable path-info-check support (CGI only) x x
x x x x
x x x x
x x x x
tqmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjqu
x [ OK ] Cancel x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
(5)# make install clean

■cpanのインストール

http://x68000.q-e-d.net/~68user/net/ext-module.html 参照

(0)インストール前にインストールするもの portでインストールしておく
gzip
unzip
lynx
wget
ncftp3
gunpg
(1)cpanのインストール
# perl -MCPAN -e shell ←cpan起動初回起動時にパラメータを設定

いろいろ聞かれるので適当に入力(default)でよい


■Movable Type に必要なperlモジュールのインストール
cpan> install hogehoge
・CGI
・Image::Size
・File::Spec (バージョン0.8以上)
・CGI::Cookie

・DBD::Pg (バージョン1.32以上)
→cpanでうまくinstallできなかったのでports で /usr/ports/databases/p5-DBD-Pg からインストール


・HTML::Entities
・LWP::UserAgent
・SOAP::Lite (バージョン0.5以上)
・File::Temp
・Image::Magick
→cpanからうまくインストールできない→ports からImageMagickをインストール
→bsdpan-Image-Magick-6.4.3 がImage::Magicのパッケージらしい(pkg_infoで確認)
・Storable
・Crypt::DSA
・MIME::Base64
・XML::Atom
・Archive::Tar
・Archive::Zip
・IO::Compress::Gzip
・IO::Uncompress::Gunzip

※先にインストールしたものの依存関係にあるものはすでにinstallされているので
hogehoge is up to date.
となるのでそのまま次をinstall

■FTPdを設定 (Movable Type をuploadするのに必要)
(1)/etc/rc.confに
inetd_enable="YES"
を追記
(2)/etc/inetd.confを編集
#ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l
のコメントアウトをはずす
(3)OS再起動


■apacheの設定
(1)/etc/hostsに127.0.0.1を設定 host名はFreeBSDのnetworkの設定で設定したもの"test.system.local"
→これが無いとwebブラウザで表示ができない(?)
/var/log/httpd_error.log に
[alert] mod_unique_id: unable to gethostbyname("test.system.local")
とでる
(2)/usr/local/etc/apache/httpd.conf の編集
必要に応じてやる。
今回は編集なし

■apacheの起動
#apachectl start
※再起動の場合は
#apachectl restart

■PostgreSQLにロール、DBの作成
(1)pgsqlユーザに変更
#su pgsql
(2)ロールmtuserの作成
$createuser -P --no-adduser --no-createdb mtuser
(3)DB mt の作成
$createdb --owner mtuser mt

http://www.sixapart.jp/movabletype/manual/3.3/02_system_admin_guide/installation/database_option_postgresql.html



■Movable Typeのインストール
(1)ディレクトリの作成
・/usr/local/www/data 下に
mt-statics
blog
のディレクトリを作成
・/usr/local/www/cgi-bin/ 下に
mt
のディレクトリを作成
(2)Movable Type をdownloadしてきて解凍したものをFTPでupload
・解凍したディレクトリ\mt-static 下のディレクトリ、ファイルを
/usr/local/www/data/mt-statics
にupload
・解凍したディレクトリの上記以外のディレクトリ、ファイルを
/usr/local/www/cgi-bin/mt
にupload
(3)パーミッション (権限) の設定
・ /usr/local/www/cgi-bin/mtの *.cgi の権限を、755 に設定
・ /usr/local/www/data/blogの権限を、777 に設定。
・ /usr/local/www/datamt-static/support ディレクトリの権限を、777 に設定

http://www.movabletype.jp/documentation/linux.html

(4) webブラウザから
http://192.168.2.121/cgi-bin/mt/mt-check.cgi
を実行してモジュール等のインストール状況をチェック

・足りなかったperlモジュールの追加
・GD
(1)portsからGDをinstall
(2)cpan で GD をinstall
・Mail::Sendmail
(1)cpan で Mail::Sendmail をinstall

(5) webブラウザから
http://192.168.2.121/cgi-bin/mt/mt.cgi
を実行
ウィザードが始まるので適当に入力

以上で、設定終了

あと設定しなければならないこと
・apacheを起動時に実行するようにする
・日本語コードをeucに変更する