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

  1. Connectez-vous à DirectAdmin
  2. Allez dans Domain Setup (sous votre domaine)
  3. Cliquez sur PHP Version Manager ou PHP Settings
  4. Sélectionnez la version PHP souhaitée
  5. 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.

# 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

  1. Allez dans DirectAdmin
  2. Ouvrez Domain Setup
  3. Changez Document Root en :
  4. domains/votredomaine.nl/myproject/public
  5. Enregistrez les modifications

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

  1. Allez dans DirectAdmin
  2. Ouvrez Account Manager puis SSH Keys
  3. Cliquez sur Generate Key ou téléchargez votre propre clé
  4. 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

  1. Allez dans DirectAdmin
  2. Ouvrez Account Manager puis MySQL Management
  3. Cliquez sur Create new Database
  4. Remplissez :
    • Nom de la base de données
    • Nom d'utilisateur
    • Mot de passe
  5. 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

  1. Allez dans DirectAdmin
  2. Ouvrez Advanced Features puis Cron Jobs
  3. Cliquez sur Create
Planificateur Laravel :
* * * * * 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 :

  1. Allez dans Domain Setup puis PHP Settings
  2. Augmentez `memory_limit` à 256M ou 512M
  3. 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 :

  1. .env est au-dessus de public/ (par défaut sécurisé)
  2. Ajoutez à .htaccess :
  3. <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

  1. Allez dans DirectAdmin
  2. Ouvrez SSL Certificates
  3. Sélectionnez Let's Encrypt (gratuit)
  4. 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 :

  1. Installer Composer avec des flags de production
  2. Variables d'environnement correctes
  3. Cache vidé et réchauffé
  4. Migrations exécutées
  5. Permissions de fichiers vérifiées
  6. SSL actif

Articles connexes

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.