サーバ関連:lighttpd

差分

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

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
サーバ関連:lighttpd [2016/05/02 19:53] 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
行 12: 行 12:
     * userdir: ユーザディレクトリ (/home/USER/public_html) からのウェブ表示を有効化     * userdir: ユーザディレクトリ (/home/USER/public_html) からのウェブ表示を有効化
     * dir-listing: URL でディレクトリにアクセスした場合、ディレクトリの中身を表示     * dir-listing: URL でディレクトリにアクセスした場合、ディレクトリの中身を表示
-  - サービスの再起動\\ <code>$ sudo service lighttpd restart</code>+  - サービスの再起動\\ <code bash>$ sudo service lighttpd restart</code>
  
 ===== その他 ===== ===== その他 =====
   * 設定ファイルは /etc/lighttpd/lighttpd.conf   * 設定ファイルは /etc/lighttpd/lighttpd.conf
   * デフォルトのルートディレクトリは /var/www (Ubuntu、LinuxMint の場合)   * デフォルトのルートディレクトリは /var/www (Ubuntu、LinuxMint の場合)
 +
 +===== Tips =====
 +==== アップロード上限を変更する ====
 +  * lighttpd は関係なくて、大抵 php の設定に関係している
 +  * /etc/php5/cgi/php.ini の以下の項目を変更する
 +    * ''upload_max_filesize''
 +    * ''post_max_size'' (''upload_max_filesize'' よりも大きめに設定する)
 +    * ''memory_limit'' (''post_max_size'' よりも大きめに設定する)
 +  * [[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.1462186407.txt.gz
  • 最終更新: 2016/05/02 19:53
  • by mumeiyamibito