Wiki content: verschil tussen versies

Uit DBLUG, Den Bosch Linux Users Group
Naar navigatie springen Naar zoeken springen
(voorzichtige update)
(→‎Copy script: bijgewerkt)
Regel 58: Regel 58:
  
 
De bouwstenen naar jouw server kopieren kan met het volgende script.
 
De bouwstenen naar jouw server kopieren kan met het volgende script.
Op [[jheronimus]] staat hoe je met ''rsync'' het script ''jherominusdatacopy'' krijgt.
 
  
 
<pre>
 
<pre>
 
#!/bin/bash
 
#!/bin/bash
 
#
 
#
jheronimus data copy
+
project073 wiki backup
 
#
 
#
JDC_V_SRC=http://www.dblug.nl/dbd/vhost
+
rsync \
JDC_F_SRC=jheronimus.project073.nl::p073lugwiki
+
  --archive --delete --no-group --no-perms --chmod=ugo=rX \
JDC_D_SRC=http://lug.project073.nl/dbd/lugwiki.sql.gz
+
  --exclude dbd \
#
+
  jerom.dblug.nl::p073lugwiki \
# Destination are places ready for "restore"
+
  /srv/apache/losc.nl/project073wiki
JDC_W_DST=/var/www/html/p073lugwiki  # webserver
+
 
 +
wget \
 +
  --quiet  --timestamping \
 +
  --output-document=/srv/apache/losc.nl/project073wiki/dbd/lugwiki.sql.gz \
 +
  http://www.dblug.nl/dbd/wiki073.sql.gz
 +
 
 +
wget \
 +
  --quiet  --timestamping \
 +
  --output-document=/srv/apache/losc.nl/project073wiki/dbd/info.txt \
 +
  http://www.dblug.nl/dbd/info.txt
  
cd ${JDC_W_DST}
 
echo
 
date
 
echo vhost
 
wget -N ${JDC_V_SRC}
 
echo database dump
 
wget -N ${JDC_D_SRC}
 
echo rsyncing website files
 
rsync --verbose --archive --delete ${JDC_F_SRC} .
 
echo done
 
date
 
#
 
 
# l l
 
# l l
 
</pre>
 
</pre>

Versie van 4 dec 2017 19:23

De content, de inhoud, van de wiki is publiek beschikbaar. Zowel als bouwstenen als in webbrowser ready formaat.

Bouwstenen

Deze pagina gaat over die bouwstenen.

Waarom? Nou, dan is beschreven wat er is. Dan kun je er leuke dingen mee doen, bijvoorbeeld.

  • off site backups maken
  • restores uitvoeren, het ultime bewijs van een backup hebben
  • testomgevingen maken, voor bijvoorbeeld
    • upgrades
    • nieuwe plug-ins testen
    • spam opruimen, SQL delete statemens uitvoeren zonder dat de echte site in gevaar is
    • proefdraaien met andere database engines ( van mysql naar mariadb )

Vhost

Basis is een webserver die PHP code kan uitvoeren. Je hebt ook nog een database engine nodig, dat kan (op dezelfde server) met MySQL of Mariadb.

Op jerom2017 is/was dit ingebruik

  • nginx
  • php-fpm
  • mysql

Vhost definitie is op te halen met

wget http://www.dblug.nl/dbd/vhost


Site

De site zelf is een mediawiki installatie.

Via http een kopie ophalen, dat gaat niet. Want met http krijg je de output van de PHP code, terwijl je de PHP source code wilt hebben. Vandaar dat er rsync gebruikt wordt.

mkdir -p /srv/http/project073.nl/lug \
&&   cd  /srv/http/project073.nl/lug \
rsync --archive --delete jheronimus.project073.nl::p073lugwiki .

Bij de volgende keren dat je die rsync uitvoert, worden alleen de verschillen bijgewerkt.

Database

Inhoud van de database is wel via http op te halen.

wget http://lug.project073.nl/dbd/lugwiki.sql.gz

Ter informatie

De database dump wordt iedere nacht nieuw gemaakt. Kort voor acht uur 's ochtends wordt de laatste versie op de webserver klaar gezet.

Copy script

De bouwstenen naar jouw server kopieren kan met het volgende script.

#!/bin/bash
#
#  project073 wiki backup
#
rsync \
  --archive --delete --no-group --no-perms --chmod=ugo=rX \
  --exclude dbd \
  jerom.dblug.nl::p073lugwiki \
  /srv/apache/losc.nl/project073wiki

wget \
  --quiet  --timestamping \
  --output-document=/srv/apache/losc.nl/project073wiki/dbd/lugwiki.sql.gz \
  http://www.dblug.nl/dbd/wiki073.sql.gz

wget \
  --quiet  --timestamping \
  --output-document=/srv/apache/losc.nl/project073wiki/dbd/info.txt \
  http://www.dblug.nl/dbd/info.txt

# l l

In elkaar zetten

  • Maak de vhost (definitie) klaar
  • Kopieer m.b.v. rsync de site in de document root van je vhost
  • Importeer de database dump
  • Maak een database user die site en database verbind

Machinaal in elkaar zetten

Kan dat niet machinaal? Jawel!

git clone http://stappers.it/git/p073lugwiki-ansible/.git

Ter info: november 2017 zijn die Ansible scripts bijgewerkt.