Installeer WordPress op een Raspberry Pi

Er zijn vele toepassingen te bedenken om je Raspberry Pi nuttig te maken. Zelf heb ik er voor gekozen om er een WordPress website op te laten draaien. Hieronder laat ik stapsgewijs de daarvoor  benodigde stappen zien. De instructies hieronder worden uitgevoerd op een Raspberry Pi 2 waarop de laatste versie draait van Raspbian (31-01-2015).  Maar deze instructies gelden natuurlijk net zo goed voor een Ubuntu of Debian computer. Hoewel een wifi dongle prima werkt heb ik er voor gekozen om de Raspberry Pi te verbinden met mijn router via een ethernet (eth0) aansluiting.

raspberrypi_2

Voorbereidingen

Maak aantekeningen van je vorderingen. Er worden meerdere users en wachtwoorden gebruikt voor Raspberry Pi, MySQL root, MySQL gebruiker en voor WordPress.  En je moet (voor deze howto) natuurlijk Raspbian hebben geïnstalleerd op je Raspberry Pi. Daarbij is het handig om onder Advanced Options te kiezen voor het aanzetten van de SSH server. Op die manier kan je comfortabel van achter je eigen desktop je server bereiken. Onder mijn desktop (Ubuntu) is het een kwestie van een terminal openen met daarin het volgende commando:

ssh pi@hetipadresvanjeraspberrypi

Dat IP adres is van belang. Je moet ervoor zorgen dat je Raspberry Pi altijd van hetzelfde IP adres wordt voorzien. Normaal gesproken wordt een IP adres uitgedeeld door je DHCP server van je router. Dat is handig maar dat zal echter niet altijd hetzelfde IP adres opleveren. Daarom begin je met het creëren van een statisch IP adres.

Maak een statisch IP adres aan

Log in op je Raspberry Pi

bekijk de uitvoer van:

Lees meer

Hoe maak je een mysql dump?

Naast Linux op je desktop heb je mogelijk ook nog een server draaien. Dat kan bij je thuis zijn of je maakt gebruik van een webserver bij een provider.

Mocht je bij een provider een zgn. shared website hebben dan is het meestal niet mogelijk om middels een ssh verbinding binnen te komen. Met behulp van bijv. FTP is het niet lastig om bestanden heen en weer te versturen tussen je desktop en server. Maar hoe pak je dat aan als je een backup of restore wilt uitvoeren van een op de webserver draaiende mysql database?

Hier behandel ik dan drie mogelijkheden die ik zelf heb geprobeerd. Je maakt óf gebruik van phpmyadmin, óf van je terminal of middels een script in de grafische interface (Plesk, Directadmin etc.) van je provider.

Let op: Mocht je dit willen proberen dan doe je dat voor eigen risico. En voor de goede orde, de terminal en crontab is bij mij de absolute favoriet.

PHPMYADMIN

Dit programma kan je óf zelf installeren óf je maakt gebruik van je providers DB Manager wat ook vaak een versie van phpmyadmin is. Als je database is geselecteerd kies je voor het export tabblad, kiest vervolgens voor selecteren alle tabellen en maakt in de regel gebruik van de default ingestelde waarden. Maar als je een grote database hebt draaien is het best nog lastig om die backup fatsoenlijk binnen te krijgen. Bijvoorbeeld omdat de te exporteren omvang is beperkt door de provider. Het is dan ook veel handiger om het via je terminal te doen. Daarvoor heb je wel medewerking nodig van de provider. Die moeten in hun firewall jouw IP adres vrijgeven voor mysql diensten. Je provider heeft dan waarschijnlijk wel een eis dat je zelf met een zgn. fixed IP adres moet werken. Als dat allemaal gelukt is ga je als volgt te werk:

MySQL dump maken vanuit je terminal

Open een terminal en installeer de mysql client. Onder Ubuntu 11.04 gaat dat met:

sudo apt-get install mysql-client-5.1

Vervolgens voer je in je terminal een commando in met de volgende syntax:

 

mysqldump -h DOMEINNAAM -u DATABASE_USERNAAM -pWACHTWOORD DATABASENAAM > GEWENSTE UITVOERNAAM.sql

 

De groot afgedrukte aanwijzingen pas je dus aan met je eigen gegevens. En dan gewoon in kleine letters. Let op dat de optie -p meteen wordt gevolgd door het database wachtwoord. Je zal bij het uitvoeren van deze opdracht zien dat je heel snel je database krijgt aangeleverd (in je /home/user map)

Als je dit nu wilt automatiseren dan kan je op je desktop (of op een Linux based NAS of home server) een crontab maken. Open je terminal en voer in:

 

crontab -e

 

Je krijgt dan mogelijk (bij de 1e keer) een vraag welke editor je wil gebruiken. Kies daar je eigen voorkeur (nano) en voeg helemaal onderaan het commando in zoals hierboven stond vermeld maar dan met toevoeging van de Unix tijdnotatie en het pad naar de opdracht.

Ik wil bijvoorbeeld elke nacht om 03:00 uur een dump maken en dan kies voor het commando:

 

0 3 * * * /usr/bin/mysqldump -h DOMEIN -u DATABASE USER -pWACHTWOORD DATABASENAAM > /home/USERNAAM/GEWENSTE UITVOER NAAM`date +'%Y-%m-%d'`.sql

 

Let op: De groot afgedrukte namen aanpassen aan je eigen gegevens, inclusief USERNAAM en zorg dat de ` tekens staan voor en achter dit gedeelte`date +%Y%m%d` gevolgd door de .sql extensie. De gewenste uitvoernaam wordt dan voorzien van een datumnotatie wat archivering een stuk makkelijk maakt.

Als je met Nano de regel goed hebt geplaatst save je dat bestand en verlaat de editor . Dan wordt op dat moment de opdracht klaar gezet voor uitvoer. Met het terminal commando crontab -l kan je dat overigens controleren.

MYSQL DUMP vanuit Plesk ..

Heb je bij je provider geen MYSQL toegang verkregen dan kan je de crontab (zonder de uitvoer en exportpaden) inbrengen in de in Plesk/Directadmin etc. aangeboden functieruimte. Gebruik daarvoor de documentatie van je provider want je wilt er wel voor zorgen dat de uitvoer wordt weggeschreven naar een veilige zone op je webserver óf dat de uitvoer wordt gemaild.

In een volgend artikel laat ik dan zien  hoe je een database backup weer terug kunt plaatsen met behulp van een handig script genaamd bigdump.php.

(Met dank aan Andries Filmer)