Home

WORDPRESS Navigatie

 

WORDPRESS::Installeren

Systeem vereisten

Voor het draaien van Wordpress op een eigen server worden de hierna volgende softwareversies aanbevolen, maar het programma werkt ook nog uitstekend op oudere versies
Met deze oudere software loop je echter het risico dat het uitgefaseerd raakt.

Software Aanbevolen Aanwezig
Webserver Apache >= 2.4 Apache 2.4.6
PHP PHP >= 7.3 PHP 8.2
Database MariaDB >= 10.1 MariaDB 10.3.32
    -

Ook moet in Apache de module mod_rewrite beschikbaar zijn en support voor HTTPS

Op de beschreven server met ClearOS 7 Operating System installeerde ik februari 2024 Wordpress versie 6.4.3 en ondanks dat de aanwezige software versies aan de lage kant zijn hebben zich geen problemen voorgedaan.

WORDPRESS handmatige installatie

WordPress installeren via SSH

Normaal installeer je WordPress waarschijnlijk via FTP en maak je een database aan via het controlepaneel van je webhosting. Of je gebruikt hiervoor Installatron. En daar is niets mis mee!
Maar het kan ook anders. Via SSH bijvoorbeeld. Bijna alle hosting-partijen bieden tegenwoordig toegang tot de server via SSH, dus het is zeker een optie om te overwegen. Het ziet er misschien ingewikkeld uit, maar dat valt enorm mee. Als je het een paar keer hebt gedaan kan het zelfs enorm veel tijd besparen! Je hoeft namelijk niet meer alle bestanden te uploaden via FTP.

Zie voor een handmatige installatie ook het Nederlandse platform voor Wordpress 'WORDPRESSLOUNGE'
Bij een handmatige installatie van WordPress komen de volgende stappen aan bod:

Naar Index

WordPress downloaden

WordPress downloaden kan (in het Nederlands) via https://nl.wordpress.org/. Rechts op die pagina zit een blauwe knop waarmee je de laatste versie van WordPress kunt downloaden. Direct onder deze knop vind je de link '.Download .tar.gz'. Noteer/kopiëer het bijbehorende linkadres. Ten tijde van het bijwerken van deze site was dit: https://nl.wordpress.org/latest-nl_NL.tar.gz zijnde wordpress-6.4.3-nl_NL.tar.gz

Op deze pagina beschrijf ik de download aan de command-line':

  1. Open puTTY en log in op de server
  2. Ga naar de webroot:
    # cd /var/www/html
  3. Download de laatste versie van de nederlandse Wordpress
    # wget https://nl.wordpress.org/wordpress-6.4.3-nl_NL.tar.gz
  4. Pak het gedownloadde bestand uit
    # tar -xvzf wordpress-6.4.3-nl_NL.tar.gz
    In de webroot /var/www/html hebben we nu een nieuwe map 'wordpress'
  5. Verwijder het gedownloadde bestand
    # rm wordpress-6.4.3-nl_NL.tar.gz
  6. Nu kan het wordpress programma een nieuwe naam in je domein gegeven worden
    # mv wordpress blog
    Wordpress kan nu in een browser geopend worden met de url: http://mijn.domein.nl/blog
    Maar voordat we dit doen moeten we eerst nog wat zaken regelen.
  7. Maak de webserver 'owner' van de mappen en bestanden.
    # chown -R apache:lanshare blog
  8. Check permissies dirs: 751 en files: 644
    # chmod -R 751 blog
    # find blog -type f -name '*' -exec chmod 644 '{}' \;

Naar Index

Maak MariaDB database aan voor Wordpress

Een MySQL-database is een database die je aan WordPress koppelt. De pagina’s, berichten en reacties op jouw content worden straks bewaard in die database. Op mijn servers is MariaDb geïnstalleerd.
Activeer MySQL Zie ook Webserver::Apache: Activeren MySQL
Open in de webbrowser de ClearOS Webconfig web-gebaseerde Administratie interface: https://servername:81/admin/
Selecteer Webconfig>>Server>>Database>>MySQL: start de deamon en zet deze naar ‘automatisch’. Het systeem registreert je als ‘root’ dwz: root@localhost en root@servername.example.com Voer een wachtwoord in: <MySQL-rootwachtwoord>

Zet Wordpress database op aan de prompt:

  1. Maak nieuwe database:
    # mysqladmin –uroot –p’<MySQL-rootwachtwoord>’ CREATE wordpress;
  2. Maak gebruiker aan:
    # mysql wordpress –uroot –p’<MySQL-rootwachtwoord>’ –e “GRANT ALL PRIVILEGES ON wordpress.* TO wordpress@localhost IDENTIFIED BY ‘<MySQL-gebruikerwachtwoord>’";
    Gebruiker wordpress@localhost krijgt alle rechten op database ‘wordpress’ behalve GRANT (toekennen).
    Gelijke naam van database en gebruiker heeft als voordeel dat in phpMyAdmin gebruiker en database in één stap verwijderd kunnen worden.
    Wachtwoord van user ‘wordpress’ is: <MySQL-gebruikerwachtwoord>

Naar Index

Edit wp-config.php

Je kunt of zelf het bestand wp-config.php zelf aanmaken en bewerken, of deze stap overslaan en Wordpress laten proberen dit zelf te doen door op dit punt het installatiescript uit te voeren (http://mijn.domein.nl/blog/wp-admin/install.php).

Wij gaan het wp-config.php zelf aanmaken en bewerken (Zie eventueel Editing wp-config.php de stap voor stap instructies voor het configureren en aanmaken van de secret keys en salt)

  1. # cd /var/www/html/blog
  2. # cp wp-config-sample.php wp-config.php
  3. # vi wp-config.php

Voer de informatie in in de sectie met de label: // ** MySQL settings - You can get this info from your web host ** //

Laat de rest in deze sectie ongewijzigd.

Naar Index

Authenticatie en Salts

Niet absoluut noodzakelijk maar ter verhoging van de beveiliging.
Gebruik de online generator: https://api.wordpress.org/secret-key/1.1/salt/
Kopieer het resultaat en plak dit in plaats van de regels:
define('AUTH_KEY', 'put your unique phrase here');
define('SECURE_AUTH_KEY', 'put your unique phrase here');
define('LOGGED_IN_KEY', 'put your unique phrase here');
define('NONCE_KEY', 'put your unique phrase here');
define('AUTH_SALT', 'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT', 'put your unique phrase here');
define('NONCE_SALT', 'put your unique phrase here');

Naar Index

Lokale Server zonder FTP

Wordpress is ingericht om alle activiteiten zoals Updates/Themes/Plugins en Uploads via FTP naar de remote server bij de provider uit te voeren.
In mijn geval draai ik mijn eigen lokale server en is het gebruik van FTP onnodig omslachtig.
Directe communicatie is echter mogelijk door een toevoeging te plaatsen in wp-config.php
Dit is een 'hack' en we moeten ons daarbij wel houden aan een paar routines zoals gedetailleerd in de 'Aanpassen' pagina.
Zie voor verdere achtergrondinformatie bijvoorbeeld bij http://www.hongkiat.com/blog/update-wordpress-without-ftp/ ).

Voeg toe als laatste regel in wp-config.php:
define ('FS_METHOD', 'direct');

Naar Index

Data buiten webroot plaatsen

Alle uploads, zoals media, worden door Wordpress geplaatst in de map ../blog/wp-content/uploads. Deze media, zoals images, video etc., zullen uitgroeien tot een groot volume aan data. Deze data plaatsen we liever in de map /home die daarvoor geëigend is. Tevens is het altijd beter data weg te houden uit de vrij toegankelijke webroot.
We verhuizen eerst de data naar /home/wpdata en maken vervolgens in Wordpress een symbolic link aan die naar de nieuwe locatie verwijst.

  1. # mkdir /home/wpdata
  2. # chown apache:lanshare /home/wpdata
  3. # cd /var/www/html/blog/wp-content
  4. # mv uploads /home/wpdata
  5. Check permissies dirs: 751 en files: 644
    # chmod -R 751 /home/wpdata/uploads
    # find /home/wpdata/uploads -type f -name '*' -exec chmod 644 '{}' \;
  6. # ln -s /home/wpdata/uploads uploads

Naar Index

Uitvoeren installatie script

Om het installatie proces van Wordpress te complementeren voeren we in de browser de volgende url in : https://mijn.domein.nl/blog/wp-admin/install.php
Wordpress opent in de browser met onderstaand scherm. Vul de gevraagde gegevens in en klik de button 'Wordpress installeren':

De Wordpress Blog is nu in de browser te openen met url: https://www.makkink.eu/blog/

Om de site nader te configureren en te bewerken loggen we in met de url: https://www.makkink.eu/blog/wp-login.php

Naar Index

.htaccess en AllowOverride

De Wordpress Blog App wordt geinstalleerd in de webroot /var/www/html en heeft enkele aanvullende http directives nodig. Deze worden bij de installatie geplaatst in een .htaccess bestand in de Wordpress Blog root /var/www/html/blog.
Het betreft directives benodigd voor de Permalink mod_rewrite structuur en het plaatsen van een Authenticatie header.
De directives in dit .htaccess bestand worden tijdens de installatie en updates dynamisch gegenereerd door Wordpress en zouden alleen aangepast mogen worden via WordPress filters.
Alle wijzigingen aan de richtlijnen (directives) worden bij een mogelijke update/upgrade overschreven.

AllowOverride None
Bij de installatie van de ClearOS webserver worden per default geen .htaccess overrides toegestaan.
Zoals beschreven in website Server ClearOS 7 Server::Apache > .htaccess proberen we .htaccess bestanden te vermijden en daarom wordt op deze server voor Wordpress in /etc/httpd/conf.d de 'include' wordpress.conf gebruikt waarin de inhoud van het .htaccess bestand opgenomen wordt.
Zie voor het aanmaken en gebruik van wordpress.conf: Server ClearOS 7 Server::Apache > Wordpress.Conf

Dynamisch met bash script
De directives in dit .htaccess bestand worden tijdens de installatie en latere updates dynamisch gegenereerd door Wordpress
Zie Server ClearOS 7 Server::Apache > Dynamische integratie van .htaccess voor het middels een crontab-script updaten van wordpress.conf met de nieuwe .htaccess inhoud.

Naar Index