|
@@ -2720,23 +2720,29 @@ function install_mediagoblin {
|
2720
|
2720
|
return
|
2721
|
2721
|
fi
|
2722
|
2722
|
|
2723
|
|
- apt-get -y --force-yes install git python python-dev python-lxml python-imaging python-virtualenv python-gst-1.0 libjpeg8-dev sqlite3 libapache2-mod-fcgid gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-libav python-numpy python-scipy libsndfile1-dev
|
2724
|
|
- useradd mediagoblin
|
|
2723
|
+ apt-get -y --force-yes install git-core python python-dev python-lxml python-imaging python-virtualenv
|
|
2724
|
+ apt-get -y --force-yes install python-gst-1.0 libjpeg8-dev sqlite3 libapache2-mod-fcgid gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-libav python-numpy python-scipy libsndfile1-dev
|
|
2725
|
+ apt-get -y --force-yes install postgresql postgresql-client python-psycopg2
|
|
2726
|
+
|
|
2727
|
+ sudo -u postgres createuser -A -D mediagoblin
|
|
2728
|
+ sudo -u postgres createdb -E UNICODE -O mediagoblin mediagoblin
|
|
2729
|
+
|
|
2730
|
+ adduser --system mediagoblin
|
2725
|
2731
|
|
2726
|
2732
|
if [ ! -d /srv/$MEDIAGOBLIN_DOMAIN_NAME ]; then
|
2727
|
2733
|
mkdir -p /srv/$MEDIAGOBLIN_DOMAIN_NAME
|
2728
|
2734
|
fi
|
2729
|
|
- chown -hR mediagoblin:mediagoblin /srv/$MEDIAGOBLIN_DOMAIN_NAME
|
2730
|
|
-
|
|
2735
|
+ chown -hR mediagoblin: /srv/$MEDIAGOBLIN_DOMAIN_NAME
|
|
2736
|
+ cd /srv/$MEDIAGOBLIN_DOMAIN_NAME
|
2731
|
2737
|
su -c "git clone git://gitorious.org/mediagoblin/mediagoblin.git /srv/$MEDIAGOBLIN_DOMAIN_NAME/mediagoblin" - mediagoblin
|
2732
|
|
- su -c "cd /srv/$MEDIAGOBLIN_DOMAIN_NAME/mediagoblin; git submodule init" - mediagoblin
|
2733
|
|
- su -c "cd /srv/$MEDIAGOBLIN_DOMAIN_NAME/mediagoblin; git submodule update" - mediagoblin
|
|
2738
|
+ su -c "cd /srv/$MEDIAGOBLIN_DOMAIN_NAME/mediagoblin/mediagoblin; git submodule init" - mediagoblin
|
|
2739
|
+ su -c "cd /srv/$MEDIAGOBLIN_DOMAIN_NAME/mediagoblin/mediagoblin; git submodule update" - mediagoblin
|
|
2740
|
+ su -c "cd /srv/$MEDIAGOBLIN_DOMAIN_NAME/mediagoblin/mediagoblin; virtualenv --system-site-packages ." - mediagoblin
|
2734
|
2741
|
|
2735
|
|
- su -c "cd /srv/$MEDIAGOBLIN_DOMAIN_NAME/mediagoblin; virtualenv --system-site-packages ." - mediagoblin
|
2736
|
|
- su -c "cd /srv/$MEDIAGOBLIN_DOMAIN_NAME/mediagoblin; ./bin/python setup.py develop" - mediagoblin
|
2737
|
|
- su -c "cd /srv/$MEDIAGOBLIN_DOMAIN_NAME/mediagoblin; ./bin/easy_install flup" - mediagoblin
|
2738
|
|
- su -c "cd /srv/$MEDIAGOBLIN_DOMAIN_NAME/mediagoblin; cp mediagoblin.ini mediagoblin_local.ini" - mediagoblin
|
2739
|
|
- su -c "cd /srv/$MEDIAGOBLIN_DOMAIN_NAME/mediagoblin; cp paste.ini paste_local.ini" - mediagoblin
|
|
2742
|
+ #su -c "cd /srv/$MEDIAGOBLIN_DOMAIN_NAME/mediagoblin; ./bin/python setup.py develop" - mediagoblin
|
|
2743
|
+ su -c "cd /srv/$MEDIAGOBLIN_DOMAIN_NAME/mediagoblin/mediagoblin; ./bin/easy_install flup" - mediagoblin
|
|
2744
|
+ su -c "cd /srv/$MEDIAGOBLIN_DOMAIN_NAME/mediagoblin/mediagoblin; cp mediagoblin.ini mediagoblin_local.ini" - mediagoblin
|
|
2745
|
+ su -c "cd /srv/$MEDIAGOBLIN_DOMAIN_NAME/mediagoblin/mediagoblin; cp paste.ini paste_local.ini" - mediagoblin
|
2740
|
2746
|
|
2741
|
2747
|
# update the dynamic DNS
|
2742
|
2748
|
if [ $MEDIAGOBLIN_FREEDNS_SUBDOMAIN_CODE ]; then
|
|
@@ -2750,6 +2756,76 @@ function install_mediagoblin {
|
2750
|
2756
|
echo 'WARNING: No freeDNS subdomain code given for mediagoblin. It is assumed that you are using some other dynamic DNS provider.'
|
2751
|
2757
|
fi
|
2752
|
2758
|
|
|
2759
|
+ echo 'server {' > /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2760
|
+ echo ' #################################################' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2761
|
+ echo ' # Stock useful config options, but ignore them :)' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2762
|
+ echo ' #################################################' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2763
|
+ echo ' include /etc/nginx/mime.types;' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2764
|
+ echo '' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2765
|
+ echo ' autoindex off;' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2766
|
+ echo ' default_type application/octet-stream;' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2767
|
+ echo ' sendfile on;' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2768
|
+ echo '' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2769
|
+ echo ' # Gzip' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2770
|
+ echo ' gzip on;' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2771
|
+ echo ' gzip_min_length 1024;' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2772
|
+ echo ' gzip_buffers 4 32k;' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2773
|
+ echo ' gzip_types text/plain text/html application/x-javascript text/javascript text/xml text/css;' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2774
|
+ echo '' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2775
|
+ echo ' #####################################' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2776
|
+ echo ' # Mounting MediaGoblin stuff' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2777
|
+ echo ' # This is the section you should read' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2778
|
+ echo ' #####################################' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2779
|
+ echo '' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2780
|
+ echo ' # Change this to update the upload size limit for your users' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2781
|
+ echo ' client_max_body_size 8m;' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2782
|
+ echo '' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2783
|
+ echo ' # prevent attacks (someone uploading a .txt file that the browser' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2784
|
+ echo ' # interprets as an HTML file, etc.)' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2785
|
+ echo ' add_header X-Content-Type-Options nosniff;' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2786
|
+ echo '' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2787
|
+ echo " server_name mediagoblin.example.org www.mediagoblin.example.org;" >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2788
|
+ echo " access_log /var/log/nginx/$MEDIAGOBLIN_DOMAIN_NAME.access.log;" >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2789
|
+ echo " error_log /var/log/nginx/$MEDIAGOBLIN_DOMAIN_NAME.error.log;" >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2790
|
+ echo '' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2791
|
+ echo " # MediaGoblin's stock static files: CSS, JS, etc." >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2792
|
+ echo ' location /mgoblin_static/ {' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2793
|
+ echo " alias /srv/$MEDIAGOBLIN_DOMAIN_NAME/mediagoblin/mediagoblin/static/;" >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2794
|
+ echo ' }' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2795
|
+ echo '' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2796
|
+ echo ' # Instance specific media:' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2797
|
+ echo ' location /mgoblin_media/ {' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2798
|
+ echo " alias /srv/$MEDIAGOBLIN_DOMAIN_NAME/mediagoblin/user_dev/media/public/;" >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2799
|
+ echo ' }' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2800
|
+ echo '' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2801
|
+ echo ' # Theme static files (usually symlinked in)' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2802
|
+ echo ' location /theme_static/ {' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2803
|
+ echo " alias /srv/$MEDIAGOBLIN_DOMAIN_NAME/mediagoblin/user_dev/theme_static/;" >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2804
|
+ echo ' }' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2805
|
+ echo '' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2806
|
+ echo ' # Plugin static files (usually symlinked in)' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2807
|
+ echo ' location /plugin_static/ {' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2808
|
+ echo " alias /srv/$MEDIAGOBLIN_DOMAIN_NAME/mediagoblin/user_dev/plugin_static/;" >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2809
|
+ echo ' }' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2810
|
+ echo '' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2811
|
+ echo ' # Mounting MediaGoblin itself via FastCGI.' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2812
|
+ echo ' location / {' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2813
|
+ echo ' fastcgi_pass 127.0.0.1:26543;' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2814
|
+ echo ' include /etc/nginx/fastcgi_params;' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2815
|
+ echo '' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2816
|
+ echo " # our understanding vs nginx's handling of script_name vs" >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2817
|
+ echo " # path_info don't match :)" >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2818
|
+ echo ' fastcgi_param PATH_INFO $fastcgi_script_name;' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2819
|
+ echo ' fastcgi_param SCRIPT_NAME "";' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2820
|
+ echo ' }' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2821
|
+ echo '}' >> /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf
|
|
2822
|
+
|
|
2823
|
+ ln -s /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf /etc/nginx/conf.d/
|
|
2824
|
+ ln -s /srv/$MEDIAGOBLIN_DOMAIN_NAME/nginx.conf /etc/nginx/sites-enabled/
|
|
2825
|
+
|
|
2826
|
+ sudo /etc/init.d/nginx restart
|
|
2827
|
+ sudo /etc/rc.d/nginx restart
|
|
2828
|
+
|
2753
|
2829
|
echo 'install_mediagoblin' >> $COMPLETION_FILE
|
2754
|
2830
|
}
|
2755
|
2831
|
|