- 2005年10月10日 21:58
- IT関連
ディストリビューション:Debian GNU/Linux3.1(sarge)の公式 net インストールイメージの[i386]のisoイメージ
DNSサーバ:bind9
httpd:Apache2.x
DBサーバ:MySQL4.0.x
PHP4:php4.1.2以降
Perl:Perl5.8.x
以下上記に含まれないので各サイトから入手しインストール
blogエンジン:Movabletype3.2-ja
ポータルエンジン:XOOPS 2.0.12 JP
sargeはwoodyと比較してインストールも非常に簡単にできるようになっている。CD-Rからブートし、対話型のインストーラが起動するが、キーボード、言語の選択をしたあと、いきなり日本語でインストールが進められるようになっている。DHCPクライアントとしてNICの自動設定がされ、パーティション設定を終えて基本パッケージが入り、GRUBをマスターブートレコードにインストールしたところでCD-Rを取り出し、再起動。
再起動後はいつものように時間設定、rootのパスワード設定、一般アカウントの追加と進み、どのようなパッケージを追加するかを聞いてくるが、今回はサーバなので余計なプログラムは入れたくないので何も選択せず、そのまま進めていった。aptラインの設定が終わると、ネットワーク越しにmainのプログラムのパッケージがダウンロードされ、自動的にインストールされていった。MTAはexim4の設定を聞いてきたが、これはあとで設定した。全てが終わったところでようやくlogin:画面が表示された。
インストールした直後は、ネットワーク設定がDHCPクライアントになっている。 /etc/network/interfacesを見ると
iface eth0 inet dhcp
となっている。これを以下に変更
auto eth0
iface eth0 inet static
address xxx.xxx.xxxx.xxx(自宅サーバのプライベートIPアドレス)
netmask 255.255.255.0
network xxx.xxx.xxx.xxx
broadcast xxx.xxx.xxxx.xxx
gateway xxx.xxx.xxx.xxx(自宅ルータのプライベートIPアドレス)
次に、woodyの時に使っていた内蔵、及び外付けHDDをマウントできるようにした。
#mkdir /sda1 #mkdir /hdb1 #mkdir /hdb2 #mkdir /hdb3
/etc/fstabの設定を変更した。
# /etc/fstab: static file system information. # #proc /proc proc defaults 0 0 /dev/hda1 / ext3 defaults,errors=remount-ro 0 1 /dev/hda5 none swap sw 0 0 /dev/hdc /media/cdrom0 iso9660 ro,user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0 #/dev/sda /media/usb0 auto rw,user,noauto 0 0 /dev/sda /sda1 auto rw,user,noauto 0 0 /dev/hdb1 /hdb1 auto defaults 0 0 /dev/hdb2 /hdb2 auto defaults 0 0 /dev/hdb3 /hdb3 auto defaults 0 0
あとは、kernel2.6でインストールしたので、ipv6がオンとなっているのを殺した。/etc/modprobe.d/aliasesを編集した。
#alias net-pf-10 ipv6 alias net-pf-10 off
aptの設定も少し変更した。security.debian.orgが重いので/etc/apt/sources.listを編集した。
deb ftp://ftp.jp.debian.org/debian stable main contrib non-free deb ftp://ftp.jp.debian.org/debian-jp stable-jp main contrib non-free #deb http://security.debian.org/ stable/updates main #deb http://ftp.debian.or.jp/debian-security sarge/updates main contrib non-free #deb http://ftp1.debian.or.jp/debian-security sarge/updates main contrib non-free deb http://ftp.rfc822.org/debian-security sarge/updates main contrib non-free
以上の設定を終えてから、いったん再起動し、あとはいつものようにaptで必要なプログラムをインストールしていった。
Image::Magick関連
# apt-get install libdps1 # apt-get install imagemagick # apt-get install perlmagick
これでもなぜか入っていないようなので
# apt-get -f install perlmagick
更についでに追加。
# apt-get -f install libjcode-pm-perl libsoap-lite-perl
Apache2のモジュールで使いそうなもの
# apt-get install libapache2-mod-perl2 libapache2-mod-xmlrpc2 libapache2-mod-encoding # apt-get install libxml-atom-perl libxml-parser-perl # apt-get install php4 php4-mysql php4-gd # apt-get install mysql-server
PHP4の設定
/etc/php4/apache2/php.iniを編集し、
#register_globals on register_globals off
とし、文字コード設定など(mbstring関連)の設定値を変更した。
<?php phpinfo() ?>
という記述のコードを作成し、hoge.phpなどの名前で保存しphpinfo()が吐き出した設定情報で、以下確認した。
PHP Version 4.3.10-16 |
| System | Linux ns1 2.6.8-2-386 #1 Thu May 19 17:40:50 JST 2005 i686 |
Apahe2関連
| Apache Version | Apache/2.0.54 (Debian GNU/Linux) DAV/2 PHP/4.3.10-16 mod_ssl/2.0.54 OpenSSL/0.9.7e mod_perl/1.999.21 Perl/v5.8.4 |
| Apache API Version | 20020903 |
| Hostname:Port | ns1.atopic-info.com:0 |
| User/Group | www-data(33)/33 |
| Max Requests | Per Child: 0 - Keep Alive: on - Max Per Connection: 100 |
| Timeouts | Connection: 300 - Keep-Alive: 15 |
| Virtual Server | Yes |
| Server Root | /etc/apache2 |
| Loaded Modules | core mod_access mod_auth mod_log_config mod_logio mod_env mod_setenvif prefork http_core mod_mime mod_status mod_autoindex mod_negotiation mod_dir mod_alias mod_so mod_actions mod_cgi mod_dav mod_perl mod_php4 mod_rewrite mod_ssl mod_userdir mod_xmlrpc |
PHPの文字コード関連
| Multibyte Support | enabled |
| Japanese support | enabled |
| Simplified chinese support | enabled |
| Traditional chinese support | enabled |
| Korean support | enabled |
| Russian support | enabled |
| Multibyte (japanese) regex support | enabled |
| mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1. |
|---|
| Directive | Local Value | Master Value |
|---|---|---|
| mbstring.detect_order | auto | auto |
| mbstring.encoding_translation | Off | Off |
| mbstring.func_overload | 0 | 0 |
| mbstring.http_input | auto | auto |
| mbstring.http_output | EUC-JP | EUC-JP |
| mbstring.internal_encoding | EUC-JP | EUC-JP |
| mbstring.language | Japanese | Japanese |
| mbstring.substitute_character | no value | no value |
同じくMySQLに関するバージョン情報もこれで確認した。
| MySQL Support | enabled |
|---|---|
| Active Persistent Links | 0 |
| Active Links | 0 |
| Client API version | 4.0.24 |
MySQLのパスワード設定
# mysql -u root mysql mysql> SET PASSWORD FOR root=PASSWORD('new_password');*new_passwordは自分が設定したいパスワード
apache2関連
BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On を追加。IE の DigestAuth のバグを ad-hoc に直してくれるようになる。
apache2関連:mod_rewriteを有効にしておく。
a2enmod rewrite
/etc/apache2/ sites-available/ 利用可能な仮想ホスト設定ファイルのあるフォルダ sites-enabled/ 利用する設定のシンボリックリンクが置かれるフォルダ mods-available/ 利用可能な追加モジュール設定ファイルのあるフォルダ mods-enabled/ 利用する設定のシンボリックリンクが置かれるフォルダ mods-available にはインストール済みのモジュール用の設定ファイルが置かれているが、 a2enmod/a2dismod を使って使用/不使用が簡単に行える。
woodyでapache1.3.26で動かしていた私にはapache2の設定ファイルの配置を見たときに、「何じゃこりゃ?」だった。sargeのapache2の設定に関しては以下も参考に設定作業を進めた。
まずは仮想ホストを組み込んでみることにします。(1) コンテンツの配置
デフォルトの文書は /var/www 以下に配置されているようです。管理ユーザーが誰かにもよるのですが、今回はこれにならって /var/www 以下に配置することにします。
(2) 仮想ドメインの設定ファイルの作成
/etc/apache2/sites-available 以下に、以下のような内容の仮想ホストの設定ファイルを作成します。ファイル名は、仮想ドメイン名と同じ、ということにしておきます。
<VirtualHost *>
ServerName 仮想ドメイン名
ServerAdmin 管理者の連絡先メールアドレス
DocumentRoot 文書ルートのディレクトリのパス
<Directory 文書ルートのディレクトリのパス>
....
</Directory>
....
</VirtualHost> 設定ファイルそのものについては、世の中にあふれる Apache の参考書などごらんつかーさい。
と、ここまでだいたいできたところで、XOOPSは前の環境をそのまま引き継いだので、mysqldumpコマンドでテキストに落としていたデータを空のDBに入れ、前の環境のXOOPSのソースデータをバックアップから戻しただけですんなり動いた。問題はこのblogを書くのに使っているMovabletype。
先週の作業で、2.64→2.661へのアップグレードを行い、そのときにバークレイDBのバックアップ、DBのMySQL化、MySQLでのMovabletypeのDBのバックアップ(mysqldumpコマンドでテキストに落とした)まではやっていたが、これを3.2-jaにできるのか正直不安だった。実は2.661の状態では、上記Image::Magickが入っていないとmt-check.cgiに怒られていて、ずっとこれではまっていたのだが、別のテストマシンで今回と同じ環境を用意しMT3.2-jaのmt-check.cgiを走らせるとちゃんとインストールされていることがわかった。この一週間を返してくれ(T_T)>mt2.661のmt-check.cgiよ。
結局、Perlのモジュールでも、sargeに入っているPerl5.8.4ではうまく動かないモジュールがあるのではないかと心配していたが、テストマシンでMT3.2-jaを動かしてみたところ、上記の通りだいたい動くことがわかってきたのと、設定ポイントがだいたいつかめてきたので、本番機(現在このエントリを書いているマシン)にセットアップした。PerlのモジュールといえばCPANから落としてきてインストールすることになるが、私はこの作業が嫌いであるというかとても面倒だといつも思っていた。Perlモジュールはwebminでやったほうが楽かなと思い、以下のサイトを参考にしながら作業を進めた。
# apt-get install webmin-cpan
webminにログインし、Webmin - Ohters セクションの Perl Modulesを選択した。Crypt::DSAのインストールもできた。Crypt::DSAのインストールは結構時間がかかった。
このあとmt3.2用のmt-check.cgiを走らせると
モジュールの確認: 必要
以下のモジュールはMovable Typeのデータの保管、管理のために利用します。Movable Typeを利用するためには、以下のモジュールのうち少なくとも一つはインストールされている必要があります。CGI
サーバーには、CGIがインストールされています。(バージョン: 3.10)
HTML::Template (version >= 2)
サーバーには、HTML::Templateがインストールされています。(バージョン: 2.4)
Image::Size
サーバーには、Image::Sizeがインストールされています。(バージョン: 2.93)
File::Spec (version >= 0.8)
サーバーには、File::Specがインストールされています。(バージョン: 0.82)
CGI::Cookie
サーバーには、CGI::Cookieがインストールされています。(バージョン: 1.25)以下のモジュールはMovable Typeのデータの保管、管理のために利用します。Movable Typeを利用するためには、以下のモジュールのうち少なくとも一つはインストールされている必要があります。
DB_File
サーバーには、DB_Fileがインストールされています。(バージョン: 1.808)DBI (version >= 1.21)
サーバーには、DBIがインストールされています。(バージョン: 1.46)DBD::mysql
モジュールの確認: データ管理
サーバーには、DBD::mysqlがインストールされています。(バージョン: 2.9006)
以下のモジュールはオプションです。なくても動作しますが、関連する機能を利用するためにはインストールしておく必要があります。
HTML::Entities
サーバーには、HTML::Entitiesがインストールされています。(バージョン: 1.29)
LWP::UserAgent
サーバーには、LWP::UserAgentがインストールされています。(バージョン: 2.001)
SOAP::Lite (version >= 0.5)
サーバーには、SOAP::Liteがインストールされています。(バージョン: 0.52)
File::Temp
サーバーには、File::Tempがインストールされています。(バージョン: 0.12)
Image::Magick
サーバーには、Image::Magickがインストールされています。(バージョン: 6.0.6)
Storable
サーバーには、Storableがインストールされています。(バージョン: 2.12)
Crypt::DSA
サーバーには、Crypt::DSAがインストールされています。(バージョン: 0.13)
MIME::Base64
サーバーには、MIME::Base64がインストールされています。(バージョン: 3.04)
XML::Atom
サーバーには、XML::Atomがインストールされています。(バージョン: 0.07)Movable Typeのシステム・チェックは、無事に完了しました。準備が整いました。 サーバーには必要なモジュールがすべて揃っています。追加のモジュールのインストールは必要ありません。インストールの説明に従って、次の手順に進んでください。
実際は他にもmt-rssfeed.plまわりの細かい設定変更があったが、とりあえずリビルドは完了し、ようやく動作するようになった。
その他参考にしたところ:
岩谷エレクトロニクス:Debianサーバ構築運用ガイド
Debian GNU/Linux インストールガイド
玄箱 Debianサーバ構築メモ:Webminのインストール
Ikezoe Biz Support:Movable Type Installation 実験記
はてなダイアリー:おもてなしの空間:MovableTypeの導入
Movable Type 3.2 導入手順
- Newer: まるでゴキブリホイホイのようだ
- Older: 焼肉定食