diff options
-rw-r--r-- | .homeinstall/README.md | 13 | ||||
-rwxr-xr-x | .homeinstall/hubzilla-setup.sh | 54 |
2 files changed, 38 insertions, 29 deletions
diff --git a/.homeinstall/README.md b/.homeinstall/README.md index 14a0846c3..793f7d404 100644 --- a/.homeinstall/README.md +++ b/.homeinstall/README.md @@ -2,12 +2,15 @@ Run hubzilla-setup.sh for an unattended installation of hubzilla. -The script is known to work with Debian 9 stable (Stretch) +The script is known to work without adjustments with -+ Home-PC (Debian-9.2-amd64) -+ Raspian (Debian-9.3 on a Rapberry 3) ++ Home-PC (Debian-9.2-amd64) or Raspian (Debian-9.3 on a Rapberry 3) ++ DynDNS from selfHOST.de or freedns.afraid.org/ -This script does not work for Debian 8 (Jessie). +## Disclaimers + +- This script does work with Debian 9 (Stretch) only without adjustments. +- This script has to be used on a fresh debian install only (it does not take account for a possibly already installed and configured webserver or sql implementation). # Step-by-Step Overwiew @@ -16,7 +19,7 @@ This script does not work for Debian 8 (Jessie). Hardware + Internet connection and router at home -+ Mini-pc connected to your router (a Raspberry 3 will do it too) ++ Mini-pc connected to your router (a Raspberry 3 will do for very small Hubs) + USB drive for backups Software diff --git a/.homeinstall/hubzilla-setup.sh b/.homeinstall/hubzilla-setup.sh index 66fdd433d..023b9eed1 100755 --- a/.homeinstall/hubzilla-setup.sh +++ b/.homeinstall/hubzilla-setup.sh @@ -43,10 +43,15 @@ # Security - password is the same for mysql-server, phpmyadmin and hubzilla db # - The script runs into installation errors for phpmyadmin if it uses # different passwords. For the sake of simplicity one singel password. +# +# Security - suhosin for PHP +# - The script does not install suhosin. +# - Is the security package suhosin usefull or not usefull? # # Hubzilla - email verification # - The script switches off email verification off in all htconfig.tpl. # Example: /var/www/html/view/en/htconfig.tpl +# - Is this a silly idea or not? # # # Remove Hubzilla (for a fresh start using the script) @@ -109,7 +114,11 @@ function check_sanity { fi if [ ! -f /etc/debian_version ] then - die "Ubuntu is not supported" + die "Debian is supported only" + fi + if ! grep -q 'Linux 9' /etc/issue + then + die "Linux 9 (stretch) is supported only"x fi } @@ -251,7 +260,6 @@ function install_php { # openssl and mbstring are included in libapache2-mod-php print_info "installing php..." nocheck_install "libapache2-mod-php php php-pear php-curl php-mcrypt php-gd" - print_info "increase upload file size to 100M..." sed -i "s/^upload_max_filesize =.*/upload_max_filesize = 100M/g" /etc/php/7.0/apache2/php.ini sed -i "s/^post_max_size =.*/post_max_size = 100M/g" /etc/php/7.0/apache2/php.ini } @@ -300,7 +308,7 @@ function install_phpmyadmin { echo phpmyadmin phpmyadmin/reconfigure-webserver multiselect apache2 | debconf-set-selections nocheck_install "phpmyadmin" - # It seems not to be neccessary to check rewrite.load because it comes + # It seems to be not neccessary to check rewrite.load because it comes # with the installation. To be sure you could check this manually by: # # nano /etc/apache2/mods-available/rewrite.load @@ -451,6 +459,11 @@ function configure_cron_selfhost { fi } +function install_git { + print_info "installing git..." + nocheck_install "git" +} + function install_letsencrypt { print_info "installing let's encrypt ..." # check if user gave domain @@ -567,7 +580,10 @@ function install_hubzilla { chmod -R 777 store touch .htconfig.php chmod ou+w .htconfig.php - install_hubzilla_plugins + # uncomment the last function call "install_hubzilla_plugins" + # - if you want to install addons and themes that are not officially supported + # - and read the comments in function "install_hubzilla_plugins" how do do it + # install_hubzilla_plugins cd /var/www/ chown -R www-data:www-data html chown root:www-data /var/www/html/ @@ -667,25 +683,19 @@ function rewrite_to_https { function install_rsnapshot { print_info "installing rsnapshot..." nocheck_install "rsnapshot" - # internal disk - cp -f /etc/rsnapshot.conf $snapshotconfig - sed -i "/hourly/s/retain/#retain/" $snapshotconfig - sed -i "/monthly/s/#retain/retain/" $snapshotconfig + # internal disk + cp -f /etc/rsnapshot.conf $snapshotconfig sed -i "s/^cmd_cp/#cmd_cp/" $snapshotconfig sed -i "s/^backup/#backup/" $snapshotconfig - if [ -z "`grep 'letsencrypt' $snapshotconfig`" ] - then - echo "backup /var/lib/mysql/ localhost/" >> $snapshotconfig - echo "backup /var/www/html/ localhost/" >> $snapshotconfig - echo "backup /var/www/letsencrypt/ localhost/" >> $snapshotconfig - fi + echo "backup /var/lib/mysql/ localhost/" >> $snapshotconfig + echo "backup /var/www/html/ localhost/" >> $snapshotconfig + echo "backup /var/www/letsencrypt/ localhost/" >> $snapshotconfig # external disk - if [ -n "$backup_device_name" ] && [ -n "$backup_device_pass" ] + if [ -n "$backup_device_name" ] then cp -f /etc/rsnapshot.conf $snapshotconfig_external_device sed -i "s#snapshot_root.*#snapshot_root $backup_mount_point#" $snapshotconfig_external_device - sed -i "/hourly/s/retain/#retain/" $snapshotconfig_external_device - sed -i "/monthly/s/#retain/retain/" $snapshotconfig_external_device + sed -i "/alpha/s/6/30/" $snapshotconfig_external_device sed -i "s/^cmd_cp/#cmd_cp/" $snapshotconfig_external_device sed -i "s/^backup/#backup/" $snapshotconfig_external_device if [ -z "`grep 'letsencrypt' $snapshotconfig_external_device`" ] @@ -759,9 +769,7 @@ echo " if mount $backup_device_name $backup_mount_point" >> /var/www/$hub echo " then" >> /var/www/$hubzilladaily echo " device_mounted=1" >> /var/www/$hubzilladaily echo " echo \"device $backup_device_name is now mounted. Starting backup...\"" >> /var/www/$hubzilladaily -echo " rsnapshot -c $snapshotconfig_external_device daily" >> /var/www/$hubzilladaily -echo " rsnapshot -c $snapshotconfig_external_device weekly" >> /var/www/$hubzilladaily -echo " rsnapshot -c $snapshotconfig_external_device monthly" >> /var/www/$hubzilladaily +echo " rsnapshot -c $snapshotconfig_external_device alpha" >> /var/www/$hubzilladaily echo " echo \"\$(date) - disk sizes...\"" >> /var/www/$hubzilladaily echo " df -h" >> /var/www/$hubzilladaily echo " echo \"\$(date) - db size...\"" >> /var/www/$hubzilladaily @@ -781,9 +789,7 @@ echo "fi" >> /var/www/$hubzilladaily echo "if [ \$device_mounted == 0 ]" >> /var/www/$hubzilladaily echo "then" >> /var/www/$hubzilladaily echo " echo \"device could not be mounted $backup_device_name. Using internal disk for backup...\"" >> /var/www/$hubzilladaily -echo " rsnapshot -c $snapshotconfig daily" >> /var/www/$hubzilladaily -echo " rsnapshot -c $snapshotconfig weekly" >> /var/www/$hubzilladaily -echo " rsnapshot -c $snapshotconfig monthly" >> /var/www/$hubzilladaily +echo " rsnapshot -c $snapshotconfig alpha" >> /var/www/$hubzilladaily echo "fi" >> /var/www/$hubzilladaily echo "#" >> /var/www/$hubzilladaily echo "echo \"\$(date) - db size...\"" >> /var/www/$hubzilladaily @@ -798,7 +804,7 @@ echo "chown -R www-data:www-data /var/www/html/ # make all accessable for the we echo "chown root:www-data /var/www/html/.htaccess" >> /var/www/$hubzilladaily echo "chmod 0644 /var/www/html/.htaccess # www-data can read but not write it" >> /var/www/$hubzilladaily echo "echo \"\$(date) - updating linux...\"" >> /var/www/$hubzilladaily -echo "apt-get -q -y update && apt-get -q -y dist-upgrade # update linux and upgrade" >> /var/www/$hubzilladaily +echo "apt-get -q -y update && apt-get -q -y dist-upgrade && apt-get -q -y autoremove # update linux and upgrade" >> /var/www/$hubzilladaily echo "echo \"\$(date) - Backup hubzilla and update linux finished. Rebooting...\"" >> /var/www/$hubzilladaily echo "#" >> /var/www/$hubzilladaily echo "reboot" >> /var/www/$hubzilladaily |