アプリケーション開発ポータルサイト
ServerNote.NET
カテゴリー【ApacheUbuntu
最新版のApache2でCGIが実行できずソースやバイナリが表示される場合
POSTED BY
2023-08-08

https://httpd.apache.org/docs/current/howto/cgi.html

に記載あり。最新版ではcgi_moduleがデフォルトで無効になっていることがあるから。

これを有効にすれば解決する。

/etc/apache2/mods-available/cgi.load

LoadModule cgi_module /usr/lib/apache2/modules/mod_cgi.so

これがmods-enabledに居ないのが原因なので、リンクを張って有効にする。

cd mods-enabled

ln -s ../mods-available/cgi.load

再起動。

systemctl restart apache2

あと最新版云々関係ないがCGIファイルの拡張子にAddHandlerをつけるのを忘れないようにする。

vi /etc/apache2/mods-available/mime.conf

AddHandler cgi-script .cgi

ここまでできていれば以下単純なディレクトリ設定でCGIが動くはず。

SetEnv LD_LIBRARY_PATH "/usr/local/redis/lib:/usr/local/pgsql/lib:/usr/local/lib"

<directory>
    Options ExecCGI FollowSymLinks
    AllowOverride All
    Require all granted
</directory>

<virtualhost>
    ServerAdmin webmaster@test.example5555.jp
    ServerName test.example5555.jp
    CustomLog "/home/ubuntu/www/logs/access_log" combined
    ErrorLog "/home/ubuntu/www/logs/error_log"
    DocumentRoot "/home/ubuntu/www/objs"
</virtualhost>

※本記事は当サイト管理人の個人的な備忘録です。本記事の参照又は付随ソースコード利用後にいかなる損害が発生しても当サイト及び管理人は一切責任を負いません。
※本記事内容の無断転載を禁じます。
【WEBMASTER/管理人】
自営業プログラマーです。お仕事ください!
ご連絡は以下アドレスまでお願いします★

【キーワード検索】