Home > IT関連 > OSアップグレードとりあえず終了

OSアップグレードとりあえず終了

  • Posted by: mastuoka
  • 2005年10月10日 21:58
  • IT関連
debian.pngタイトルにOSアップグレードと書いているが、実際はクリーンインストールにした。実は先週からデータをバックアップしたり、リストアしたり、クリーンインストールではなくアップグレードで済まそうとしていたが、やはりパッケージそのものが醜く入り組んできたのでこの三連休を利用してクリーンインストールを実施した。環境としては以下の状態にしたかった。

ディストリビューション: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 Logo

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.

DirectiveLocal ValueMaster Value
mbstring.detect_orderautoauto
mbstring.encoding_translationOffOff
mbstring.func_overload00
mbstring.http_inputautoauto
mbstring.http_outputEUC-JPEUC-JP
mbstring.internal_encodingEUC-JPEUC-JP
mbstring.languageJapaneseJapanese
mbstring.substitute_characterno valueno value

同じくMySQLに関するバージョン情報もこれで確認した。

MySQL Supportenabled
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 導入手順

Comments:0

Comment Form

画像の中に見える文字を入力してください。

Trackbacks:1

TrackBack URL for this entry
http://www.atopic-info.com/mt/mt-tb.cgi/666
Listed below are links to weblogs that reference
OSアップグレードとりあえず終了 from Atopic Information:アトピー性皮膚炎のブログ
EC サイト 構築 from Shoulder.jp 2006-06-01 (木) 01:33

先日、あるECサイトを運営している知人から面白い話を聞いた。それは、

Home > IT関連 > OSアップグレードとりあえず終了

検索
Feeds

Return to page top