サーバ関連:lighttpd

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
サーバ関連:lighttpd [2016/05/19 00:46] mumeiyamibitoサーバ関連:lighttpd [2017/03/27 09:13] (現在) – [PHPでページが表示されない] mumeiyamibito
行 5: 行 5:
  
 ===== インストール ===== ===== インストール =====
-  - インストール\\ <code bash>$ sudo apt-get install lighttpd php5-cgi</code>+  - インストール\\ <code bash>$ sudo apt-get install lighttpd php-cgi</code>
   - モジュール追加\\ <code bash>$ sudo lighttpd-enable-mod cgi dir-listing fastcgi fastcgi-php userdir</code>   - モジュール追加\\ <code bash>$ sudo lighttpd-enable-mod cgi dir-listing fastcgi fastcgi-php userdir</code>
     * cgi     * cgi
行 27: 行 27:
   * [[http://bashalog.c-brains.jp/12/02/02-105952.php | [PHP] ファイルアップロードの上限サイズを変更する際にさわるディレクティブまとめ | バシャログ。 | 横浜でWeb制作を行うシーブレインスタッフによる技術情報ブログ]]   * [[http://bashalog.c-brains.jp/12/02/02-105952.php | [PHP] ファイルアップロードの上限サイズを変更する際にさわるディレクティブまとめ | バシャログ。 | 横浜でWeb制作を行うシーブレインスタッフによる技術情報ブログ]]
  
 +==== cgi が実行できない ====
 +以下の可能性が考えられる
 +  * cgi モジュールが有効になっていない\\ <code bash># sudo lighty-enable-mod cgi</code>
 +  * cgi ファイルのパーミッションに実行権限がない場合に「403 Forbidden」がブラウザに表示される\\ → chmod コマンドで実行権限を付与する
 +  * cgi.assign が適切に設定されていない場合、cgi にブラウザでアクセスすると cgi ファイルをダウンロードしてしまう
 +    * 拡張子と実行するためのバイナリがしっかり関連付けられているか?\\ <code conf>
 +cgi.assign = (
 + ".pl" => "/usr/bin/perl",
 + ".cgi" => "",
 + ".bin" => "",
 +)</code>
 +      * cgi が perl で書かれたものである場合は、.cgi にも ''/usr/bin/perl'' を設定しなければならない
 +    * cgi を実行できるディレクトリを特定してしまっているために、特定のディレクトリ以外の場所で実行できない
 +      * 以下の場合だと、/var/www/cgi-bin (wwwルート/cgi-bin/) 内の cgi しか実行できない\\ <code conf>
 +$HTTP["url"] =~ "^/cgi-bin/" {  
 + cgi.assign = (                                                                                                                                                                                                                      
 + ".pl" => "/usr/bin/perl",
 + ".cgi" => "/usr/bin/perl",
 + ".bin" => "",           
 + )                           
 +}</code>
 +      * ''cgi.assign'' を ''$HTTP["url"]...'' の外に出せば、すべての cgi ファイルに適用できる。\\ <code conf>
 +cgi.assign      = (                                                                                                                                                                                                                  
 + ".pl" => "/usr/bin/perl",
 + ".cgi" => "/usr/bin/perl",
 + ".bin" => "",           
 +)                           
  
 +$HTTP["url"] =~ "^/cgi-bin/" {  
 + cgi.assign      = (                                                                                                                                                                                                                      
 + ".pl" => "/usr/bin/perl",
 + ".cgi" => "/usr/bin/perl",
 + ".bin" => "",           
 + )                           
 +}</code>
 +
 +==== Ubuntu 16.04 (LinuxMint 18) で lighttpd を動かせない ====
 +  * 必要なパッケージがなぜか同時にインストールされていないのが原因
 +  * gamin パッケージをインストールすると解決できる\\ <code bash>$ sudo apt-get install gamin</code>
 +  * 参考サイト: [[http://serverfault.com/questions/778968/lighttpd-doesnt-start-after-purging-apache | Lighttpd doesn't start after purging Apache - Server Fault]]
 +
 +==== PHPのページが表示されない ====
 +  * Ubuntu 16.04 で ''/var/log/lighttpd/error.log'' に ''PHP Fatal error:  Uncaught Error: Call to undefined function utf8_decode()'' がある場合、以下のパッケージをインストールする\\ <code bash>$ sudo apt-get install php7.0-xml</code>
 +  * 参考サイト: [[http://stackoverflow.com/questions/35701730/utf8-endecode-removed-from-php7 | php - utf8_(en|de)code removed from php7? - Stack Overflow]]
 +
 +
 +{{tag>Linux サーバ}}
  • サーバ関連/lighttpd.1463586369.txt.gz
  • 最終更新: 2016/05/19 00:46
  • by mumeiyamibito