PHP frameworks op DirectAdmin: configuratie gids
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
- Log in op DirectAdmin
- Ga naar Domain Setup (onder je domein)
- Klik op PHP Version Manager of PHP Settings
- Selecteer de gewenste PHP versie
- 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.
Methode 1: Symlink (aanbevolen)
# 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
- Ga naar DirectAdmin
- Open Domain Setup
- Wijzig Document Root naar:
domains/jouwdomein.nl/myproject/public - 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
- Ga naar DirectAdmin
- Open Account Manager en dan SSH Keys
- Klik op Generate Key of upload je eigen key
- 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
- Ga naar DirectAdmin
- Open Account Manager en dan MySQL Management
- Klik op Create new Database
- Vul in:
- Database naam
- Gebruikersnaam
- Wachtwoord
- 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
- Ga naar DirectAdmin
- Open Advanced Features en dan Cron Jobs
- 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:
- Ga naar Domain Setup en dan PHP Settings
- Verhoog
memory_limitnaar 256M of 512M - 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:
- .env staat boven public/ (standaard veilig)
- 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
- Ga naar DirectAdmin
- Open SSL Certificates
- Selecteer Let's Encrypt (gratis)
- 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:
- Composer install met productie flags
- Environment variabelen correct
- Cache geleegd en opgewarmd
- Migrations uitgevoerd
- Bestandsrechten gecontroleerd
- SSL actief
Gerelateerde artikelen
- Laravel met Composer via SSH
- Artisan en Console commando's via SSH
- Laravel .env en storage configuratie
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.
0 van 0 vonden dit nuttig