1. canna サーバを自動で立ち上げる
---------------- # put your local stuff here # canna server # if [ -f /usr/local/canna/bin/cannaserver ]; then rm -f /var/spool/canna/lock/.CANNALOCK /usr/local/canna/bin/cannaserver; echo -n ' cannaserver Start*' fi ----------------2. samba を自動で立ち上げる
---------------- # start samba # if [ -f /usr/local/samba/bin/samba.start ] ; then /usr/local/samba/bin/samba.start >/dev/console # echo "samba " > /dev/console echo -n ' samba Start' fi ----------------3. httpd(Apache) サーバ を自動で立ち上げる
---------------- # start httpd # if [ -f /usr/local/apache/httpd -a -f /usr/local/apache/conf/httpd.conf ]; then /usr/local/apache/httpd -f /usr/local/apache/conf/httpd.conf; echo -n ' Apache httpd Start*' fi ----------------4. xdm を自動で立ち上げる
---------------- # xdm # X11R6=/usr/local/X11R6 if [ -f /usr/X11R6/bin/xdm -a -f /usr/X11R6/lib/X11/xdm/xdm-config ]; then /usr/X11R6/bin/xdm echo -n ' xdm Start*' fi ----------------samba と httpd は人によりインストール場所が違うと思います。それぞれの環境にあわせて設定しましょう。
では、上記のコマンドを以下の様に csh スクリプトにして、このスクリプト
を rc.local の中で httpd(apache) より先に実行すれば apache でバーチャル
ホスティングが行える様になります。
まず、自宅の FreeBSD を PPP 接続出来る様にしました。私の場合、テレホにしたので夜 23:00 から 翌朝 8:00 まで繋げ放題が可能になりました :D :D。と、言う事で、
・一定の時間が来たら自動的に接続したいなぁ・・。
等と思ってしまうのでした(^^;。
と、言う事で上記の希望をかなえてくれるのが cron です。まずは、コマンドを作ります。
1. PPP 接続用のコマンドの作成
2. PPP 切断用のコマンドの作成
3. いよいよ cron エントリに登録です
・下の行の説明
さて、これで追加したらセーブして終了しましょう。これで cron の登録が終りました。テストが必要ですね。恐いですから。特に電話が切れなかった場合は非常に恐いです・・(^^;;;
4. ついでにメールの pop も cron エントリに登録してしまおぅ
cron は自分が X から logout しても動いています。良い事ですね。これで後は各種サーバを立ち上げるだけですね;-)。
----------------
roman# ifconfig ed1 inet 192.168.1.11 netmask 255.255.255.0 alias
ifconfig: ioctl (SIOCAIFADDR): File exists
roman# route add -host 192.168.1.11 127.0.0.1
roman# ifconfig -a
ed1: flags=8843
新しく IP が割り当てられたかは、ifconfig か netstat コマンドで見る事が
可能です。
---------------- /usr/local/bin/ipadd
#!/bin/csh
ifconfig ed1 inet 192.168.1.11 netmask 255.255.255.0 alias
route add -host 192.168.1.11 127.0.0.1
ifconfig ed1 inet 192.168.1.12 netmask 255.255.255.0 alias
route add -host 192.168.1.12 127.0.0.1
ifconfig ed1 inet 192.168.1.13 netmask 255.255.255.0 alias
route add -host 192.168.1.13 127.0.0.1
----------------
---------------- /etc/rc.local
# IP add Command
#
if [ -f /usr/local/bin/ipadd ]; then
/usr/local/bin/ipadd;
echo -n ' IP Added VIF Start*'
fi
----------------
これで OK。後は、新しくバーチャルにフラレタIP アドレスに対し、traceroute とか、ping とか telnet してみれば、自分の PC にたどり着く事が分かると思います。にんにん(^^)。
・朝、テレホタイムが終る前に PPP を切りたいなぁ・・。
#これを読んだブロバイダな人は怒るだろうなぁ・・(^^;
プロバイダに接続してみようの所で、オートモードの説明を書かなかったのはその必要が無かったからなのでした;-)。以下のコマンドで PPP 接続が可能になります。
----------------
#!/bin/sh
/usr/sbin/ppp comeback
----------------
これを例えば /usr/local/bin/pppon に保存して、chmod 755 /usr/local/bin/pppon とすれば OK 十分なコマンドです。
IIJ-PPP ってプロセス ID を保存して無いのでしょうか・・。知っている人教えて下さい・・(^^;。私は強引にコマンドを作ってしまったのでした。
----------------
#! /usr/local/bin/perl
print "IIJ-PPP Killing procees Start\t" . `date` ."\n";
open(IN,"ps -ax |");
while(<IN>) {
next if $_ =~ /pppoff/;
if ($_ =~ /ppp/) {
@tmp = split;
$pid = $tmp[0];
print $pid . "\n";
system("kill $pid");
}
}
exit 1;
----------------
仕掛けは簡単、ps -ax として ppp と付くプロセスをはじから kill すると言う強引なコマンドです・・(^^;。これも pppon 同様、/usr/local/bin/pppoff に保存して、chmod 755 /usr/local/bin/pppoff とすれば OK です。
さてさて、コマンドの用意が出来ました。次はいよいよ cron のエントリに登録しましょう。ユーザはとりあえず自分の ID で OK です。プロンプトから crontab -e とコマンドを実行して、cron のエントリを登録します。このコマンドを打つとエディタが起動されます。普通は vi が立ち上がります。ここにエントリを登録します。
----------------
4 23 * * * /usr/local/site/bin/pppon | mail dreams 2>&1
55 7 * * * /usr/local/site/bin/pppoff | mail dreams 2>&1
----------------
・上の行の説明
毎日、23:04 に /usr/local/bin/pppon と言うコマンドを実行します。その実行結果は localhost 内の dreams さん宛にメールで送信します。
この時、メールは PPP を終了した時に送られます。
毎日、07:55 に /usr/local/bin/pppoff と言うコマンドを実行します。その実行結果は localhost 内の dreams さん宛にメールで送信します。
テストですが、各行の一番最初の数値が「分」を表しています。次の数値は「時」を表しています。その間はスペースで区切ります。"*" は "お約束" と思っていて下さい・・(^^;。で、テストを行う時間を適当に調整して下さいね(^^;。
メールの受信は OK かな?で書いたスクリプト
は端末を一個占有してしまいました・・。これではマシンの資源がもったいない・・。と言う事で、以下の行を cron に登録しましょう。
----------------
0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /usr/local/bin/popclient -3 -u dreams -p onenight pop.comeback.or.jp > /dev/null 2>&1
01,16,31,46, * * * * /usr/local/bin/popclient -3 -k -u dreams -p kaisyapass caisya.co.jp > /dev/null 2>&1
----------------
これでメールの受信も cron になりました。めでたしめでたし;-)。