Wiki content: verschil tussen versies

Uit DBLUG, Den Bosch Linux Users Group
Naar navigatie springen Naar zoeken springen
(→‎Copy script: voorschrijndend inzicht)
k (n.a.v. geen e-mail adressen meer in de database dump)
 
(5 tussenliggende versies door dezelfde gebruiker niet weergegeven)
Regel 14: Regel 14:
 
** nieuwe plug-ins testen
 
** nieuwe plug-ins testen
 
** spam opruimen, SQL delete statemens uitvoeren zonder dat de echte site in gevaar is
 
** spam opruimen, SQL delete statemens uitvoeren zonder dat de echte site in gevaar is
** proefdraaien met andere database engines ( van ''mysql'' naar ''mariadb'' )
+
** proefdraaien met andere database engines ( van ''mysql'' naar ''mariadb'', nieuwe versie ''mariadb'' )
  
 
== Vhost ==
 
== Vhost ==
Regel 20: Regel 20:
 
Basis is een webserver die PHP code kan uitvoeren.
 
Basis is een webserver die PHP code kan uitvoeren.
 
Je hebt ook nog een database engine nodig,
 
Je hebt ook nog een database engine nodig,
dat kan (op dezelfde server) met MySQL of Mariadb.
+
dat kan (op dezelfde server) met MySQL of MariaDB.
  
Op jheronimus2014 is/was dit ingebruik
+
Op jerom2017 is/was dit ingebruik
 
* nginx
 
* nginx
 
* php-fpm
 
* php-fpm
* mysql
+
* MariaDB
  
 
Vhost definitie is op te halen met
 
Vhost definitie is op te halen met
  wget http://lug.project073.nl/conf/vhost
+
  wget http://www.dblug.nl/dbd/vhost
  
 +
Die kun je als voorbeeld gebruiken.
 +
Je hoeft namelijk niet exact dezelfde vhost definitie te gebruiken.
  
 
== Site ==
 
== Site ==
Regel 41: Regel 43:
 
  mkdir -p /srv/http/project073.nl/lug \
 
  mkdir -p /srv/http/project073.nl/lug \
 
  &&  cd  /srv/http/project073.nl/lug \
 
  &&  cd  /srv/http/project073.nl/lug \
  rsync --archive --delete jheronimus.project073.nl::p073lugwiki .
+
  rsync --archive --delete jerom.dblug.nl::p073lugwiki
  
 
Bij de volgende keren dat je die ''rsync'' uitvoert, worden alleen de verschillen bijgewerkt.
 
Bij de volgende keren dat je die ''rsync'' uitvoert, worden alleen de verschillen bijgewerkt.
Regel 48: Regel 50:
  
 
Inhoud van de database is wel via ''http'' op te halen.
 
Inhoud van de database is wel via ''http'' op te halen.
  wget http://lug.project073.nl/dbd/lugwiki.sql.gz
+
  wget http://www.dblug.nl/dbd/wiki073.sql.gz
  
 
=== Ter informatie ===
 
=== Ter informatie ===
Regel 58: Regel 60:
  
 
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://lug.project073.nl/conf/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>
Regel 90: Regel 88:
  
 
* Maak de vhost (definitie) klaar
 
* Maak de vhost (definitie) klaar
 +
* Importeer de database dump
 
* Kopieer m.b.v. rsync de site in de document root van je vhost
 
* 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
 
* Maak een database user die ''site'' en ''database'' verbind
  
Regel 99: Regel 97:
 
'''Jawel!'''
 
'''Jawel!'''
  
git clone http://stappers.it/git/p073lugwiki-ansible/.git
+
<pre>
 +
git clone http://stappers.it/git/p073lugwiki-ansible/.git
 +
</pre>
 +
 
 +
Ter info: mei 2018 zijn die [https://en.wikipedia.org/wiki/Ansible_%28software%29 Ansible]
 +
scripts bijgewerkt.

Huidige versie van 24 mei 2018 om 22:13

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, nieuwe versie 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
  • MariaDB

Vhost definitie is op te halen met

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

Die kun je als voorbeeld gebruiken. Je hoeft namelijk niet exact dezelfde vhost definitie te gebruiken.

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 jerom.dblug.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://www.dblug.nl/dbd/wiki073.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
  • Importeer de database dump
  • Kopieer m.b.v. rsync de site in de document root van je vhost
  • 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: mei 2018 zijn die Ansible scripts bijgewerkt.