Skip to main content
Heb je al een webserver met PHP? Dan installeer je het portaal zelf vanaf de broncode. Het portaal is een Laravel-app.

Wat je nodig hebt

  • PHP 8.4 met de extensies pdo_mysql, intl, zip en bcmath.
  • Composer.
  • Node.js 22, om de stijlen en scripts te bouwen.
  • MySQL, MariaDB of SQLite.
  • Een webserver, zoals nginx, Apache of Caddy.

Installeren

1

Download de code

2

Installeer de afhankelijkheden

3

Richt het portaal in

Het commando stelt een paar vragen. Zie De vragen hieronder.
4

Stel je webserver in

Laat je webserver naar de map public wijzen. De webserver moet kunnen schrijven in storage en bootstrap/cache.

Wat portal:install doet

portal:install richt het portaal in:
  1. Bestaat .env niet of is het leeg, dan kopieert het .env.example.
  2. Het stelt de vragen en schrijft de antwoorden in .env. Je ziet “.env bijgewerkt.”.
  3. Het maakt de sleutel van de app en twee api-keys: een die begint met plt_ en een die begint met ist_.
  4. Het bouwt de database op.
  5. Het maakt de link public/storage als die er nog niet is.
  6. Het laat het blok voor de config.yml van de plugin zien.
  7. Het maakt een link om beheerder te worden. Die werkt één keer en is 24 uur geldig.
Je kunt het commando gerust opnieuw draaien. De huidige waarden zie je dan als voorgestelde antwoorden. De sleutels blijven bewaard, tenzij je kiest voor nieuwe.

De vragen

Kies je SQLite, dan komt de database in database/database.sqlite. Het bestand wordt aangemaakt als het er nog niet is. Draait de plugin op 127.0.0.1, localhost of ::1, dan zet het blok host: 127.0.0.1 bij rest-api. De plugin hoeft dan alleen lokaal te luisteren. Anders staat er host: 0.0.0.0.

Opties

Met opties sla je vragen over. Met --no-interaction stelt het commando geen vragen en gebruikt het voor ontbrekende waarden wat al in .env staat, of de standaardwaarde.

Wat er in .env komt

Naast je antwoorden zet portal:install deze waarden in .env:

Webserver

Laat de document root van je webserver naar de map public wijzen. Voor Apache staat er een .htaccess in public. Voor nginx bevat de repository geen voorbeeldconfiguratie. De Docker-images gebruiken FrankenPHP, dat is Caddy met PHP erin. Dit is de Caddyfile uit de repository. php_server werkt alleen in FrankenPHP, niet in gewone Caddy.

Cron en queue

Je hebt geen queue-worker nodig: portal:install zet QUEUE_CONNECTION=sync. Het portaal heeft ook geen geplande taken waarvoor je een cronjob moet instellen.

Logs

Met de standaardinstellingen uit .env.example schrijft het portaal zijn logs naar storage/logs/laravel.log.

Beheerder worden en testen

Open de link uit portal:install en log in of maak een account aan. Daarna ben je beheerder. Een nieuwe link maak je met:
Met --hours= kies je hoe lang de link geldig is. Standaard is dat 24 uur. Een nieuwe link maakt de vorige ongeldig. Zet daarna het blok in de config.yml van de plugin, herstart de Minecraft-server en test de verbinding:
Wat de meldingen betekenen, lees je bij Problemen oplossen.

Proberen zonder Minecraft-server

Wil je het portaal eerst uitproberen? Met de demomodus doet het portaal alsof er een plugin is, met een verzonnen stad.
1

Zet de demomodus aan

Zet PORTAL_DEMO=true in .env. APP_ENV mag niet production zijn. portal:install zet standaard APP_ENV=production. Draai het dan met bijvoorbeeld --environment=local.
2

Laad de demodata

3

Log in

Log in met demo@openminetopia.nl en wachtwoord demo1234, of open /demo. Dit account is beheerder.
De demomodus werkt nooit met APP_ENV=production. Gebruik hem niet voor een echt portaal.
Bijwerken en back-ups lees je bij Updaten en backups.