nginxでConcrete5を動かすための防備録

 /var/www/html/concrete5

に展開した、webサーバーはnginx。

/etc/nginx/sites-enabled に設定ファイルdefultファイルが有るとうまくいかないので消す。

/etc/nginx/sites-enabled/concrete5.conf を作る、ほんとはシンボリックリンクだけどとりあえず。中身は

server {
        listen 80 default_server;
        #listen [::]:80 default_server;
        root /var/www/html/concrete5;
        index index.php index.html index.htm;
#        server_name _;
        location / {
                try_files $uri $uri/ /index.php?$args;
                if (-f $request_filename) {
                        expires 14d;
                        break;
                   }
                if ($uri ~ "^(.+?\.php?)(/.*)$") {
                        set $path_info $2;
                       }
                if (!-e $request_filename) {
                        rewrite / /index.php last;
                      }
              }
             location ~ \.php$ {
#                include fastcgi_params;
                include snippets/fastcgi-php.conf;
#                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/run/php/php7.4-fpm.sock;
#                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#                fastcgi_index index.php;
                fastcgi_param URI $uri;
                fastcgi_intercept_errors on;
                fastcgi_ignore_client_abort off;
                fastcgi_connect_timeout 60;
                fastcgi_send_timeout 180;
                fastcgi_read_timeout 180;
                fastcgi_buffer_size 128k;
                fastcgi_buffers 4 256k;
                fastcgi_busy_buffers_size 256k;
                fastcgi_temp_file_write_size 256k;
                #コミュニティーに接続する場合必要
#                fastcgi_param PHP_VALUE "allow_url_fopen=On";
                }               
}       

でとりあえず動く、http://IPアドレス で動くhttp://IPアドレス/concrete5十かで動かしたいんだけどね。

  listen 80 default_server;
#        server_name _;

  listen 80 default_server; は開けるポート、通常httpは版 default_server はServer_name が一致しないときに開かれる設定らしい。

        #listen [::]:80 default_server;

はIPv6の時のポート
-------------------
        root /var/www/html/concrete5;

ルートディレクトの設定
-------------------

 location / {

ルートディレクトリ?に対する処理、/test/ などは別にlocation /test 等が無い限り全てに適用されるそうだ。

この辺が詳しい

-------------------

try_files $uri $uri/ /index.php?$args;

多分これがキモ、$uri、$uri/ を/index.php?$args; index.php?引数にわたせか。

この辺の設定をちゃんとすれば動きそう。





        

コメント

このブログの人気の投稿

Windows10デフォルトゲートウェアに0.0.0.0が追加される

iOS VLC でSMB共有できなかった点について

無線LANルータの選択肢が、NEC Aterm 静的ルーティングできない問題