De perfecte WordPress ontwikkelingsworkflow met Git & SSH

Matthias Held Laatst bijgewerkt op 07.10.2021
9 Min.
Workflow-DEV
Laatst bijgewerkt op 07.10.2021

Misschien heb je jezelf wel eens afgevraagd: "Hoe publiceer ik mijn WordPress website?" of "Wat is de beste manier om mijn WordPress site online te krijgen?". Als beginnend ontwikkelaar - of een bureau dat zijn prestaties wil verbeteren - ben je vast geschokt door de stortvloed aan (verouderde) zoekresultaten op Stack Overflow en Google. In dit artikel laat ik je kennismaken met een bewezen implementatieproces om je WordPress site van een lokaal apparaat naar een server te brengen. Laten we SSH gebruiken! 

Wat is SSH?

SSH (kort voor "Secure Shell") is een methode om verbinding te maken met een systeem of server met behulp van de commandoregelinterface (CLI). Eenvoudig gezegd, met SSH hoeft u geen tijd te verspillen met het rondspringen in verschillende gebruikersinterfaces om uw gegevens over te dragen. 

Waarom is SSH zo cool?

Als je SSH eenmaal hebt ingesteld, hoef je niet langer bestanden te slepen en neer te zetten. Dit leidt tot minder fouten en snellere implementatietijden.

Voor wie is SSH geschikt?

SSH kan worden gebruikt door ontwikkelingsteams van elk niveau en elke grootte. SSH is een zeer veilige en snelle manier om uw project te bewerken en wijzigingen te publiceren. Vooral als u aan grotere projecten werkt, zult u uw workflow veel efficiënter maken met SSH.

Bijvoorbeeld, met Git, kun je al je werk in één repository zetten en het naar je server pushen, en ook samen aan een project werken als een team - zonder bestanden heen en weer te hoeven schuiven tussen elkaar.

Waarom SSH überhaupt gebruiken? 

Waarom SSH wordt gebruikt, verschilt naargelang het gebruik. SSH wordt voornamelijk om deze redenen gebruikt:

  • SSH is veilig,
  • snel en
  • kan geautomatiseerd worden!

En alsof dat nog niet genoeg redenen voor je zijn, kun je SSH ook koppelen aan Git's versie beheer. Als je je ontwikkeling moet terugdraaien vanwege een bug of een kapotte functie, dan is dat ook heel gemakkelijk: een rollback wordt direct vanuit je GitHub repository gedaan.

Gebruik je SSH als junior ontwikkelaar? 

Iedereen die het onderwerp SSH betreedt kan zich snel overweldigd voelen, omdat het systeem op het eerste gezicht zeer complex lijkt. Maar maak je geen zorgen: deze handleiding leidt je door alle belangrijke stappen. Zoals u wellicht weet, is praktische ervaring in ontwikkeling met Git en SSH zeer waardevol - en tegenwoordig een industriestandaard.

Waarom zou een agentschap SSH gebruiken?

Afgezien van de eerder genoemde tijdbesparende voordelen en versiebeheer, kunt u met SSH veilig inloggen op uw server vanaf elk apparaat waarop uw SSH-sleutel is geïnstalleerd. 

Niet gebonden zijn aan een specifiek toestel betekent vrijheid van locatie. 

Eerste stappen met SSH

RAIDBOXES biedt u een hosting plan voor de gratis ontwikkeling van uw WordPress projecten: het FREE Dev Program. Dus als je SSH wilt oefenen, ben je op de goede weg.

Uw RAIDBOXES BOX is waar u uw WordPress site zult hosten. Je zult echter niet in staat zijn om je git commits direct te pushen. Dit is een beveiligingsfunctie van RAIDBOXES die ervoor zorgt dat uw BOX veilig blijft. In plaats daarvan zul je een derde partij provider moeten gebruiken om je repo te pushen met git pull in je BOX . Ik heb GitHub gebruikt voor deze tutorial. U kunt natuurlijk ook een andere dienst gebruiken - het proces is vrij gelijkaardig.

Hoe het proces precies werkt, heb ik hier eens voor u gevisualiseerd: 

wordpress-ontwikkeling

Als je al ... 

  • Git op uw toestel geïnstalleerd,
  • SSH sleutels gegenereerd en 
  • je publieke SSH sleutel toegevoegd aan GitHub, 

spring dan direct naar stap 4: Stel uw SSH sleutel in RAIDBOXES in.

Stap 1: Controleer of je Git geïnstalleerd hebt

Je kunt eenvoudig controleren of Git geïnstalleerd is op het apparaat dat je gebruikt: Open uw opdrachtregelprogramma (Windows) of Terminal (Mac) en voer het volgende commando in: 

ssh-13

git version

Als je een versienummer ziet, is Git op je apparaat geïnstalleerd. 

ssh-7

Als je een foutmelding krijgt, kun je Git hier installeren. (Het kan zijn dat je Git moet updaten als je een oudere versie gebruikt).

Stap 2: Stel uw SSH-sleutels in

Controleer of er bestaande SSH keys zijn:

SSH sleutels zijn nodig om veilig verbinding te maken met GitHub en RAIDBOXES via een SSH verbinding. Als u niet zeker weet of u al SSH keys heeft gegenereerd, kunt u ze meestal op deze manier vinden:

  1. Open de Git Bash
  2. Voer het volgende commando in

ls -al ~/.ssh

Als u SSH sleutels heeft, krijgt u een uitvoer met de overeenkomstige namen: 

ssh-6

SSH sleutels zijn meestal te vinden in de root directory van de apparaten van uw gebruikers. Controleer de directory:

C:\Users\<YOUR USER NAME>\.ssh

Voor meer details over SSH keys, bekijk de officiële GitHub docs.

Genereer nieuwe SSH sleutels:  

Er zijn verschillende manieren om SSH-sleutels te maken. Ik raad je aan om de documentatie op GitHub Docs te volgen - er zijn instructies voor Windows, Mac en Linux.

Stap 3: Voeg uw SSH sleutel toe aan GitHub

Als een voorwaarde om je lokale ontwikkeling naar GitHub te pushen, moet je je SSH sleutel aan GitHub toevoegen. Om dit te doen, volg de officiële GitHub documentatie

U kunt testen of u de SSH-sleutel juist hebt ingesteld door : 

Stap 4: Stel uw SSH sleutel in RAIDBOXES in

RAIDBOXES staat u toe om verbinding te maken met uw server via een SSH verbinding. Eerst moet je de SSH sleutel registreren in de GUI (graphical user interface). 

Om dit te doen, logt u in op het RAIDBOXES dashboard. Selecteer de BOX waarmee u via SSH verbinding wilt maken:

ssh-5

Ga naar Instellingen > SSH:

ssh-8

Schakel SSH in door op de knop "Uit" te klikken om het in te schakelen en selecteer SSH-instellingen:

ssh-15

Houd uw SSH sleutel gereed (zie stap 2). RAIDBOXES vereist dat u uw publieke SSH-sleutel invoert. 

Ga naar de directory op uw lokale machine die uw SSH sleutels bevat:

C:\Users\Admin\.ssh

Open het bestand id_rsa.pub. Kopieer de volledige inhoud van het bestand - inclusief de 'ssh-rsa' aan het begin - en plak het in het SSH-veld: 

ssh-10

Klik op Opslaan en keer terug naar uw BOX dashboard. 

In de SSH-sectie vindt u uw inloggegevens om via SSH verbinding te maken met RAIDBOXES . Je hebt de volgende toegangsgegevens nodig: 

  • Gebruikersnaam, 
  • Gastheer details en 
  • SSH passphrase die u voor uw SSH sleutel heeft gemaakt (zie stap 2). 
De perfecte WordPress  ontwikkelingsworkflow met Git &amp; SSH

Open Git Bash (Windows) of Terminal (Mac). Het commando om verbinding te maken via SSH is:

ssh <user-name>@<host-details>

Een voorbeeld met mijn dummy account zou zijn: 

ssh wp@XXXXXX.myraidbox.de

ssh-1

U wordt nu gevraagd om uw SSH wachtwoordzin in te voeren. Voer het in - en welkom bij uw RAIDBOXES BOX bestandsboom! 

ALS u een waarschuwing krijgt dat de verbinding onbekend is (het is de eerste verbinding), kunt u als volgt te werk gaan:

  • Geef ja,
  • Git Bash verlaten,
  • open Git Bash opnieuw en
  • voer uw SSH Conflict gegevens opnieuw in. 
ssh-2

Stap 5: De RAIDBOXES mappenstructuur

Zoals vermeld in het welkomstscherm van de SSH-verbinding met uw RAIDBOXES BOX , bevindt uw vooraf geïnstalleerde WordPress directory zich in /home/wp/disk/wordpress. Uw huidige werkdirectory wanneer u voor het eerst verbinding maakt via SSH is home/wp

In deze map heb je niet de juiste rechten om Git op te starten en je project uit te voeren met git pull downloaden - dat zou je ook niet willen. 

Ga naar je werkmap: 

Vanuit deze directory kunt u de basis van uw WordPress site wijzigen: Als je ls (list) in de console, ziet u uw typische WordPress bestandsstructuur: 

ssh-9

Stap 6: Git initialiseren in RAIDBOXES

Verander de mappen in wp-content/themes en maak een map aan. Hier initialiseer je Git en haal je je lokaal ontwikkelde Theme op van GitHub. 

cd wp-content/themes

mkdir <your theme name>

cd <your theme name>

git init

Een andere coole eigenschap van RAIDBOXES: Git is al geïnstalleerd op de server - net als WordPress CLI (WP-CLI). Het laatste wat je moet doen is je GitHub repository naar de RAIDBOXES WordPress bestandsboom halen. 

Maar om uw BOX veilig te houden, staat RAIDBOXES u dat niet toe, git push direct van je lokale apparaat naar je git repo. In plaats daarvan haal je het van een dienst als GitHub. 

(Als je je lokale ontwikkelingsproject al naar GitHub gepushed hebt, ga dan verder met stap 8).

Stap 7: Upload je lokale Theme naar GitHub

Navigeer vanaf uw lokale apparaat naar de map waarin uw aangepaste WordPress -Theme is aangemaakt. Initialiseer Git dan door het in je terminal uit te voeren:

git init

De perfecte WordPress  ontwikkelingsworkflow met Git &amp; SSH

Maak je repo aan op GitHub en voeg het toe als een remote voor je aangepaste ontwikkeling. Voor instructies over het aanmaken van een GitHub repository, kunt u deze documentatie lezen.

ssh-14

Wanneer je een repo aanmaakt, kun je kiezen tussen publiek en privaat. Voor werk in opdracht, is het het beste om privé te kiezen. Merk op dat dit je zal vragen om je GitHub gebruikersnaam en wachtwoord (niet je SSH wachtwoordzin) toe te voegen wanneer je de commando's git push of git pull die je eruit wilt halen.

Voeg je GitHub repo toe als een remote om het commando uit te voeren git push om te gebruiken: 

git remote add <the alias you choose for the remote> <the remotes address>

Zoals in dit voorbeeld: 

git remote add gitHub
https://github.com/XXXXXXXXX/customWordpressTheme.git

Voeg je bestanden toe, commit ze, en push ze naar je remote repository: 

git add *
git commit -m '<your commit note>'
git push -u <the alias you gave your remote> <the name of the branch your working on>

(Indien u niet zeker bent wat de naam van uw afstandsbediening is, voer dan het commando git remote -v uit. Dit toont je alle namen van de remote repositories).

$ git push -u gitHub main

Geweldig. Nu is je Theme online en klaar om in je BOX te worden gestopt. 

Stap 8: Upload uw Theme in RAIDBOXES

Net zoals je je GitHub repository als een remote repository toevoegt (zodat je je Theme naar GitHub kunt pushen) zullen we nu GitHub als een remote repository toevoegen en de Theme vanuit de GitHub repository pushen. 

Open de Git Bash terminal waar je SSH'ed naar RAIDBOXES . Zorg ervoor dat je in de map van je WordPress bent -Theme map waar je Git geïnitialiseerd hebt (zie stap 6). 

Bijvoorbeeld:

home/wp/disk/wordpress/wp-content/themes

Voeg nu je GitHub repo toe als een remote. 

Je kunt het externe adres vinden op GitHub: 

ssh-3

Voeg de afstandsbediening toe: 

git remote add <choose an alias name> <the address of your github ssh repo>

git remote add gitHub https://github.com/XXXXXX/customWordpressTheme.git

Pulle nu de repo van GitHub:

Let op: Tak wordt hier waarschijnlijk hoofd genoemd. Tenzij je het veranderd hebt of in een andere branch op GitHub werkt.

git pull <alias name> <branch>

git pull gitHub main

Als de opslagplaats privé is...

... zal je gevraagd worden om je GitHub gebruikersnaam en GitHub wachtwoord - niet je wachtwoordzin.

Stap 9: Activeer uw Theme

Gefeliciteerd! De laatste stap is het activeren van uw WordPress -Theme . Maar waarom de terminal verlaten voor dat? RAIDBOXES heeft WordPress CLI al geïnstalleerd. Met een paar regels code kunt u besparen op het rondklikken in de WordPress UI. 

Voer dit commando uit in de terminal: 

wp theme activate <your theme name>

Voor een volledig overzicht van de commando's die u kunt gebruiken met WP-CLI , verwijzen wij u naar de officiële documentatie van WordPress .

Als u de voorkeur geeft aan de UI, hebt u toegang tot al uw Themes vanaf uw RAIDBOXES BOX dashboard. U vindt ze onder het navigatiepunt Plugins & Themes:

ssh-4

Conclusie

Als je op zoek bent naar een snelle, veilige en efficiënte manier om je WordPress site te ontwikkelen en te onderhouden, dan is het gebruik van Git en SSH de manier om te gaan. Geloof me, je zult je snel afvragen hoe je het ooit gered hebt met een andere workflow! 

Maar iedereen werkt in zijn eigen tempo en heeft individuele voorkeuren als het gaat om de juiste workflow. Ik raad je aan om SSH een kans te geven - en de beschreven stappen te volgen. Je weet maar nooit: misschien word je wel helemaal blij en wil je deze workflow nooit meer missen! 

Bedankt voor het lezen. Ik hoop dat dit artikel je heeft geholpen bij het opzetten van een goede workflow die je leven eenvoudiger zal maken bij het werken met Custom Themes . Begin vandaag nog en maak optimaal gebruik van het RAIDBOXES dashboard! 

Welke vragen heb je voor Matthias?

Voel je vrij om de commentaarfunctie te gebruiken. Wilt u op de hoogte blijven van nieuwe artikelen en tips over het onderwerp WordPress Development? Volg ons dan op Twitter, Facebook of via onze nieuwsbrief.

Matthias is Chaos Calmer bij RAIDBOXES. Als plugin- en theme-ontwikkelaar, WordCamp Speaker en actieve Hosting Community Contributor is hij regelmatig op WordCamps en andere evenementen, die voor WordPress relevant zijn, te vinden en is hij altijd klaar voor een hapje en een drankje. Als hij daar niet is, zitten er katten op zijn schoot.

Reacties op dit artikel

Laat een opmerking achter

Jouw e-mailadres zal niet worden gepubliceerd. Verplichte velden zijn met een * gemarkeerd.