お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2024-03-14 16:36:59

soso
新しいメンバ
登録日: 2024-02-12

hiawatha で phpの実行

いつもお世話になっています。
前回 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
}
———————————————-

オフライン

 

#2 2024-03-14 18:11:56

si
メンバ
From: hokkaido kitami, jp
登録日: 2007-01-15

Re: hiawatha で phpの実行

Archlinuxで、少々、古いですが解説ページがあります。

https://wiki.archlinux.jp/index.php/Hiawatha

これを参照し、チェックしてみては?

オフライン

 

#3 2024-03-14 23:48:13

soso
新しいメンバ
登録日: 2024-02-12

Re: hiawatha で phpの実行

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とかを検討してみます。
(問題をそのまま放置しておけない損な性格で、いつも時間を浪費してしまいます)

オフライン

 

#4 2024-03-15 00:15:28

si
メンバ
From: hokkaido kitami, jp
登録日: 2007-01-15

Re: hiawatha で phpの実行

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とかを検討してみます。
(問題をそのまま放置しておけない損な性格で、いつも時間を浪費してしまいます)

アクセス制御の設定、サービス再起動
ブラウザキャッシュの削除(ブラウザが、一度、ダウンロードファイルと認識すると、次もそうなることがあるそうです)
など考えられる事やってみましたか?

オフライン

 

#5 2024-03-20 14:21:18

soso
新しいメンバ
登録日: 2024-02-12

Re: hiawatha で phpの実行

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
}
-------------------------------------------------------------------

オフライン

 

Board footer

Powered by FluxBB