aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMario <mario@mariovavti.com>2019-09-18 12:42:56 +0200
committerMario <mario@mariovavti.com>2019-09-18 12:42:56 +0200
commit01abd73a2aa690e6703a295ad1dc78b96deb3f90 (patch)
tree5adda1ca5119675ea6f64e66300f4e33a77428a5
parent6ca507f8dd0abaffb7b4527344b4747b7325a2c4 (diff)
parent8959ba9b821a064e778008982c65f974dd01347e (diff)
downloadvolse-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.md110
-rwxr-xr-x.homeinstall/hubzilla-setup.sh70
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
+