設定&開設事例〜SephieBrainの場合〜
まあ、こんなのほかのサイトでもやってる(しかもそっちのほうが詳しい)んだけどね。一応ということで。
さっとしか説明しないが、簡潔にわかりやすくやるつもり。
最終更新:2003/9/21
1.まず用意するべきもの
回線 | これがなければインターネットできん。 できればADSLのような高速・常時回線がいいだろう。 |
グローバルIPアドレス | CATVとかだと×かも。固定だとなお良い。 |
HTTPDなどのDAEMON | httpd:ApacheやAN
HTTPDやIIS。ここではAN HTTPDの例を。 ftpd:これもいろいろある。ここではWAR-FTPDの例を。 maild:こちらのサイトで紹介されている(いた?)組み合わせ。 |
Perl(CGIとか使うなら) | ActivePerlなど |
DynamicDNSのアカウント | 私はDynDNS使ってます。他にはminiDNSなど。 固定IPだったらいらない。そのかわりに独自ドメインがいるけど。 |
サーバPC | 能力的にはPen2の300MHzとかでもいけるかも。 でもやはりPen3の800ぐらいほしいところ。 |
OS | ここではWindowsで説明していくが、LinuxなどのUNIX をCUIでつかえばロースペックで可能。 |
維持費 | 電気代+回線費。まあ、自宅サーバ開設しようなんて余裕 があるってことは、多分大丈夫。 |
根性? | トラブルがあってもくじけない。とことん突き止めて直す。 あと、サイト自体の更新意欲も必要。最終更新日が1年以上 過去、なんてサイトは誰も見てくれないかも。 |
ファイアーウォール | ルータやソフトウェアファイアーウォール(ZoneAlarmやNorton Internet SecurityやBlackICE。)。普通はルータを使ったほうが 安全性は高い。 ADSLになったらNIC二枚挿しで乗り切るつもり。だってルータ買える 金があったら他にまわしたいから(ぉ)。 |
そのたいろいろ。 | 必要に応じて。UPSやミラーサーバPCとか。 |
2.すべてそろったら次はPCを使える状態に
とにかくPCにOSを入れないことには話が進まない。Linuxを入れてもいいのだが、勉強が面倒だったので私はWindows2000(後にXP)を入れた。
普通にインストールした後、ネットにつなぐ前にウイルス対策ソフトは最低限入れておく(ネットにつなぐPCとしての常識)。
この後は回線によってやり方が違うが、私の場合はISDNなので、シリアル接続のTAをPCにつなぎ、ドライバをインストールして接続を作成し、
ネットにつなげるようにする。ADSLなんかだとルータを導入したほうがいいが、NIC二枚挿しで乗り切ることもできる。しかしその場合はソフトウェア
ファイアーウォールを導入するなどして、セキュリティ面を強化しないと危険である。無線LANする予定があるのならぜひ無線LANのAP機能つき
ルータを買うことをお勧めする。とにかく金に余裕があればルータ入れとけ!!(私は金がないので入れられないが・・・)
ちなみにルータ入れた場合はこことか見てポートを空けてくれ。たいていルータのマニュアルでわかるはずだが・・役に立てなくてすまんな。
あと、ルータ入れてもファイアーウォールは入れといたほうがいいかもしれない。念には念を。
3.いろいろなサーバ・HTTPサーバ編
・その1 html編
まあ、HTTPサーバ(httpd)にはいろんな種類があるが、私はフリーソフトでしかも日本語のAN
HTTPDを使うことにした。
まず、サイトを置くフォルダを作る。私はc:\httpdとした。次に、そこにAN
HTTPDの圧縮ファイルを解凍してできたファイルのうち、*.exeと*.dllのみ
コピーする。そして、httpd.exeを起動させる。タスクトレイの黄色いアイコンをクリックすると下のような画面が出る。
ここで注目したいのは「ドキュメントルート」というやつだ。たとえばこれが「c:\httpd」だと、「http://サーバのアドレス/html/index.html」というアドレス
で表されるファイルは「c:\httpd\html\index.html」となる。私の場合、httpd.exeのあるフォルダにしてしまったのだが、できれば「c:\httpd\www」など
として、cgi-binフォルダなどもすべてwww以下に置くのがいいかもしれない。ここまでやって、ドキュメントルートにindex.htmlというファイルを置いて、
ブラウザで「http://127.0.0.1/」にアクセスすれば置いたhtmlファイルが見えるはずだ。これでひとまずは完成。あとは普通のレンタルサーバのように
リンクを張っていけばいい。
その2 CGI・SSI編
せっかく自作サーバを立てたのに、CGIやSSIを使わないんではもったいない。が、httpdは単体でCGIとかは実行できない。CGIやSSIを実行する
ためには、「Perl(パール)」というシステムを組み込まないといけない。Windowsで動くPerlといえば「ActivePerl」なんかが有名。たしかLinuxには
標準であった気がするのだが・・・・(ディストリビューションやバージョンによって違うかも。TurboLinux7
WSにはあったはず)私はこれを「c:\httpd\
perl」にインストール。OSを再起動した後、httpd.exeを起動。メニューの「オプション(O)
- 一般(G)...」の、下のほうのリストボックスで「.pl,.cgi」を
クリックし、下の「編集」ボタンを押す。出てきたダイアログの「実行プログラム」のコンボボックスの「(perlをインストールしたフォルダ)\bin\PerlIS.dll」
というのを選択し、OKを押してダイアログボックスを閉じ、適用あるいはOKを押す。するとPerlがhttpd.exeに登録され、CGIとSSIが使えるようになる
はずである。ためしに適当なCGI(掲示板とか)を「ドキュメントルート\cgi-bin」というフォルダに突っ込み、「http://127.0.0.1/cgi-bin/tekitou.cgi」に
ブラウザでアクセスし、見事表示されればOK!うまくいかない場合は、CGIがUNIX系のカーネル特有のシステムコールを使用していないかなどを
確認するなどしてみるといい。もちろん、CGIにミスがあれば結果が返らない(・・・・.cgi
なんたら no output、つまり、cgiは出力をしなかったという
エラーメッセージが出たりする)。SSIは、html中に<!--#exec
cmd="../cgi-bin/count/counter.pl"-->などという風に記述して使う。
その3 小技編
あと、HTTPサーバとして弄れるのはエラーページぐらいか。面白いエラーページを作るとか、404(Not
Found)エラーを出すとトップページに戻る
ようにするとかできそうである。
4.いろいろなサーバ・FTPサーバ編
2003/9/21現在において、FTPサーバは必要なくなった&セキュリティ上の問題から停止しています。
あくまで過去の設定ということで事例は残しておきます。
おなじくFTPサーバもいろいろある(んだろう)が、私はWAR-FTPDというのを使っている。詳しい解説は他のサイトに頼る(をい!)として、とりあえず
私の設定を書いてみたり。使用しているバージョンは1.65(2002/9/23現在)である。まず、起動するとアイコンがトレイに出現。それをクリックすると
ウィンドウが表示される。
まず設定をしなければならない。FTPサーバを使う理由としては、外出先から仕事などのデータを転送するとか、プログラムを公開するとかいった
理由が多いと思う。だから、anonymous(匿名)ログインを許可し、なおかつパスワード付きのユーザーを作っておく。初めに、「Properties」-
「Options」から設定ダイアログを開く。各タブごとに見ていくと・・・
・Generalタブ
基本となる設定をする。まず、Go online when startedとその右のand
minimizeをチェック。これで起動すれば自動的に動作する。その下のProtect
the console with root acount passwordというやつは、自宅で動作させていて、NT系のOSであり、パスワードロックをかけているのならば必要ない
だろう。show welcome dialogは、起動したときのダイアログを出すかということだが、もしチェックが入っていたら外しておこう。あとはとくに弄る必要
はないはずだが、私はHow do you want it?をAdvancedにしているので、ここでもそうしておく。たしかSimpleだったら設定できない項目があった
ような気がする。
・File Systemタブ
ここはUser File SystemをDOSにしておく。あと、Multithreading lsのPriorityがOptimalになっているが、下の「NT(Windows
NT系の意味だろう)」を
押すとMixedになるので、私はMixedにしておいた。ちなみに下の方に書いたサイトをみると、User
File Systemは出力にのみ影響するらしい。
わたしはWindows系からFTPする目的だったのでDOSにしておいたが、Linuxでも問題なかったはずだ。
・Virtual File Systemタブ、SITEタブ
特に弄ることは無いと思う。UNIXっぽくすることができる?
・FTPタブ
ここも弄ってない。一番上のやつは「愚かなネスケのためにOSをごまかす」という意味だろう。おそらく、古いNetscape
Navigatorの中にはOSが
UNIX以外だとFTPできないやつがあるのかもしれない(NN2.1でおかしくなるらしい)。一番下のFool
my brain dead ISP!ってなんだろうと思って
ネットを探るとこんなサイトを発見!!すごく詳しくオプションの説明がなされている。どうやらプロバイダによってポート20が使えない?ので
なんとかするためのようだ。ここも弄らず。
・Server Nameタブ
一番上のところにサーバー名(なんでもいい)を、その下にメールアドレスをいれる。一番下はそのままでいけるはずだ。
・Priorityタブ
これも弄る必要なし。というか、間違ってRealtimeなんかにしてしまったら、Ctrl+Alt+Delはおろか、一切の操作ができなくなる。(次回起動時だけど
ね。)
・Soundsタブ
「Naomi」で動かしてたときはスピーカーの電源をOFFにしてあったし、「Sephie」はサウンドカードが半死に状態だし、学校に言っている間に音が
鳴っても意味無いのでそのままにしてある。
・Upload Verificationタブ
なにやらUploadファイルの検証だとか。全く設定していない。
・Logタブ
ここも全く見てすらいない。
・NTタブ
ここでサービスとして実行する設定などができるのだが・・・・AN
HTTPDもそうだが、なぜかサービス実行するとうまくいかなかったりする。で、
いまは初期状態のまま(サービスとして実行しない)にしてある。
それが終わったらOKをおして設定ウィンドウを閉じ、メインウィンドウの「No
anonymous logins」を外す。そして左上の稲妻のマークのボタンを押
せば起動する。しかし、この状態ではまだanonymousユーザではログインできない。あとはUser
maintenanceでDisableのチェックを外せばいいの
だが、このままそうしたのではマイコンピュータ以下全フォルダが見れるようになってしまう。あと、パスワードユーザも作らなければならない。そこ
でまずは、「Properties」-「Security」-「Edit Group」からaddを押してグループを追加する。名前は「root」とでもしておこう。そして、右側の「Belong
in Class」を「Sysadmin」にする。これは管理者用のグループとする。友達や仕事仲間にも使わせたいならuserというグループでも作っておこう。
そして次に「Edit User」を開き、anonymousが選択状態にあるのを確認したら「File
Access」タブの「Add」でアクセスさせるパスを追加する。
とりあえずこんな感じでパスを追加。downsはダウンロード専用、upsはアップロード専用
左から順にanon、anon\downs、anon\upsのパーミッション。 anonディレクトリは読み書き一切できない。downsディレクトリ はファイルのダウンロードのみ可能。upsフォルダはアップ ロードのみ可能。ちなみに一旦アップロードしたファイルの 名前変更/上書きは不可能(Deleteの権限を加える必要 がある) |
アクセスできるフォルダの設定が終わったら、Disable(deny
login)をはずしてApplyボタンを押す。そして、右下のDir Accessというボタンをおせば
現在のアクセス設定が表示される。ここまでの設定結果はこんなもん。
USERS AND THEIR ASSIGNED PATHS anonymous [User ] W:\testftp\anon\ups : List Write + Applies for subdirs. [User ] W:\testftp\anon\downs : List Read + Applies for subdirs. RH[User ] W:\testftp\anon : List + Applies for subdirs. [Default] E:\自鯖更新用\test\ftp : All access denied + Applies for subdirs. [Default] \ : List + Applies for subdirs. [User ] [default permissions] : List |
次に自分用のユーザ(管理者)を追加する。左下の方の「Add」ボタンを押してユーザを追加。すると、パスワードを聞いてくるので適切なものを
入力する。そして、Belong in Usergroupをroot(作った)に、Belong
in ClassをSysadminにする。これは別にしなくてもいいが、こっちにとってユーザ
管理が分かりやすいようにしておこう。で、同じようにアクセス制限を設定する。基本的にFiles、Directoriesはすべてチェックしてもいいだろう。
ただ、安易なパスワードにするとCrackされて痛い目にあうので注意。あと、淡いチェック状態は未定義といって、上位の設定に従うという意味に
なる。ここはセキュリティにかかわる項目なので、私の設定をあまり公開するわけにはいかない。上のもあくまで例である(ちなみにanonymousでの
ログインはできます。HSP関係のファイルしかおいてませんけどね。)
5.いろいろなサーバ・Mail(SMTP、POP)サーバ編
設定についてはこちらのサイトをみてほしい。私もここを参考にしてメールサーバを立てた。
利用法としては、懸賞応募時のメールアドレスに自宅サーバのアドレスを入れておき、ダイレクトメール溜めにするなどといった使い方をしている。
Terapadというフリーウェアをつかって、メーラで受信する前に中身が見れるので結構便利?しかし、送信サーバとしては使えない(セキュリティ上
他サーバへの転送を禁止しているため)ので、プロバイダのSMTPサーバを使わせてもらう。
6.いろいろなサーバ・NTPサーバ編
これはどこかのTimeServerというやつを使っている。シェアウェアなのだが、JCBカードでレジストできないので、日付をごまかして起動するというなんか調子が悪くなった(再起動できん)のと、ローカルで使用する限りは特にntpサーバたてなくてもいけるのでやめにした。
せこい手段を使っている。たのむからJCBを使えるようにしてくれよ。VISAとMasterだけってのはひどいよ。設定は省略
といっておきながら、また新たなNTP(ピッタリでチュ!)を立てたが、面倒なので(ぉ)説明はやめておく。
7.いろいろなサーバ・Proxyサーバ編
これはHTTPサーバ編で紹介しているAN HTTPDのProxyサーバ機能を使っている。なぜProxyを使っているかというと、ある日突然なぜかNTT系の
サーバにLANからのアクセスができなくなったのだ。なぜか「Sephie」からはできたので、Proxyを置いて対処している。欠点として、時々読み込まれ
ない画像があったりする。
上の症例はもう発生していないのでProxyもやめているし、面倒なので(ぉ)これもパス。