|
@@ -191,7 +191,8 @@ PRIVATE_MAILING_LIST=
|
191
|
191
|
# Domain name for mediagoblin installation
|
192
|
192
|
MEDIAGOBLIN_DOMAIN_NAME=
|
193
|
193
|
MEDIAGOBLIN_CODE=
|
194
|
|
-MEDIAGOBLIN_REPO="https://gitorious.org/mediagoblin/mediagoblin.git"
|
|
194
|
+MEDIAGOBLIN_REPO="git://git.savannah.gnu.org/mediagoblin.git"
|
|
195
|
+MEDIAGOBLIN_REPO_COMMIT='stable'
|
195
|
196
|
MEDIAGOBLIN_ADMIN_PASSWORD=
|
196
|
197
|
|
197
|
198
|
# Domain name for microblog installation
|
|
@@ -9565,10 +9566,6 @@ function install_dlna_server {
|
9565
|
9566
|
}
|
9566
|
9567
|
|
9567
|
9568
|
function install_mediagoblin {
|
9568
|
|
- return
|
9569
|
|
- if grep -Fxq "install_mediagoblin" $COMPLETION_FILE; then
|
9570
|
|
- return
|
9571
|
|
- fi
|
9572
|
9569
|
if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
|
9573
|
9570
|
return
|
9574
|
9571
|
fi
|
|
@@ -9576,148 +9573,182 @@ function install_mediagoblin {
|
9576
|
9573
|
return
|
9577
|
9574
|
fi
|
9578
|
9575
|
|
9579
|
|
- apt-get -y install git-core python python-dev python-lxml python-imaging python-virtualenv
|
9580
|
|
- apt-get -y install postgresql postgresql-client python-psycopg2
|
9581
|
|
- apt-get -y install python-gst-1.0 libjpeg62-turbo-dev gstreamer1.0-plugins-base python-gobject
|
9582
|
|
- apt-get -y install gstreamer1.0-plugins-good gstreamer1.0-libav libav-tools gstreamer0.10-tools
|
9583
|
|
- apt-get -y install python-numpy python-scipy libsndfile1-dev python-gst0.10-dev
|
9584
|
|
- apt-get -y install gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer1.0-tools
|
9585
|
|
- su -c "createuser -A -D mediagoblin" - postgres
|
9586
|
|
- su -c "createdb -E UNICODE -O mediagoblin mediagoblin" - postgres
|
9587
|
|
- adduser --disabled-login --gecos 'Mediagoblin' mediagoblin
|
9588
|
|
-
|
9589
|
|
- MEDIAGOBLIN_DOMAIN_ROOT="/home/mediagoblin"
|
9590
|
|
- MEDIAGOBLIN_PATH="$MEDIAGOBLIN_DOMAIN_ROOT/mediagoblin"
|
9591
|
|
- MEDIAGOBLIN_PATH_BIN="$MEDIAGOBLIN_PATH/mediagoblin/bin"
|
9592
|
|
- mkdir -p $MEDIAGOBLIN_DOMAIN_ROOT
|
9593
|
|
- chown -hR mediagoblin: $MEDIAGOBLIN_DOMAIN_ROOT
|
9594
|
|
- su -c "cd $MEDIAGOBLIN_DOMAIN_ROOT; git clone $MEDIAGOBLIN_REPO" - mediagoblin
|
9595
|
|
- cd $MEDIAGOBLIN_DOMAIN_ROOT
|
9596
|
|
- git checkout -q v0.7.1
|
9597
|
|
- su -c "cd $MEDIAGOBLIN_PATH; git submodule init" - mediagoblin
|
9598
|
|
- su -c "cd $MEDIAGOBLIN_PATH; git submodule update" - mediagoblin
|
9599
|
|
- su -c "cd $MEDIAGOBLIN_PATH; (virtualenv --python=python2 --system-site-packages . || cd $MEDIAGOBLIN_PATH; virtualenv --python=python2 .) && ./bin/python setup.py develop" - mediagoblin
|
9600
|
|
- su -c "cd $MEDIAGOBLIN_PATH; ./bin/easy_install flup" - mediagoblin
|
9601
|
|
- if [ -f $MEDIAGOBLIN_PATH/lib/python2.7/no-global-site-packages.txt ]; then
|
9602
|
|
- virtualenv deactivate
|
9603
|
|
- rm -f $MEDIAGOBLIN_PATH/lib/python2.7/no-global-site-packages.txt
|
9604
|
|
- su -c "cd $MEDIAGOBLIN_PATH; source bin/activate" - mediagoblin
|
9605
|
|
- fi
|
9606
|
|
- if [ -f $MEDIAGOBLIN_PATH/mediagoblin.example.ini ]; then
|
9607
|
|
- # this is for versions > 0.7.1
|
9608
|
|
- su -c "cp $MEDIAGOBLIN_PATH/mediagoblin.example.ini $MEDIAGOBLIN_PATH/mediagoblin_local.ini" - mediagoblin
|
9609
|
|
- sed -i 's|# data_basedir.*|data_basedir = "/var/lib/mediagoblin"|g' $MEDIAGOBLIN_PATH/mediagoblin_local.ini
|
9610
|
|
- else
|
9611
|
|
- su -c "cp $MEDIAGOBLIN_PATH/mediagoblin.ini $MEDIAGOBLIN_PATH/mediagoblin_local.ini" - mediagoblin
|
9612
|
|
- fi
|
9613
|
|
- sed -i 's|# sql_engine.*|sql_engine = postgresql:///mediagoblin|g' $MEDIAGOBLIN_PATH/mediagoblin_local.ini
|
9614
|
|
- sed -i "s/email_sender_address.*/email_sender_address = \"$MY_EMAIL_ADDRESS\"/g" $MEDIAGOBLIN_PATH/mediagoblin_local.ini
|
9615
|
|
- sed -i 's|email_debug_mode.*|email_debug_mode = false|g' $MEDIAGOBLIN_PATH/mediagoblin_local.ini
|
9616
|
|
-
|
9617
|
|
- # add extra media types
|
9618
|
|
- if ! grep -q "media_types.stl" $MEDIAGOBLIN_PATH/mediagoblin_local.ini; then
|
9619
|
|
- echo '[[mediagoblin.media_types.stl]]' >> $MEDIAGOBLIN_PATH/mediagoblin_local.ini
|
9620
|
|
- fi
|
9621
|
|
- if ! grep -q "media_types.audio" $MEDIAGOBLIN_PATH/mediagoblin_local.ini; then
|
9622
|
|
- echo '[[mediagoblin.media_types.audio]]' >> $MEDIAGOBLIN_PATH/mediagoblin_local.ini
|
9623
|
|
- fi
|
9624
|
|
- if ! grep -q "media_types.video" $MEDIAGOBLIN_PATH/mediagoblin_local.ini; then
|
9625
|
|
- echo '[[mediagoblin.media_types.video]]' >> $MEDIAGOBLIN_PATH/mediagoblin_local.ini
|
9626
|
|
- fi
|
9627
|
|
-
|
9628
|
|
- #su -c 'cd $MEDIAGOBLIN_PATH; ./bin/pip install scikits.audiolab' - mediagoblin
|
9629
|
|
-
|
9630
|
|
- #su -c "cd $MEDIAGOBLIN_PATH; git submodule update && ./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate" - mediagoblin
|
9631
|
|
- su -c "cd $MEDIAGOBLIN_PATH; ./bin/gmg dbupdate" - mediagoblin
|
9632
|
|
-
|
9633
|
|
-
|
9634
|
|
- echo 'server {' > /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9635
|
|
- echo ' listen 80;' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9636
|
|
- echo " server_name $MEDIAGOBLIN_DOMAIN_NAME;" >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9637
|
|
- echo ' access_log off;' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9638
|
|
- echo " error_log /var/log/nginx/${MEDIAGOBLIN_DOMAIN_NAME}_error.log $WEBSERVER_LOG_LEVEL;" >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9639
|
|
- nginx_limits $MEDIAGOBLIN_DOMAIN_NAME
|
9640
|
|
- echo ' location / {' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9641
|
|
- echo ' proxy_pass http://localhost:6543;' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9642
|
|
- echo ' }' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9643
|
|
- echo ' location ^~ /auth/ {' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9644
|
|
- echo ' rewrite ^ https://$server_name$request_uri?;' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9645
|
|
- echo ' }' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9646
|
|
- echo ' location ^~ /u/ {' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9647
|
|
- echo ' rewrite ^ https://$server_name$request_uri?;' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9648
|
|
- echo ' }' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9649
|
|
- echo ' location ^~ /submit/ {' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9650
|
|
- echo ' rewrite ^ https://$server_name$request_uri?;' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9651
|
|
- echo ' }' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9652
|
|
- echo '}' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9653
|
|
- echo '' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9654
|
|
- echo 'server {' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9655
|
|
- echo ' listen 443 ssl;' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9656
|
|
- echo " root /var/www/$MEDIAGOBLIN_DOMAIN_NAME/htdocs;" >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9657
|
|
- echo " server_name $MEDIAGOBLIN_DOMAIN_NAME;" >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9658
|
|
- echo ' access_log off;' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9659
|
|
- echo " error_log /var/log/nginx/${MEDIAGOBLIN_DOMAIN_NAME}_error.log $WEBSERVER_LOG_LEVEL;" >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9660
|
|
- echo '' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9661
|
|
- nginx_limits $MEDIAGOBLIN_DOMAIN_NAME '10G'
|
9662
|
|
- nginx_ssl $MEDIAGOBLIN_DOMAIN_NAME
|
9663
|
|
- nginx_disable_sniffing $MEDIAGOBLIN_DOMAIN_NAME
|
9664
|
|
- echo ' add_header Strict-Transport-Security max-age=0;' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9665
|
|
- echo '' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9666
|
|
- echo ' location / {' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9667
|
|
- echo ' proxy_pass http://localhost:6543;' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9668
|
|
- echo ' }' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9669
|
|
- echo '' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9670
|
|
- echo ' fastcgi_buffers 64 4K;' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9671
|
|
- echo '' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9672
|
|
- echo ' error_page 403 /core/templates/403.php;' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9673
|
|
- echo ' error_page 404 /core/templates/404.php;' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9674
|
|
- echo '' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9675
|
|
- echo ' location = /robots.txt {' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9676
|
|
- echo ' allow all;' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9677
|
|
- echo ' log_not_found off;' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9678
|
|
- echo ' access_log off;' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9679
|
|
- echo ' }' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9680
|
|
- echo '}' >> /etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
|
9576
|
+ MEDIAGOBLIN_WORKING_DIRECTORY=/var/www/$MEDIAGOBLIN_DOMAIN_NAME/htdocs
|
9681
|
9577
|
|
9682
|
|
- if [ ! -f /etc/ssl/certs/$MEDIAGOBLIN_DOMAIN_NAME.dhparam ]; then
|
9683
|
|
- if [[ $LETSENCRYPT_ENABLED != "yes" ]]; then
|
9684
|
|
- ${PROJECT_NAME}-addcert -h $MEDIAGOBLIN_DOMAIN_NAME --dhkey $DH_KEYLENGTH
|
9685
|
|
- else
|
9686
|
|
- ${PROJECT_NAME}-addcert -e $MEDIAGOBLIN_DOMAIN_NAME -s $LETSENCRYPT_SERVER --dhkey $DH_KEYLENGTH --email $MY_EMAIL_ADDRESS
|
9687
|
|
- fi
|
9688
|
|
- check_certificates $MEDIAGOBLIN_DOMAIN_NAME
|
|
9578
|
+ # update to a new commit if needed
|
|
9579
|
+ set_repo_commit $MEDIAGOBLIN_WORKING_DIRECTORY "Mediagoblin commit" "$MEDIAGOBLIN_COMMIT" $MEDIAGOBLIN_REPO
|
|
9580
|
+ if [ -d $MEDIAGOBLIN_WORKING_DIRECTORY ]; then
|
|
9581
|
+ chown -hR mediagoblin:www-data $MEDIAGOBLIN_WORKING_DIRECTORY
|
9689
|
9582
|
fi
|
9690
|
9583
|
|
9691
|
|
- nginx_ensite $MEDIAGOBLIN_DOMAIN_NAME
|
9692
|
|
- systemctl restart php5-fpm
|
9693
|
|
- systemctl restart nginx
|
9694
|
|
- /usr/sbin/nginx -s reload
|
|
9584
|
+ if grep -Fxq "install_mediagoblin" $COMPLETION_FILE; then
|
|
9585
|
+ return
|
|
9586
|
+ fi
|
9695
|
9587
|
|
9696
|
|
- # update the dynamic DNS
|
9697
|
|
- CURRENT_DDNS_DOMAIN=$MEDIAGOBLIN_DOMAIN_NAME
|
9698
|
|
- add_ddns_domain
|
|
9588
|
+ apt-get -y install git-core python python-dev python-lxml python-imaging python-virtualenv npm nodejs-legacy automake
|
|
9589
|
+
|
|
9590
|
+ #apt-get -y install postgresql postgresql-client python-psycopg2
|
|
9591
|
+ #apt-get -y install python-gst-1.0 libjpeg62-turbo-dev gstreamer1.0-plugins-base python-gobject
|
|
9592
|
+ #apt-get -y install gstreamer1.0-plugins-good gstreamer1.0-libav libav-tools gstreamer0.10-tools
|
|
9593
|
+ #apt-get -y install python-numpy python-scipy libsndfile1-dev python-gst0.10-dev
|
|
9594
|
+ #apt-get -y install gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer1.0-tools
|
|
9595
|
+ #su -c "createuser -A -D mediagoblin" - postgres
|
|
9596
|
+ #su -c "createdb -E UNICODE -O mediagoblin mediagoblin" - postgres
|
|
9597
|
+
|
|
9598
|
+ useradd -c "GNU MediaGoblin system account" -d /var/lib/mediagoblin -m -r -g www-data mediagoblin
|
|
9599
|
+ groupadd mediagoblin
|
|
9600
|
+ usermod --append -G mediagoblin mediagoblin
|
|
9601
|
+
|
|
9602
|
+ if [ ! -d $MEDIAGOBLIN_WORKING_DIRECTORY ]; then
|
|
9603
|
+ mkdir -p $MEDIAGOBLIN_WORKING_DIRECTORY
|
|
9604
|
+ fi
|
9699
|
9605
|
|
|
9606
|
+ git_clone $MEDIAGOBLIN_REPO $MEDIAGOBLIN_WORKING_DIRECTORY
|
|
9607
|
+ cd $MEDIAGOBLIN_WORKING_DIRECTORY
|
|
9608
|
+ git checkout $MEDIAGOBLIN_COMMIT -b $MEDIAGOBLIN_COMMIT
|
|
9609
|
+
|
|
9610
|
+ ./bootstrap.sh
|
|
9611
|
+ if [ ! "$?" = "0" ]; then
|
|
9612
|
+ exit 278826
|
|
9613
|
+ fi
|
|
9614
|
+
|
|
9615
|
+ ./configure --with-python3 --without-virtualenv
|
|
9616
|
+ if [ ! "$?" = "0" ]; then
|
|
9617
|
+ exit 462826
|
|
9618
|
+ fi
|
|
9619
|
+
|
|
9620
|
+ make
|
|
9621
|
+ if [ ! "$?" = "0" ]; then
|
|
9622
|
+ exit 738229
|
|
9623
|
+ fi
|
|
9624
|
+
|
|
9625
|
+ if [ ! -d $MEDIAGOBLIN_WORKING_DIRECTORY/user_dev ]; then
|
|
9626
|
+ mkdir $MEDIAGOBLIN_WORKING_DIRECTORY/user_dev
|
|
9627
|
+ fi
|
|
9628
|
+ chmod 750 $MEDIAGOBLIN_WORKING_DIRECTORY/user_dev
|
|
9629
|
+ easy_install flup
|
|
9630
|
+ if [ ! "$?" = "0" ]; then
|
|
9631
|
+ exit 83527
|
|
9632
|
+ fi
|
|
9633
|
+ if [ ! -f $MEDIAGOBLIN_WORKING_DIRECTORY/mediagoblin.ini ]; then
|
|
9634
|
+ echo $'mediagoblin.ini not found'
|
|
9635
|
+ exit 737529
|
|
9636
|
+ fi
|
|
9637
|
+ if [ ! -f $MEDIAGOBLIN_WORKING_DIRECTORY/paste.ini ]; then
|
|
9638
|
+ echo $'paste.ini not found'
|
|
9639
|
+ exit 52762
|
|
9640
|
+ fi
|
|
9641
|
+
|
|
9642
|
+ cp -av mediagoblin.ini mediagoblin_local.ini
|
|
9643
|
+ cp -av paste.ini paste_local.ini
|
|
9644
|
+
|
|
9645
|
+ # TODO configure ini files
|
|
9646
|
+
|
|
9647
|
+ chown -hR mediagoblin:www-data $MEDIAGOBLIN_WORKING_DIRECTORY
|
|
9648
|
+
|
9700
|
9649
|
# init with systemd
|
9701
|
9650
|
echo '[Unit]' > /etc/systemd/system/mediagoblin.service
|
9702
|
9651
|
echo 'Description=Mediagoblin (Media Server)' >> /etc/systemd/system/mediagoblin.service
|
9703
|
9652
|
echo 'After=syslog.target' >> /etc/systemd/system/mediagoblin.service
|
9704
|
9653
|
echo 'After=network.target' >> /etc/systemd/system/mediagoblin.service
|
9705
|
|
- echo 'After=postgresql.service' >> /etc/systemd/system/mediagoblin.service
|
|
9654
|
+ #echo 'After=postgresql.service' >> /etc/systemd/system/mediagoblin.service
|
9706
|
9655
|
echo '' >> /etc/systemd/system/mediagoblin.service
|
9707
|
9656
|
echo '[Service]' >> /etc/systemd/system/mediagoblin.service
|
9708
|
9657
|
echo 'Type=simple' >> /etc/systemd/system/mediagoblin.service
|
9709
|
9658
|
echo 'User=mediagoblin' >> /etc/systemd/system/mediagoblin.service
|
9710
|
9659
|
echo 'Group=mediagoblin' >> /etc/systemd/system/mediagoblin.service
|
9711
|
|
- echo 'WorkingDirectory=/home/mediagoblin/mediagoblin' >> /etc/systemd/system/mediagoblin.service
|
9712
|
|
- echo 'ExecStart=/home/mediagoblin/mediagoblin/lazyserver.sh --server-name=broadcast' >> /etc/systemd/system/mediagoblin.service
|
|
9660
|
+ echo "WorkingDirectory=$MEDIAGOBLIN_WORKING_DIRECTORY" >> /etc/systemd/system/mediagoblin.service
|
|
9661
|
+ echo "ExecStart=$MEDIAGOBLIN_WORKING_DIRECTORY/lazyserver.sh --server-name=fcgi fcgi_host=127.0.0.1 fcgi_port=26543" >> /etc/systemd/system/mediagoblin.service
|
9713
|
9662
|
echo 'Restart=always' >> /etc/systemd/system/mediagoblin.service
|
9714
|
|
- echo 'Environment="USER=mediagoblin","HOME=/home/mediagoblin"' >> /etc/systemd/system/mediagoblin.service
|
|
9663
|
+ echo 'Environment="USER=mediagoblin","HOME=/var/lib/mediagoblin"' >> /etc/systemd/system/mediagoblin.service
|
9715
|
9664
|
echo '' >> /etc/systemd/system/mediagoblin.service
|
9716
|
9665
|
echo '[Install]' >> /etc/systemd/system/mediagoblin.service
|
9717
|
9666
|
echo 'WantedBy=multi-user.target' >> /etc/systemd/system/mediagoblin.service
|
|
9667
|
+ systemctl daemon-reload
|
9718
|
9668
|
systemctl enable mediagoblin
|
9719
|
|
- systemctl restart mediagoblin
|
|
9669
|
+ systemctl start mediagoblin
|
|
9670
|
+
|
|
9671
|
+ # web config
|
|
9672
|
+ MEDIAGOBLIN_VIRTUAL_HOST=/etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
|
9673
|
+ echo 'server {' > $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9674
|
+ echo ' listen 443 ssl;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9675
|
+ echo ' #################################################' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9676
|
+ echo ' # Stock useful config options, but ignore them :)' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9677
|
+ echo ' #################################################' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9678
|
+ echo ' include /etc/nginx/mime.types;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9679
|
+ echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9680
|
+ echo ' autoindex off;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9681
|
+ echo ' default_type application/octet-stream;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9682
|
+ echo ' sendfile on;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9683
|
+ echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9684
|
+ nginx_limits $MEDIAGOBLIN_DOMAIN_NAME '20m'
|
|
9685
|
+ nginx_ssl $MEDIAGOBLIN_DOMAIN_NAME
|
|
9686
|
+ nginx_disable_sniffing $MEDIAGOBLIN_DOMAIN_NAME
|
|
9687
|
+ echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9688
|
+ echo ' # Gzip' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9689
|
+ echo ' gzip on;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9690
|
+ echo ' gzip_min_length 1024;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9691
|
+ echo ' gzip_buffers 4 32k;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9692
|
+ echo ' gzip_types text/plain application/x-javascript text/javascript text/xml text/css;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9693
|
+ echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9694
|
+ echo ' #####################################' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9695
|
+ echo ' # Mounting MediaGoblin stuff' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9696
|
+ echo ' # This is the section you should read' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9697
|
+ echo ' #####################################' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9698
|
+ echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9699
|
+ echo " server_name $MEDIAGOBLIN_DOMAIN_NAME;" >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9700
|
+ echo ' access_log /var/log/nginx/mediagoblin.log;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9701
|
+ echo ' error_log /var/log/nginx/mediagoblin.error.log;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9702
|
+ echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9703
|
+ echo ' # MediaGoblins stock static files: CSS, JS, etc.' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9704
|
+ echo ' location /mgoblin_static/ {' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9705
|
+ echo " alias $MEDIAGOBLIN_WORKING_DIRECTORY/mediagoblin/static/;" >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9706
|
+ echo ' }' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9707
|
+ echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9708
|
+ echo ' # Instance specific media:' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9709
|
+ echo ' location /mgoblin_media/ {' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9710
|
+ echo " alias $MEDIAGOBLIN_WORKING_DIRECTORY/user_dev/media/public/;" >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9711
|
+ echo ' }' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9712
|
+ echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9713
|
+ echo ' # Theme static files (usually symlinked in)' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9714
|
+ echo ' location /theme_static/ {' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9715
|
+ echo " alias $MEDIAGOBLIN_WORKING_DIRECTORY/user_dev/theme_static/;" >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9716
|
+ echo ' }' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9717
|
+ echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9718
|
+ echo ' # Plugin static files (usually symlinked in)' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9719
|
+ echo ' location /plugin_static/ {' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9720
|
+ echo " alias $MEDIAGOBLIN_WORKING_DIRECTORY/user_dev/plugin_static/;" >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9721
|
+ echo ' }' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9722
|
+ echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9723
|
+ echo ' # Mounting MediaGoblin itself via FastCGI.' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9724
|
+ echo ' location / {' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9725
|
+ echo ' fastcgi_pass 127.0.0.1:26543;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9726
|
+ echo ' include /etc/nginx/fastcgi_params;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9727
|
+ echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9728
|
+ echo ' # our understanding vs nginxs handling of script_name vs' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9729
|
+ echo ' # path_info dont match :)' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9730
|
+ echo ' fastcgi_param PATH_INFO $fastcgi_script_name;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9731
|
+ echo ' fastcgi_param SCRIPT_NAME "";' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9732
|
+ echo ' }' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
9733
|
+ echo '}' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
9720
|
9734
|
|
|
9735
|
+ if [ ! -f /etc/ssl/certs/$MEDIAGOBLIN_DOMAIN_NAME.dhparam ]; then
|
|
9736
|
+ if [[ $LETSENCRYPT_ENABLED != "yes" ]]; then
|
|
9737
|
+ ${PROJECT_NAME}-addcert -h $MEDIAGOBLIN_DOMAIN_NAME --dhkey $DH_KEYLENGTH
|
|
9738
|
+ else
|
|
9739
|
+ ${PROJECT_NAME}-addcert -e $MEDIAGOBLIN_DOMAIN_NAME -s $LETSENCRYPT_SERVER --dhkey $DH_KEYLENGTH --email $MY_EMAIL_ADDRESS
|
|
9740
|
+ fi
|
|
9741
|
+ check_certificates $MEDIAGOBLIN_DOMAIN_NAME
|
|
9742
|
+ fi
|
|
9743
|
+
|
|
9744
|
+ nginx_ensite $MEDIAGOBLIN_DOMAIN_NAME
|
|
9745
|
+ systemctl restart php5-fpm
|
|
9746
|
+ systemctl restart nginx
|
|
9747
|
+
|
|
9748
|
+ # update the dynamic DNS
|
|
9749
|
+ CURRENT_DDNS_DOMAIN=$MEDIAGOBLIN_DOMAIN_NAME
|
|
9750
|
+ add_ddns_domain
|
|
9751
|
+
|
9721
|
9752
|
echo 'install_mediagoblin' >> $COMPLETION_FILE
|
9722
|
9753
|
}
|
9723
|
9754
|
|