VVV (Varying Vagrants Vagrant)
Het voordeel van VVV is dat dit een virtuele omgeving gebruikt die op vrijwel alle computersystemen draait. Daarnaast is het een geoptimaliseerde omgeving speciaal voor WordPress wat het testen en ontwikkelen een stuk makkelijker maakt. Bijvoorbeeld beschikt het standaard over een ssh omgeving met o.a. wp-cli en bijvoorbeeld de mogelijkheid om de php versie te kiezen bij een website.
Wat je moet weten voor je begint…
Als je niet gewend bent om de terminal te gebruiken of deze niet wilt gebruiken dan is deze configuratie misschien niet wat je wilt. De terminal heb je nodig om de virtuele serveromgeving te starten, te stoppen en bij te werken.
Je moet ook een configuratiebestand bewerken waarin je de websites instelt. Dus als je je daar niet prettig bij voelt, is dit niet de lokale omgeving die je kunt gebruiken. Misschien wil je gewoon overschakelen naar bijvoorbeeld MAMP PRO (voor OSX), niet gratis, maar ook een zeer goede lokale webserveromgeving. Meer info hier: https://www.mamp.info/en/mamp-pro/mac/
Wat je nodig hebt in zowel Linux als OSX
Ik gebruik VVV via Virtual Box omdat ik dit al op mijn systeem had staan. Meer vereisten zijn hier te vinden: https://varyingvagrantvagrants.org/docs/en-US/installation/software-requirements/
Je zal Vagrant moeten instaleren.
Je kunt hier lezen over de installatieprocedure: https://varyingvagrantvagrants.org/docs/en-US/installation/
Jouw VVV opzetten
Je moet het volgende installeren:
- VirtualBox, https://www.virtualbox.org/wiki/Downloads
- Vagrant, https://www.vagrantup.com/downloads
- VVV Volg deze instructies: https://varyingvagrantvagrants.org/docs/en-US/installation/
De beste optie is om de Git installatie methode te gebruiken, zodat updaten eenvoudig is. Installeer de hostupdater-plug-in
Om het te installeren, voer je vagrant plug-in install vagrant-hostsupdater in terminal uit vanuit je vvv-local installatie map.Er zit nu standaard vagrant-goodhosts in de VVV installatie, je hoeft deze dus niet meer apart te instaleren.
- Ook zit WordMove nu standaard in de VVV installatie.
Jouw eerste website opzetten
Voor het toevoegen van een nieuwe site, controleer de informatie hier: https://varyingvagrantvagrants.org/docs/en-US/adding-a-new-site/
Om dit te doen, moet je de lijst met websites bijwerken door het bestand /vagrant-local/config/config.yml in de VVV-hoofdmap als volgt te bewerken:
1 2 3 4 5 |
mijn-website: skip_provisioning: false repo: https://github.com/Varying-Vagrant-Vagrants/custom-site-template.git hosts: - mijnwebsite.test |
Eventueel kun je ook gegevens invoeren om bijvoorbeelde de database naam in te stellen en een bepaald thema of plugins te instaleren. Meer hierover op de VVV website: https://github.com/Varying-Vagrant-Vagrants/custom-site-template#configuration-options
De website en database worden aangemaakt als je een vagrant --provision opgeeft in je terminal. De nieuwste wp-versie wordt automatisch gedownload om de website op te zetten en er wordt ook een database gemaakt.
Opstarten van jouw VVV-omgeving
- Navigeer naar jouw vvv-local directory in de terminal.
- typ: vagrant up --provision , en wacht tot het opstarten klaar is
- Ga daarna naar http://vvv.test en kijk of uw site wordt vermeld.
- Test of het werkt. De standaard login voor wp-admin is ‘admin’ en ‘password’.
Meer inloggegevens zijn hier te vinden: https://varyingvagrantvagrants.org/docs/en-US/default-credentials/
Tips voor het draaien van jouw WordPress website in VVV
Gebruik een smtp-plug-in als je email wilt kunnen versturen, want de VVV verstuurt geen e-mails omdat deze is ingesteld voor ontwikkelingsdoeleinden. Alle uitgaande mails worden opgevangen door MailHog. Als je smtp gebruikt, worden ze normaal verzonden. Ik gebruik wp-mail-smtp of mijn eigen versie die als mu-plug-in is hier te vinden: https://github.com/herbie4/hhdev-wp-smtp-mailer
Als je via https de website wilt gebruiken, moet je het vvv certificaat importeren in de browser die je gebruikt.
Onder Nginx kun je niet alle zaken regelen via de htaccess. Zorg ervoor dat alle omgevings vars die jouw website nodig heeft kloppen. Je moet een bestand met de naam .user.ini toevoegen aan jouw public_html-root. Meestal hoef je niets aan te passen, maar mocht je ergens tegenaan lopen dan hieronder een aantal zaken die je niet via htaccess kan regelen.
1 2 3 4 5 |
max_input_vars = 1880 max_execution_time = 180 upload_max_filesize = 10M post_max_size = 10M default_socket_timeout = 300 |
Controleer de WordPress of thema status of alles correct is.
Ook wil de server tijd nog wel eens foutief zijn omdat deze in een virtuele omgeving draait en daardoor niet kan syncen met jouw computer. Je kan dit eenvoudig oplossen door het volgende commando toe te voegen door in de root van VVV, in mijn geval /vagrant-local/Custom, aan te maken als het niet bestaat. In dat bestand zet je het volgende:
1 2 3 4 5 6 7 8 9 |
# -*- mode: ruby -*- # vi: set ft=ruby ts=2 sw=2 et: # doing time sync host to vagrant # info: https://medium.com/carwow-product-engineering/time-sync-problems-with-vagrant-and-virtualbox-383ab77b6231 #vb.customize [ “guestproperty”, “set”, :id, “/VirtualBox/GuestAdd/VBoxService/--timesync-set-threshold”, 10000 ] config.vm.provider 'virtualbox' do |vb| vb.customize [ "guestproperty", "set", :id, "/VirtualBox/GuestAdd/VBoxService/--timesync-set-threshold", 1000 ] end |
Hierna moet je eerst een vagrant up —provision doen om het te activeren.
Afsluitend
Ik denk dat ik alle veel voorkomende problemen heb behandeld. In dit artikel ben ik niet op alle details in gegaan, maar je kunt hier meer informatie vinden: https://varyingvagrantvagrants.org/. Daarnaast heeft VVV een zeer actieve (Engelse) supportgroep op Slack (vvv-local.slack.com).
Heb je toch nog vragen? Stuur dan een bericht.