Browse Source

onion support for mediagoblin

Bob Mottram 9 years ago
parent
commit
dc599fb2b9
1 changed files with 69 additions and 3 deletions
  1. 69
    3
      src/freedombone

+ 69
- 3
src/freedombone View File

@@ -9693,8 +9693,75 @@ function install_mediagoblin {
9693 9693
     # web config
9694 9694
     MEDIAGOBLIN_VIRTUAL_HOST=/etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
9695 9695
     nginx_http_redirect $MEDIAGOBLIN_DOMAIN_NAME
9696
+    if [[ $ONION_ONLY == 'no' ]]; then
9697
+        echo 'server {' >> $MEDIAGOBLIN_VIRTUAL_HOST
9698
+        echo '  listen 443 ssl;' >> $MEDIAGOBLIN_VIRTUAL_HOST
9699
+        echo '  #################################################' >> $MEDIAGOBLIN_VIRTUAL_HOST
9700
+        echo '  # Stock useful config options, but ignore them :)' >> $MEDIAGOBLIN_VIRTUAL_HOST
9701
+        echo '  #################################################' >> $MEDIAGOBLIN_VIRTUAL_HOST
9702
+        echo '  include /etc/nginx/mime.types;' >> $MEDIAGOBLIN_VIRTUAL_HOST
9703
+        echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
9704
+        echo '  autoindex off;' >> $MEDIAGOBLIN_VIRTUAL_HOST
9705
+        echo '  default_type  application/octet-stream;' >> $MEDIAGOBLIN_VIRTUAL_HOST
9706
+        echo '  sendfile on;' >> $MEDIAGOBLIN_VIRTUAL_HOST
9707
+        echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
9708
+        nginx_limits $MEDIAGOBLIN_DOMAIN_NAME '20m'
9709
+        nginx_ssl $MEDIAGOBLIN_DOMAIN_NAME
9710
+        nginx_disable_sniffing $MEDIAGOBLIN_DOMAIN_NAME
9711
+        echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
9712
+        echo '  # Gzip' >> $MEDIAGOBLIN_VIRTUAL_HOST
9713
+        echo '  gzip on;' >> $MEDIAGOBLIN_VIRTUAL_HOST
9714
+        echo '  gzip_min_length 1024;' >> $MEDIAGOBLIN_VIRTUAL_HOST
9715
+        echo '  gzip_buffers 4 32k;' >> $MEDIAGOBLIN_VIRTUAL_HOST
9716
+        echo '  gzip_types text/plain application/x-javascript text/javascript text/xml text/css;' >> $MEDIAGOBLIN_VIRTUAL_HOST
9717
+        echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
9718
+        echo '  #####################################' >> $MEDIAGOBLIN_VIRTUAL_HOST
9719
+        echo '  # Mounting MediaGoblin stuff' >> $MEDIAGOBLIN_VIRTUAL_HOST
9720
+        echo '  # This is the section you should read' >> $MEDIAGOBLIN_VIRTUAL_HOST
9721
+        echo '  #####################################' >> $MEDIAGOBLIN_VIRTUAL_HOST
9722
+        echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
9723
+        echo "  server_name $MEDIAGOBLIN_DOMAIN_NAME;" >> $MEDIAGOBLIN_VIRTUAL_HOST
9724
+        echo '  access_log /var/log/nginx/mediagoblin.log;' >> $MEDIAGOBLIN_VIRTUAL_HOST
9725
+        echo '  error_log /var/log/nginx/mediagoblin.error.log;' >> $MEDIAGOBLIN_VIRTUAL_HOST
9726
+        echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
9727
+        echo '  # MediaGoblins stock static files: CSS, JS, etc.' >> $MEDIAGOBLIN_VIRTUAL_HOST
9728
+        echo '  location /mgoblin_static/ {' >> $MEDIAGOBLIN_VIRTUAL_HOST
9729
+        echo "    alias $MEDIAGOBLIN_WORKING_DIRECTORY/mediagoblin/static/;" >> $MEDIAGOBLIN_VIRTUAL_HOST
9730
+        echo '  }' >> $MEDIAGOBLIN_VIRTUAL_HOST
9731
+        echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
9732
+        echo '  # Instance specific media:' >> $MEDIAGOBLIN_VIRTUAL_HOST
9733
+        echo '  location /mgoblin_media/ {' >> $MEDIAGOBLIN_VIRTUAL_HOST
9734
+        echo "    alias $MEDIAGOBLIN_WORKING_DIRECTORY/user_dev/media/public/;" >> $MEDIAGOBLIN_VIRTUAL_HOST
9735
+        echo '  }' >> $MEDIAGOBLIN_VIRTUAL_HOST
9736
+        echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
9737
+        echo '  # Theme static files (usually symlinked in)' >> $MEDIAGOBLIN_VIRTUAL_HOST
9738
+        echo '  location /theme_static/ {' >> $MEDIAGOBLIN_VIRTUAL_HOST
9739
+        echo "    alias $MEDIAGOBLIN_WORKING_DIRECTORY/user_dev/theme_static/;" >> $MEDIAGOBLIN_VIRTUAL_HOST
9740
+        echo '  }' >> $MEDIAGOBLIN_VIRTUAL_HOST
9741
+        echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
9742
+        echo '  # Plugin static files (usually symlinked in)' >> $MEDIAGOBLIN_VIRTUAL_HOST
9743
+        echo '  location /plugin_static/ {' >> $MEDIAGOBLIN_VIRTUAL_HOST
9744
+        echo "    alias $MEDIAGOBLIN_WORKING_DIRECTORY/user_dev/plugin_static/;" >> $MEDIAGOBLIN_VIRTUAL_HOST
9745
+        echo '  }' >> $MEDIAGOBLIN_VIRTUAL_HOST
9746
+        echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
9747
+        echo '  # Mounting MediaGoblin itself via FastCGI.' >> $MEDIAGOBLIN_VIRTUAL_HOST
9748
+        echo '  location / {' >> $MEDIAGOBLIN_VIRTUAL_HOST
9749
+        echo '    fastcgi_pass 127.0.0.1:26543;' >> $MEDIAGOBLIN_VIRTUAL_HOST
9750
+        echo '    include /etc/nginx/fastcgi_params;' >> $MEDIAGOBLIN_VIRTUAL_HOST
9751
+        echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
9752
+        echo '    # our understanding vs nginxs handling of script_name vs' >> $MEDIAGOBLIN_VIRTUAL_HOST
9753
+        echo '      # path_info dont match :)' >> $MEDIAGOBLIN_VIRTUAL_HOST
9754
+        echo '    fastcgi_param PATH_INFO $fastcgi_script_name;' >> $MEDIAGOBLIN_VIRTUAL_HOST
9755
+        echo '    fastcgi_param SCRIPT_NAME "";' >> $MEDIAGOBLIN_VIRTUAL_HOST
9756
+        echo '  }' >> $MEDIAGOBLIN_VIRTUAL_HOST
9757
+        echo '}' >> $MEDIAGOBLIN_VIRTUAL_HOST
9758
+        echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
9759
+    else
9760
+        echo -n '' > $MEDIAGOBLIN_VIRTUAL_HOST
9761
+    fi
9762
+    
9696 9763
     echo 'server {' >> $MEDIAGOBLIN_VIRTUAL_HOST
9697
-    echo '  listen 443 ssl;' >> $MEDIAGOBLIN_VIRTUAL_HOST
9764
+    echo "  listen 127.0.0.1:${MEDIAGOBLIN_ONION_PORT} default_server;" >> $MEDIAGOBLIN_VIRTUAL_HOST
9698 9765
     echo '  #################################################' >> $MEDIAGOBLIN_VIRTUAL_HOST
9699 9766
     echo '  # Stock useful config options, but ignore them :)' >> $MEDIAGOBLIN_VIRTUAL_HOST
9700 9767
     echo '  #################################################' >> $MEDIAGOBLIN_VIRTUAL_HOST
@@ -9705,7 +9772,6 @@ function install_mediagoblin {
9705 9772
     echo '  sendfile on;' >> $MEDIAGOBLIN_VIRTUAL_HOST
9706 9773
     echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
9707 9774
     nginx_limits $MEDIAGOBLIN_DOMAIN_NAME '20m'
9708
-    nginx_ssl $MEDIAGOBLIN_DOMAIN_NAME
9709 9775
     nginx_disable_sniffing $MEDIAGOBLIN_DOMAIN_NAME
9710 9776
     echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
9711 9777
     echo '  # Gzip' >> $MEDIAGOBLIN_VIRTUAL_HOST
@@ -9719,7 +9785,7 @@ function install_mediagoblin {
9719 9785
     echo '  # This is the section you should read' >> $MEDIAGOBLIN_VIRTUAL_HOST
9720 9786
     echo '  #####################################' >> $MEDIAGOBLIN_VIRTUAL_HOST
9721 9787
     echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
9722
-    echo "  server_name $MEDIAGOBLIN_DOMAIN_NAME;" >> $MEDIAGOBLIN_VIRTUAL_HOST
9788
+    echo "  server_name $MEDIAGOBLIN_ONION_HOSTNAME;" >> $MEDIAGOBLIN_VIRTUAL_HOST
9723 9789
     echo '  access_log /var/log/nginx/mediagoblin.log;' >> $MEDIAGOBLIN_VIRTUAL_HOST
9724 9790
     echo '  error_log /var/log/nginx/mediagoblin.error.log;' >> $MEDIAGOBLIN_VIRTUAL_HOST
9725 9791
     echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST