Frameworks PHP sur DirectAdmin : guide de configuration
Des frameworks PHP modernes tels que Laravel, Symfony et CodeIgniter fonctionnent parfaitement sur l'hébergement DirectAdmin, à condition d'être correctement configurés. Dans ce guide, vous apprendrez comment configurer DirectAdmin de manière optimale pour le développement de frameworks PHP.
Frameworks pris en charge
l'hébergement Theory7 avec DirectAdmin prend en charge tous les frameworks PHP populaires :
- Laravel : Le framework PHP le plus populaire
- Symfony : Framework de niveau entreprise
- CodeIgniter : Framework léger
- Slim : Micro framework pour APIs
- Lumen : Micro framework Laravel
- Yii : Framework haute performance
- CakePHP : Framework de développement rapide
Tous ces frameworks partagent des exigences de configuration similaires.
Sélectionner la version PHP
La bonne version PHP est essentielle pour les frameworks.
Exigences de version
| Framework | PHP minimale | Recommandé |
|---|---|---|
| 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+ |
Changer la version PHP dans DirectAdmin
- Connectez-vous à DirectAdmin
- Allez dans Domain Setup (sous votre domaine)
- Cliquez sur PHP Version Manager ou PHP Settings
- Sélectionnez la version PHP souhaitée
- Cliquez sur Save ou Apply
Le changement est immédiatement actif pour ce domaine.
Version PHP par répertoire
Vous pouvez utiliser différentes versions PHP par sous-répertoire via .htaccess :
# Dans .htaccess du sous-répertoire
SetHandler application/x-httpd-php82
Configurer le document root
Les frameworks ont un répertoire public qui doit être le document root.
Pourquoi c'est important
Les frameworks séparent :
- public/ : Fichiers accessibles sur le web (CSS, JS, index.php)
- Code d'application : Au-dessus du document root (sécurisé)
Cela empêche l'accès direct aux fichiers de configuration.
Méthode 1 : Symlink (recommandé)
# Via SSH
cd ~/domains/votredomaine.nl
# Sauvegarder le public_html existant
mv public_html public_html_backup
# Symlink vers le public du framework
ln -s myproject/public public_html
Méthode 2 : Configuration DirectAdmin
- Allez dans DirectAdmin
- Ouvrez Domain Setup
- Changez Document Root en :
- Enregistrez les modifications
domains/votredomaine.nl/myproject/public
Méthode 3 : Redirection .htaccess
Si les méthodes ci-dessus ne sont pas possibles :
# Dans le .htaccess racine
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/myproject/public
RewriteRule ^(.*)$ /myproject/public/$1 [L]
Configurer l'accès SSH
SSH est essentiel pour Composer et les commandes artisan/console.
Activer SSH
- Allez dans DirectAdmin
- Ouvrez Account Manager puis SSH Keys
- Cliquez sur Generate Key ou téléchargez votre propre clé
- Activez l'accès SSH
Voir aussi : Activer l'accès SSH
Rendre Composer disponible
Composer est par défaut disponible sur l'hébergement Theory7 :
# Vérifiez la version
composer --version
# Mettez à jour si nécessaire
composer self-update
Configurer les permissions de fichiers
Les bonnes permissions sont cruciales pour les frameworks.
Permissions par défaut
# Dossiers : 755
find /home/user/domains/domaine.nl/myproject -type d -exec chmod 755 {} \;
# Fichiers : 644
find /home/user/domains/domaine.nl/myproject -type f -exec chmod 644 {} \;
Dossiers écriture
Les frameworks ont besoin d'accès en écriture pour :
Laravel :chmod -R 775 storage
chmod -R 775 bootstrap/cache
Symfony :
chmod -R 775 var
CodeIgniter :
chmod -R 775 writable
Configuration de la base de données
Connectez votre framework à MySQL/MariaDB.
Créer une base de données
- Allez dans DirectAdmin
- Ouvrez Account Manager puis MySQL Management
- Cliquez sur Create new Database
- Remplissez :
- Nom de la base de données
- Nom d'utilisateur
- Mot de passe
- Cliquez sur Create
Exemples de chaînes de connexion
Laravel (.env) :DB_CONNECTION=mysql
DB_HOST=localhost
DB_DATABASE=user_dbname
DB_USERNAME=user_dbuser
DB_PASSWORD=motdepasse
Symfony (.env) :
DATABASE_URL="mysql://user_dbuser:motdepasse@localhost/user_dbname"
Configurer les cronjobs
Les frameworks ont souvent des tâches planifiées.
Créer un cronjob
- Allez dans DirectAdmin
- Ouvrez Advanced Features puis Cron Jobs
- Cliquez sur Create
* * * * * cd /home/user/domains/domaine.nl/myproject && php artisan schedule:run >> /dev/null 2>&1
Console Symfony :
0 */6* * * cd /home/user/domains/domaine.nl/myproject && php bin/console app:my-command >> /dev/null 2>&1
Optimisation des performances
Optimisez DirectAdmin pour les frameworks.
Configurer OPcache
OPcache est activé par défaut. Paramètres optimaux via .htaccess ou php.ini :
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.validate_timestamps=0
Remarque : `validate_timestamps=0` nécessite une réinitialisation manuelle du cache lors des mises à jour.
Limite de mémoire PHP
Pour des applications plus grandes :
- Allez dans Domain Setup puis PHP Settings
- Augmentez `memory_limit` à 256M ou 512M
- Enregistrez
Ou via .htaccess :
php_value memory_limit 256M
Variables d'environnement
Gérer la configuration en toute sécurité.
Sécurisation du .env
Assurez-vous que .env n'est pas accessible publiquement :
- .env est au-dessus de public/ (par défaut sécurisé)
- Ajoutez à .htaccess :
<Files .env>
Order allow,deny
Deny from all
</Files>
Détection de l'environnement
Testez si le développement ou la production est correctement détecté :
Laravel :php artisan env
Symfony :
php bin/console debug:container --env-vars
Configurer SSL/HTTPS
Tous les frameworks doivent utiliser HTTPS.
Activer SSL
- Allez dans DirectAdmin
- Ouvrez SSL Certificates
- Sélectionnez Let's Encrypt (gratuit)
- Cliquez sur Save
Forcer HTTPS
Dans le public/.htaccess de votre framework :
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Liste de contrôle de déploiement
À chaque déploiement :
- Installer Composer avec des flags de production
- Variables d'environnement correctes
- Cache vidé et réchauffé
- Migrations exécutées
- Permissions de fichiers vérifiées
- SSL actif
Articles connexes
- Laravel avec Composer via SSH
- Artisan et commandes Console via SSH
- Configuration .env et storage de Laravel
Besoin d'aide ?
Nous sommes là pour vous aider ! Vous rencontrez un problème ou avez des questions ? Notre équipe de support est prête à vous aider personnellement. Envoyez-nous un message via le système de tickets - nous répondons généralement dans quelques heures et sommes heureux de vous aider.
0 van 0 vonden dit nuttig