PHP frameworks op DirectAdmin: configuratie gids

Moderne PHP frameworks zoals Laravel, Symfony en CodeIgniter werken uitstekend op DirectAdmin hosting, mits correct geconfigureerd. In deze handleiding leer je hoe je DirectAdmin optimaal instelt voor PHP framework development.

Ondersteunde frameworks

Theory7 hosting met DirectAdmin ondersteunt alle populaire PHP frameworks:

  • Laravel: Meest populaire PHP framework
  • Symfony: Enterprise-grade framework
  • CodeIgniter: Lichtgewicht framework
  • Slim: Micro framework voor APIs
  • Lumen: Laravel micro framework
  • Yii: High-performance framework
  • CakePHP: Rapid development framework Al deze frameworks delen vergelijkbare configuratievereisten.

PHP versie selecteren

De juiste PHP versie is essentieel voor frameworks.

Versie vereisten

Framework Minimale PHP Aanbevolen
Laravel 11 PHP 8.2 PHP 8.3
Symfony 7 PHP 8.2 PHP 8.3
CodeIgniter 4 PHP 8.1 PHP 8.2+
Slim 4 PHP 7.4 PHP 8.2+

PHP versie wijzigen in DirectAdmin

  1. Log in op DirectAdmin
  2. Ga naar Domain Setup (onder je domein)
  3. Klik op PHP Version Manager of PHP Settings
  4. Selecteer de gewenste PHP versie
  5. Klik op Save of Apply De wijziging is direct actief voor dat domein.

PHP versie per directory

Je kunt verschillende PHP versies per subdirectory gebruiken via .htaccess:

# In .htaccess van de subdirectory
<FilesMatch "\.php$">
    SetHandler application/x-httpd-php82
</FilesMatch>

Document root configureren

Frameworks hebben een public directory die de document root moet zijn.

Waarom dit belangrijk is

Frameworks scheiden:

  • public/: Webtoegankelijke bestanden (CSS, JS, index.php)
  • Applicatiecode: Boven de document root (veilig) Dit voorkomt directe toegang tot configuratiebestanden.
# Via SSH
cd ~/domains/jouwdomein.nl
# Backup bestaande public_html
mv public_html public_html_backup
# Symlink naar framework public
ln -s myproject/public public_html

Methode 2: DirectAdmin configuratie

  1. Ga naar DirectAdmin
  2. Open Domain Setup
  3. Wijzig Document Root naar:
    domains/jouwdomein.nl/myproject/public
    
  4. Sla de wijzigingen op

Methode 3: .htaccess redirect

Als bovenstaande niet mogelijk is:

# In root .htaccess
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/myproject/public
RewriteRule ^(.*)$ /myproject/public/$1 [L]

SSH toegang configureren

SSH is essentieel voor Composer en artisan/console commands.

SSH activeren

  1. Ga naar DirectAdmin
  2. Open Account Manager en dan SSH Keys
  3. Klik op Generate Key of upload je eigen key
  4. Activeer SSH toegang Zie ook: SSH toegang activeren

Composer beschikbaar maken

Composer is standaard beschikbaar op Theory7 hosting:

# Check versie
composer --version
# Update indien nodig
composer self-update

Bestandsrechten instellen

Correcte rechten zijn cruciaal voor frameworks.

Standaard rechten

# Mappen: 755
find /home/user/domains/domain.nl/myproject -type d -exec chmod 755 {} \;
# Bestanden: 644
find /home/user/domains/domain.nl/myproject -type f -exec chmod 644 {} \;

Schrijfbare mappen

Frameworks hebben schrijftoegang nodig voor: Laravel:

chmod -R 775 storage
chmod -R 775 bootstrap/cache

Symfony:

chmod -R 775 var

CodeIgniter:

chmod -R 775 writable

Database configuratie

Verbind je framework met MySQL/MariaDB.

Database aanmaken

  1. Ga naar DirectAdmin
  2. Open Account Manager en dan MySQL Management
  3. Klik op Create new Database
  4. Vul in:
    • Database naam
    • Gebruikersnaam
    • Wachtwoord
  5. Klik op Create

Connection string voorbeelden

Laravel (.env):

DB_CONNECTION=mysql
DB_HOST=localhost
DB_DATABASE=user_dbname
DB_USERNAME=user_dbuser
DB_PASSWORD=wachtwoord

Symfony (.env):

DATABASE_URL="mysql://user_dbuser:wachtwoord@localhost/user_dbname"

Cronjobs instellen

Frameworks hebben vaak scheduled tasks.

Cronjob aanmaken

  1. Ga naar DirectAdmin
  2. Open Advanced Features en dan Cron Jobs
  3. Klik op Create Laravel scheduler:
* * * * * cd /home/user/domains/domain.nl/myproject && php artisan schedule:run >> /dev/null 2>&1

Symfony console:

0 */6* * * cd /home/user/domains/domain.nl/myproject && php bin/console app:my-command >> /dev/null 2>&1

Performance optimalisatie

Optimaliseer DirectAdmin voor frameworks.

OPcache configureren

OPcache is standaard actief. Optimale instellingen via .htaccess of php.ini:

opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.validate_timestamps=0

Let op: validate_timestamps=0 vereist handmatige cache reset bij updates.

PHP memory limit

Voor grotere applicaties:

  1. Ga naar Domain Setup en dan PHP Settings
  2. Verhoog memory_limit naar 256M of 512M
  3. Sla op Of via .htaccess:
php_value memory_limit 256M

Environment variabelen

Veilig omgaan met configuratie.

.env beveiliging

Zorg dat .env niet publiek toegankelijk is:

  1. .env staat boven public/ (standaard veilig)
  2. Voeg toe aan .htaccess:
<Files .env>
    Order allow,deny
    Deny from all
</Files>

Environment detectie

Test of productie correct wordt gedetecteerd: Laravel:

php artisan env

Symfony:

php bin/console debug:container --env-vars

SSL/HTTPS configureren

Alle frameworks moeten HTTPS gebruiken.

SSL activeren

  1. Ga naar DirectAdmin
  2. Open SSL Certificates
  3. Selecteer Let's Encrypt (gratis)
  4. Klik op Save

HTTPS afdwingen

In je framework's public/.htaccess:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Deployment checklist

Bij elke deployment:

  1. Composer install met productie flags
  2. Environment variabelen correct
  3. Cache geleegd en opgewarmd
  4. Migrations uitgevoerd
  5. Bestandsrechten gecontroleerd
  6. SSL actief

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.