Преглед на файлове

gnusocial web server configuration similar to sample

Bob Mottram преди 9 години
родител
ревизия
a26a8738d2
променени са 1 файла, в които са добавени 93 реда и са изтрити 100 реда
  1. 93
    100
      src/freedombone

+ 93
- 100
src/freedombone Целия файл

@@ -8339,116 +8339,103 @@ function install_gnu_social {
8339 8339
 
8340 8340
     if [[ $ONION_ONLY == "no" ]]; then
8341 8341
         echo 'server {' > /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8342
-        echo '    listen 80;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8343
-        echo "    server_name $MICROBLOG_DOMAIN_NAME;" >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8344
-        echo "    root /var/www/$MICROBLOG_DOMAIN_NAME/htdocs;" >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8345
-        echo '    access_log off;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8346
-        echo "    error_log /var/log/nginx/${MICROBLOG_DOMAIN_NAME}_error.log $WEBSERVER_LOG_LEVEL;" >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8347
-        echo '    index index.php;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8348
-        echo '    limit_conn conn_limit_per_ip 10;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8349
-        echo '    limit_req zone=req_limit_per_ip burst=10 nodelay;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8350
-        echo '' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
8351
-        echo '' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8352
-        echo '    rewrite ^ https://$server_name$request_uri? permanent;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8342
+        echo '  listen 80;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8343
+        echo '  listen [::]:80;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8344
+        echo "  server_name $MICROBLOG_DOMAIN_NAME;" >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8345
+        echo '  rewrite ^ https://$server_name$request_uri? permanent;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8353 8346
         echo '}' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8354 8347
         echo '' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8355 8348
         echo 'server {' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8356
-        echo '    listen 443 ssl;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8357
-        echo "    server_name $MICROBLOG_DOMAIN_NAME;" >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8358
-        echo "    root /var/www/$MICROBLOG_DOMAIN_NAME/htdocs;" >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8359
-        echo '    index index.php index.html index.htm;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8360
-        echo '    access_log off;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8349
+        echo '  listen 443 ssl;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8350
+        echo "  server_name $MICROBLOG_DOMAIN_NAME;" >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8351
+        echo '' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8352
+        echo '  # Security' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8353
+        echo '  ssl on;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8354
+        echo "  ssl_certificate /etc/ssl/certs/$MICROBLOG_DOMAIN_NAME.pem;" >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8355
+        echo "  ssl_certificate_key /etc/ssl/private/$MICROBLOG_DOMAIN_NAME.key;" >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8356
+        echo "  ssl_dhparam /etc/ssl/certs/$MICROBLOG_DOMAIN_NAME.dhparam;" >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8357
+        echo '' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8358
+        echo '  ssl_session_timeout 60m;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8359
+        echo '  ssl_prefer_server_ciphers on;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8360
+        echo '  ssl_session_cache  builtin:1000  shared:SSL:10m;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8361
+        echo "  ssl_protocols $SSL_PROTOCOLS; # not possible to do exclusive" >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8362
+        echo "  ssl_ciphers '$SSL_CIPHERS';" >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8363
+        echo '  add_header X-Frame-Options DENY;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8364
+        echo '  add_header X-Content-Type-Options nosniff;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8365
+        echo '  add_header Strict-Transport-Security max-age=15768000;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8361 8366
         echo '' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8362
-        echo '    limit_conn conn_limit_per_ip 10;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8363
-        echo '    limit_req zone=req_limit_per_ip burst=10 nodelay;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8367
+        echo '  # Logs' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8368
+        echo '  access_log off;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8369
+        echo '  error_log off;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8364 8370
         echo '' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8365
-        echo '    location ~* \.php$ {' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8366
-        echo '        # Zero-day exploit defense.' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8367
-        echo '        # http://forum.nginx.org/read.php?2,88845,page=3' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8368
-        echo '        try_files $uri $uri/ /index.php;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8369
-        echo '        fastcgi_split_path_info ^(.+\.php)(/.+)$;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8370
-        echo '        fastcgi_pass unix:/var/run/php5-fpm.sock;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8371
-        echo '        include fastcgi_params;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8372
-        echo '        fastcgi_index index.php;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8373
-        echo '        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8374
-        echo '        fastcgi_read_timeout 300;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8375
-        echo '    }' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8371
+        echo '  # Root' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8372
+        echo "  root /var/www/$MICROBLOG_DOMAIN_NAME/htdocs;" >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8376 8373
         echo '' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8377
-        echo '    ssl on;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8378
-        echo "    ssl_certificate /etc/ssl/certs/$MICROBLOG_DOMAIN_NAME.crt;" >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8379
-        echo "    ssl_certificate_key /etc/ssl/private/$MICROBLOG_DOMAIN_NAME.key;" >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8380
-        echo "    ssl_dhparam /etc/ssl/certs/$MICROBLOG_DOMAIN_NAME.dhparam;" >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8374
+        echo '  # Index' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8375
+        echo '  index index.php;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8381 8376
         echo '' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8382
-        echo '    ssl_session_timeout 60m;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8383
-        echo '    ssl_prefer_server_ciphers on;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8384
-        echo '    ssl_session_cache  builtin:1000  shared:SSL:10m;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8385
-        echo "    ssl_protocols $SSL_PROTOCOLS; # not possible to do exclusive" >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8386
-        echo "    ssl_ciphers '$SSL_CIPHERS';" >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8387
-        echo '    add_header X-Frame-Options DENY;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8388
-        echo '    add_header X-Content-Type-Options nosniff;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8389
-        echo '    add_header Strict-Transport-Security max-age=15768000;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8377
+        echo '  # PHP' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8378
+        echo '  location ~ \.php {' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8379
+        echo '    include snippets/fastcgi-php.conf;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8380
+        echo '    fastcgi_pass unix:/var/run/php5-fpm.sock;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8381
+        echo '  }' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8390 8382
         echo '' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8383
+        echo '  # Location' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8391 8384
         echo '  location / {' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8392
-        echo '    rewrite ^(.*)$ /index.php?p=$1 last;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8393
-        echo '    break;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8385
+        echo '    try_files $uri $uri/ @gnusocial;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8394 8386
         echo '  }' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8395 8387
         echo '' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8396
-        echo '  location ~* ^/(.*)\.(ico|css|js|gif|png|jpg|bmp|JPG|jpeg)$ {' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8397
-        echo "    root /var/www/$MICROBLOG_DOMAIN_NAME/htdocs;" >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8398
-        echo '    rewrite ^/(.*)$ /$1 break;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8399
-        echo '    access_log off;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8400
-        echo '    expires max;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8388
+        echo '  # Fancy URLs' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8389
+        echo '  location @gnusocial {' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8390
+        echo '    rewrite ^(.*)$ /index.php?p=$1 last;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8401 8391
         echo '  }' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8402 8392
         echo '' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8403
-        echo '  client_max_body_size      15m;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8393
+        echo '  # Restrict access that is unnecessary anyway' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8394
+        echo '  location ~ /\.(ht|git) {' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8395
+        echo '    deny all;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8396
+        echo '  }' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8404 8397
         echo '' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8405
-        echo "  error_log /var/log/nginx/${MICROBLOG_DOMAIN_NAME}_error_ssl.log $WEBSERVER_LOG_LEVEL;" >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8398
+        echo '  client_max_body_size 15m;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8406 8399
         echo '}' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8407
-        echo '' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8408 8400
     else
8409 8401
         echo -n '' > /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8410 8402
     fi
8411 8403
     echo 'server {' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8412
-    echo "    listen 127.0.0.1:${MICROBLOG_ONION_PORT} default_server;" >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8404
+    echo "    listen 127.0.0.1:$MICROBLOG_ONION_PORT default_server;" >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8413 8405
     echo "    server_name $MICROBLOG_DOMAIN_NAME;" >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8414
-    echo "    root /var/www/$MICROBLOG_DOMAIN_NAME/htdocs;" >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8415
-    echo '    index index.php index.html index.htm;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8416
-    echo '    access_log off;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8417 8406
     echo '' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8418
-    echo '    limit_conn conn_limit_per_ip 10;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8419
-    echo '    limit_req zone=req_limit_per_ip burst=10 nodelay;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8407
+    echo '  # Logs' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8408
+    echo '  access_log off;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8409
+    echo '  error_log off;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8410
+    echo '' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8411
+    echo '  # Root' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8412
+    echo "  root /var/www/$MICROBLOG_DOMAIN_NAME/htdocs;" >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8420 8413
     echo '' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8421
-    echo '    location ~* \.php$ {' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8422
-    echo '        # Zero-day exploit defense.' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8423
-    echo '        # http://forum.nginx.org/read.php?2,88845,page=3' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8424
-    echo '        try_files $uri $uri/ /index.php;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8425
-    echo '        fastcgi_split_path_info ^(.+\.php)(/.+)$;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8426
-    echo '        fastcgi_pass unix:/var/run/php5-fpm.sock;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8427
-    echo '        include fastcgi_params;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8428
-    echo '        fastcgi_index index.php;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8429
-    echo '        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8430
-    echo '        fastcgi_read_timeout 300;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8431
-    echo '    }' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8414
+    echo '  # Index' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8415
+    echo '  index index.php;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8432 8416
     echo '' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8433
-    echo '    add_header X-Frame-Options DENY;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8434
-    echo '    add_header X-Content-Type-Options nosniff;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8435
-    echo '    add_header Strict-Transport-Security max-age=15768000;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8417
+    echo '  # PHP' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8418
+    echo '  location ~ \.php {' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8419
+    echo '    include snippets/fastcgi-php.conf;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8420
+    echo '    fastcgi_pass unix:/var/run/php5-fpm.sock;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8421
+    echo '  }' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8436 8422
     echo '' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8423
+    echo '  # Location' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8437 8424
     echo '  location / {' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8438
-    echo '    rewrite ^(.*)$ /index.php?p=$1 last;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8439
-    echo '    break;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8425
+    echo '    try_files $uri $uri/ @gnusocial;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8440 8426
     echo '  }' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8441 8427
     echo '' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8442
-    echo '  location ~* ^/(.*)\.(ico|css|js|gif|png|jpg|bmp|JPG|jpeg)$ {' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8443
-    echo "    root /var/www/$MICROBLOG_DOMAIN_NAME/htdocs;" >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8444
-    echo '    rewrite ^/(.*)$ /$1 break;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8445
-    echo '    access_log off;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8446
-    echo '    expires max;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8428
+    echo '  # Fancy URLs' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8429
+    echo '  location @gnusocial {' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8430
+    echo '    rewrite ^(.*)$ /index.php?p=$1 last;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8447 8431
     echo '  }' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8448 8432
     echo '' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8449
-    echo '  client_max_body_size      15m;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8433
+    echo '  # Restrict access that is unnecessary anyway' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8434
+    echo '  location ~ /\.(ht|git) {' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8435
+    echo '    deny all;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8436
+    echo '  }' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8450 8437
     echo '' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8451
-    echo "  error_log /var/log/nginx/${MICROBLOG_DOMAIN_NAME}_error_ssl.log $WEBSERVER_LOG_LEVEL;" >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8438
+    echo '  client_max_body_size 15m;' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8452 8439
     echo '}' >> /etc/nginx/sites-available/$MICROBLOG_DOMAIN_NAME
8453 8440
 
8454 8441
     configure_php
@@ -8545,17 +8532,23 @@ function install_gnu_social {
8545 8532
         exit 72357
8546 8533
     fi
8547 8534
 
8535
+    # Some useful settings
8536
+    microblog_config_file=/var/www/$MICROBLOG_DOMAIN_NAME/htdocs/config.php
8548 8537
     if ! grep -q "Recommended GNU social settings" $microblog_config_file; then
8549
-        microblog_config_file=/var/www/$MICROBLOG_DOMAIN_NAME/htdocs/config.php
8550 8538
         echo "" >> $microblog_config_file
8551 8539
         echo "// Recommended GNU social settings" >> $microblog_config_file
8552
-        echo "$config['thumbnail']['maxsize'] = 3000;" >> $microblog_config_file
8553
-        echo "$config['profile']['delete'] = true;" >> $microblog_config_file
8554
-        echo "$config['profile']['changenick'] = true;" >> $microblog_config_file
8555
-        echo "$config['public']['localonly'] = false;" >> $microblog_config_file
8540
+        echo "\$config['thumbnail']['maxsize'] = 3000;" >> $microblog_config_file
8541
+        echo "\$config['profile']['delete'] = true;" >> $microblog_config_file
8542
+        echo "\$config['profile']['changenick'] = true;" >> $microblog_config_file
8543
+        echo "\$config['public']['localonly'] = false;" >> $microblog_config_file
8556 8544
         echo "addPlugin('StoreRemoteMedia');" >> $microblog_config_file
8545
+        echo "\$config['queue']['enabled'] = true;" >> $microblog_config_file
8546
+        echo "\$config['queue']['daemon'] = true;" >> $microblog_config_file
8557 8547
     fi
8558 8548
 
8549
+    # This improves performance
8550
+    sed -i "s|\\\$config['db']['schemacheck'].*|\$config['db']['schemacheck'] = 'script';|g" $microblog_config_file
8551
+
8559 8552
     MICROBLOG_ONION_HOSTNAME=$(add_onion_service microblog 80 ${MICROBLOG_ONION_PORT})
8560 8553
 
8561 8554
     systemctl restart php5-fpm
@@ -8625,21 +8618,21 @@ function install_gnu_social_theme {
8625 8618
         echo "" >> $microblog_config_file
8626 8619
         echo "// Qvitter settings" >> $microblog_config_file
8627 8620
         echo "addPlugin('Qvitter');" >> $microblog_config_file
8628
-        echo "$config['site']['qvitter']['enabledbydefault'] = true;" >> $microblog_config_file
8629
-        echo "$config['site']['qvitter']['defaultbackgroundcolor'] = '#f4f4f4';" >> $microblog_config_file
8630
-        echo "$config['site']['qvitter']['defaultlinkcolor'] = '#0084B4';" >> $microblog_config_file
8631
-        echo "$config['site']['qvitter']['timebetweenpolling'] = 5000;" >> $microblog_config_file
8632
-        echo "$config['site']['qvitter']['urlshortenerapiurl'] = 'http://qttr.at/shortener.php';" >> $microblog_config_file
8633
-        echo "$config['site']['qvitter']['urlshortenersignature'] = 'b6afeec983';" >> $microblog_config_file
8634
-        echo "$config['site']['qvitter']['sitebackground'] = 'img/vagnsmossen.jpg';" >> $microblog_config_file
8635
-        echo "$config['site']['qvitter']['favicon'] = 'img/favicon.ico?v=4';" >> $microblog_config_file
8636
-        echo "$config['site']['qvitter']['sprite'] = Plugin::staticPath('Qvitter', '').'img/sprite.png?v=40';" >> $microblog_config_file
8637
-        echo "$config['site']['qvitter']['enablewelcometext'] = true;" >> $microblog_config_file
8638
-        echo "$config['site']['qvitter']['customwelcometext']['en'] = '$MICROBLOG_WELCOME_MESSAGE';" >> $microblog_config_file
8639
-        echo "$config['site']['qvitter']['customwelcometext']['de'] = '$MICROBLOG_WELCOME_MESSAGE';" >> $microblog_config_file
8640
-        echo "$config['site']['qvitter']['customwelcometext']['fr'] = '$MICROBLOG_WELCOME_MESSAGE';" >> $microblog_config_file
8641
-        echo "$config['site']['qvitter']['customwelcometext']['es'] = '$MICROBLOG_WELCOME_MESSAGE';" >> $microblog_config_file
8642
-        echo "$config['site']['qvitter']['blocked_ips'] = array();" >> $microblog_config_file
8621
+        echo "\$config['site']['qvitter']['enabledbydefault'] = true;" >> $microblog_config_file
8622
+        echo "\$config['site']['qvitter']['defaultbackgroundcolor'] = '#f4f4f4';" >> $microblog_config_file
8623
+        echo "\$config['site']['qvitter']['defaultlinkcolor'] = '#0084B4';" >> $microblog_config_file
8624
+        echo "\$config['site']['qvitter']['timebetweenpolling'] = 120000; // two minutes" >> $microblog_config_file
8625
+        echo "\$config['site']['qvitter']['urlshortenerapiurl'] = 'http://qttr.at/shortener.php';" >> $microblog_config_file
8626
+        echo "\$config['site']['qvitter']['urlshortenersignature'] = 'b6afeec983';" >> $microblog_config_file
8627
+        echo "\$config['site']['qvitter']['sitebackground'] = 'img/vagnsmossen.jpg';" >> $microblog_config_file
8628
+        echo "\$config['site']['qvitter']['favicon'] = 'img/favicon.ico?v=4';" >> $microblog_config_file
8629
+        echo "\$config['site']['qvitter']['sprite'] = Plugin::staticPath('Qvitter', '').'img/sprite.png?v=40';" >> $microblog_config_file
8630
+        echo "\$config['site']['qvitter']['enablewelcometext'] = true;" >> $microblog_config_file
8631
+        echo "\$config['site']['qvitter']['customwelcometext']['en'] = '$MICROBLOG_WELCOME_MESSAGE';" >> $microblog_config_file
8632
+        echo "\$config['site']['qvitter']['customwelcometext']['de'] = '$MICROBLOG_WELCOME_MESSAGE';" >> $microblog_config_file
8633
+        echo "\$config['site']['qvitter']['customwelcometext']['fr'] = '$MICROBLOG_WELCOME_MESSAGE';" >> $microblog_config_file
8634
+        echo "\$config['site']['qvitter']['customwelcometext']['es'] = '$MICROBLOG_WELCOME_MESSAGE';" >> $microblog_config_file
8635
+        echo "\$config['site']['qvitter']['blocked_ips'] = array();" >> $microblog_config_file
8643 8636
     fi
8644 8637
 
8645 8638
     if ! grep -q "GNU Social theme commit" $COMPLETION_FILE; then