
Ubuntu日本語フォーラム
ログインしていません。
いつもお世話になっています。
前回 https://forums.ubuntulinux.jp/viewtopic.php?id=21923 で hiawatha の
アンインストールに関して質問させていただきました。
結局、アンインストールはうまくできず、ubuntuの再インストールからやり直しました。
で、再び hiawathaをインストールして(今度はちゃんとバックアップイメージをとって)
phpもインストールしました。
php-fpm/ php-cgi などもインストールして
/usr/local/var/www/index.html は表示されていますし、 php -v で php8.1 は確認できています。
しかし、ブラウザから /usr/local/var/www/test.php などの phpスクリプトを指定すると
phpは実行されず ファイルがダウンロードされてしまいます。
同様に perl スクリプトの test.pl なども同様に実行されずにダウンロードされてしまいます。
hiawatha.conf は以下の通りで、 Puppyで実際に動作しているものを参考にしています。
hiawatha/ php を使っている方がいればアドバイスいただけませんか?
———————————————-
ServerId = webuser
ConnectionsTotal = 150
ConnectionsPerIP = 10
SystemLogfile = @LOG_DIR@/system.log
GarbageLogfile = @LOG_DIR@/garbage.log
Binding {
Port = 80
}
# Binding ID is for specifying Virtual host
Binding {
BindingId = CGI
Port = 8080
Interface = 192.168.1.213
MaxRequestSize = 128
TimeForRequest = 3,20
}
Hostname = 127.0.0.1
WebsiteRoot = @WEBROOT_DIR@
StartFile = index.html
AccessLogfile = @LOG_DIR@/access.log
ErrorLogfile = @LOG_DIR@/error.log
#add this stuff to get a perl script working (pplog)…
#QUISP has a binary executable CGI named ‘quisp.bin’…
MimetypeConfig = /etc/mime.types
CGIhandler = /usr/bin/perl:pl,cgi
CGIhandler = /usr/bin/php-cgi:php,html
CGIextension = pl,bin,cgi,php
ExecuteCGI = yes
#QUISP puts %0D, %0A (carriage-return, line-feed) chars in the url
#(v128), to allow chars below ascii 32 need this…
SecureURL = no
FastCGIserver {
FastCGIid = PHP8.1
ConnectTo = 127.0.0.1:9000
ConnectTo = /run/php/php-fpm.sock
Extension = php,html
SessionTimeout = 30
}
VirtualHost {
Hostname = localhost
WebsiteRoot = /usr/local/var/www/hiawatha
StartFile = index.php
AccessLogfile = /var/log/hiawatha/access_log
ErrorLogfile = /var/log/hiawatha/error_log
TimeForCGI = 3600
ShowIndex = yes
ExecuteCGI = yes
FollowSymlinks = yes
NoExtensionAs = cgi
EnablePathInfo = yes
UseLocalConfig = yes
}
VirtualHost {
Hostname = 192.168.1.213
WebsiteRoot = /usr/local/var/www/hiawatha
StartFile = index.php
AccessLogfile = /var/log/hiawatha/access_log
ErrorLogfile = /var/log/hiawatha/error_log
TimeForCGI = 3600
ShowIndex = yes
ExecuteCGI = yes
FollowSymlinks = yes
NoExtensionAs = cgi
EnablePathInfo = yes
UseLocalConfig = yes
}
———————————————-
オフライン
Archlinuxで、少々、古いですが解説ページがあります。
https://wiki.archlinux.jp/index.php/Hiawatha
これを参照し、チェックしてみては?
オフライン
si さん
いつもありがとうございます。
ご指摘のページは(TLS対応を除き)反映しているつもりです。
Puppyのときには 拡張子 html のファイルで同じことがありましたが、
CGIhandler = /usr/bin/php-cgi:php,html
と htmlを追加することで表示できました。
今回は 拡張子 php でもダウンロードされてしまいます。
perl でも同じで、かなりいろいろなページを参照しましたが
解決していません。
頼みの綱の hiawatha のサイトも最近は開店休業のようで、
https://www.ubuntumint.com/install-hiawatha-webserver-ubuntu/#comment-37560
なども質問投稿してみましたが 数日放置状態で途方に暮れて、
こちらで 使っている方がいたらと 質問した次第です。
もう少しあがいて、だめなら hiawatha に拘ることはないので、xamppとかを検討してみます。
(問題をそのまま放置しておけない損な性格で、いつも時間を浪費してしまいます)
オフライン
soso による投稿:
si さん
いつもありがとうございます。
ご指摘のページは(TLS対応を除き)反映しているつもりです。
Puppyのときには 拡張子 html のファイルで同じことがありましたが、
CGIhandler = /usr/bin/php-cgi:php,html
と htmlを追加することで表示できました。
今回は 拡張子 php でもダウンロードされてしまいます。
perl でも同じで、かなりいろいろなページを参照しましたが
解決していません。
頼みの綱の hiawatha のサイトも最近は開店休業のようで、
https://www.ubuntumint.com/install-hiawatha-webserver-ubuntu/#comment-37560
なども質問投稿してみましたが 数日放置状態で途方に暮れて、
こちらで 使っている方がいたらと 質問した次第です。
もう少しあがいて、だめなら hiawatha に拘ることはないので、xamppとかを検討してみます。
(問題をそのまま放置しておけない損な性格で、いつも時間を浪費してしまいます)
アクセス制御の設定、サービス再起動
ブラウザキャッシュの削除(ブラウザが、一度、ダウンロードファイルと認識すると、次もそうなることがあるそうです)
など考えられる事やってみましたか?
オフライン
si さん、確認に手間取ってしまい 返信が遅くなって失礼しました。
結果から言いますと 何とか phpページが表示できました。
(*.html ではOK、*.php では internal sever error になってしまう)
いろいろやったのと、途中一時期 再起動と言いつつ hiawathaの停止コマンド
$ sudo killall hiawatha
を忘れたりしていたので、確たる原因は特定できておりませんが。
ご指摘の部分の確認をしても、hiawatha.conf 中の php関連部分をあれこれ変更しても
症状が変わらない(ダウンロードされてしまう)ので、
php インストール前のバックアップイメージでリカバリしてから
$ sudo apt install php8.1-fpm
で再インストールしました。
(初期は $ sudo apt install php だったのかも知れません)
ただ、そのままでは 症状は変わらなかったと思います。
hiawatha.conf をあれこれいじっているうちに、
ダウンロードされたり "forbidden" が表示されたりと紆余曲折しましたが、
何とか phpコードを含むhtmlページが表示されるようになりました。
現状 tlsは未実装ですが、http://localhost/ では php/perl の cgiが表示できています。
因みに 現状の hiawatha.conf は以下のとおりです。
(時間ができたら、リカバリ直後に
$ sudo apt install php8.1-fpm
してから、この hiawatha.conf で確認してみようと思います)
-------------------------------------------------------------------
# Hiawatha main configuration file
# php/perl ページが表示できるが *.php はダウンロードされてしまう (*.html 中の phpスクリプトは実行されている)
# GENERAL SETTINGS
ServerId = webuser
ConnectionsTotal = 150
ConnectionsPerIP = 10
SystemLogfile = /usr/local/var/log/hiawatha/system.log
GarbageLogfile = /usr/local/var/log/hiawatha/garbage.log
# BINDING SETTINGS
# A binding is where a client can connect to.
Binding {
Port = 80
Interface = 127.0.0.1
MaxRequestSize = 128
TimeForRequest = 3,20
}
# COMMON GATEWAY INTERFACE (CGI) SETTINGS
# These settings can be used to run CGI applications.
MimetypeConfig = /etc/mime.types
CGIhandler = /usr/bin/perl:pl,cgi
CGIhandler = /usr/bin/php-cgi:php,html
CGIhandler = /usr/bin/ssi-cgi:shtml
CGIextension = cgi,pl,php,bin
ExecuteCGI = yes
SecureURL = no
# binding for CGI
Binding {
BindingId = CGI
Port = 8080
Interface = 192.168.1.213
MaxRequestSize = 128
TimeForRequest = 3,20
}
FastCGIserver {
FastCGIid = PHP
ConnectTo = 127.0.0.1:9000
ConnectTo = /run/php/php-fpm.sock
Extension = php,html
SessionTimeout = 30
}
# DEFAULT WEBSITE
Hostname = 127.0.0.1
WebsiteRoot = /usr/local/var/www/hiawatha
StartFile = index.html
AccessLogfile = /usr/local/var/log/hiawatha/access.log
ErrorLogfile = /usr/local/var/log/hiawatha/error.log
# VIRTUAL HOSTS
# Use a VirtualHost section for each website you want to host.
#
VirtualHost {
Hostname = localhost
RequiredBinding = CGI
WebsiteRoot = /usr/local/var/www/hiawatha
StartFile = test_php.html
showIndex = no
AccessLogfile = /var/log/hiawatha/access_log
ErrorLogfile = /var/log/hiawatha/error.log
ExecuteCGI = yes
UseFastCGI = PHP
}
-------------------------------------------------------------------
オフライン