最初に自分のPCにUnixを入れた日、大学1年の頃。
FreeBSDでサーバ構築という、その当時としてはめずらしい雑誌があったので買い、FreeBSD2.8を自宅の486マシンに突っ込んだっけ。ISAバスというスロットにさしていたNICを認識させるのにも一苦労してたっけ。
それがいまや、FreeBSD on Linux with Vmwareという時代。いやー、楽だ。
FreeBSDはここ6年ぐらい触ってなくて久々に触ってみたら、あまり変わらないインストール方法だったので、思い出しながら結構すんなりできた。
インストールした状態はすごく簡素な感じで、あとからportsでどんどん入れてくという感じ。bashも後から入れた。ネットワークの設定ファイルがどれだったか分からなくなって、/usr/sbin/sysinstallのコンソールで設定したりした。/etc/rc.confだったのね。
今回は、Apache, MySQLを手動でコンパイルして、qmail, ImageMagick, bash, wgetなどは全てportsからインストール。
いやぁ、portsは楽だ。昔からこんなシステムを構築してたFreeBSDは偉大だ。
初めてqmailを使ってみたけど、/var/qmail以下に全てファイルが集約されてていい感じ。設定も楽だった。
とりあえず、今後の自分のために下記、作業ログ。
■MySQLのインストール
MySQL5.0.67
ユーザmysql グループmysqlを追加(パスワード無し)
./configure --prefix=/usr/local/mysql5 --with-extra-charset=all make make install 初期化 /usr/local/mysql5/bin/mysql_install_db --user=mysql MySQLの起動 /usr/local/mysql5/bin/mysqld_safe --user=mysql & 自動起動の設定 cd /home/username/source/mysql-5.0.67/support-files cp mysql.server /usr/local/etc/rc.d/mysqld.sh chmod 755 /usr/local/etc/rc.d/mysqld.sh my.cnfの設定 cp /usr/local/mysql5/share/mysql/my-medium.cnf /etc/my.cnf
./configure --prefix=/usr/local/apache --enable-module=so --enabel-module=rewrite make make install
自動起動の設定
vi /usr/local/etc/rc.d/httpd.sh #!/bin/sh # apache=/usr/local/apache/bin/httpd apachectl=/usr/local/apache/bin/apachectl if [ -f $apache ]; then $apachectl start echo -n ' Apache Server Started ' fi chmod 755 /usr/local/etc/rc.d/httpd.sh
export PATH=/usr/local/mysql5/bin:$PATH perl -MCPAN -e shell install DBD::mysql install DBI
■ImageMagickのインストール(Portsインストール)
cd /usr/ports/graphics/ImageMagick make configure make make install
■メール(qmailの設定)
参考
http://www.atmarkit.co.jp/flinux/rensai/qmail01/qmail01a.html
http://ns.f-bell.net/FreeBSD/qmail.html
http://www.atmarkit.co.jp/flinux/rensai/qmail06/qmail06b.html
http://www.y-min.or.jp/~nob/qmail/vd.html
sendmailの停止 /etc/rc.d/sendmail stop chmod 000 /etc/rc.d/sendmail chmod 000 /etc/rc.sendmail cd /usr/ports/mail/qmail make configure (Localtime Patchと起動シェルqmail.shの作成のオプションを選択) make make install CGIから呼び出すsendmailをリンク ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail 起動スクリプト設定 cp /var/qmail/boot/home /var/qmail/rc まずは、username@hogehoge.orgにきたメールを受け取れるようにする cd /var/qmail/configure/ ./config-fast hogehoge.org /var/qmail/rc startで起動 vi /etc/inetd.confで下記のコメントをはずす smtp stream tcp nowait qmaild /var/qmail/bin/tcp-env tcp-env /var/qmail/bin/qmail-smtpd /etc/rc.d/inetd restart
ここまでで、username@hogehoge.orgにきたメールが受信できるようになる。
受信後は、usernameのホームディレクトリのMailboxにメールの内容が格納される。
次にバーチャルドメインで複数ドメインをqmailで扱う設定
具体的には、eeeee@hehehe.orgにきたメールを/home/username/Mailboxで受け取れるようにする
cd /var/qmail/control vi rcpthosts hehehe.orgを追記 vi virtualdomains hehehe.org:username /home/username/.qmail-defaultを作成し下記を記載 &username@hogehoge.org qmail再起動 /var/qmail/rc stop /var/qmail/rc start
これだけで、aaa@hehehe.org宛のメールも、bbb@hehehe.org宛のメールも全て、username@hogehoge.org宛のメールボックスに入るようになる。
これを応用して、@hehehe.org宛のメールを全てプログラムに渡して、プログラムで何かしらの処理をするようにも出来る。
vi /home/username/.qmail-default &username@hogehoge.org |perl /home/username/perl/hehehe_script.pl
こうすると、hehehe.org宛の全てのメールが、username@hogehoge.orgに転送され、かつ、hehehe_script.plにメールの内容が渡されるようになる。
メールでユーザ登録とか、そいうのにも使えるよ。