Browse Source

Enable Upload Acceleration Support of FPM

Julien VAUBOURG 10 years ago
parent
commit
717c9778f8
5 changed files with 25 additions and 14 deletions
  1. 3 0
      conf/init_ynh-piratebox
  2. 11 4
      conf/nginx_captive-piratebox.conf
  3. 3 0
      conf/phpfpm_piratebox.conf
  4. 6 8
      scripts/install
  5. 2 2
      scripts/remove

+ 3 - 0
conf/init_ynh-piratebox

@@ -156,6 +156,9 @@ case "$1" in
       echo "[piratebox] Starting..."
       touch /tmp/.ynh-piratebox-started
 
+      # Purge tmp folder
+      rm -rf /var/spool/piratebox/*
+
       # Set IPv4 DNS NAT
       if ! is_nat4_dns_set; then
         echo "Set IPv4 DNS NAT"

+ 11 - 4
conf/nginx_captive-piratebox.conf

@@ -27,17 +27,24 @@ server {
   location / {
     alias <TPL:NGINX_REALPATH>;
   
-    client_max_body_size 10G;
     index index.php;
+    client_max_body_size 10G;
     try_files $uri $uri/ index.php;
   
     location ~ [^/]\.php(/|$) {
-      fastcgi_split_path_info ^(.+?\.php)(/.*)$;
-      fastcgi_pass unix:/var/run/php5-fpm-<TPL:PHP_NAME>.sock;
-      fastcgi_index index.php;
       include fastcgi_params;
+
+      client_body_temp_path /var/spool/piratebox/;
+      fastcgi_pass_request_body off;
+      client_body_in_file_only clean;
+      fastcgi_param REQUEST_BODY_FILE $request_body_file;
+
       fastcgi_read_timeout 600;
       fastcgi_send_timeout 600;
+      fastcgi_index index.php;
+      fastcgi_pass unix:/var/run/php5-fpm-<TPL:PHP_NAME>.sock;
+
+      fastcgi_split_path_info ^(.+?\.php)(/.*)$;
       fastcgi_param REMOTE_USER $remote_user;
       fastcgi_param PATH_INFO $fastcgi_path_info;
     }

+ 3 - 0
conf/phpfpm_piratebox.conf

@@ -196,5 +196,8 @@ catch_workers_output = no
 ;
 ; Note: path INI options can be relative and will be expanded with the prefix
 ; (pool, global or /usr)
+
+php_value[max_execution_time] = 600
 php_value[upload_max_filesize] = 10G
 php_value[post_max_size] = 10G
+php_value[upload_tmp_dir] = /var/spool/piratebox/

+ 6 - 8
scripts/install

@@ -38,11 +38,10 @@ if [ $? -ne 0 ]; then
   sudo apt-get --assume-yes --force-yes install ${packages}
 fi
 
-# Create web user
-sudo useradd -r piratebox
-
 # Copy confs
 sudo mkdir -pm 0755 /var/log/nginx/
+sudo mkdir -pm 0755 /var/spool/piratebox/
+sudo chown www-data: /var/spool/piratebox/
 
 sudo install -b -o root -g root -m 0644 ../conf/nginx_captive-piratebox.conf /etc/nginx/conf.d/captive-piratebox.conf
 sudo install -b -o root -g root -m 0644 ../conf/nginx_piratebox.conf "/etc/nginx/conf.d/${domain}.d/piratebox.conf"
@@ -58,8 +57,8 @@ sudo chmod -R 0644 /var/www/piratebox/*
 sudo find /var/www/piratebox/ -type d -exec chmod +x {} \;
 
 # Fix permissions
-sudo chown -R piratebox: /var/www/piratebox/tpl/tmp/
-sudo chown -R piratebox: /var/www/piratebox/uploads/
+sudo chown -R www-data: /var/www/piratebox/tpl/tmp/
+sudo chown -R www-data: /var/www/piratebox/uploads/
 
 # Create fixed DC user
 sudo tee /var/www/piratebox/uploads/.dc/.user.dc.php > /dev/null << EOF
@@ -76,10 +75,9 @@ sudo sed 's|<TPL:PHP_NAME>|piratebox|g' -i /etc/nginx/conf.d/captive-piratebox.c
 
 ## php-fpm
 sudo sed 's|<TPL:PHP_NAME>|piratebox|g' -i /etc/php5/fpm/pool.d/piratebox.conf
-sudo sed 's|<TPL:PHP_USER>|piratebox|g' -i /etc/php5/fpm/pool.d/piratebox.conf
-sudo sed 's|<TPL:PHP_GROUP>|piratebox|g' -i /etc/php5/fpm/pool.d/piratebox.conf
+sudo sed 's|<TPL:PHP_USER>|www-data|g' -i /etc/php5/fpm/pool.d/piratebox.conf
+sudo sed 's|<TPL:PHP_GROUP>|www-data|g' -i /etc/php5/fpm/pool.d/piratebox.conf
 sudo sed 's|<TPL:NGINX_REALPATH>|/var/www/piratebox/|g' -i /etc/php5/fpm/pool.d/piratebox.conf
-sudo sed 's|^;\?\s*max_execution_time.\+|max_execution_time = 600|' -i /etc/php5/fpm/php.ini
 
 # Install fakedns
 sudo install -o root -g root -m 0755 ../conf/piratebox_fakedns /usr/local/bin/

+ 2 - 2
scripts/remove

@@ -43,8 +43,8 @@ sudo yunohost service stop php5-fpm
 sudo yunohost service start php5-fpm
 sudo service nginx reload
 
-# Remove web user
-sudo userdel piratebox
+# Remove tmp folder
+sudo rm -rf /var/spool/piratebox/
 
 # Remove sources
 sudo rm -rf /var/www/piratebox/