|
@@ -2022,60 +2022,60 @@ function backup_database_local {
|
2022
|
2022
|
backup_databases_script=/usr/bin/backupdatabases
|
2023
|
2023
|
echo '' >> $backup_databases_script
|
2024
|
2024
|
echo "# Backup the ${database_name} database" >> $backup_databases_script
|
2025
|
|
- echo "TEMPFILE=/root/${database_name}.sql" >> $backup_databases_script
|
2026
|
|
- echo 'DAILYFILE=/var/backups/${database_name}_daily.sql' >> $backup_databases_script
|
2027
|
|
- echo "mysqldump --password=\"\$MYSQL_PASSWORD\" ${database_name} > \$TEMPFILE" >> $backup_databases_script
|
2028
|
|
- echo 'FILESIZE=$(stat -c%s $TEMPFILE)' >> $backup_databases_script
|
2029
|
|
- echo 'if [ "$FILESIZE" -eq "0" ]; then' >> $backup_databases_script
|
2030
|
|
- echo ' if [ -f $DAILYFILE ]; then' >> $backup_databases_script
|
2031
|
|
- echo ' cp $DAILYFILE $TEMPFILE' >> $backup_databases_script
|
2032
|
|
- echo '' >> $backup_databases_script
|
2033
|
|
- echo ' # try to restore yesterdays database' >> $backup_databases_script
|
2034
|
|
- echo " mysql -u root --password=\"\$MYSQL_PASSWORD\" ${database_name} -o < \$DAILYFILE" >> $backup_databases_script
|
2035
|
|
- echo '' >> $backup_databases_script
|
2036
|
|
- echo ' # Send a warning email' >> $backup_databases_script
|
2037
|
|
- echo " echo \"Unable to create a backup of the ${database_name} database. Attempted to restore from yesterdays backup\" | mail -s \"${database_name} backup\" \$EMAIL" >> $backup_databases_script
|
2038
|
|
- echo ' else' >> $backup_databases_script
|
2039
|
|
- echo ' # Send a warning email' >> $backup_databases_script
|
2040
|
|
- echo " echo \"Unable to create a backup of the ${database_name} database.\" | mail -s \"${database_name} backup\" \$EMAIL" >> $backup_databases_script
|
2041
|
|
- echo ' fi' >> $backup_databases_script
|
2042
|
|
- echo 'else' >> $backup_databases_script
|
2043
|
|
- echo ' chmod 600 $TEMPFILE' >> $backup_databases_script
|
2044
|
|
- echo ' mv $TEMPFILE $DAILYFILE' >> $backup_databases_script
|
2045
|
|
- echo '' >> $backup_databases_script
|
2046
|
|
- echo ' # Make the backup readable only by root' >> $backup_databases_script
|
2047
|
|
- echo ' chmod 600 $DAILYFILE' >> $backup_databases_script
|
2048
|
|
- echo 'fi' >> $backup_databases_script
|
2049
|
|
-
|
2050
|
|
- weekly_backup_script=/etc/cron.weekly/backupdatabasesweekly
|
2051
|
|
- if ! grep -q "${database_name}" ${weekly_backup_script}; then
|
2052
|
|
- echo '' >> ${weekly_backup_script}
|
2053
|
|
- echo "# ${database_name}" >> ${weekly_backup_script}
|
2054
|
|
- echo "if [ -f /var/backups/${database_name}_weekly.sql ]; then" >> ${weekly_backup_script}
|
2055
|
|
- echo " cp -f /var/backups/${database_name}_weekly.sql /var/backups/${database_name}_2weekly.sql" >> ${weekly_backup_script}
|
2056
|
|
- echo 'fi' >> ${weekly_backup_script}
|
2057
|
|
- echo "if [ -f /var/backups/${database_name}_daily.sql ]; then" >> ${weekly_backup_script}
|
2058
|
|
- echo " cp -f /var/backups/${database_name}_daily.sql /var/backups/${database_name}_weekly.sql" >> ${weekly_backup_script}
|
2059
|
|
- echo 'fi' >> ${weekly_backup_script}
|
2060
|
|
- fi
|
2061
|
|
-
|
2062
|
|
- monthly_backup_script=/etc/cron.monthly/backupdatabasesmonthly
|
2063
|
|
- if ! grep -q "${database_name}" ${monthly_backup_script}; then
|
2064
|
|
- echo '' >> ${monthly_backup_script}
|
2065
|
|
- echo "# ${database_name}" >> ${monthly_backup_script}
|
2066
|
|
- echo "if [ -f /var/backups/${database_name}_monthly.sql ]; then" >> ${monthly_backup_script}
|
2067
|
|
- echo " cp -f /var/backups/${database_name}_monthly.sql /var/backups/${database_name}_2monthly.sql" >> ${monthly_backup_script}
|
2068
|
|
- echo 'fi' >> ${monthly_backup_script}
|
2069
|
|
- echo "if [ -f /var/backups/${database_name}_weekly.sql ]; then" >> ${monthly_backup_script}
|
2070
|
|
- echo " cp -f /var/backups/${database_name}_weekly.sql /var/backups/${database_name}_monthly.sql" >> ${monthly_backup_script}
|
2071
|
|
- echo 'fi' >> ${monthly_backup_script}
|
2072
|
|
- fi
|
2073
|
|
-
|
2074
|
|
- if ! grep -q "${database_name}" /etc/cron.hourly/repair; then
|
2075
|
|
- echo "${PROJECT_NAME}-repair-database ${database_name}" >> /etc/cron.hourly/repair
|
2076
|
|
- # remove legacy stuff
|
2077
|
|
- sed -i 's|/usr/bin/repairdatabase redmatrix||g' /etc/cron.hourly/repair
|
2078
|
|
- fi
|
|
2025
|
+ echo "TEMPFILE=/root/${database_name}.sql" >> $backup_databases_script
|
|
2026
|
+ echo 'DAILYFILE=/var/backups/${database_name}_daily.sql' >> $backup_databases_script
|
|
2027
|
+ echo "mysqldump --password=\"\$MYSQL_PASSWORD\" ${database_name} > \$TEMPFILE" >> $backup_databases_script
|
|
2028
|
+ echo 'FILESIZE=$(stat -c%s $TEMPFILE)' >> $backup_databases_script
|
|
2029
|
+ echo 'if [ "$FILESIZE" -eq "0" ]; then' >> $backup_databases_script
|
|
2030
|
+ echo ' if [ -f $DAILYFILE ]; then' >> $backup_databases_script
|
|
2031
|
+ echo ' cp $DAILYFILE $TEMPFILE' >> $backup_databases_script
|
|
2032
|
+ echo '' >> $backup_databases_script
|
|
2033
|
+ echo ' # try to restore yesterdays database' >> $backup_databases_script
|
|
2034
|
+ echo " mysql -u root --password=\"\$MYSQL_PASSWORD\" ${database_name} -o < \$DAILYFILE" >> $backup_databases_script
|
|
2035
|
+ echo '' >> $backup_databases_script
|
|
2036
|
+ echo ' # Send a warning email' >> $backup_databases_script
|
|
2037
|
+ echo " echo \"Unable to create a backup of the ${database_name} database. Attempted to restore from yesterdays backup\" | mail -s \"${database_name} backup\" \$EMAIL" >> $backup_databases_script
|
|
2038
|
+ echo ' else' >> $backup_databases_script
|
|
2039
|
+ echo ' # Send a warning email' >> $backup_databases_script
|
|
2040
|
+ echo " echo \"Unable to create a backup of the ${database_name} database.\" | mail -s \"${database_name} backup\" \$EMAIL" >> $backup_databases_script
|
|
2041
|
+ echo ' fi' >> $backup_databases_script
|
|
2042
|
+ echo 'else' >> $backup_databases_script
|
|
2043
|
+ echo ' chmod 600 $TEMPFILE' >> $backup_databases_script
|
|
2044
|
+ echo ' mv $TEMPFILE $DAILYFILE' >> $backup_databases_script
|
|
2045
|
+ echo '' >> $backup_databases_script
|
|
2046
|
+ echo ' # Make the backup readable only by root' >> $backup_databases_script
|
|
2047
|
+ echo ' chmod 600 $DAILYFILE' >> $backup_databases_script
|
|
2048
|
+ echo 'fi' >> $backup_databases_script
|
|
2049
|
+
|
|
2050
|
+ weekly_backup_script=/etc/cron.weekly/backupdatabasesweekly
|
|
2051
|
+ if ! grep -q "${database_name}" ${weekly_backup_script}; then
|
|
2052
|
+ echo '' >> ${weekly_backup_script}
|
|
2053
|
+ echo "# ${database_name}" >> ${weekly_backup_script}
|
|
2054
|
+ echo "if [ -f /var/backups/${database_name}_weekly.sql ]; then" >> ${weekly_backup_script}
|
|
2055
|
+ echo " cp -f /var/backups/${database_name}_weekly.sql /var/backups/${database_name}_2weekly.sql" >> ${weekly_backup_script}
|
|
2056
|
+ echo 'fi' >> ${weekly_backup_script}
|
|
2057
|
+ echo "if [ -f /var/backups/${database_name}_daily.sql ]; then" >> ${weekly_backup_script}
|
|
2058
|
+ echo " cp -f /var/backups/${database_name}_daily.sql /var/backups/${database_name}_weekly.sql" >> ${weekly_backup_script}
|
|
2059
|
+ echo 'fi' >> ${weekly_backup_script}
|
|
2060
|
+ fi
|
|
2061
|
+
|
|
2062
|
+ monthly_backup_script=/etc/cron.monthly/backupdatabasesmonthly
|
|
2063
|
+ if ! grep -q "${database_name}" ${monthly_backup_script}; then
|
|
2064
|
+ echo '' >> ${monthly_backup_script}
|
|
2065
|
+ echo "# ${database_name}" >> ${monthly_backup_script}
|
|
2066
|
+ echo "if [ -f /var/backups/${database_name}_monthly.sql ]; then" >> ${monthly_backup_script}
|
|
2067
|
+ echo " cp -f /var/backups/${database_name}_monthly.sql /var/backups/${database_name}_2monthly.sql" >> ${monthly_backup_script}
|
|
2068
|
+ echo 'fi' >> ${monthly_backup_script}
|
|
2069
|
+ echo "if [ -f /var/backups/${database_name}_weekly.sql ]; then" >> ${monthly_backup_script}
|
|
2070
|
+ echo " cp -f /var/backups/${database_name}_weekly.sql /var/backups/${database_name}_monthly.sql" >> ${monthly_backup_script}
|
|
2071
|
+ echo 'fi' >> ${monthly_backup_script}
|
|
2072
|
+ fi
|
|
2073
|
+
|
|
2074
|
+ if ! grep -q "${database_name}" /etc/cron.hourly/repair; then
|
|
2075
|
+ echo "${PROJECT_NAME}-repair-database ${database_name}" >> /etc/cron.hourly/repair
|
|
2076
|
+ # remove legacy stuff
|
|
2077
|
+ sed -i 's|/usr/bin/repairdatabase redmatrix||g' /etc/cron.hourly/repair
|
|
2078
|
+ fi
|
2079
|
2079
|
}
|
2080
|
2080
|
|
2081
|
2081
|
function install_not_on_BBB {
|
|
@@ -8859,6 +8859,8 @@ function install_webmail {
|
8859
|
8859
|
apt-get -y install php5-dev imagemagick php5-imagick
|
8860
|
8860
|
|
8861
|
8861
|
if [ ! -f $WEBMAIL_PATH/index.php ]; then
|
|
8862
|
+ cd $WEBMAIL_PATH
|
|
8863
|
+ cd ..
|
8862
|
8864
|
git_clone $WEBMAIL_REPO webmail
|
8863
|
8865
|
git checkout $WEBMAIL_COMMIT -b $WEBMAIL_COMMIT
|
8864
|
8866
|
if ! grep -q "Webmail commit" $COMPLETION_FILE; then
|
|
@@ -8885,258 +8887,258 @@ function install_webmail {
|
8885
|
8887
|
fi
|
8886
|
8888
|
create_database webmail "$WEBMAIL_ADMIN_PASSWORD"
|
8887
|
8889
|
|
8888
|
|
- if [ ! -d /var/www/$DEFAULT_DOMAIN_NAME/htdocs ]; then
|
8889
|
|
- mkdir -p /var/www/$DEFAULT_DOMAIN_NAME/htdocs
|
8890
|
|
- fi
|
8891
|
|
- ln -s $WEBMAIL_PATH /var/www/$DEFAULT_DOMAIN_NAME/htdocs/webmail
|
8892
|
|
-
|
8893
|
|
- if ! grep -q "Webmail" /home/$MY_USERNAME/README; then
|
8894
|
|
- echo '' >> /home/$MY_USERNAME/README
|
8895
|
|
- echo '' >> /home/$MY_USERNAME/README
|
8896
|
|
- echo 'Webmail' >> /home/$MY_USERNAME/README
|
8897
|
|
- echo '=======' >> /home/$MY_USERNAME/README
|
8898
|
|
- if [[ $ONION_ONLY == 'no' ]]; then
|
8899
|
|
- echo $"Open https://$DEFAULT_DOMAIN_NAME/webmail/installer/index.php" >> /home/$MY_USERNAME/README
|
8900
|
|
- else
|
8901
|
|
- echo $"Open http://$WEBMAIL_ONION_HOSTNAME/installer/index.php" >> /home/$MY_USERNAME/README
|
8902
|
|
- fi
|
8903
|
|
- echo $"Database Type: MySQL" >> /home/$MY_USERNAME/README
|
8904
|
|
- echo $"Database name: webmail" >> /home/$MY_USERNAME/README
|
8905
|
|
- echo $"Database user name: webmailadmin" >> /home/$MY_USERNAME/README
|
8906
|
|
- echo $"Database password: $WEBMAIL_ADMIN_PASSWORD" >> /home/$MY_USERNAME/README
|
8907
|
|
- echo $"Enable the Enigma PGP plugin" >> /home/$MY_USERNAME/README
|
8908
|
|
- chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
|
8909
|
|
- chmod 600 /home/$MY_USERNAME/README
|
8910
|
|
- fi
|
|
8890
|
+ if [ ! -d /var/www/$DEFAULT_DOMAIN_NAME/htdocs ]; then
|
|
8891
|
+ mkdir -p /var/www/$DEFAULT_DOMAIN_NAME/htdocs
|
|
8892
|
+ fi
|
|
8893
|
+ ln -s $WEBMAIL_PATH /var/www/$DEFAULT_DOMAIN_NAME/htdocs/webmail
|
8911
|
8894
|
|
8912
|
|
- echo 'install_webmail' >> $COMPLETION_FILE
|
|
8895
|
+ if ! grep -q "Webmail" /home/$MY_USERNAME/README; then
|
|
8896
|
+ echo '' >> /home/$MY_USERNAME/README
|
|
8897
|
+ echo '' >> /home/$MY_USERNAME/README
|
|
8898
|
+ echo 'Webmail' >> /home/$MY_USERNAME/README
|
|
8899
|
+ echo '=======' >> /home/$MY_USERNAME/README
|
|
8900
|
+ if [[ $ONION_ONLY == 'no' ]]; then
|
|
8901
|
+ echo $"Open https://$DEFAULT_DOMAIN_NAME/webmail/installer/index.php" >> /home/$MY_USERNAME/README
|
|
8902
|
+ else
|
|
8903
|
+ echo $"Open http://$WEBMAIL_ONION_HOSTNAME/installer/index.php" >> /home/$MY_USERNAME/README
|
|
8904
|
+ fi
|
|
8905
|
+ echo $"Database Type: MySQL" >> /home/$MY_USERNAME/README
|
|
8906
|
+ echo $"Database name: webmail" >> /home/$MY_USERNAME/README
|
|
8907
|
+ echo $"Database user name: webmailadmin" >> /home/$MY_USERNAME/README
|
|
8908
|
+ echo $"Database password: $WEBMAIL_ADMIN_PASSWORD" >> /home/$MY_USERNAME/README
|
|
8909
|
+ echo $"Enable the Enigma PGP plugin" >> /home/$MY_USERNAME/README
|
|
8910
|
+ chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
|
|
8911
|
+ chmod 600 /home/$MY_USERNAME/README
|
|
8912
|
+ fi
|
|
8913
|
+
|
|
8914
|
+ echo 'install_webmail' >> $COMPLETION_FILE
|
8913
|
8915
|
}
|
8914
|
8916
|
|
8915
|
8917
|
function install_hubzilla {
|
8916
|
|
- if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
|
8917
|
|
- return
|
8918
|
|
- fi
|
8919
|
|
- if [ ! $HUBZILLA_DOMAIN_NAME ]; then
|
8920
|
|
- return
|
8921
|
|
- fi
|
8922
|
|
-
|
8923
|
|
- HUBZILLA_PATH=/var/www/$HUBZILLA_DOMAIN_NAME/htdocs
|
8924
|
|
-
|
8925
|
|
- # update to a new commit if needed
|
8926
|
|
- set_repo_commit $HUBZILLA_PATH "Hubzilla commit" "$HUBZILLA_COMMIT" $HUBZILLA_REPO
|
8927
|
|
- set_repo_commit $HUBZILLA_PATH "Hubzilla addons commit" "$HUBZILLA_ADDONS_COMMIT" $HUBZILLA_ADDONS_REPO
|
8928
|
|
- if [ -d $HUBZILLA_PATH/redmatrix-themes1 ]; then
|
8929
|
|
- cd $HUBZILLA_PATH/redmatrix-themes1
|
8930
|
|
- git stash
|
8931
|
|
- git pull
|
8932
|
|
- cp -r $HUBZILLA_PATH/redmatrix-themes1/* $HUBZILLA_PATH/view/theme/
|
8933
|
|
- chown -R www-data:www-data $HUBZILLA_PATH
|
8934
|
|
- fi
|
8935
|
|
-
|
8936
|
|
- if grep -Fxq "install_hubzilla" $COMPLETION_FILE; then
|
8937
|
|
- return
|
8938
|
|
- fi
|
8939
|
|
-
|
8940
|
|
- install_mariadb
|
8941
|
|
- get_mariadb_password
|
8942
|
|
- repair_databases_script
|
8943
|
|
-
|
8944
|
|
- apt-get -y install php5-common php5-cli php5-curl php5-gd php5-mysql php5-mcrypt git
|
8945
|
|
- apt-get -y install php5-dev imagemagick php5-imagick
|
8946
|
|
-
|
8947
|
|
- if [ ! -d /var/www/$HUBZILLA_DOMAIN_NAME ]; then
|
8948
|
|
- mkdir /var/www/$HUBZILLA_DOMAIN_NAME
|
8949
|
|
- fi
|
8950
|
|
- if [ ! -d $HUBZILLA_PATH ]; then
|
8951
|
|
- mkdir $HUBZILLA_PATH
|
8952
|
|
- fi
|
8953
|
|
-
|
8954
|
|
- if [ ! -f $HUBZILLA_PATH/index.php ]; then
|
8955
|
|
- cd $INSTALL_DIR
|
8956
|
|
- git_clone $HUBZILLA_REPO hubzilla
|
8957
|
|
- git checkout $HUBZILLA_COMMIT -b $HUBZILLA_COMMIT
|
8958
|
|
- if ! grep -q "Hubzilla commit" $COMPLETION_FILE; then
|
8959
|
|
- echo "Hubzilla commit:$HUBZILLA_COMMIT" >> $COMPLETION_FILE
|
8960
|
|
- else
|
8961
|
|
- sed -i "s/Hubzilla commit.*/Hubzilla commit:$HUBZILLA_COMMIT/g" $COMPLETION_FILE
|
8962
|
|
- fi
|
8963
|
|
-
|
8964
|
|
- rm -rf $HUBZILLA_PATH
|
8965
|
|
- mv hubzilla $HUBZILLA_PATH
|
8966
|
|
-
|
8967
|
|
- git_clone $HUBZILLA_ADDONS_REPO $HUBZILLA_PATH/addon
|
8968
|
|
- cd $HUBZILLA_PATH/addon
|
8969
|
|
- git checkout $HUBZILLA_ADDONS_COMMIT -b $HUBZILLA_ADDONS_COMMIT
|
8970
|
|
- if ! grep -q "Hubzilla addons commit" $COMPLETION_FILE; then
|
8971
|
|
- echo "Hubzilla addons commit:$HUBZILLA_ADDONS_COMMIT" >> $COMPLETION_FILE
|
8972
|
|
- else
|
8973
|
|
- sed -i "s/Hubzilla addons commit.*/Hubzilla addons commit:$HUBZILLA_ADDONS_COMMIT/g" $COMPLETION_FILE
|
8974
|
|
- fi
|
8975
|
|
-
|
8976
|
|
- # some extra themes
|
8977
|
|
- git_clone $HUBZILLA_THEMES_REPO $HUBZILLA_PATH/redmatrix-themes1
|
8978
|
|
- cp -r $HUBZILLA_PATH/redmatrix-themes1/* $HUBZILLA_PATH/view/theme/
|
8979
|
|
-
|
8980
|
|
- chown -R www-data:www-data $HUBZILLA_PATH
|
8981
|
|
- fi
|
8982
|
|
-
|
8983
|
|
- HUBZILLA_ONION_HOSTNAME=
|
8984
|
|
- if [[ $ONION_ONLY != "no" ]]; then
|
8985
|
|
- HUBZILLA_ONION_HOSTNAME=$(add_onion_service hubzilla 80 ${HUBZILLA_ONION_PORT})
|
8986
|
|
- echo "Hubzilla onion domain:${HUBZILLA_ONION_HOSTNAME}" >> $COMPLETION_FILE
|
8987
|
|
- fi
|
8988
|
|
-
|
8989
|
|
- get_mariadb_hubzilla_admin_password
|
8990
|
|
- if [ ! $HUBZILLA_ADMIN_PASSWORD ]; then
|
8991
|
|
- if [ -f $IMAGE_PASSWORD_FILE ]; then
|
8992
|
|
- HUBZILLA_ADMIN_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
|
8993
|
|
- else
|
8994
|
|
- HUBZILLA_ADMIN_PASSWORD="$(openssl rand -base64 32 | cut -c1-30)"
|
8995
|
|
- fi
|
8996
|
|
- echo '' >> /home/$MY_USERNAME/README
|
8997
|
|
- echo '' >> /home/$MY_USERNAME/README
|
8998
|
|
- echo 'Hubzilla' >> /home/$MY_USERNAME/README
|
8999
|
|
- echo '========' >> /home/$MY_USERNAME/README
|
9000
|
|
- if [[ $ONION_ONLY == 'no' ]]; then
|
9001
|
|
- echo $"Open https://$HUBZILLA_DOMAIN_NAME and register a new user" >> /home/$MY_USERNAME/README
|
9002
|
|
- else
|
9003
|
|
- echo $"Open http://$HUBZILLA_ONION_HOSTNAME and register a new user" >> /home/$MY_USERNAME/README
|
9004
|
|
- fi
|
9005
|
|
- echo $"Your MariaDB Hubzilla admin password is: $HUBZILLA_ADMIN_PASSWORD" >> /home/$MY_USERNAME/README
|
9006
|
|
- chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
|
9007
|
|
- chmod 600 /home/$MY_USERNAME/README
|
9008
|
|
- fi
|
9009
|
|
-
|
9010
|
|
- create_database hubzilla "$HUBZILLA_ADMIN_PASSWORD"
|
9011
|
|
-
|
9012
|
|
- if ! grep -q "$HUBZILLA_PATH" /etc/crontab; then
|
9013
|
|
- echo "12,22,32,42,52 * * * * root cd $HUBZILLA_PATH; /usr/bin/timeout 500 /usr/bin/php include/poller.php" >> /etc/crontab
|
9014
|
|
- fi
|
9015
|
|
-
|
9016
|
|
- add_ddns_domain $HUBZILLA_DOMAIN_NAME
|
9017
|
|
-
|
9018
|
|
- if [[ $ONION_ONLY == "no" ]]; then
|
9019
|
|
- nginx_http_redirect $HUBZILLA_DOMAIN_NAME
|
9020
|
|
- echo 'server {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9021
|
|
- echo ' listen 443 ssl;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9022
|
|
- echo " root $HUBZILLA_PATH;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9023
|
|
- echo " server_name $HUBZILLA_DOMAIN_NAME;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9024
|
|
- echo " error_log /var/log/nginx/${HUBZILLA_DOMAIN_NAME}_error_ssl.log $WEBSERVER_LOG_LEVEL;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9025
|
|
- echo ' index index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9026
|
|
- echo ' charset utf-8;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9027
|
|
- echo ' access_log off;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9028
|
|
- nginx_limits $HUBZILLA_DOMAIN_NAME
|
9029
|
|
- nginx_ssl $HUBZILLA_DOMAIN_NAME
|
9030
|
|
- nginx_disable_sniffing $HUBZILLA_DOMAIN_NAME
|
9031
|
|
- echo ' add_header Strict-Transport-Security max-age=15768000;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9032
|
|
- echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9033
|
|
- echo ' # rewrite to front controller as default rule' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9034
|
|
- echo ' location / {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9035
|
|
- echo ' rewrite ^/(.*) /index.php?q=$uri&$args last;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9036
|
|
- echo ' }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9037
|
|
- echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9038
|
|
- echo " # make sure webfinger and other well known services aren't blocked" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9039
|
|
- echo ' # by denying dot files and rewrite request to the front controller' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9040
|
|
- echo ' location ^~ /.well-known/ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9041
|
|
- echo ' allow all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9042
|
|
- echo ' rewrite ^/(.*) /index.php?q=$uri&$args last;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9043
|
|
- echo ' }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9044
|
|
- echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9045
|
|
- echo ' # statically serve these file types when possible' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9046
|
|
- echo ' # otherwise fall back to front controller' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9047
|
|
- echo ' # allow browser to cache them' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9048
|
|
- echo ' # added .htm for advanced source code editor library' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9049
|
|
- echo ' location ~* \.(jpg|jpeg|gif|png|ico|css|js|htm|html|ttf|woff|svg)$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9050
|
|
- echo ' expires 30d;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9051
|
|
- echo ' try_files $uri /index.php?q=$uri&$args;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9052
|
|
- echo ' }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9053
|
|
- echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9054
|
|
- echo ' # block these file types' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9055
|
|
- echo ' location ~* \.(tpl|md|tgz|log|out)$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9056
|
|
- echo ' deny all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9057
|
|
- echo ' }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9058
|
|
- echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9059
|
|
- echo ' # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9060
|
|
- echo ' # or a unix socket' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9061
|
|
- echo ' location ~* \.php$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9062
|
|
- echo ' # Zero-day exploit defense.' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9063
|
|
- echo ' # http://forum.nginx.org/read.php?2,88845,page=3' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9064
|
|
- echo " # Won't work properly (404 error) if the file is not stored on this" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9065
|
|
- echo " # server, which is entirely possible with php-fpm/php-fcgi." >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9066
|
|
- echo " # Comment the 'try_files' line out if you set up php-fpm/php-fcgi on" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9067
|
|
- echo " # another machine. And then cross your fingers that you won't get hacked." >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9068
|
|
- echo ' try_files $uri $uri/ /index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9069
|
|
- echo ' # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9070
|
|
- echo ' fastcgi_split_path_info ^(.+\.php)(/.+)$;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9071
|
|
- echo ' # With php5-cgi alone:' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9072
|
|
- echo ' # fastcgi_pass 127.0.0.1:9000;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9073
|
|
- echo ' # With php5-fpm:' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9074
|
|
- echo ' fastcgi_pass unix:/var/run/php5-fpm.sock;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9075
|
|
- echo ' include fastcgi_params;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9076
|
|
- echo ' fastcgi_index index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9077
|
|
- echo ' fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9078
|
|
- echo ' fastcgi_read_timeout 300;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9079
|
|
- echo ' }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9080
|
|
- echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9081
|
|
- echo ' # deny access to all dot files' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9082
|
|
- echo ' location ~ /\. {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9083
|
|
- echo ' deny all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9084
|
|
- echo ' }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9085
|
|
- echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9086
|
|
- echo ' location ~ /\.ht {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9087
|
|
- echo ' deny all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9088
|
|
- echo ' }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9089
|
|
- echo '}' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9090
|
|
- echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9091
|
|
- else
|
9092
|
|
- echo 'server {' > /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9093
|
|
- echo " listen 127.0.0.1:${HUBZILLA_ONION_PORT} default_server;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9094
|
|
- echo " root $HUBZILLA_PATH;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9095
|
|
- echo " server_name $HUBZILLA_ONION_HOSTNAME;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9096
|
|
- echo " error_log /var/log/nginx/${HUBZILLA_DOMAIN_NAME}_error_ssl.log $WEBSERVER_LOG_LEVEL;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9097
|
|
- echo ' index index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9098
|
|
- echo ' charset utf-8;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9099
|
|
- echo ' access_log off;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9100
|
|
- nginx_limits $HUBZILLA_DOMAIN_NAME
|
9101
|
|
- nginx_disable_sniffing $HUBZILLA_DOMAIN_NAME
|
9102
|
|
- echo ' add_header Strict-Transport-Security max-age=15768000;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9103
|
|
- echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9104
|
|
- echo ' # rewrite to front controller as default rule' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9105
|
|
- echo ' location / {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9106
|
|
- echo ' rewrite ^/(.*) /index.php?q=$uri&$args last;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9107
|
|
- echo ' }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9108
|
|
- echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9109
|
|
- echo " # make sure webfinger and other well known services aren't blocked" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9110
|
|
- echo ' # by denying dot files and rewrite request to the front controller' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9111
|
|
- echo ' location ^~ /.well-known/ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9112
|
|
- echo ' allow all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9113
|
|
- echo ' rewrite ^/(.*) /index.php?q=$uri&$args last;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9114
|
|
- echo ' }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9115
|
|
- echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9116
|
|
- echo ' # statically serve these file types when possible' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9117
|
|
- echo ' # otherwise fall back to front controller' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9118
|
|
- echo ' # allow browser to cache them' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9119
|
|
- echo ' # added .htm for advanced source code editor library' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9120
|
|
- echo ' location ~* \.(jpg|jpeg|gif|png|ico|css|js|htm|html|ttf|woff|svg)$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9121
|
|
- echo ' expires 30d;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9122
|
|
- echo ' try_files $uri /index.php?q=$uri&$args;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9123
|
|
- echo ' }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9124
|
|
- echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9125
|
|
- echo ' # block these file types' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9126
|
|
- echo ' location ~* \.(tpl|md|tgz|log|out)$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9127
|
|
- echo ' deny all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9128
|
|
- echo ' }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9129
|
|
- echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9130
|
|
- echo ' # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9131
|
|
- echo ' # or a unix socket' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9132
|
|
- echo ' location ~* \.php$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9133
|
|
- echo ' # Zero-day exploit defense.' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9134
|
|
- echo ' # http://forum.nginx.org/read.php?2,88845,page=3' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9135
|
|
- echo " # Won't work properly (404 error) if the file is not stored on this" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9136
|
|
- echo " # server, which is entirely possible with php-fpm/php-fcgi." >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9137
|
|
- echo " # Comment the 'try_files' line out if you set up php-fpm/php-fcgi on" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9138
|
|
- echo " # another machine. And then cross your fingers that you won't get hacked." >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9139
|
|
- echo ' try_files $uri $uri/ /index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
8918
|
+ if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
|
|
8919
|
+ return
|
|
8920
|
+ fi
|
|
8921
|
+ if [ ! $HUBZILLA_DOMAIN_NAME ]; then
|
|
8922
|
+ return
|
|
8923
|
+ fi
|
|
8924
|
+
|
|
8925
|
+ HUBZILLA_PATH=/var/www/$HUBZILLA_DOMAIN_NAME/htdocs
|
|
8926
|
+
|
|
8927
|
+ # update to a new commit if needed
|
|
8928
|
+ set_repo_commit $HUBZILLA_PATH "Hubzilla commit" "$HUBZILLA_COMMIT" $HUBZILLA_REPO
|
|
8929
|
+ set_repo_commit $HUBZILLA_PATH "Hubzilla addons commit" "$HUBZILLA_ADDONS_COMMIT" $HUBZILLA_ADDONS_REPO
|
|
8930
|
+ if [ -d $HUBZILLA_PATH/redmatrix-themes1 ]; then
|
|
8931
|
+ cd $HUBZILLA_PATH/redmatrix-themes1
|
|
8932
|
+ git stash
|
|
8933
|
+ git pull
|
|
8934
|
+ cp -r $HUBZILLA_PATH/redmatrix-themes1/* $HUBZILLA_PATH/view/theme/
|
|
8935
|
+ chown -R www-data:www-data $HUBZILLA_PATH
|
|
8936
|
+ fi
|
|
8937
|
+
|
|
8938
|
+ if grep -Fxq "install_hubzilla" $COMPLETION_FILE; then
|
|
8939
|
+ return
|
|
8940
|
+ fi
|
|
8941
|
+
|
|
8942
|
+ install_mariadb
|
|
8943
|
+ get_mariadb_password
|
|
8944
|
+ repair_databases_script
|
|
8945
|
+
|
|
8946
|
+ apt-get -y install php5-common php5-cli php5-curl php5-gd php5-mysql php5-mcrypt git
|
|
8947
|
+ apt-get -y install php5-dev imagemagick php5-imagick
|
|
8948
|
+
|
|
8949
|
+ if [ ! -d /var/www/$HUBZILLA_DOMAIN_NAME ]; then
|
|
8950
|
+ mkdir /var/www/$HUBZILLA_DOMAIN_NAME
|
|
8951
|
+ fi
|
|
8952
|
+ if [ ! -d $HUBZILLA_PATH ]; then
|
|
8953
|
+ mkdir $HUBZILLA_PATH
|
|
8954
|
+ fi
|
|
8955
|
+
|
|
8956
|
+ if [ ! -f $HUBZILLA_PATH/index.php ]; then
|
|
8957
|
+ cd $INSTALL_DIR
|
|
8958
|
+ git_clone $HUBZILLA_REPO hubzilla
|
|
8959
|
+ git checkout $HUBZILLA_COMMIT -b $HUBZILLA_COMMIT
|
|
8960
|
+ if ! grep -q "Hubzilla commit" $COMPLETION_FILE; then
|
|
8961
|
+ echo "Hubzilla commit:$HUBZILLA_COMMIT" >> $COMPLETION_FILE
|
|
8962
|
+ else
|
|
8963
|
+ sed -i "s/Hubzilla commit.*/Hubzilla commit:$HUBZILLA_COMMIT/g" $COMPLETION_FILE
|
|
8964
|
+ fi
|
|
8965
|
+
|
|
8966
|
+ rm -rf $HUBZILLA_PATH
|
|
8967
|
+ mv hubzilla $HUBZILLA_PATH
|
|
8968
|
+
|
|
8969
|
+ git_clone $HUBZILLA_ADDONS_REPO $HUBZILLA_PATH/addon
|
|
8970
|
+ cd $HUBZILLA_PATH/addon
|
|
8971
|
+ git checkout $HUBZILLA_ADDONS_COMMIT -b $HUBZILLA_ADDONS_COMMIT
|
|
8972
|
+ if ! grep -q "Hubzilla addons commit" $COMPLETION_FILE; then
|
|
8973
|
+ echo "Hubzilla addons commit:$HUBZILLA_ADDONS_COMMIT" >> $COMPLETION_FILE
|
|
8974
|
+ else
|
|
8975
|
+ sed -i "s/Hubzilla addons commit.*/Hubzilla addons commit:$HUBZILLA_ADDONS_COMMIT/g" $COMPLETION_FILE
|
|
8976
|
+ fi
|
|
8977
|
+
|
|
8978
|
+ # some extra themes
|
|
8979
|
+ git_clone $HUBZILLA_THEMES_REPO $HUBZILLA_PATH/redmatrix-themes1
|
|
8980
|
+ cp -r $HUBZILLA_PATH/redmatrix-themes1/* $HUBZILLA_PATH/view/theme/
|
|
8981
|
+
|
|
8982
|
+ chown -R www-data:www-data $HUBZILLA_PATH
|
|
8983
|
+ fi
|
|
8984
|
+
|
|
8985
|
+ HUBZILLA_ONION_HOSTNAME=
|
|
8986
|
+ if [[ $ONION_ONLY != "no" ]]; then
|
|
8987
|
+ HUBZILLA_ONION_HOSTNAME=$(add_onion_service hubzilla 80 ${HUBZILLA_ONION_PORT})
|
|
8988
|
+ echo "Hubzilla onion domain:${HUBZILLA_ONION_HOSTNAME}" >> $COMPLETION_FILE
|
|
8989
|
+ fi
|
|
8990
|
+
|
|
8991
|
+ get_mariadb_hubzilla_admin_password
|
|
8992
|
+ if [ ! $HUBZILLA_ADMIN_PASSWORD ]; then
|
|
8993
|
+ if [ -f $IMAGE_PASSWORD_FILE ]; then
|
|
8994
|
+ HUBZILLA_ADMIN_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
|
|
8995
|
+ else
|
|
8996
|
+ HUBZILLA_ADMIN_PASSWORD="$(openssl rand -base64 32 | cut -c1-30)"
|
|
8997
|
+ fi
|
|
8998
|
+ echo '' >> /home/$MY_USERNAME/README
|
|
8999
|
+ echo '' >> /home/$MY_USERNAME/README
|
|
9000
|
+ echo 'Hubzilla' >> /home/$MY_USERNAME/README
|
|
9001
|
+ echo '========' >> /home/$MY_USERNAME/README
|
|
9002
|
+ if [[ $ONION_ONLY == 'no' ]]; then
|
|
9003
|
+ echo $"Open https://$HUBZILLA_DOMAIN_NAME and register a new user" >> /home/$MY_USERNAME/README
|
|
9004
|
+ else
|
|
9005
|
+ echo $"Open http://$HUBZILLA_ONION_HOSTNAME and register a new user" >> /home/$MY_USERNAME/README
|
|
9006
|
+ fi
|
|
9007
|
+ echo $"Your MariaDB Hubzilla admin password is: $HUBZILLA_ADMIN_PASSWORD" >> /home/$MY_USERNAME/README
|
|
9008
|
+ chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
|
|
9009
|
+ chmod 600 /home/$MY_USERNAME/README
|
|
9010
|
+ fi
|
|
9011
|
+
|
|
9012
|
+ create_database hubzilla "$HUBZILLA_ADMIN_PASSWORD"
|
|
9013
|
+
|
|
9014
|
+ if ! grep -q "$HUBZILLA_PATH" /etc/crontab; then
|
|
9015
|
+ echo "12,22,32,42,52 * * * * root cd $HUBZILLA_PATH; /usr/bin/timeout 500 /usr/bin/php include/poller.php" >> /etc/crontab
|
|
9016
|
+ fi
|
|
9017
|
+
|
|
9018
|
+ add_ddns_domain $HUBZILLA_DOMAIN_NAME
|
|
9019
|
+
|
|
9020
|
+ if [[ $ONION_ONLY == "no" ]]; then
|
|
9021
|
+ nginx_http_redirect $HUBZILLA_DOMAIN_NAME
|
|
9022
|
+ echo 'server {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9023
|
+ echo ' listen 443 ssl;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9024
|
+ echo " root $HUBZILLA_PATH;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9025
|
+ echo " server_name $HUBZILLA_DOMAIN_NAME;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9026
|
+ echo " error_log /var/log/nginx/${HUBZILLA_DOMAIN_NAME}_error_ssl.log $WEBSERVER_LOG_LEVEL;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9027
|
+ echo ' index index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9028
|
+ echo ' charset utf-8;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9029
|
+ echo ' access_log off;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9030
|
+ nginx_limits $HUBZILLA_DOMAIN_NAME
|
|
9031
|
+ nginx_ssl $HUBZILLA_DOMAIN_NAME
|
|
9032
|
+ nginx_disable_sniffing $HUBZILLA_DOMAIN_NAME
|
|
9033
|
+ echo ' add_header Strict-Transport-Security max-age=15768000;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9034
|
+ echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9035
|
+ echo ' # rewrite to front controller as default rule' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9036
|
+ echo ' location / {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9037
|
+ echo ' rewrite ^/(.*) /index.php?q=$uri&$args last;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9038
|
+ echo ' }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9039
|
+ echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9040
|
+ echo " # make sure webfinger and other well known services aren't blocked" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9041
|
+ echo ' # by denying dot files and rewrite request to the front controller' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9042
|
+ echo ' location ^~ /.well-known/ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9043
|
+ echo ' allow all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9044
|
+ echo ' rewrite ^/(.*) /index.php?q=$uri&$args last;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9045
|
+ echo ' }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9046
|
+ echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9047
|
+ echo ' # statically serve these file types when possible' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9048
|
+ echo ' # otherwise fall back to front controller' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9049
|
+ echo ' # allow browser to cache them' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9050
|
+ echo ' # added .htm for advanced source code editor library' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9051
|
+ echo ' location ~* \.(jpg|jpeg|gif|png|ico|css|js|htm|html|ttf|woff|svg)$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9052
|
+ echo ' expires 30d;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9053
|
+ echo ' try_files $uri /index.php?q=$uri&$args;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9054
|
+ echo ' }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9055
|
+ echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9056
|
+ echo ' # block these file types' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9057
|
+ echo ' location ~* \.(tpl|md|tgz|log|out)$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9058
|
+ echo ' deny all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9059
|
+ echo ' }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9060
|
+ echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9061
|
+ echo ' # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9062
|
+ echo ' # or a unix socket' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9063
|
+ echo ' location ~* \.php$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9064
|
+ echo ' # Zero-day exploit defense.' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9065
|
+ echo ' # http://forum.nginx.org/read.php?2,88845,page=3' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9066
|
+ echo " # Won't work properly (404 error) if the file is not stored on this" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9067
|
+ echo " # server, which is entirely possible with php-fpm/php-fcgi." >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9068
|
+ echo " # Comment the 'try_files' line out if you set up php-fpm/php-fcgi on" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9069
|
+ echo " # another machine. And then cross your fingers that you won't get hacked." >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9070
|
+ echo ' try_files $uri $uri/ /index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9071
|
+ echo ' # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9072
|
+ echo ' fastcgi_split_path_info ^(.+\.php)(/.+)$;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9073
|
+ echo ' # With php5-cgi alone:' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9074
|
+ echo ' # fastcgi_pass 127.0.0.1:9000;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9075
|
+ echo ' # With php5-fpm:' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9076
|
+ echo ' fastcgi_pass unix:/var/run/php5-fpm.sock;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9077
|
+ echo ' include fastcgi_params;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9078
|
+ echo ' fastcgi_index index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9079
|
+ echo ' fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9080
|
+ echo ' fastcgi_read_timeout 300;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9081
|
+ echo ' }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9082
|
+ echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9083
|
+ echo ' # deny access to all dot files' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9084
|
+ echo ' location ~ /\. {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9085
|
+ echo ' deny all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9086
|
+ echo ' }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9087
|
+ echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9088
|
+ echo ' location ~ /\.ht {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9089
|
+ echo ' deny all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9090
|
+ echo ' }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9091
|
+ echo '}' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9092
|
+ echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9093
|
+ else
|
|
9094
|
+ echo 'server {' > /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9095
|
+ echo " listen 127.0.0.1:${HUBZILLA_ONION_PORT} default_server;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9096
|
+ echo " root $HUBZILLA_PATH;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9097
|
+ echo " server_name $HUBZILLA_ONION_HOSTNAME;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9098
|
+ echo " error_log /var/log/nginx/${HUBZILLA_DOMAIN_NAME}_error_ssl.log $WEBSERVER_LOG_LEVEL;" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9099
|
+ echo ' index index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9100
|
+ echo ' charset utf-8;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9101
|
+ echo ' access_log off;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9102
|
+ nginx_limits $HUBZILLA_DOMAIN_NAME
|
|
9103
|
+ nginx_disable_sniffing $HUBZILLA_DOMAIN_NAME
|
|
9104
|
+ echo ' add_header Strict-Transport-Security max-age=15768000;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9105
|
+ echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9106
|
+ echo ' # rewrite to front controller as default rule' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9107
|
+ echo ' location / {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9108
|
+ echo ' rewrite ^/(.*) /index.php?q=$uri&$args last;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9109
|
+ echo ' }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9110
|
+ echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9111
|
+ echo " # make sure webfinger and other well known services aren't blocked" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9112
|
+ echo ' # by denying dot files and rewrite request to the front controller' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9113
|
+ echo ' location ^~ /.well-known/ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9114
|
+ echo ' allow all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9115
|
+ echo ' rewrite ^/(.*) /index.php?q=$uri&$args last;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9116
|
+ echo ' }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9117
|
+ echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9118
|
+ echo ' # statically serve these file types when possible' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9119
|
+ echo ' # otherwise fall back to front controller' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9120
|
+ echo ' # allow browser to cache them' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9121
|
+ echo ' # added .htm for advanced source code editor library' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9122
|
+ echo ' location ~* \.(jpg|jpeg|gif|png|ico|css|js|htm|html|ttf|woff|svg)$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9123
|
+ echo ' expires 30d;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9124
|
+ echo ' try_files $uri /index.php?q=$uri&$args;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9125
|
+ echo ' }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9126
|
+ echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9127
|
+ echo ' # block these file types' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9128
|
+ echo ' location ~* \.(tpl|md|tgz|log|out)$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9129
|
+ echo ' deny all;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9130
|
+ echo ' }' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9131
|
+ echo '' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9132
|
+ echo ' # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9133
|
+ echo ' # or a unix socket' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9134
|
+ echo ' location ~* \.php$ {' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9135
|
+ echo ' # Zero-day exploit defense.' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9136
|
+ echo ' # http://forum.nginx.org/read.php?2,88845,page=3' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9137
|
+ echo " # Won't work properly (404 error) if the file is not stored on this" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9138
|
+ echo " # server, which is entirely possible with php-fpm/php-fcgi." >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9139
|
+ echo " # Comment the 'try_files' line out if you set up php-fpm/php-fcgi on" >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9140
|
+ echo " # another machine. And then cross your fingers that you won't get hacked." >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
|
9141
|
+ echo ' try_files $uri $uri/ /index.php;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9140
|
9142
|
echo ' # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9141
|
9143
|
echo ' fastcgi_split_path_info ^(.+\.php)(/.+)$;' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|
9142
|
9144
|
echo ' # With php5-cgi alone:' >> /etc/nginx/sites-available/$HUBZILLA_DOMAIN_NAME
|