WordPress-websites heb ik al bij zeker een dozijn verschillende webhosts geïnstalleerd. Dat lukt altijd wel, maar het is niet altijd plug & play. Elk hostingbedrijf heeft net weer andere voorkeursinstellingen. Zo moest ik even puzzelen om een WordPress-site goed aan de praat te krijgen bij DDS.
Sites installeren bij mijn ‘vaste’ host heb ik al zo vaak gedaan, dat het geen verrassingen meer oplevert. Ik maak echter ook geregeld websites voor opdrachtgevers die al een webhost hebben of een voorkeur hebben voor een bepaalde aanbieder. Bij ‘vreemde’ hosts werkt het vaak net even anders.
Voor de lokale politieke partij Perspectief 21 heb ik onlangs een nieuwe WordPress-website opgezet. Gisteren was het moment aangebroken om de site van mijn testomgeving te migreren naar de live-server bij webhost De Digitale Stad (DDS). Daarbij liep ik tegen de volgende aandachtspunten aan.
Automatisch installeren: niet in root
Zoals meer webhosts biedt DDS de optie om populaire applicaties zoals WordPress met enkele kliks te installeren. DDS noemt dat ‘Instant Webapps’, die je na inloggen op je ‘accountbeheerpagina’ kunt selecteren. Het viel mij op dat ik WordPress alleen in een submap kon installeren, zoals www.xyz.nl/wordpress.
Zelf geef ik echter de voorkeur aan een installatie in de ‘root’. Ik koos dus maar voor een handmatige installatie. Vaak geef ik daar sowieso de voorkeur aan, zeker als ik een WordPress-site van de ene naar de andere webserver verplaats.
Verbinding met database: geen localhost
Bij een handmatige installatie van WordPress moet je zelf de juiste database-instellingen invullen in het bestand wp-config.php. Ik dacht dat ik alles goed had ingevuld, maar mijn browser gaf toch een foutmelding.
Even checken: de naam van de database, de gebruikersnaam en het wachtwoord klopten. De boosdoener was het veld ‘DB_HOST’. Bij veel providers kun je hier de default waarde ‘localhost’ laten staan. Bij DDS dien je echter het adres van hun databaseserver op te geven: ‘mysql.dds.nl’.
Permalinks: alternatief voor .htaccess
De homepage werd nu wel getoond. Bij het doorklikken naar andere pagina’s kreeg ik nog een melding ‘Pagina niet gevonden’. Vaak ligt het dan aan de vriendelijke URL’s, de ‘permalinks’ in WordPress-jargon. WordPress gaf aan dat er geen beschrijfbaar .htaccess-bestand in de root stond. Handmatig uploaden van zo’n bestand met de juiste instellingen had geen effect. Ik wilde echter wel graag begrijpelijke URL’s gebruiken, dus b.v. www.xyz.nl/contact, i.p.v. www.xyx.nl/?p=123.
De Apache-servers van DDS bleken geen mod_rewrite en .htaccess te ondersteunen. Gelukkig boden de help-pagina’s van DDS een alternatief rewrite-systeem. Onderaan de uitleg over URL Rewriting staan de voorkeursinstellingen voor WordPress. Deze instellingen kun je opgeven als je op je accountpagina op je domeinnaam klikt en vervolgens ‘Geavanceerd homepage beheer’ selecteert. Inderdaad werkte deze oplossing naar behoren, na enkele minuten wachten waren alle pagina’s met de gewenste URL bereikbaar.