Git, Node.js en Laravel in Plesk: de tools voor ontwikkelaars
Gepubliceerd op 9 november 2026 11 min leestijd
Deploy vanuit GitHub met Git, draai een Node.js-app, installeer pakketten met Composer en beheer Laravel in Plesk. Stap voor stap, meestal zonder SSH.
In Plesk staan bij je hosting bij LJPc vier hulpmiddelen voor ontwikkelaars klaar: Git om je code vanuit GitHub, GitLab of Bitbucket op je site te zetten, PHP Composer voor je PHP-pakketten, Node.js om een Node.js-app te draaien en Laravel Toolkit om een Laravel-applicatie te beheren. Je bedient ze vanuit je browser en voor de meeste taken heb je geen SSH nodig. Hieronder lees je per tool waar je hem vindt en hoe je ermee begint.
Ben je nog niet thuis in Plesk, lees dan eerst wegwijs in Plesk. Plesk open je vanuit het klantenportaal, zie Plesk openen vanuit het klantenportaal. Plesk staat in het Engels, daarom gebruiken we de Engelse namen van knoppen en velden.
Welke ontwikkeltools zitten er in Plesk?
| Tool | Waarvoor | Waar in Plesk |
|---|---|---|
| Git | Je code uit GitHub, GitLab of Bitbucket op je site zetten, ook automatisch bij elke push | Kaart van je domein, tabblad Dashboard, blok Dev Tools: Git (of tabblad Get Started: Deploy using Git) |
| PHP Composer | De PHP-pakketten uit composer.json installeren en bijwerken | Blok Dev Tools: PHP Composer |
| Node.js | Een Node.js-app draaien, zoals een Express-server of een API | Kaart van je domein, tabblad Get Started: Node.js |
| Laravel Toolkit | Een Laravel-applicatie installeren, bijwerken en beheren: Artisan, .env, onderhoudsmodus en deployen | Menu links: Laravel (of tabblad Get Started: Laravel) |
Welke tools je ziet, hangt af van je pakket en de server waarop je site staat. Bij de meeste pakketten staan ze alle vier aan. Mis je er een, maak dan een supportticket aan, dan kijken we met je mee.

Je website deployen met Git vanuit GitHub, GitLab of Bitbucket
Met de Git-koppeling haalt Plesk je code op uit je repository en zet hij de bestanden in de map van je website. Je kiest zelf of dat bij elke push automatisch gebeurt of pas als je op een knop drukt. Werk je met een privérepository, dan geeft Plesk je een SSH-sleutel die je als deploy key aan je repository toevoegt.
Stap 1: de repository koppelen
- Ga in Plesk naar Websites & Domains en klik op de kaart van je domein onder Dev Tools op Git.
- Klik op Add Repository. Het venster Create repository opent, met Remote repository al gekozen.
- Vul bij Repository URL het adres van je repository in. Gebruik het SSH-formaat, zoals
git@github.com:jouwnaam/jouwdomein.git. Plesk toont dan het veld Deploy key public part met een sleutel die begint metssh-rsa. - Kopieer die sleutel en voeg hem toe aan je repository, zie stap 2. Doe dat voordat je verdergaat: Plesk haalt de code direct op als je de repository aanmaakt.
- Kies onder Deployment settings bij Deployment mode hoe Plesk je bestanden live zet: Automatic (bij elke nieuwe commit), Manual (pas als jij op Deploy now klikt) of Disabled (alleen de repository bewaren). Bij Deployment directory staat
/httpdocs, de map van je website. - Klik op Create. Plesk maakt een kaart voor je repository. Staat daar bij Repository branch nog geen branch, kies dan de branch die live moet, zoals
main.

Stap 2: de deploy key toevoegen in GitHub, GitLab of Bitbucket
| Dienst | Waar |
|---|---|
| GitHub | Je repository, Settings > Deploy keys > Add deploy key. Geef de sleutel een titel, plak hem bij Key en laat Allow write access uit. |
| GitLab | Je project, Settings > Repository > Deploy keys. |
| Bitbucket | Je repository, Repository settings > Access keys. |
Een deploy key kan alleen lezen. Plesk haalt er je code mee op en kan niets in je repository veranderen.
Stap 3: automatisch deployen bij elke push
Met een webhook laat GitHub, GitLab of Bitbucket bij elke push aan Plesk weten dat er nieuwe code is.
- Klik in Plesk op de kaart van je repository op het tandwieltje (Repository settings) en kopieer de Webhook URL.
- Ga in GitHub naar Settings > Webhooks > Add webhook, plak de URL bij Payload URL, laat de standaardkeuze voor push-gebeurtenissen staan en klik op Add webhook. Bij GitLab en Bitbucket vind je Webhooks ook in de instellingen van je repository.
- Push een kleine wijziging en kijk in Plesk bij Latest commits of je nieuwe commit erbij staat.
Zonder webhook haal je nieuwe commits op met Pull now op de kaart van je repository. Staat de deploymodus op Manual, dan zet je ze daarna live met Deploy now.
Commando's na elke deploy
Met Enable post deployment actions laat je na elke deploy commando's draaien, één per regel. Ze draaien in een afgeschermde omgeving van je hostingruimte met een beperkt aantal programma's, en welke dat zijn verschilt per server. Voor PHP- en npm-pakketten gebruik je daarom de knoppen van PHP Composer, Node.js en Laravel Toolkit hieronder. Een front-end die gebouwd moet worden, bouw je vooraf op je eigen computer of in GitHub Actions. Laat Plesk dan de kant-en-klare bestanden uit een aparte branch deployen.
PHP-pakketten installeren met Composer
PHP Composer installeert de pakketten uit het bestand composer.json van je project.
- Zet je project op de server, bijvoorbeeld met Git of FTP.
- Klik op de kaart van je domein onder Dev Tools op PHP Composer en daarna op Scan. Plesk zoekt in je hele hostingruimte naar
composer.json. - Klik bij je project op Install om de pakketten te installeren zoals ze in
composer.lockstaan, of op Update om ze bij te werken naar de nieuwste versies diecomposer.jsontoestaat.
Composer gebruikt de PHP-versie van je site. Vraagt je project een andere versie, pas die dan eerst aan, zie PHP-versie wijzigen in Plesk.
Een Node.js-app draaien in Plesk
Een Node.js-app, zoals een Express-server, een API of een Next.js- of Nuxt-site die als server draait, zet je in Plesk aan op je domein. De webserver start je app en stuurt de bezoekers ernaartoe.
- Zet je bestanden op de server, met Git, met FTP of met bestandsbeheer in Plesk. De map
node_moduleslaat je weg: die installeert Plesk zelf. - Klik op de kaart van je domein op het tabblad Get Started en daarna op Node.js. Je komt op de pagina Node.js on jouwdomein.nl.
- Controleer de instellingen op het tabblad Dashboard. Met het potloodje of het mapje achter een waarde wijzig je hem:
- Node.js Version: de versie waarmee je app werkt. Welke versies je kunt kiezen, verschilt per server.
- Package Manager: npm, yarn of pnpm. Plesk kiest wat het in je project herkent.
- Application Root: de map met je
package.json, standaard/httpdocs. - Document Root: de map met vaste bestanden, zoals afbeeldingen en CSS. Plesk raadt een submap van de Application Root aan, zoals
/httpdocs/public. Dit is dezelfde instelling als de documentmap van je website. - Application Mode:
productionvoor je live site ofdevelopmentom te testen. Je app leest dit alsNODE_ENV. - Application Startup File: het bestand dat je app start, standaard
app.js.
- Klik op Enable Node.js.
- Klik op NPM install (of Yarn install of pnpm install) om de pakketten uit
package.jsonte installeren. Moet je app eerst gebouwd worden, start dan met Run script een script uitpackage.json, zoalsbuild. - Klik op Restart App na elke wijziging in je code of instellingen.

Op het tabblad Environment zet je je eigen variabelen. Gegevens die niemand mag zien, zoals een wachtwoord of API-sleutel, zet je bij Secrets: die bewaart Plesk versleuteld en toont ze niet meer. Op het tabblad Run Node.js commands draai je zelf npm-, yarn- of pnpm-commando's in de map van je app, zonder SSH.
Start je app niet, kijk dan bij Logs van je domein, zie het foutlogboek bekijken in Plesk. Met Disable Node.js zet je de app uit; je bestanden en instellingen blijven bewaard.
Laravel hosten met Laravel Toolkit
Laravel Toolkit zet een Laravel-applicatie op je site en geeft je de knoppen die je anders op de commandoregel zou gebruiken.
- Klik in Plesk in het menu links op Laravel en daarna op Install Application. Kies bij Choose domain je domein.
- Kies Install from remote repository als je code in GitHub, GitLab of Bitbucket staat, of Install Skeleton voor een nieuwe, lege Laravel-app. Bij een privérepository voeg je de getoonde SSH public key als deploy key toe, zoals hierboven bij Git.
- Staat je app al op de server, zet dan eerst de documentmap van je domein op de map
publicvan je app, bijvoorbeeld/httpdocs/public, met het bestandartisanin de map erboven. Klik daarna in Laravel Toolkit op Scan.
Op de kaart van je app vind je daarna onder meer:
- de tabbladen Artisan, Composer en Node.js, waarin je commando's draait zoals
migrateofrun build, zonder SSH; - Environment variables (.env): je
.env-bestand bewerken met de knop Edit; - Maintenance mode: bezoekers zien een tijdelijke pagina terwijl jij werkt, zet hem daarna weer uit;
- het tabblad Deployment: bij een update zet Laravel Toolkit je site in onderhoudsmodus, haalt de nieuwe code op, installeert de Composer- en npm-pakketten en zet de onderhoudsmodus weer uit. Dat gebeurt met de knop Deploy, of automatisch na een push als je de Webhook URL van je app in GitHub, GitLab of Bitbucket zet.
De Laravel-planner laten draaien
Je eigen deployscript, de schakelaar Scheduled Tasks en de wachtrij (Queue) in Laravel Toolkit werken alleen als SSH-toegang voor je site aan staat. Zonder SSH laat je de planner van Laravel draaien met een geplande taak in Plesk:
- Ga op de kaart van je domein onder Dev Tools naar Scheduled Tasks en klik op Add Task.
- Kies Run a PHP script, vul bij Script path het pad naar
artisanin, zoalshttpdocs/artisan, en zet bij with argumentsschedule:run. - Kies bij Use PHP version dezelfde PHP-versie als je site, zet Run op Cron style met
* * * * *(elke minuut) en klik op OK.
Meer over geplande taken lees je in cronjob instellen in Plesk. Gebruik je een wachtrij, laat de planner dan elke minuut queue:work --stop-when-empty starten, met withoutOverlapping() zodat er één tegelijk draait. Heb je SSH-toegang nodig, lees dan SSH-toegang tot je hosting.
Wat kan zonder SSH en wat vraagt SSH-toegang?
| Wat je wilt | Zonder SSH |
|---|---|
| Deployen vanuit GitHub, GitLab of Bitbucket, ook automatisch met een webhook | Ja, met de Git-koppeling |
composer install of composer update | Ja, met PHP Composer of Laravel Toolkit |
Een Node.js-app starten, npm install en een script uit package.json | Ja, met Node.js |
Artisan-commando's, .env bewerken, onderhoudsmodus | Ja, met Laravel Toolkit |
| De Laravel-planner en een wachtrij | Ja, met een geplande taak (zie hierboven) |
| Het deployscript, Scheduled Tasks en Queue in Laravel Toolkit | Nee, daarvoor zet je SSH-toegang aan |
| Zelf commando's typen op de server | Nee, daarvoor heb je SSH-toegang nodig |
SSH-toegang krijg je bij LJPc hosting met een vast IP-adres en een SSH-sleutel. Hoe je het aanvraagt, lees je in SSH-toegang tot je hosting.
Wat LJPc hosting voor je regelt
Git, PHP Composer, Node.js en Laravel Toolkit staan klaar op al onze Plesk-servers, met op elke server meerdere Node.js-versies om uit te kiezen. Je opent Plesk vanuit het klantenportaal en begint direct. Elke nacht maken we een back-up van je website en databases. Pakt een deploy niet goed uit, dan zetten we op jouw verzoek de stand van een eerdere nacht terug. Hoe dat werkt, lees je in back-ups bij LJPc hosting.
Werkt het niet?
| Wat je ziet | Wat je doet |
|---|---|
| Plesk kan je repository niet ophalen | Controleer of het adres in SSH-formaat staat en of de deploy key van Plesk aan je repository hangt. Klik daarna op Pull now. |
| Een push komt niet vanzelf op je site | Controleer met het tandwieltje op de kaart van je repository of Deployment mode op Automatic staat en of de Webhook URL precies zo in GitHub, GitLab of Bitbucket staat. In GitHub zie je bij de webhook onder Recent Deliveries of het seintje is aangekomen. |
| Je ziet de wijziging niet, maar de commit staat wel in Plesk | Kijk op de kaart van je repository of de juiste branch is gekozen bij Repository branch, en met het tandwieltje naar welke map Plesk deployt (Deployment directory). |
| Je Node.js-app geeft een foutpagina | Controleer de naam van het startbestand en de Node.js-versie, klik op Restart App en lees de melding in Logs. |
composer install mislukt op de PHP-versie | Zet je site op de PHP-versie die je project vraagt, zie PHP-versie wijzigen in Plesk. |
| Je mist Git, Node.js of Laravel in Plesk | Maak een supportticket aan, dan kijken we met je mee. |
Veelgestelde vragen
Heb ik SSH nodig voor Git, Node.js of Laravel in Plesk?
Voor de meeste taken niet. Deployen vanuit GitHub, GitLab of Bitbucket, composer install, npm install, Artisan-commando's en je .env-bestand regel je in Plesk vanuit je browser. Alleen het eigen deployscript, de schakelaar Scheduled Tasks en de wachtrij in Laravel Toolkit vragen SSH-toegang. Die krijg je bij LJPc hosting met een vast IP-adres en een SSH-sleutel.
Kan ik deployen vanuit een privérepository op GitHub?
Ja. Vul in Plesk het adres van je repository in SSH-formaat in, bijvoorbeeld git@github.com:jouwnaam/jouwdomein.git. Plesk toont dan een deploy key. Voeg die in GitHub toe bij Settings > Deploy keys, zonder schrijfrechten, en maak daarna de repository aan in Plesk.
Hoe zorg ik dat mijn site vanzelf bijwerkt na een git push?
Zet de Deployment mode op Automatic en kopieer de Webhook URL uit de instellingen van je repository in Plesk (het tandwieltje). Plak die URL in GitHub bij Settings > Webhooks > Add webhook. Bij elke push haalt Plesk de nieuwe code op en zet hij de bestanden live.
Welke Node.js-versies kan ik gebruiken?
Dat verschilt per server: op elke Plesk-server staan meerdere versies. Je ziet ze als je in Plesk bij Node.js op de versie achter Node.js Version klikt. Staat de versie die je nodig hebt er niet tussen, maak dan een supportticket aan.
Hoe laat ik de planner van Laravel draaien zonder SSH?
Maak in Plesk bij Scheduled Tasks een taak van het type Run a PHP script met als pad httpdocs/artisan (of waar artisan bij jou staat) en als argument schedule:run. Zet hem op Cron style met * * * * *, dan draait de planner elke minuut.
Waarom zie ik Node.js of Laravel niet in Plesk?
Node.js en Laravel vind je op het tabblad Get Started van je domein, Laravel ook in het menu links. Staan ze daar niet, dan zijn ze in jouw pakket of op jouw server niet aangezet. Maak een supportticket aan, dan kijken we met je mee.