スペック
サーバマシン
CPU CELERON 1GHz
OS debian etch
運用中の主なパッケージ
apache2 2.2.3-4
bind9 1:9.3.4-2
iptables
WINDOWSマシン
CPU ATHLON 900MHz
OS WINDOWS2000
HDD 27G、60G、200G
グラフィックボード Geforce2MX
思いついたら追加更新
LINUX全般
装置構成 と ルータ RT200-KI
サーバの装置構成を。ちなみにBフレッツ光である。

RT200-KIにはDHCP機能もあり接続すると自動でIPアドレスを振り分けてくれる。電話線も2つ、LANポートも5つあり高機能だ。ただしこの機械には弱点がある。
ローカルネットワーク内からブラウザなどを用いてWEBサーバの動作確認などを行う時等に、外部公開しているWEBサーバのDNSを外から持ってくるような場合(DDNS等)、当然自分のサーバマシンにアクセスが帰ってくるはずなのだが、ループ現象というものが起きてRT200-KIの設定画面(ブラウザで設定ができるということは簡易WEBサーバ機能があるということ)が開いてしまう。
対処法は、
@内部向けDNSサーバを立ち上げ、RT200-KIを経由しないアクセス経路でWEBサーバのテストを行う(apache2のsite-availble、site-enabledの設定でVirtualHostを同一設定で、ServerNameだけ内部ドメインで後は既存の設定のコピーであるサイト設定を作る)
A外部プロキシ経由でWEBサーバへアクセスする
B端末のマシンのアクセス設定をWANに設定する(Windowsであればネットワークの接続設定をローカルエリアでなくあたかも直接外部に接続しているようにフレッツ接続のログインIDとパスワードを設定する)
取りあえずならAが楽であるが、サイトチェックの回数も膨大になるので@の設定を行った。Bは調べただけで実際に試してはいない。
RT200-KIルータが働きすぎに感じるが、自宅サーバですから自宅の事情もあります。。。

RT200-KIにはDHCP機能もあり接続すると自動でIPアドレスを振り分けてくれる。電話線も2つ、LANポートも5つあり高機能だ。ただしこの機械には弱点がある。
ローカルネットワーク内からブラウザなどを用いてWEBサーバの動作確認などを行う時等に、外部公開しているWEBサーバのDNSを外から持ってくるような場合(DDNS等)、当然自分のサーバマシンにアクセスが帰ってくるはずなのだが、ループ現象というものが起きてRT200-KIの設定画面(ブラウザで設定ができるということは簡易WEBサーバ機能があるということ)が開いてしまう。
対処法は、
@内部向けDNSサーバを立ち上げ、RT200-KIを経由しないアクセス経路でWEBサーバのテストを行う(apache2のsite-availble、site-enabledの設定でVirtualHostを同一設定で、ServerNameだけ内部ドメインで後は既存の設定のコピーであるサイト設定を作る)
A外部プロキシ経由でWEBサーバへアクセスする
B端末のマシンのアクセス設定をWANに設定する(Windowsであればネットワークの接続設定をローカルエリアでなくあたかも直接外部に接続しているようにフレッツ接続のログインIDとパスワードを設定する)
取りあえずならAが楽であるが、サイトチェックの回数も膨大になるので@の設定を行った。Bは調べただけで実際に試してはいない。
RT200-KIルータが働きすぎに感じるが、自宅サーバですから自宅の事情もあります。。。
pppoeconf と ルータ無しサーバ
フレッツ接続等はIPアドレスが可変なので
#ifconfig eth0 〜 ではインターネットへの接続は有効になりません。
pppoe接続と言う接続形態になります。
debianではpppoeconfパッケージで対話的にsetupが可能。
該当する条件の人は
#pppoeconf
と打ち込んでみればいとも簡単に接続が確立します。立ち上げ時に自動的に接続してくれるようにもなります。
ただしDSLモデム側につながっているデバイスがeth何番かはわからないといけません。
切断時は
#poff
再接続時は
#pon dsl-provider
ただ一つの問題は、debian自体をネットワークから導入する際(基本パッケージ以外はDLしながら導入)にpppoe接続でインターネットにつなぎたいところだが・・・。
ルータを買うと一番楽ですね。僕はルータを買うのがめんどくさくさらにLINUXルータを作成する気満々でしたので、CDイメージをWINDOWSPCから落としインストールしました。今は引越しを機にルータを使用しています。
#ifconfig eth0 〜 ではインターネットへの接続は有効になりません。
pppoe接続と言う接続形態になります。
debianではpppoeconfパッケージで対話的にsetupが可能。
該当する条件の人は
#pppoeconf
と打ち込んでみればいとも簡単に接続が確立します。立ち上げ時に自動的に接続してくれるようにもなります。
ただしDSLモデム側につながっているデバイスがeth何番かはわからないといけません。
切断時は
#poff
再接続時は
#pon dsl-provider
ただ一つの問題は、debian自体をネットワークから導入する際(基本パッケージ以外はDLしながら導入)にpppoe接続でインターネットにつなぎたいところだが・・・。
ルータを買うと一番楽ですね。僕はルータを買うのがめんどくさくさらにLINUXルータを作成する気満々でしたので、CDイメージをWINDOWSPCから落としインストールしました。今は引越しを機にルータを使用しています。
init.d 起動スクリプト
/etc/init.d/
以下には起動時に実行されるスクリプトが入っている。パッケージを導入した時に自動的に登録されるものは問題ないのだが、そうでない場合やちょっとしたスクリプトを起動時に実行しておきたい場合などは取り扱いについての知識が必要だ。
/etc/init.d/ <引数>
debianでは start stop restart の引数を使い、起動・停止・再起動を行う。例えば、 /etc/init.d/apache2 restart などは設定ファイルを再読み込みするのに良く使うだろう。
スクリプト自体は /etc/init.d/ におけば問題ないのだが、起動時に
/etc/rc[0-6].d/ においてあるシンボリックリンクが読み込まれて runlevel にあわせて実行される。
#update-rc.d <スクリプト名> defaults <システム起動時順序> <システム停止時順序>
#update-rc.d myscript.sh defaults 99 1
では myscript.sh を99番目(実際はスクリプトの総数による)に開始し、1番目に終わらせることを意味する。
普通のスクリプトを書く → /etc/init.d/に置く → update-rc.dで登録する
これだけで起動時自動的にスクリプトを読み込ませることができる。
もっと踏み込んだ、start stop restart を用いたinitスクリプトを作成したい場合には、以下のページが参考になると思う。
http://surf.ap.seikei.ac.jp/~nakano/linux/init.d.html
以下には起動時に実行されるスクリプトが入っている。パッケージを導入した時に自動的に登録されるものは問題ないのだが、そうでない場合やちょっとしたスクリプトを起動時に実行しておきたい場合などは取り扱いについての知識が必要だ。
/etc/init.d/
debianでは start stop restart の引数を使い、起動・停止・再起動を行う。例えば、 /etc/init.d/apache2 restart などは設定ファイルを再読み込みするのに良く使うだろう。
スクリプト自体は /etc/init.d/ におけば問題ないのだが、起動時に
/etc/rc[0-6].d/ においてあるシンボリックリンクが読み込まれて runlevel にあわせて実行される。
#update-rc.d <スクリプト名> defaults <システム起動時順序> <システム停止時順序>
#update-rc.d myscript.sh defaults 99 1
では myscript.sh を99番目(実際はスクリプトの総数による)に開始し、1番目に終わらせることを意味する。
普通のスクリプトを書く → /etc/init.d/に置く → update-rc.dで登録する
これだけで起動時自動的にスクリプトを読み込ませることができる。
もっと踏み込んだ、start stop restart を用いたinitスクリプトを作成したい場合には、以下のページが参考になると思う。
http://surf.ap.seikei.ac.jp/~nakano/linux/init.d.html
runlevel ランレベル
Debian のランレベル
Debian はデフォルトでは 2 から 5 まで同じ init スクリプトが実行され、デフォルトで使用されるランレベルは 2 。
ランレベル 0 = 停止
ランレベル 1 = シングルユーザーモード
ランレベル 2 = マルチユーザーモード (デフォルト)
ランレベル 3 = 2
ランレベル 4 = 2
ランレベル 5 = 2
ランレベル 6 = 再起動
GDM、KDM 等がインストールされていれば、2 から 5 すべてのランレベルが
GUI ログイン になる。
GUI ログインから CUI ログインにするには、GDM 等をアンインストールするか、CUI ログインしたいランレベルから GDM 等を起動しないように設定する。
一度だけ CUI ログインしたい場合、KDM等の立ち上げの際 console login
という項目があるのでそれを選択する。すでに Desktop Manager が立ち上がっている場合は
# /etc/init.d/?dm stop
として、?DM を止めてやると X が終了して CUI ログインになる。
Debian はデフォルトでは 2 から 5 まで同じ init スクリプトが実行され、デフォルトで使用されるランレベルは 2 。
ランレベル 0 = 停止
ランレベル 1 = シングルユーザーモード
ランレベル 2 = マルチユーザーモード (デフォルト)
ランレベル 3 = 2
ランレベル 4 = 2
ランレベル 5 = 2
ランレベル 6 = 再起動
GDM、KDM 等がインストールされていれば、2 から 5 すべてのランレベルが
GUI ログイン になる。
GUI ログインから CUI ログインにするには、GDM 等をアンインストールするか、CUI ログインしたいランレベルから GDM 等を起動しないように設定する。
一度だけ CUI ログインしたい場合、KDM等の立ち上げの際 console login
という項目があるのでそれを選択する。すでに Desktop Manager が立ち上がっている場合は
# /etc/init.d/?dm stop
として、?DM を止めてやると X が終了して CUI ログインになる。
CRONのログ
/var/log/cron.log
にlogが生成されると思いきや、デフォルトでは無効となっていたので、必要な場合は有効にします。
/etc/syslog.conf
内の
#cron.* /var/log/cron.log
↓
cron.* /var/log/cron.log
(コメントアウトを解除)
編集後にsysklogdを再起動します
# /etc/init.d/sysklogd restart
にlogが生成されると思いきや、デフォルトでは無効となっていたので、必要な場合は有効にします。
/etc/syslog.conf
内の
#cron.* /var/log/cron.log
↓
cron.* /var/log/cron.log
(コメントアウトを解除)
編集後にsysklogdを再起動します
# /etc/init.d/sysklogd restart