Synchroniseer Mainserver met Homeserver
Om de nieuwe mainserver in te zetten als domeinserver www.makkink.eu moeten we eerst de inhoud van de mainserver synchroniseren met de on-line server. Dit gaat prima met het linux-commando # rsync
Omdat het meerdere individuele mappen beteft moeten we het rsync commando voor iedere individuele map opnieuw uitvoren. Dat houdt ook in dat we even zovele keren het root wachtwoord van de on-line homeserver in moeten voeren.
Dit vereenvoudigen we tot een batchopdracht in een script:
sync_home_to_mainserver:
#!/bin/bash # script voor het synchroniseren van deze server (doel) met de homeserver (bron) # BenMakkink 31-10-2020 # ******************************************************************************** # Include verborgen bestand met het rsync wachtwoord van de homeserver . /usr/local/bin/.rsync_access_homeserver # Synchroniseer share: afbeeldingen echo "Synchronisatie van /home/beheerder"; echo "===================================="; yn="n"; echo -n "Uitvoeren? Y/N:"; read yn; case $yn in [Yy]) sshpass -p$RSYNC_PWD rsync -avzh --delete root@192.168.1.5:/home/beheerder/ /home/beheerder;; esac; echo; echo "Synchronisatie van de share Afbeeldingen"; echo "========================================"; yn="n"; echo -n "Uitvoeren? Y/N:"; read yn; case $yn in [Yy]) sshpass -p$RSYNC_PWD rsync -avzh --delete root@192.168.1.5:/home/files/afbeeldingen/ /home/files/afbeeldingen;; esac; echo; echo "Synchronisatie van de share Documenten"; echo "======================================"; yn="n"; echo -n "Uitvoeren? Y/N:"; read yn; case $yn in [Yy]) sshpass -p$RSYNC_PWD rsync -avzh --delete root@192.168.1.5:/home/files/documenten/ /home/files/documenten;; esac; echo; echo "Synchronisatie van de share E-books"; echo "==================================="; yn="n"; echo -n "Uitvoeren? Y/N:"; read yn; case $yn in [Yy])yn="n"; sshpass -p$RSYNC_PWD rsync -avzh --delete root@192.168.1.5:/home/files/e-books/ /home/files/e-books;; esac; echo; echo "Synchronisatie van de share Muziek"; echo "=================================="; yn="n"; echo -n "Uitvoeren? Y/N:"; read yn; case $yn in [Yy]) sshpass -p$RSYNC_PWD rsync -avzh --delete root@192.168.1.5:/home/files/muziek/ /home/files/muziek;; esac; echo; echo "Synchronisatie van de share Video"; echo "================================="; yn="n"; echo -n "Uitvoeren? Y/N:"; read yn; case $yn in [Yy]) sshpass -p$RSYNC_PWD rsync -avzh --delete root@192.168.1.5:/home/files/video/ /home/files/video;; esac; echo; echo "Synchronisatie van het Archief"; echo "=============================="; yn="n"; echo -n "Uitvoeren? Y/N:"; read yn; case $yn in [Yy]) sshpass -p$RSYNC_PWD rsync -avzh --delete root@192.168.1.5:/home/archief/ /home/archief;; esac; echo; echo "Synchronisatie van webroot /var/www/html"; echo "========================================"; yn="n"; echo -n "Uitvoeren? Y/N:"; read yn; case $yn in [Yy]) sshpass -p$RSYNC_PWD rsync -avzh --delete root@192.168.1.5:/store/live/webroot/ /store/live/webroot;; esac; echo; echo "Synchronisatie van de Wordpress /home/wpdata"; echo "============================================"; yn="n"; echo -n "Uitvoeren? Y/N:"; read yn; case $yn in [Yy]) sshpass -p$RSYNC_PWD rsync -avzh --delete root@192.168.1.5:/home/wpdata/ /home/wpdata;; esac; echo; echo "WORDPRESS UPDATEN MET /home/wpdata"; echo "==================================" echo "Synchroniseer eerst /store/live/webroot met daarin de website ../blog"; echo "# cd /home/wpdata/dbase_dump"; echo "# mysqladmin -uroot -p'kn1kk@M!48' drop wordpress;"; echo "# mysql -uroot -p'kn1kk@M!48' < wp-dumpxxxxxxxx.sql;"; echo; # echo "Synchronisatie van de Piwigo-backup"; echo "Synchronisatie van de Piwigo /home/pwgdata"; echo "=========================================="; yn="n"; echo -n "Uitvoeren? Y/N:"; read yn; case $yn in [Yy]) sshpass -p$RSYNC_PWD rsync -avzh --delete root@192.168.1.5:/home/pwgdata/ /home/pwgdata;; esac; echo; echo "PIWIGO UPDATEN MET /home/pwgdata"; echo "================================" echo "Synchroniseer eerst /store/live/webroot met daarin de website ../piwigo"; echo "# cd /home/pwgdata/dbase_dump"; echo "# mysqladmin -uroot -p'kn1kk@M!48' drop piwigo;"; echo "# mysql -uroot -p'kn1kk@M!48' < piwigo-dumpxxxxxxxx.sql;";
Veel websites worden heden ten dage 'responsive' gebouwd, d.w.z. dat ze geschikt zijn voor diverse schermafmetingen zoals van een smartphone, tablet en desktop. Een voorbeeld is de blog van Wordpress met het thema 'Layout Builder'
Ook zijn er (tussen)oplossingen zoals gebruikt door Piwigo waarbij een speciaal mobiel thema gemaakt is.
Standaard opent de Piwigo applicatie met een desktop-thema zoals 'Elegant', maar als gedetecteerd wordt dat de client een mobiel apparaat is dan gaat de applicatie verder met het mobiele thema. Dit mobiele thema moet dan vanzelfsprekend wel geactiveerd zijn.
Piwigo heeft inmiddels het thema Modus in gebruik genomen dat volledig responsive is, dwz er is geen afzonderlijk mobiel thema meer nodig. Op het moment van schrijven, 6 maart 2020, is dit thema Modus nog niet geheel betrouwbaar op UHD 3840 x 2160 px screens.
Op het domein makkink.eu zijn diverse websites ondergebracht die te bereiken zijn via een hoofdmenu www.makkink.eu/index.html.
Sommige van de te kiezen sites zijn responsive en andere weer totaal niet. Het zou een dagtaak opleveren deze laatste wat oudere sites om te bouwen voor gebruik op een mobiel. Ik heb daarom gekozen voor het maken van een tweede hoofdmenu dat geschikt is voor mobiel gebruik, met klikbare afbeeldingen.
Automatisch schakelen tussen menu's
Als het domein makkink.eu opgeroepen wordt opent deze met index.html. In het geval de client een mobiel is moet er nu een omleiding volgen naar de mobiele pagina die ik 'mobile-index.html' genoemd heb.
De oplossing hiervoor heb ik gevonden op de site
mobile247.eu met het script Switch naar mobiel.
Het switch script detecteert of de gebruiker de website via een desktop of mobiel bezoekt. Als de bezoeker via mobiel op uw website komt schakelt het script automatisch over op uw mobiele website.
Switch naar Mobiel Installeren
<script type="text/javascript" src="mainmenu/switch_to_mobile.js"></script> <script type="text/javascript"> vSwitchToMobile("mainmenu/mobile-index.html"); </script>
Schakel 220V via USB poort van Linux server
Cleware USB Powerswitch http://www.cleware-shop.de/USB-Switch-EN
Installatie op Linux ClearOS 7.2
Zie voor Clewarecontrol https://vanheusden.com/drivers/cleware/
Clewarecontrol vereist op zijn minst Linux kernel version 2.6.8
ClearOS 7.2 heeft versie 3.10.0-327.36.3.v7.x86_64
Tevens is al voorzien in de benodigde USB Human Interface Device (HID) kernel module.
Installatie
Volgende software packages moeten geïnstalleerd worden voor de operatie van de Cleware USB Powerswitch (zie ook: Server::Configureren Packages voor Cleware USB Powerswitch ):
Installatie op Ubuntu Server 24.04.1 LTS
Zie voor Clewarecontrol https://vanheusden.com/drivers/cleware/
Clewarecontrol vereist op zijn minst Linux kernel version 2.6.8
Ubuntu Server 24.04.1 LTS heeft versie Linux version 6.8.0-48-generic x86_64-linux-gnu-gcc-13 (Ubuntu 13.2.0-23ubuntu4)
Tevens is al voorzien in de benodigde USB Human Interface Device (HID) kernel module.
Installatie
Volgende software packages moeten geïnstalleerd worden voor de operatie van de Cleware USB Powerswitch (zie ook: Server::Configureren Packages voor Cleware USB Powerswitch ):
Verifieer nu dat executable clewarecontrol in /bin/ voorkomt en zie ook # man clewarecontrol
Volg instructies in readme.txt
Clewarecontrol verwijderen
De bestanden in /usr/lib/clewarecontrol-2.8 zijn alleen benodigd voor middels het commando 'make install' de executable 'clewarecontrol te compileren en te plaatsen in /bin en /usr/bin.
Na deze installatie hebben de bestanden in /usr/lib/clewarecontrol-2.8 in feite geen nut meer en zouden zelfs verwijderd kunnen worden. We laten ze echter voor wat ze zijn.
Als we clewarecontrol geheel van de server willen verwijderen (de-installeren):
Commando's Clewarecontrol
Korte commando's in scripts
Om te voorkomen dat voor het in- en uitschakelen elke keer een lang en ingewikkeld commando gegeven moet worden maken we in /usr/local/bin twee scripts aan (chmod 655) met de respectievelijke namen: aan en uit
In het bestand aan plaatsen we de code:
clewarecontrol -c 1 -d 67507 -as 0 1;
echo "Testserver is aan";
In het bestand uit plaatsen we de code:
clewarecontrol -c 1 -d 67507 -as 0 0;
echo "Testserver is uit";
Netwerk crash
Na een stroomstoring wordt de internetverbinding vaak wel gewoon hertsteld, maar het komt voor dat bijvoorbeeld het glasvezelmodem of de router geen verbinding tot stand kunnen brengen met de ISP.
Als er in zo'n geval niemand ter plekke het glasvezelmodem en/of de router opnieuw op kan starten (re-booten) kun je elders (bijvoorbeeld op vakantie) je thuisserver niet meer bereiken.
Ook de ISP kan hierin niets voor je doen.
Het modem en de router moeten ter plekke gereset worden middels een re-boot (uit- en subsequent inschakelen).
Reboot door de Thuis Server
Dit kunnen we oplossen door op de thuisserver een script te laten draaien dat bijv. elke minuut controleert of er verbinding met het internet is.
Als er een paar uur geen internet is laten we de thuisserver een reboot uitvoeren.
Hiervoor maken we gebruik van de hiervoor omschreven
Cleware USB Powerswitch waarop het modem en de router aangesloten worden. De powerswitch wordt via USB door het script uit- en ingeschakeld.
Let Op: De schakelaar zoals geleverd staat in de ruststand uit, dus ook als de USBkabel niet verbonden is.
De schakelaar is alleen via USB op aan te zetten.
Omkeren
Voor de hier beschreven reboot functie is het nodig dat de power per default 'aanstaat' en via USB uit te schakelen is.
Hiervoor moet het relais verwijderd worden en met losse bedrading 'achterstevoren' opnieuw verbonden worden.
Cleware heeft ook switches in hun programma die in de ruststand aan staan
Zie hier installatie en configuratie van de benodigde Cleware software.
Het NETWATCH programma
Klik hier om het 'Netwatch' script te bekijken en/of gebruik Save As om bestand op te slaan.
De werking in het kort:
if ! ping -c1 google.com >& /dev/null; then
# Pauzeer voordat volgende check start sleep 1m; # Zet op 1m voor check elke minuut
# Zo niet bereken downTime sinds laatste verbinding downTime=$(( $(date +"%s") - $lastAccessTime ));
# Schrijf datum + tijd naar log /var/www/html/isp_log.txt NOW=$(date +"%d/%m/%Y %T") echo $NOW: "Geen internettoegang" >> /var/www/html/isp_log.txt;
# Als gedurende langere tijd geen verbinding => reboot
if [ $downTime -ge 7200 ]; then # Maak 7200 i.e. 2 uur
# Zet 'netlost' vlag
netlost=1;
net-reboot;
# Wacht voor netwerk herstel
sleep 5m; # Maak 5m i.e. 5 minuten
if ! ping -c1 google.com >& /dev/null; then # Wacht 24 uur sleep 24h; # Zet 24h i.e. 24 uur fi
# Reset variabelen voor een verse start downTime=0; lastAccessTime=$(date +"%s");
if [ $netlost -gt 0 ]; then txt1="Verbinding met internet was down voor meer dan 2 uur."; txt2="De Service Netwatch heeft een reboot van modem"; txt3="en router uitgevoerd. Zie ook"; txt4="https://www.makkink.eu/exploringlinux/html/projectmap.html#netwatch"; printf "$txt1 \n$txt2 $txt3 \n$txt4 \n" | mail -s "Bericht van Netwatch" ben@makkink.eu netlost=0; fi
Script Net-reboot
In het Netwatch programma wordt vastgesteld of er een reboot van het glasvezelmodem en de router nodig is en als dat zo is dan wordt het script 'net-reboot' aangeroepen.
Voor de benodigde reboot worden het modem en de router op de netstroom aangesloten via de
Cleware USB Powerswitch. Deze gemodificeerde switch staat per default op 'aan', dus ook als de server niet aan staat.
Klik hier om het 'Net-reboot' script te bekijken en/of gebruik Save As om bestand op te slaan.
De netstroom phasedraad is aangesloten op de contacten 30 en 87a en in de ruststand van het relais dus doorverbonden
clewarecontrol -c 1 -d 560309 -as 0 1;
Door via USB de aansluitingen 85 en 86 van het relais te bekrachtigen (stand 1) wordt de phasedraad van de netstroom onderbrokenclewarecontrol -c 1 -d 560309 -as 0 0;
Via USB
wordt de relaisbekrachtiging opgeheven en keert deze terug naar de ruststand.Maak Netwatch Systemservice
We willen dat het scipt 'netwatch' start zodra de server geboot wordt en vervolgens continue op de achtergrond draait.
Dit doen we door het script uit te voeren als een door de systeemdeamon gecontroleerde service.
Het is vrij eenvoudig een Linux Service aan te maken.
[Unit] Description=Network Watch Service After=network.target [Service] Type=simple Restart=always RestartSec=1 User=root ExecStart=/usr/local/bin/netwatch [Install] WantedBy=multi-user.target
After=network.targetDe service start alleen nadat het netwerk klaar is.
Restart=alwaysAls een service altijd beschikbaar moet zijn voegen we deze instructie toe.
RestartSec=1Specificeer het aantal seconden dat gewacht wordt voordat geprobeerd wordt een herstart te maken.
ExecStart=/usr/local/bin/netwatchGeef hier het volledige pad naar het uit te voeren programma/script
Voor MYSQL heb ik een verzameling van queries aangelegd die gebruikt worden voor de databases van Piwigo en Wordppress.
Kopieer de gewenste regel en plak die in puTTY en voorkom hierdoor typo's.
Snel herhaaldelijk inloggen met script:
# Login MySQL Piwigo Db (geen root access) . /usr/local/bin/.mysql_access mysql -upiwigo -p$MYSQL_PASSWORD -Dpiwigo
# Login MySQL Wordpress Db (geen root access) . /usr/local/bin/.mysql_access mysql -uwordpress -p$MYSQL_PASSWORD -Dwordpress
Tenzij Configuration Storage aanwezig is, zal elke wijziging in de phpMyAdmin setup alleen opgeslagen worden in de lopende sessie.
Om permanente configuratiewijzigingen te maken in de phpMyAdmin Web Interface moet Configuration Storage geactiveerd worden waarna alle wijzigingen in een database opgeslagen worden. Elke keer dat phpMyAdmin gestart wordt worden de instellingen afwijkend van de default geladen uit deze database.
In een nieuwe installatie van phpMyAdmin zal de Configuration Storage niet meer geïnstalleerd worden.
Hoewel in de praktijk nauwelijks wijzigingen in de configuratie gemaakt worden en de faciliteit ook niet echt nodig is, hierna de procedure voor de installatie.
Creëer de database phpmyadmin
In /usr/share/phpMyAdmin/sql is de gewenste database om te importeren:
# cd /usr/share/phpMyAdmin/sql
# mysql -uroot -p'root-mysqlpassword' < create_tables.sql
Login to MySQL
# mysql phpmyadmin -uroot -p'root-mysqlpassword'
Set old_passwords
MariaDB [phpmyadmin]> SET old_passwords=0;
Haal hexadecimaal controluser wachtwoord voor de database
Gebruik zelfde wachtwoord als van de andere databases zoals Piwigo en Wordpress.
MariaDB [wordpress]> SELECT PASSWORD('controlluser-password');
+-------------------------------------------+
| PASSWORD('controlluser-password') |
+-------------------------------------------+
| *4671C72C0E4CDEFF80A21E020D71AD67C3B94C6F |
+-------------------------------------------+
Maak controluser van database aan en geef permissies
Gebruik het hexadecimaal wachtwoord
MariaDB [phpmyadmin]> CREATE USER phpmyadmin@localhost IDENTIFIED VIA mysql_native_password USING '*4671C72C0E4CDEFF80A21E020D71AD67C3B94C6F'
Voeg Storage settings toe aan de phpMyAdmin custom configuratie /etc/phpMyAdmin/config.inc.php
/** * phpMyAdmin configuration storage settings. */ /* User used to manipulate with storage */ $cfg['Servers'][1]['controluser'] = 'phpmyadmin'; $cfg['Servers'][1]['controlpass'] = 'adminruurlo'; * Storage database and tables */ $cfg['Servers'][1]['pmadb'] = 'phpmyadmin'; $cfg['Servers'][1]['bookmarktable'] = 'pma__bookmark'; $cfg['Servers'][1]['relation'] = 'pma__relation'; $cfg['Servers'][1]['table_info'] = 'pma__table_info'; $cfg['Servers'][1]['table_coords'] = 'pma__table_coords'; $cfg['Servers'][1]['pdf_pages'] = 'pma__pdf_pages'; $cfg['Servers'][1]['column_info'] = 'pma__column_info'; $cfg['Servers'][1]['history'] = 'pma__history'; $cfg['Servers'][1]['table_uiprefs'] = 'pma__table_uiprefs'; $cfg['Servers'][1]['tracking'] = 'pma__tracking'; $cfg['Servers'][1]['userconfig'] = 'pma__userconfig'; $cfg['Servers'][1]['recent'] = 'pma__recent'; $cfg['Servers'][1]['favorite'] = 'pma__favorite'; $cfg['Servers'][1]['users'] = 'pma__users'; $cfg['Servers'][1]['usergroups'] = 'pma__usergroups'; $cfg['Servers'][1]['navigationhiding'] = 'pma__navigationhiding'; $cfg['Servers'][1]['savedsearches'] = 'pma__savedsearches'; $cfg['Servers'][1]['central_columns'] = 'pma__central_columns'; /** * End of servers configuration */
Herstart MariaDB
# systemctl restart rh-mariadb103-mariadb.service
PHP.INI en Error_log overrun
Gallery 2 blijkt zo langzamerhand niet meer compatible met de huidige PHP versie 5.4.19
Bij het laden van nieuwe foto's met Uploadify en het downloaden van foto's levert dit zoveel waarschuwingen op dat het systeem tijdelijk overbelast raakt en het programma enkele minuten lijkt te hangen. Tevens loopt de errorlog en daarmee de voor logs gereserveerde harddisk ruimte vol in een angstaanjagend tempo.
In ClearOS 6.6 /etc/php.ini wordt op regel 516 het Error Level gezet naar:
error_reporting = E_ALL & ~E_DEPRECATED
Dat houdt in dat alles gerapporteerd wordt, behalve van code die in de toekomst uitgefaseerd gaat worden (dus met de huidige verse gewoon goed werkt).
Dit wijzigen we naar:
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
Nu worden ook de E_STRICT meldingen uitgezonderd, zijnde
run-time meldingen van PHP suggesties tot code verbetering.
Note:
In ClearOS 7.2 staat het error level al gezet naar:
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT dus hier zal het probleem zich al niet voor gaan doen.
Tracing in PHP code
Om te onderzoeken waar in de PHP code we bezig zijn om wijzigingen aan te brengen en op te sporen wat op die plek de inhoud van variabelen is, kunnen we een zgn trace in de code plaatsen.
De meest eenvoudige vorm is door bijvoorbeeld de code echo ('Hier ben ik'); op te nemen. Hetzelfde resultaat krijgen we met print "Hier ben ik";
Als er in de code een variabele gezet is of gebruikt wordt dan kunnen we de waarde van de variabele weergeven door de volgende regel in de code op te nemen:
print "Waarde= ".$<naam variabele>
Voorbeeld met Piwigo in het bestand ../piwigo/index.php:
Voeg gelijk aan het begin van index.php, na de include statements, de volgende code toe:
print "Index.php user status: ".$user['status']."
Als we Piwigo nu in de browser openen (zonder in te loggen zien we boven aan het scherm:
Index.php user status: guest
Verberg achtergrondafbeelding:
In bovenstaand voorbeeld staat de tekst enigzins verborgen in de Fotogalerij header achtergrondafbeelding.
Als we op deze manier aanhet debuggen zijn is het beter dat we eerst deze achtergrondafbeelding verwijderen. Ga hiervoor in Piwigo naar de CSS tab van de LocalFiles Editor en zoek naar de code:
BODY { background-image: .... ; } en plaats deze tussen de uitmarkeringen /* en */
Inhoud van een Array
In voorgaand voorbeeld gebruiken we de variabele $user, maar dit is in feite een array waarvan we de waarde oproepen van de sleutel 'status'.
Als we nu een array hebben waarvan we niet weten wat de aanwezige sleutels zijn voegen we in ons voorbeeld in index.php direct na de 'include statements' de volgende code toe:
print "<pre>";
print_r ($user);
print "</pre>";
Als we nu Piwigo in de browser openen krijgen we bovenaan de pagina het volgende resultaat met daarin alle sleutels en hun respectievelijke waardes:
Array ( [id] => 2 [username] => gast [password] => [email] => [user_id] => 2 [nb_image_page] => 50 [status] => guest [language] => nl_NL [expand] => [show_nb_comments] => [show_nb_hits] => [recent_period] => 60 [theme] => Pure_clear_blue [registration_date] => 2017-01-25 10:35:12 [enabled_high] => [level] => 0 [activation_key] => [activation_key_expire] => [lastmodified] => 2017-02-08 11:18:26 [need_update] => [cache_update_time] => 1488029943 [forbidden_categories] => 2, ... ,271 [nb_total_images] => 650 [last_photo_date] => 2017-01-01 12:00:00 [nb_available_tags] => 0 [nb_available_comments] => [image_access_type] => NOT IN [image_access_list] => 0 [theme_name] => Pure_clear_blue )
Veel voorkomende arrays: $user, $page, $conf
Handmatige PHP Upgrade naar versie 7.3
In mijn PHP-Engines was de laatste contribs versie 7.3.
Een zoektocht in de repositories met commando #yum search php73 --enablerepo=* leverde ondermeer het volgende op:
rh-php73.x86_64 : Package that installs PHP 7.3
Voeg PHP 7.3 toe aan PHP-Engines
Bij het toevoegen van PHP 7.3 aan PHP-Engines heb ik de procedure gevolgd zoals omschreven op Github Added PHP 7.1 engine
A. Installeer RH-PHP73
# yum install rh-php73 --enablerepo=*
B. Edit
PHP_Engines.php
Maak kopie van /usr/clearos/apps/php_engines/libraries/PHP_Engines.php en geef extentie: .org
Edit
PHP_Engines.php en kopieer in 'class PHP_Engines extends Engine' block 'Variables' alle regels met 'rh-php72-php-fpm' en voeg deze toe en wijzig elk voorkomen van '72' naar '73'
protected $services = array(); protected $supported = array( 'httpd' => 'PHP 5.4', 'rh-php56-php-fpm' => 'PHP 5.6', 'rh-php70-php-fpm' => 'PHP 7.0', 'rh-php71-php-fpm' => 'PHP 7.1', 'rh-php72-php-fpm' => 'PHP 7.2', 'rh-php73-php-fpm' => 'PHP 7.3' ); protected $ports = array( 'httpd' => 0, 'rh-php56-php-fpm' => 9056, 'rh-php70-php-fpm' => 9070, 'rh-php71-php-fpm' => 9071, 'rh-php72-php-fpm' => 9072, 'rh-php73-php-fpm' => 9073 ); protected $version_codes = array( 'rh-php56-php-fpm' => 56, 'rh-php70-php-fpm' => 70, 'rh-php71-php-fpm' => 71, 'rh-php72-php-fpm' => 72, 'rh-php73-php-fpm' => 73 ); protected $configs = array( 'rh-php56-php-fpm' => '/etc/opt/rh/rh-php56/php.ini', 'rh-php70-php-fpm' => '/etc/opt/rh/rh-php70/php.ini', 'rh-php71-php-fpm' => '/etc/opt/rh/rh-php71/php.ini', 'rh-php72-php-fpm' => '/etc/opt/rh/rh-php72/php.ini', 'rh-php73-php-fpm' => '/etc/opt/rh/rh-php73/php.ini'
C. Edit info.php
Maak kopie van /usr/clearos/apps/php_engines/deploy/info.php en geef extentie: .org
Edit info.php:
D. Edit rh-php73-php-fpm.php
Maak copie van /var/clearos/base/daemon/
rh-php72-php-fpm.php en noem rh-php73-php-fpm.php
Edit
rh-php73-php-fpm.php:
Wijzig alle voorkomens van 7.2 & 72 naar respectievelijk 7.3 & 73
E. Edit upgrade
Maak kopie van /usr/clearos/apps/php_engines/deploy/upgrade en geef extentie: .org
Edit upgrade: Voeg toe na block php72
CHECK=`grep "^listen[[:space:]]*=[[:space:]]*.*:9000$" /etc/opt/rh/rh-php73/php-fpm.d/www.conf 2> /dev/null` if [ -n "$CHECK" ]; then logger -p local6.notice -t installer "app-php-engines-core - updating listen port for PHP 7.3" sed -i -e 's/^listen[[:space:]]*=.*/listen = 127.0.0.1:9073/' /etc/opt/rh/rh-php73/php-fpm.d/www.conf fi
F. Execute 'upgrade'
# /usr/clearos/apps/php_engines/deploy/upgrade
Herstart HTTPD
# service httpd restart
G. Open PHP-Engines
Webconfig > Server > PHP Engines: Enable PHP 7.3
H. Open Webserver
Webconfig > Server > Webserver > Web Sites > Edit > PHP Select Engine > 7.3
I. Run phpinfo()
Indien noodzakelijk: Edit /etc/opt/rh/rh-php73/php.ini
Zet post_max_size 100M en upload_max_filesize 100M
J. Integrate new flex-{80,443}.conf bestanden in custom httpd bestand
Werkt voor elke aansluiting
Je kunt de FRITZ!Box voor elke DSL- en IP-gebaseerde aansluiting gebruiken. Als alternatief kan deze ook achter een glasvezel- of kabelmodem worden gebruikt en eenvoudig in bestaande Wi-Fi-netwerken worden geïntegreerd. Zelfs het gebruik met een LTE- of UMTS-stick is mogelijk.
Veiligheid voorop
De FRITZ!Box biedt volledige bescherming van je thuisnetwerk. De vooraf ingestelde firewall, filterfuncties en versleuteling voor DECT en Wi-Fi zorgen voor veilige verbindingen. Uiteraard zijn ook een kinderslot en een aparte gastentoegang inbegrepen.
Zie de AVM Website voor alle technische details en handleiding.
Maak MyFRITZ! Account
Met MyFRITZ! kun je de FRITZ!Box altijd vanaf internet benaderen, zelfs als de FRITZ!Box regelmatig een ander publiek IP-adres krijgt van de internetprovider.
Maak gebruiker voor FRITZ!Box access via internet
Configuratie Fritz!Box 7530
Volg bij het configureren de handleiding en stel onderandere in:
Configuratie Wifi
Personaliseer de wifi instellingen:
Wake-up On LAN
Zie AVM Knowledge Database: FRITZ-Box-7530 Netwerkapparaat starten via internet WakeOnLAN
Netwerkapparaat starten via internet (Wake on LAN)
Met "Wake on LAN" kun je vanaf internet computers, NAS-systemen en andere netwerkapparatuur in het FRITZ!Box-thuisnetwerk starten.
Op deze manier kun je bijvoorbeeld met een onderhoudsprogramma op afstand altijd toegang krijgen tot één van je computers zonder dat deze continu aan moet staan.
Voorwaarden / beperkingen
1 Netwerkapparaat configureren
Schakel in het netwerkapparaat "Wake on LAN" en de juiste modus voor de slaapstand , bijvoorbeeld in het BIOS van de computer.
Informatie over de configuratie vind je hier
2 FRITZ!Box configureren
Nu wordt het apparaat automatisch opgestart zodra:
Na ongeveer 10 seconden kun je het apparaat benaderen.
VPN met FRITZ!
Een virtueel privaat netwerk (kort: VPN) maakt het mogelijk om via internet afluisterveilig en versleuteld te communiceren met de FRITZ!Box en alle apparaten in het thuisnetwerk van deze Fritz!Box.
Zo heb je overal ter wereld toegang tot gedeelde bestanden en apparaten in je FRITZ!Box-thuisnetwerk.
De VPN-partijen, bijvoorbeeld je FRITZ!Box en je smartphone, brengen dan onderling een versleutelde verbinding tot stand. Deze verbinding werkt als een afluisterveilige tunnel waardoor gegevens worden verstuurd tussen de beide externe partijen. Je kunt de VPN-verbinding met de FRITZ!Box tot stand brengen met elke smartphone, computer of tablet. Of je kunt twee FRITZ!Boxen op twee verschillende locaties met elkaar verbinden.
Zie
AVM Knowledge Base-artikel #3448
Afzonderlijke apparaten per VPN met FRITZ!Box verbinden
Omdat de FRITZ!Box VPN-verbindingen tot stand brengt volgens de standaard IPSec (Internet Protocol Security), kunnen veel apparaten een VPN-verbinding met de FRITZ!Box tot stand brengen door middel van de VPN-oplossing die is geïntegreerd in het besturingssysteem, zonder dat er extra software nodig is. Dit is bijvoorbeeld het geval bij apparaten met Android, iOS, macOS en Linux. Voor deze apparaten kun je een VPN-verbinding configureren zoals uitgelegd in de betreffende handleiding:
In Windows kan de VPN-verbinding echter niet worden geconfigureerd met de geïntegreerde hulpmiddelen. Hiervoor is het gratis programma FRITZ!VPN beschikbaar:
Maak MyFRITZ! Account
Met MyFRITZ! kun je de FRITZ!Box altijd vanaf internet benaderen, zelfs als de FRITZ!Box regelmatig een ander publiek IP-adres krijgt van de internetprovider.
Maak gebruiker voor FRITZ!Box access via internet
VPN-verbinding met de FRITZ!Box in Android configureren
MyFRITZ!App
Als je geen internetaanvragen via je FRITZ!Box routeert, maar alleen toegang wilt hebben tot apparaten en bestanden in je thuisnetwerk, dan kun je de VPN-verbinding snel en eenvoudig tot stand brengen met de MyFRITZ!App.
IP Manipuleren
Bij het aanmaken van een nieuwe (Android) VPN user verstrekt FRITZ!Box deze user een lokale IP zijnde het eerst beschikbare IP bóven de DHCP range.
Zie Internet > Permit Access > VPN
Hier zien we dat de Android gebruikers een IP toebedeeld gekregen hebben van 192.168.xxx.51 en 52, hiervoor is een truckje nodig.
De Fritz!Box DHCP range is per default 192.168.xxx.20-200. maar door mij gewijzigd naar 192.168.xxx.64-200 omdat ik de range 192.168.xxx.0/26 (0-63) vrij wens te houden voor fixed en trusted IP’s (voor Samba access).
Om bij de aanmaak van VPN users te bewerkstelligen dat deze users een IP krijgen in deze trusted IP's range, zetten we de Fritz!Box DHCP range tijdelijk in van 192.168.xxx.40 - 50.
Homenetwork > Network > Networksettings > IPv4 Settings
Als nu een Android gebruiker aangemaakt wordt zal deze de eerst vrij beschikbare IP boven 192.168.xxx.50 krijgen.
Na de aanmaak van de VPN (Android) users zetten we dit weer terug.
Configureer in de FRITZ!Box voor iedere VPN-verbinding een eigen gebruiker:
De FRITZ!Box configureert nu VPN-rechten voor deze FRITZ!Box-gebruiker.
Vervolgens wordt automatisch een venster geopend waarin de VPN-instellingen van de gebruiker worden weergegeven.
Configureer de VPN-verbinding op het Androidapparaat met behulp van de VPN-instellingen voor de FRITZ!Box-gebruiker, die worden weergegeven in de FRITZ!Box-gebruikersinterface:
Opmerking:
Als je de gebruikersnaam overneemt van de woordvoorspelling van het toetsenbord, verwijder dan eventueel de spatie die Android vaak automatisch achter de naam zet.
VPN-verbinding met FRITZ!Box in Windows configureren
VPN configuratie op Windows PC
In Windows kan de VPN-verbinding niet worden geconfigureerd met de in Fritz!Box geïntegreerde hulpmiddelen.
Hiervoor zijn de gratis programma's 'FRITZ!VPN' en ‘Configure FRITZ!Box VPN Connection’ beschikbaar:
'FRITZ!VPN' downloaden en installeren
Met het programma Configure FRITZ!Box VPN Connection kun je gemakkelijk en snel een VPN-verbinding configureren. Het programma geneert automatisch alle beveiligingsinstellingen en slaat die op in configuratiebestanden, zodat de instellingen vervolgens alleen nog maar geïmporteerd hoeven te worden in de VPN-eindpunten.
De FRITZ!Box gebruiker ‘tablet-vpn’ is nu geconfigureerd voor een VPN connectie met de Windows client ‘tablet-vpn’
Opmerking:
Actieve VPN-verbindingen worden weergegeven in de FRITZ!Box-gebruikersinterface onder "Overview" in de sectie "Connections".
Waarom?
Om de Thunderbird add-on TbSync voor het synchroniseren van GMail contacten te kunnen gebruiken is voor het 2FA inloggen een Google Console project nodig.
En wel specifiek voor het verkrijgen van de Client ID en Client Secret gegevens voor TbSync.
Google verbied open source projecten zoals TbSync deze credentials toe te voegen (ze zouden leesbaar zijn in de code).
Elke gebruiker moet een GoogleCloud project voor zichzelf aanmaken om de Add-on te kunnen gebruiken.
Maak Google Cloud Console project credentials
Zie How-to-generate-your-own-Google-Cloud-Console-project-credentials
Credentials opnieuw downloaden van Google Console
Nog uit te voeren