aboutsummaryrefslogtreecommitdiffstats
path: root/.homeinstall
diff options
context:
space:
mode:
Diffstat (limited to '.homeinstall')
-rw-r--r--.homeinstall/README.md43
-rwxr-xr-x.homeinstall/hubzilla-setup.sh89
2 files changed, 32 insertions, 100 deletions
diff --git a/.homeinstall/README.md b/.homeinstall/README.md
index 96ce3b6d4..7e16e2c52 100644
--- a/.homeinstall/README.md
+++ b/.homeinstall/README.md
@@ -28,8 +28,8 @@ Hardware
Software
-+ Fresh installation of Debian 9 (Stretch) on your mini-pc
-+ Router with open ports 80 and 443 for your Debian
++ Fresh installation of Debian 9 (Stretch)
++ Router with open ports 80 and 443 for your Hub
## The basic steps (quick overview)
@@ -39,10 +39,12 @@ Software
- mkdir -p /var/www
- cd /var/www
- git clone https://github.com/redmatrix/hubzilla.git html
- - cp .homeinstall/hubzilla-config.txt.template .homeinstall/hubzilla-config.txt
- - nano .homeinstall/hubzilla-config.txt
+ - cd /html/.homeinstall
+ - cp hubzilla-config.txt.template hubzilla-config.txt
+ - nano hubzilla-config.txt
- Read the comments carefully
- Enter your values: db pass, domain, values for dyn DNS
+ - Make sure your your external drive (for backups) is mounted
- hubzilla-setup.sh as root
- ... wait, wait, wait until the script is finised
- reboot
@@ -56,16 +58,19 @@ Software
### Recommended: USB Drive for Backups
-The installation will create a daily backup.
-
-If the backup process does not find an external device than the backup goes to
-the internal disk.
+The installation will create a daily backup written to an external drive.
The USB drive must be compatible with the filesystems
- ext4 (if you do not want to encrypt the USB)
- LUKS + ext4 (if you want to encrypt the USB)
+The backup includes
+
+- Hubzilla DB
+- Hubzilla installation /var/www/html
+- Certificates for letsencrypt
+
## Preparations Software
### Install Debian Linux on the Mini-PC
@@ -107,20 +112,17 @@ You can use subdomains as well
my.cooldomain.org
-There are two way to get a domain
-
-- buy a domain, or
-- register a free subdomain
+There are two ways to get a domain...
-### Method 1: Buy an own Domain
+### Method 1: Buy a Domain
...for example buy at selfHOST.de
The cost are around 10,- € once and 1,50 € per month (2017).
-### Method 2 Register a (free) Subdomain
+The cost are around 10,- € once and 1,50 € per month (2017).
-...for example register at freeDNS
+...for example register at freedns.afraid.org
Follow the instructions in .homeinstall/hubzilla-config.txt.
@@ -158,10 +160,12 @@ Copy the template file
cp hubzilla-config.txt.template hubzilla-config.txt
-Change the file "hubzilla-config.txt". Read the instructions there carefully and enter your values.
+Modify the file "hubzilla-config.txt". Read the instructions there carefully and enter your values.
nano hubzilla-config.txt
+Make sure your external drive (for backups) is plugged in and can be mounted as configured in "hubzilla-config.txt". Otherwise the daily backups will not work.
+
Run the script
./hubzilla-setup.sh
@@ -185,6 +189,13 @@ Leave db type "MySQL" untouched.
Follow the instructions in the next pages.
+After the daily script was executed at 05:30 (am)
+
+- look at var/www/html/hubzilla-daily.log
+- check your backup on the external drive
+- optionally view the daily log under yourdomain.org/admin/logs/
+ - set the logfile to var/www/html/hubzilla-daily.log
+
## Note for the Rasperry
The script was tested with an Raspberry 3 under Raspian (Debian 9.3, 2017-11-29-raspbian-stretch.img).
diff --git a/.homeinstall/hubzilla-setup.sh b/.homeinstall/hubzilla-setup.sh
index 023b9eed1..635bb3518 100755
--- a/.homeinstall/hubzilla-setup.sh
+++ b/.homeinstall/hubzilla-setup.sh
@@ -459,11 +459,6 @@ 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
@@ -570,20 +565,13 @@ function check_https {
}
function install_hubzilla {
- print_info "installing hubzilla..."
- # rm -R /var/www/html/ # for "stand alone" usage
- cd /var/www/
- # git clone https://github.com/redmatrix/hubzilla html # for "stand alone" usage
- cd html/
- git clone https://github.com/redmatrix/hubzilla-addons addon
+ print_info "installing hubzilla addons..."
+ cd /var/www/html/
+ util/add_addon_repo https://github.com/redmatrix/hubzilla-addons.git hzaddons
mkdir -p "store/[data]/smarty3"
chmod -R 777 store
touch .htconfig.php
chmod ou+w .htconfig.php
- # 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/
@@ -598,72 +586,6 @@ function install_hubzilla {
print_info "installed hubzilla"
}
-function install_hubzilla_plugins {
- print_info "installing hubzilla plugins..."
- cd /var/www/html
- plugin_install=.homeinstall/plugin_install.txt
- theme_install=.homeinstall/theme_install.txt
- # overwrite script to update the plugin and themes
- rm -f $plugins_update
- echo "cd /var/www/html" >> $plugins_update
- ###################
- # write plugin file
- if [ ! -f "$plugin_install" ]
- then
- echo "# To install a plugin" >> $plugin_install
- echo "# 1. add the plugin in a new line and run" >> $plugin_install
- echo "# 2. run" >> $plugin_install
- echo "# cd /var/www/html/.homeinstall" >> $plugin_install
- echo "# ./hubzilla-setup.sh" >> $plugin_install
- echo "https://gitlab.com/zot/ownmapp.git ownMapp" >> $plugin_install
- fi
- # install plugins
- while read -r line; do
- [[ "$line" =~ ^#.*$ ]] && continue
- p_url=$(echo $line | awk -F' ' '{print $1}')
- p_name=$(echo $line | awk -F' ' '{print $2}')
- # basic check of format
- if [ ${#p_url} -ge 1 ] && [ ${#p_name} -ge 1 ]
- then
- # install addon
- util/add_addon_repo $line
- util/update_addon_repo $p_name # not sure if this line is neccessary
- echo "util/update_addon_repo $p_name" >> $plugins_update
- else
- print_info "skipping installation of a plugin from file $plugin_install - something wrong with format in line: $line"
- fi
- done < "$plugin_install"
- ###################
- # write theme file
- if [ ! -f "$theme_install" ]
- then
- echo "# To install a theme" >> $theme_install
- echo "# 1. add the theme in a new line and run" >> $theme_install
- echo "# 2. run" >> $theme_install
- echo "# cd /var/www/html/.homeinstall" >> $theme_install
- echo "# ./hubzilla-setup.sh" >> $theme_install
- echo "https://github.com/DeadSuperHero/hubzilla-themes.git DeadSuperHeroThemes" >> $theme_install
-
- fi
- # install plugins
- while read -r line; do
- [[ "$line" =~ ^#.*$ ]] && continue
- p_url=$(echo $line | awk -F' ' '{print $1}')
- p_name=$(echo $line | awk -F' ' '{print $2}')
- # basic check of format
- if [ ${#p_url} -ge 1 ] && [ ${#p_name} -ge 1 ]
- then
- # install addon
- util/add_theme_repo $line
- util/update_theme_repo $p_name # not sure if this line is neccessary
- echo "util/update_theme_repo $p_name" >> $plugins_update
- else
- print_info "skipping installation of a theme from file $theme_install - something wrong with format in line: $line"
- fi
- done < "$theme_install"
- print_info "installed hubzilla plugins and themes"
-}
-
function rewrite_to_https {
print_info "configuring apache to redirect http to httpS ..."
htaccessfile=/var/www/html/.htaccess
@@ -788,12 +710,11 @@ echo " fi" >> /var/www/$hubzilladaily
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 alpha" >> /var/www/$hubzilladaily
+echo " echo \"device could not be mounted $backup_device_name. No backup written.\"" >> /var/www/$hubzilladaily
echo "fi" >> /var/www/$hubzilladaily
echo "#" >> /var/www/$hubzilladaily
echo "echo \"\$(date) - db size...\"" >> /var/www/$hubzilladaily
-echo "du -h /var/cache/rsnapshot/ | grep mysql/hubzilla" >> /var/www/$hubzilladaily
+echo "du -h /var/lib/mysql/ | grep mysql/hubzilla" >> /var/www/$hubzilladaily
echo "#" >> /var/www/$hubzilladaily
echo "# update" >> /var/www/$hubzilladaily
echo "echo \"\$(date) - updating dehydrated...\"" >> /var/www/$hubzilladaily