PHP-Frameworks auf DirectAdmin: Konfigurationsleitfaden
PHP-Frameworks auf DirectAdmin: Konfigurationsleitfaden
Moderne PHP-Frameworks wie Laravel, Symfony und CodeIgniter funktionieren hervorragend auf DirectAdmin-Hosting, sofern sie korrekt konfiguriert sind. In diesem Leitfaden erfahren Sie, wie Sie DirectAdmin optimal für die PHP-Framework-Entwicklung einrichten.
Unterstützte Frameworks
Theory7-Hosting mit DirectAdmin unterstützt alle gängigen PHP-Frameworks:
- Laravel: Beliebtestes PHP-Framework
- Symfony: Enterprise-Grade-Framework
- CodeIgniter: Leichtgewichtiges Framework
- Slim: Micro-Framework für APIs
- Lumen: Laravel-Micro-Framework
- Yii: High-Performance-Framework
- CakePHP: Rapid-Development-Framework Alle diese Frameworks haben ähnliche Konfigurationsanforderungen.
PHP-Version auswählen
Die richtige PHP-Version ist entscheidend für Frameworks.
Versionsanforderungen
| Framework | Minimale PHP | Empfohlen |
|---|---|---|
| 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-Version in DirectAdmin ändern
- Melden Sie sich bei DirectAdmin an
- Gehen Sie zu Domain Setup (unter Ihrer Domain)
- Klicken Sie auf PHP Version Manager oder PHP Settings
- Wählen Sie die gewünschte PHP-Version
- Klicken Sie auf Save oder Apply Die Änderung wird sofort für diese Domain wirksam.
PHP-Version pro Verzeichnis
Sie können verschiedene PHP-Versionen pro Unterverzeichnis über .htaccess verwenden:
# In .htaccess des Unterverzeichnisses
<FilesMatch "\.php$">
SetHandler application/x-httpd-php82
</FilesMatch>
Document Root konfigurieren
Frameworks haben ein öffentliches Verzeichnis, das als Document Root dienen muss.
Warum das wichtig ist
Frameworks trennen:
- public/: Webzugängliche Dateien (CSS, JS, index.php)
- Anwendungscode: Über der Document Root (sicher) Dies verhindert direkten Zugriff auf Konfigurationsdateien.
Methode 1: Symlink (empfohlen)
# Über SSH
cd ~/domains/ihredomain.de
# Bestehendes public_html sichern
mv public_html public_html_backup
# Symlink zum Framework public
ln -s myproject/public public_html
Methode 2: DirectAdmin-Konfiguration
- Gehen Sie zu DirectAdmin
- Öffnen Sie Domain Setup
- Ändern Sie Document Root zu:
domains/ihredomain.de/myproject/public - Speichern Sie die Änderungen
Methode 3: .htaccess-Weiterleitung
Falls obiges nicht möglich ist:
# In root .htaccess
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/myproject/public
RewriteRule ^(.*)$ /myproject/public/$1 [L]
SSH-Zugang konfigurieren
SSH ist entscheidend für Composer und Artisan/Console-Befehle.
SSH aktivieren
- Gehen Sie zu DirectAdmin
- Öffnen Sie Account Manager und dann SSH Keys
- Klicken Sie auf Generate Key oder laden Sie Ihren eigenen Key hoch
- Aktivieren Sie den SSH-Zugang Siehe auch: SSH-Zugang aktivieren
Composer verfügbar machen
Composer ist standardmäßig auf Theory7-Hosting verfügbar:
# Version prüfen
composer --version
# Bei Bedarf aktualisieren
composer self-update
Dateiberechtigungen festlegen
Korrekte Berechtigungen sind entscheidend für Frameworks.
Standardberechtigungen
# Verzeichnisse: 755
find /home/user/domains/domain.de/myproject -type d -exec chmod 755 {} \;
# Dateien: 644
find /home/user/domains/domain.de/myproject -type f -exec chmod 644 {} \;
Schreibbare Verzeichnisse
Frameworks benötigen Schreibzugriff für: Laravel:
chmod -R 775 storage
chmod -R 775 bootstrap/cache
Symfony:
chmod -R 775 var
CodeIgniter:
chmod -R 775 writable
Datenbankkonfiguration
Verbinden Sie Ihr Framework mit MySQL/MariaDB.
Datenbank erstellen
- Gehen Sie zu DirectAdmin
- Öffnen Sie Account Manager und dann MySQL Management
- Klicken Sie auf Create new Database
- Füllen Sie aus:
- Datenbankname
- Benutzername
- Passwort
- Klicken Sie auf Create
Verbindungsstring-Beispiele
Laravel (.env):
DB_CONNECTION=mysql
DB_HOST=localhost
DB_DATABASE=user_dbname
DB_USERNAME=user_dbuser
DB_PASSWORD=passwort
Symfony (.env):
DATABASE_URL="mysql://user_dbuser:passwort@localhost/user_dbname"
Cronjobs einrichten
Frameworks haben oft geplante Aufgaben.
Cronjob erstellen
- Gehen Sie zu DirectAdmin
- Öffnen Sie Advanced Features und dann Cron Jobs
- Klicken Sie auf Create Laravel-Scheduler:
* * * * * cd /home/user/domains/domain.de/myproject && php artisan schedule:run >> /dev/null 2>&1
Symfony-Konsole:
0 */6* * * cd /home/user/domains/domain.de/myproject && php bin/console app:my-command >> /dev/null 2>&1
Performance-Optimierung
Optimieren Sie DirectAdmin für Frameworks.
OPcache-Konfiguration
OPcache ist standardmäßig aktiv. Optimale Einstellungen über .htaccess oder php.ini:
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.validate_timestamps=0
Hinweis: validate_timestamps=0 erfordert manuelles Zurücksetzen des Caches bei Updates.
PHP-Memory-Limit
Für größere Anwendungen:
- Gehen Sie zu Domain Setup und dann PHP Settings
- Erhöhen Sie
memory_limitauf 256M oder 512M - Speichern Sie Oder über .htaccess:
php_value memory_limit 256M
Environment-Variablen
Sicherer Umgang mit Konfiguration.
.env-Schutz
Stellen Sie sicher, dass .env nicht öffentlich zugänglich ist:
- .env steht über public/ (standardmäßig sicher)
- Fügen Sie zu .htaccess hinzu:
<Files .env>
Order allow,deny
Deny from all
</Files>
Environment-Erkennung
Testen Sie, ob Produktion korrekt erkannt wird: Laravel:
php artisan env
Symfony:
php bin/console debug:container --env-vars
SSL/HTTPS konfigurieren
Alle Frameworks sollten HTTPS verwenden.
SSL aktivieren
- Gehen Sie zu DirectAdmin
- Öffnen Sie SSL Certificates
- Wählen Sie Let's Encrypt (kostenlos)
- Klicken Sie auf Save
HTTPS erzwingen
In der public/.htaccess Ihres Frameworks:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Deployment-Checkliste
Bei jedem Deployment:
- Composer-Installation mit Produktionsflags
- Environment-Variablen korrekt
- Cache geleert und aufgewärmt
- Migrationen durchgeführt
- Dateiberechtigungen überprüft
- SSL aktiv
Verwandte Artikel
- Laravel mit Composer über SSH
- Artisan- und Konsolenbefehle über SSH
- Laravel .env und Storage-Konfiguration
Brauchen Sie Hilfe?
Wir sind für Sie da! Stoßen Sie auf Probleme oder haben Sie Fragen? Unser Support-Team hilft Ihnen gerne persönlich weiter. Senden Sie uns eine Nachricht über das Ticketsystem - wir antworten in der Regel innerhalb weniger Stunden und denken gerne mit Ihnen mit.
0 van 0 vonden dit nuttig