WordPress installeert u snel, makkelijk en veilig via de commandline. Deze manier van installeren vraagt enige technische kennis. Met deze stap-voor-stap beschrijving krijgt u voldoende informatie om WordPress te installeren en te begrijpen wat u doet.
Om aan de installatie van WordPress te beginnen heeft u een aantal zaken nodig:
- Er is een document-root aangemaakt op de server en de server is ingesteld om verkeer naar de betreffende v-host af te handelen.
Nieuwe document-roots en configuratiewijzigingen kunnen worden aangevraagd via TrueCare of support@true.nl. - U heeft een ssh-gebruiker en het bijbehorend wachtwoord met rechten om in de document-root te kunnen schrijven.
- U heeft een mysql-beheersgebruiker met bijbehorend wachtwoord.
- De installatiestappen worden uitgevoerd via SSH. Dit protocol biedt een interactieve commandline om opdrachten uit te voeren rechtstreeks op de server.
Windows: Download Putty. Voer de ssh-gegevens in en maak connectie met de server.
OS-X: SSH wordt ondersteund door OS-X. Ga naar Applications > Utilities en open Terminal. Log in met ssh op de server. Ssh kan vragen of u de server vertrouwt en vraagt mogelijk om het wachtwoord.$ ssh sshgebruiker@web01.server.name
WordPress code plaatsen op de server
- Zorg dat u werkt vanuit uw homedirectory.
Dit zorgt er voor dat u een bestand kan downloaden en opslaan:$ cd ~
- Download WordPress van de WordPress-site:
$ curl -O https://wordpress.org/latest.tar.gz
- Pak het WordPress-archief uit en kopieer naar de locatie waar de website komt te staan:
$ tar -xzf latest.tar.gz --strip-components=1 -C /data/www/wordpresssite.nl/public_html/
- Ruim meteen op: verwijder het gedownloadde WordPress-archief:
$ rm latest.tar.gz
- Ga naar de directory van waar uit WordPress zal draaien:
$ cd /data/www/wordpresssite.nl/public_html
Bereid een MySQL database en gebruiker voor
- Log in op de MySQL commandline:
$ mysql -u webdev -p
Hiervoor heeft u het wachtwoord van de MySQL beheersgebruiker nodig.
- Creëer de database waar de WordPress-data in komt.
Verwijs in de databasenaam naar de WordPress-site zodat de database ook later nog te herleiden is naar de site. Denk bijvoorbeeld aan “wp_domeinnaam”.mysql> create database databasenaam;
- Creëer de mysql user met rechten tot de database.
Hier maakt u een gebruiker aan die rechten krijgt tot de database. Een logische naam is te herleiden naar de website. Denk bijvoorbeeld aan “wp_domeinnnaam”.
Kies voor MySQL een veilig wachtwoord. Het is niet erg als het wachtwoord niet te onthouden is door de vreemde karakters en lengte. U hoeft het wachtwoord enkel in de WordPress-configuratie op te nemen. Gebruik bijvoorbeeld de Random Password Generator om een lang wachtwoord te genereren.mysql> GRANT delete, insert, select, update, create, alter, drop ON databasenaam.* TO "databasegebruiker"@"localhost" IDENTIFIED BY "strong_password";
- Laad de nieuw toegekende rechten in:
mysql> FLUSH PRIVILEGES;
- Sluit de MySQL commandline af:
mysql> exit;
MYSQL 8
1 CREATE USER ‘<user>’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘xxxpasswordxxx’;
2 GRANT ALL PRIVILEGES ON <user>.<dbname> TO ‘username’@’localhost’;
3 CREATE DATABASE <database_name>
WordPress installatieinstellingen
- Open de site in de browser.
Als het DNS-record van het domein niet naar de server verwijst, pas dan uw hosts-file aan om de server op basis van de domeinnaam te benaderen. - WordPress vraagt om databasegegevens. Met deze gegevens zal WordPress zelf een configuratiebestand samenstellen.
- Database Name bevat de databasenaam die is aangemaakt in stap 7
- Username bevat de gebruikersnaam die is aangemaakt in stap 8
- Password bevat het wachtwoord dat is aangemaakt in stap 8
- Host is localhost, tenzij de databaseserver op een andere server staat
- De Table Prefix kan er voor zorgen dat bij een eventuele hack databases moeilijker automatisch te raden zijn:
- Als u meerdere WordPress installaties vanuit één database (zie Database Name) laat werken; vul dan een duidelijke korte beschrijvende titel in. Bijvoorbeeld de domeinnaam.
- Als u één database per WordPress-installatie aanmaakt: vul een aantal random karakters in.
- Klik “Submit”.
De databasegegevens die zijn opgegeven worden nu gecontroleerd. Indien de gegevens niet kloppen zal een foutmelding verschijnen en dienen de gegevens hersteld te worden. - Er komt nu een melding:
Sorry, but I can’t write the wp-config.php file.
Deze melding beschrijft een veiligheidsaspect van de server: WordPress is niet zomaar in staat wijzigingen te maken in eigen code. We kiezen daarom voor de oplossing die de melding aanraadt:
You can create the wp-config.php manually and paste the following text into it.
Kopiëer de tekst in het tekstblok dat begint met <?php.
- Ga terug naar de SSH console en type:
$ nano ../wp-config.php
Dit opent de tekst-editor Nano waarmee u het configuratiebestand kan vullen.
Het configuratiebestand plaatsen we één directory hoger dan de webroot. Hiermee voorkomt u dat het bestand toegankelijk is mocht php-uitvoer omzeild worden. - Plak de inhoud van het tekstblok uit de browser in de console met [ctrl] v.
- Sluit Nano af met de toetscombinatie [ctrl] x.
Onderin het scherm zal gevraagd worden of wijzigingen moeten worden opgeslagen. Kies Y voor yes.
Er wordt gevraagd onder welke bestandsnaam er moet worden opgeslagen. Bevestig dat het wp-config.php is met [enter]. - Terug naar de Browser. Onder de tekstbox met de configuratie-code staat de knop: “Run the install”. Klik op de knop. WordPress zal nu de nodige databasetabellen aanmaken.
- WordPress vraagt nu om een aantal site-gegevens in te vullen. Deze gegevens kan u later nog aanpassen. Een aantal velden vragen extra aandacht
- Username: vermijd de username admin, support of root.
- Password: Kies een veilig niet te kort wachtwoord. Een wachtwoordmanager helpt om een uniek lang en veilig wachtwoord per site in te stellen.
- Kies “Install WordPress” om de tabellen in de juiste structuur en met standaardinhoud aan te maken. Log in met het in stap 19 gekozen gebruikersnaam en ingesteld wachtwoord.
WordPress installatie afmaken
- Terug naar de ssh sessie om het installeren te voltooien.
Het bestand readme.html wordt gebruikt om de versie van WordPress te achterhalen waardoor een aanvaller gericht gebruik kan maken van kwetsbaarheden. . Licence.txt is niet vereist voor de werking van de site. Wp-config-sample.php is niet vereist voor de werking van de site.
Verwijder deze bestanden:$ rm readme.html license.txt wp-config-sample.php
- Het bestand wp-config.php bevat informatie waarmee toegang tot alle gegevens verkregen kan worden. Door de rechten op dit bestand te beperken is de WordPress-installatie beter beveiligd:
$ chmod 640 ../wp-config.php
- Om via WordPress attachments zoals afbeeldingen te kunnen uploaden moet de uploads-map worden aangemaakt en voorzien van de juiste rechten.
Omdat de beheersgebruiker (ssh) en de websitegebruiker (php) in dezelfde groep zitten is het mogelijk om groeps-schrijfrechten toe te kennen aan de groep:$ mkdir wp-content/uploads && chmod 775 wp-content/uploads
- Sluit de ssh sessie af:
$ exit