diff options
author | Mario <mario@mariovavti.com> | 2019-09-18 12:42:56 +0200 |
---|---|---|
committer | Mario <mario@mariovavti.com> | 2019-09-18 12:42:56 +0200 |
commit | 01abd73a2aa690e6703a295ad1dc78b96deb3f90 (patch) | |
tree | 5adda1ca5119675ea6f64e66300f4e33a77428a5 | |
parent | 6ca507f8dd0abaffb7b4527344b4747b7325a2c4 (diff) | |
parent | 8959ba9b821a064e778008982c65f974dd01347e (diff) | |
download | volse-hubzilla-01abd73a2aa690e6703a295ad1dc78b96deb3f90.tar.gz volse-hubzilla-01abd73a2aa690e6703a295ad1dc78b96deb3f90.tar.bz2 volse-hubzilla-01abd73a2aa690e6703a295ad1dc78b96deb3f90.zip |
Merge branch 'fix_homeinstall_for_Debian_10' into 'dev'
Fix homeinstall for debian 10
See merge request hubzilla/core!1725
-rw-r--r-- | .homeinstall/README.md | 110 | ||||
-rwxr-xr-x | .homeinstall/hubzilla-setup.sh | 70 |
2 files changed, 102 insertions, 78 deletions
diff --git a/.homeinstall/README.md b/.homeinstall/README.md index d4613afce..1ed2e07d2 100644 --- a/.homeinstall/README.md +++ b/.homeinstall/README.md @@ -1,50 +1,10 @@ -# Hubzilla at Home next to your Router - -This readme will show you how to install and run Hubzilla (or Zap) at home. - -The installation is done by a script. - -What the script will do for you... - -+ install everything required by Hubzilla, basically a web server (Apache), PHP, a database (MySQL), certbot,... -+ create a database -+ run certbot to have everything for a secure connection (httpS) -+ create a script for daily maintenance - - backup to external disk (certificates, database, /var/www/) - - renew certfificate (letsencrypt) - - update of Hubzilla - - update of Debian - - restart -+ create cron jobs for - - DynDNS (selfHOST.de or freedns.afraid.org) every 5 minutes - - Master.php for Zap/Hubzilla every 10 minutes - - daily maintenance script every day at 05:30 - -The script is known to work without adjustments with - -+ Hardware - - Mini-PC with Debian 10 (stretch), or - - Rapberry 3 with Raspbian, Debian 10 -+ DynDNS - - selfHOST.de - - freedns.afraid.org - -The script can install both [Hubzilla](https://zotlabs.org/page/hubzilla/hubzilla-project) and [Zap](https://zotlabs.com/zap/). Make sure to use the correct GIT repositories. - -+ Hubzilla - - core: git clone https://framagit.org/hubzilla/core.git html (in this readme) - - addons: util/add_addon_repo https://framagit.org/hubzilla/addons.git hzaddons (in hubzilla-setup.sh) -+ Zap - - core: git clone https://framagit.org/zot/zap.git html (in this readme) - - addons: util/add_addon_repo https://framagit.org/zot/zap-addons.git zaddons (in hubzilla-setup.sh) +# How to use ## Disclaimers - This script does work with Debian 10 only. - 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 - ## Preconditions Hardware @@ -58,7 +18,7 @@ Software + Fresh installation of Debian 10 (Stretch) + Router with open ports 80 and 443 for your web server -## The basic steps (quick overview) +## How to run the script + Register your own domain (for example at selfHOST) or a free subdomain (for example at freeDNS) + Log on to your fresh Debian @@ -76,31 +36,68 @@ Software - ... wait, wait, wait until the script is finised + Open your domain with a browser and step throught the initial configuration of hubzilla. -## Troubleshooting +## Optional - Set path to imagemagick -If the check of the mail address fails when you try to register the very first user in the browser. Do... +In Admin settings of hubzilla or via terminal cd /var/www/html - util/config system.do_not_check_dns 1 + util/config system.imagick_convert_path /usr/bin/convert -## Optional - Set path to imagemagick +## Optional - Switch verification of email on/off + +Do this just befor you register the user. In Admin settings of hubzilla or via terminal cd /var/www/html - util/config system.imagick_convert_path /usr/bin/convert -# Step-by-Step in Detail +Check the current setting + + util/config system verify_email + +Switch the verification on/off (1/0) + + util/config system verify_email 0 + +## What the script will do for you... + ++ install everything required by Hubzilla, basically a web server (Apache), PHP, a database (MySQL), certbot,... ++ create a database ++ run certbot to have everything for a secure connection (httpS) ++ create a script for daily maintenance + - backup to external disk (certificates, database, /var/www/) + - renew certfificate (letsencrypt) + - update of Hubzilla + - update of Debian + - restart ++ create cron jobs for + - DynDNS (selfHOST.de or freedns.afraid.org) every 5 minutes + - Master.php for Zap/Hubzilla every 10 minutes + - daily maintenance script every day at 05:30 + +The script is known to work without adjustments with + ++ Hardware + - Mini-PC with Debian 10 (stretch), or + - Rapberry 3 with Raspbian, Debian 10 ++ DynDNS + - selfHOST.de + - freedns.afraid.org + +The script can install both [Hubzilla](https://zotlabs.org/page/hubzilla/hubzilla-project) and [Zap](https://zotlabs.com/zap/). Make sure to use the correct GIT repositories. -## Preparations Software ++ Hubzilla + - core: git clone https://framagit.org/hubzilla/core.git html (in this readme) + - addons: util/add_addon_repo https://framagit.org/hubzilla/addons.git hzaddons (in hubzilla-setup.sh) ++ Zap + - core: git clone https://framagit.org/zot/zap.git html (in this readme) + - addons: util/add_addon_repo https://framagit.org/zot/zap-addons.git zaddons (in hubzilla-setup.sh) -## Install Debian 9 -Provided you use a Raspberry Pi 3... -Download the OS Raspbian from https://www.raspberrypi.org/downloads/raspbian/ +# Step-by-Step - some Details -Follow the installation instruction there. +## Preparations ## Configure your Router @@ -146,12 +143,5 @@ to boot the Rapsi to the client console. DO NOT FORGET TO CHANGE THE DEFAULT PASSWORD FOR USER PI! -On a Raspian Stretch (Debian 10) the validation of the mail address fails for the very first user. -This used to happen on some *bsd distros but there was some work to fix that a year ago (2017). - -So if your system isn't registered in DNS or DNS isn't active do - - cd /var/www/html - util/config system.do_not_check_dns 1 diff --git a/.homeinstall/hubzilla-setup.sh b/.homeinstall/hubzilla-setup.sh index be190e389..1103bd5fd 100755 --- a/.homeinstall/hubzilla-setup.sh +++ b/.homeinstall/hubzilla-setup.sh @@ -28,14 +28,13 @@ # * php, # * mariadb - the database for hubzilla, # * adminer, -# * git to download and update hubzilla addon -# - download hubzilla core and addons +# * git to download and update addons # - configure cron # * "Master.php" for regular background prozesses of hubzilla # * "apt-get update" and "apt-get dist-upgrade" and "apt-get autoremove" to keep linux up-to-date # * run command to keep the IP up-to-date > DynDNS provided by selfHOST.de or freedns.afraid.org # * backup hubzillas database and files (rsync) -# - letsencrypt +# - run letsencrypt to create, register and use a certifacte for https # # # Discussion @@ -56,7 +55,7 @@ # - creates a daily cron that runs the hubzilla-daily.sh # # hubzilla-daily.sh makes a (daily) backup of all relevant files -# - /var/lib/mysql/ > hubzilla database +# - /var/lib/mysql/ > database # - /var/www/ > hubzilla/zap from github # - /etc/letsencrypt/ > certificates # @@ -223,6 +222,11 @@ function install_curl { nocheck_install "curl" } +function install_wget { + print_info "installing wget..." + nocheck_install "wget" +} + function install_sendmail { print_info "installing sendmail..." nocheck_install "sendmail sendmail-bin" @@ -269,7 +273,19 @@ function install_adminer { else print_info "file /etc/adminer/adminer.conf exists already" fi + + a2enmod rewrite + + if [ ! -f /etc/apache2/apache2.conf ] + then + die "could not find file /etc/apache2/apache2.conf" + fi + sed -i \ + "s/AllowOverride None/AllowOverride all/" \ + /etc/apache2/apache2.conf + a2enconf adminer + systemctl restart mariadb systemctl reload apache2 } @@ -407,10 +423,9 @@ function install_letsencrypt { then die "Failed to install let's encrypt: 'le_domain' is empty in $configfile" fi - # check if user gave mail address if [ -z "$le_email" ] then - die "Failed to install let's encrypt: 'le_domain' is empty in $configfile" + die "Failed to install let's encrypt: 'le_email' is empty in $configfile" fi nocheck_install "certbot python-certbot-apache" print_info "run certbot ..." @@ -431,12 +446,19 @@ function check_https { } function install_hubzilla { - print_info "installing hubzilla addons..." + print_info "installing addons..." cd /var/www/html/ - # if you install Hubzilla - # util/add_addon_repo https://framagit.org/hubzilla/addons hzaddons - # if you install ZAP - util/add_addon_repo https://framagit.org/zot/zap-addons.git zaddons + if git remote -v | grep -i "origin.*core.git" + then + print_info "hubzilla" + util/add_addon_repo https://framagit.org/hubzilla/addons hzaddons + elif git remote -v | grep -i "origin.*zap.git" + then + print_info "zap" + util/add_addon_repo https://framagit.org/zot/zap-addons.git zaddons + else + die "neither zap nor hubzilla repository > did not install addons or zap/hubzilla" + fi mkdir -p "store/[data]/smarty3" chmod -R 777 store touch .htconfig.php @@ -446,7 +468,7 @@ function install_hubzilla { chown root:www-data /var/www/html/ chown root:www-data /var/www/html/.htaccess chmod 0644 /var/www/html/.htaccess - print_info "installed hubzilla" + print_info "installed addons" } function install_rsync { @@ -585,6 +607,7 @@ check_config stop_hubzilla update_upgrade install_curl +install_wget install_sendmail install_apache install_imagemagick @@ -600,23 +623,34 @@ configure_cron_selfhost if [ "$le_domain" != "localhost" ] then - install_letsencrypt - check_https + install_letsencrypt + configure_apache_for_https + check_https else - print_info "is localhost - skipped installation of letsencrypt and configuration of apache for https" + print_info "is localhost - skipped installation of letsencrypt and configuration of apache for https" fi install_hubzilla +if [ "$le_domain" != "localhost" ] +then + rewrite_to_https + install_rsnapshot +else + print_info "is localhost - skipped rewrite to https and installation of rsnapshot" +fi + configure_cron_daily if [ "$le_domain" != "localhost" ] then - install_rsync - install_cryptosetup + install_cryptosetup + write_uninstall_script else - print_info "is localhost - skipped installation of cryptosetup" + print_info "is localhost - skipped installation of cryptosetup" fi + #set +x # stop debugging from here + |