4.3以降のパピーは初期状態で hiawathaが httpサーバーとして perlのcgiも動作するよう設定済みです。いずれかから入手した hiawathaのパッケージを重ねてインストールし、混乱されている例が多い。ご注意。
hiawathaの自動起動
メインメニューから「PPLOG」を起動することでGUIによりスタートできますが、これをパピーの起動時にhiawathaを自動起動するには、/usr/sbin/hiawatha.run へのリンクを /etc/init.d 内に作る。
これをGUIで行うには、ROX-Filer で /usr/sbin と /etc/init.d とを開いておき、/usr/sbin/hiawatha.run を /etc/init.d 内にドラッグアンドドロップ、「link(絶対パス)」を選ぶ。
あるいはコマンドラインから ln -s /usr/sbin/hiawatha.run /etc/init.d
hiawathaの設定ファイル
/etc/hiawatha/hiawatha.conf
WebページをLAN上に公開
hiawathaを起動しておき、ブラウザで http://127.0.0.1/ にアクセスすると /root/Web-Server/index.html の内容(初期状態では Hiawatha のwelcome ページ)が表示される。しかし、PCのLAN内アドレスが 192.168.11.3だったとして、http://192.168.11.3/にアクセスしてもエラーとなる。そこで、
1. /etc/hiawatha/hiawatha.conf を修正。Binding の中の Interface = 127.0.0.1 と、なっているところを Interface = 0.0.0.0 に変更。
2. hiawatha をいったん停止、ふたたび起動。
3. これで http://192.168.11.3/にアクセスすると、 http://127.0.0.1/ のと同じページが表示される。
参考
http://192.168.11.3/と、 http://127.0.0.1/ とで表示ページを変えることもできる。
pplogを公開したい。 viewtopic.php?f=12&t=1483
VirtualHostについて viewtopic.php?f=12&t=1586
Webページをインターネット上に公開
1. サーバPCのLAN内IPアドレス(192.168.xxx.xxx)を固定。
3. ルータで tcpポート 80 をポートフォワード。
4 グローバルIPが固定でなければ、ダイナミック・ドメイン・ネーム・サービス(DDNS)などを利用する。
5. /etc/hiawatha/hiawatha.conf を適切に設定し、hiawathaを起動。
6. 外部からアクセスできるかを、ネット上のサービスで確認。
7. 外部からアクセスできるが、LAN内からアクセスできないときは、/etc/hosts ファイルなどで処置。
コンテンツの置き場所
トップページは標準設定だと /root/Web-Server。hiawathaを起動しておき、ブラウザで http://127.0.0.1/ にアクセスすると /root/Web-Server/index.html の内容が表示される。
http://127.0.0.1/blog/pup_pplog.pl にアクセスすると /root/Web-Server/blog/pup_pplog.pl が cgi として動作し、PPLOGを表示する。
例えば /root/Web-Server/mypage というディレクトリを作り、/root/Web-Server/mypage/index.html を作成すると、http://127.0.0.1/mypage/ にアクセスしたとき、これが表示される。
/root 以下は個人設定ファイル(pupsave)に保存される。ここに大量のコンテンツを置くことはおすすめしない。
/mnt/home 以下、たとえば /mnt/home/mypage というディレクトリを作り、それへのリンクを /root/Web-Server/mypage とする。こうすれば pupsaveの肥大が防げ、pupsaveが壊れても /mnt/home/mypage内のデータは安全。
hiawathaのマニュアル
いずれも英文情報なので辛い……
HOWTO http://www.hiawatha-webserver.org/howto
マニュアル http://www.hiawatha-webserver.org/manpages
ローカルには /root/Web-Server/hiawatha.htm がある。
cgiの設定
パピーではすでにperlスクリプトがcgiとして動くよう設定されている。
ただしパピーに組み込まれている perl モジュールでは不足することがある。そのときは同じバージョンの perlモジュールを必要に応じて導入しなければならない。
追加アプリケーション Perl viewtopic.php?f=25&t=2289
hiawatha はユーザー: webuser、グループ: webgroup で動く。ファイル書き込みのあるスクリプトでは、書き込み先のディレクトリのオーナーを webuser:webgroup とするか、パーミッションを 777 とするかする。
一部のパピーで /dev/null のパーミッションが崩れていて cgiが失敗することがある。 chmod 660 /dev/null を実行した後 hiawatha をリスタートすることで修復できる。
注意:
パピー 4.3.1以前では CGIhandler の設定と CGIextension の設定が衝突していたが、パピー 5.x系では修正されている。 CGIhandler の設定は不要。次の例ではコメントアウトしている。
コード: 全て選択
#CGIhandler = /usr/bin/perl:pl
CGIextension = pl,bin,cgi
ExecuteCGI = yes
エラーログ
エラーログは /var/log/hiawatha/error.log にできる。