Laravel installeren op shared hosting: complete gids

Laravel is het populairste PHP framework en werkt uitstekend op shared hosting. In deze handleiding leer je hoe je Laravel installeert, configureert en klaar maakt voor productie op Theory7 hosting.

Vereisten voor Laravel

Voordat je begint, controleer of je hosting voldoet aan de vereisten.

PHP vereisten

Laravel 11 vereist:

  • PHP 8.2 of hoger
  • BCMath PHP Extension
  • Ctype PHP Extension
  • Fileinfo PHP Extension
  • JSON PHP Extension
  • Mbstring PHP Extension
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension Bij Theory7 hosting zijn alle vereiste extensies standaard beschikbaar.

Overige vereisten

  • SSH toegang (voor Composer)
  • MySQL of MariaDB database
  • Voldoende schijfruimte (minimaal 100MB)
  • Composer beschikbaar via command line

SSH toegang activeren

Laravel installeren vereist SSH toegang.

SSH activeren in DirectAdmin

  1. Log in op DirectAdmin
  2. Ga naar Account Manager
  3. Klik op SSH Keys
  4. Genereer of upload je SSH key
  5. Activeer SSH toegang Zie ook: SSH toegang activeren

Verbinding maken

ssh gebruikersnaam@jouwdomein.nl
# Of met poort:
ssh -p 7777 gebruikersnaam@server.theory7.net

Laravel installeren via Composer

Nu kun je Laravel installeren.

Naar de juiste map navigeren

# Ga naar je domein map
cd ~/domains/jouwdomein.nl

Laravel project aanmaken

Installeer Laravel in een subdirectory:

# Maak nieuw Laravel project
composer create-project laravel/laravel project
# Dit maakt een map 'project' met Laravel

Of direct in de huidige map:

# In lege map
composer create-project laravel/laravel .

Installatie verifiëren

# Controleer Laravel versie
cd project
php artisan --version
# Output: Laravel Framework 11.x.x

Document root configureren

Shared hosting vereist speciale configuratie voor Laravel.

Laravel's public map moet de document root zijn:

# Verwijder of hernoem oude public_html
cd ~/domains/jouwdomein.nl
mv public_html public_html_backup
# Maak symlink naar Laravel public
ln -s project/public public_html

Alternatief: .htaccess in root

Als symlinks niet werken:

# In de root .htaccess
RewriteEngine On
RewriteRule ^(.*)$ project/public/$1 [L]

Database configureren

Laravel heeft een database nodig.

Database aanmaken in DirectAdmin

  1. Ga naar Account Manager en dan MySQL Management
  2. Klik op Create new Database
  3. Kies een naam en wachtwoord
  4. Noteer de gegevens

.env bestand configureren

Bewerk het .env bestand:

cd ~/domains/jouwdomein.nl/project
nano .env

Pas de database instellingen aan:

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=jouw_database_naam
DB_USERNAME=jouw_database_user
DB_PASSWORD=jouw_database_wachtwoord

Applicatie configureren

Stel de basis configuratie in.

App key genereren

php artisan key:generate

Dit genereert een unieke encryptiesleutel in .env.

Productie instellingen

Pas .env aan voor productie:

APP_NAME="Mijn Laravel App"
APP_ENV=production
APP_DEBUG=false
APP_URL=https://jouwdomein.nl
LOG_CHANNEL=daily
LOG_LEVEL=error

Cache instellingen

Optimaliseer voor productie:

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_CONNECTION=database

Storage configureren

Laravel heeft schrijftoegang nodig voor storage.

php artisan storage:link

Dit maakt een symlink van public/storage naar storage/app/public.

Rechten instellen

# Zorg dat storage schrijfbaar is
chmod -R 775 storage
chmod -R 775 bootstrap/cache

Migrations uitvoeren

Maak de database tabellen aan:

# Voer migrations uit
php artisan migrate
# Met seeding (indien beschikbaar)
php artisan migrate --seed

Productie optimalisatie

Optimaliseer Laravel voor snelheid.

Config cache

php artisan config:cache

Dit cachet alle configuratie in een enkel bestand.

Route cache

php artisan route:cache

Versnelt route resolution aanzienlijk.

View cache

php artisan view:cache

Pre-compileert alle Blade templates.

Autoloader optimalisatie

composer install --optimize-autoloader --no-dev

Alles in een keer

php artisan optimize

Cronjob instellen

Laravel's scheduler heeft een cronjob nodig:

  1. Ga naar DirectAdmin
  2. Ga naar Advanced Features en dan Cron Jobs
  3. Voeg een cronjob toe:
* * * * * cd ~/domains/jouwdomein.nl/project && php artisan schedule:run >> /dev/null 2>&1

Veelvoorkomende problemen

500 error na installatie

  1. Controleer of .env bestaat
  2. Genereer app key: php artisan key:generate
  3. Controleer storage rechten
# Verwijder oude link
rm -f public/storage
# Maak opnieuw aan
php artisan storage:link

Composer memory error

# Verhoog memory limit
php -d memory_limit=512M /usr/local/bin/composer install

Blank page zonder foutmelding

  1. Schakel debug tijdelijk in: APP_DEBUG=true
  2. Bekijk de error
  3. Schakel debug weer uit

Updates uitvoeren

Houd Laravel up-to-date:

# Update dependencies
composer update
# Voer nieuwe migrations uit
php artisan migrate
# Leeg en herbouw cache
php artisan optimize:clear
php artisan optimize

Gerelateerde artikelen

Hulp nodig?

We staan voor je klaar! Loop je ergens tegenaan of heb je vragen? Ons supportteam helpt je graag persoonlijk verder. Stuur ons een berichtje via het ticketsysteem - we reageren meestal binnen een paar uur en denken graag met je mee.