Composer ist der Standard-Paketmanager für PHP-Projekte und erleichtert die Verwaltung von Abhängigkeiten, Bibliotheken und Frameworks. Auf Linux-Systemen ermöglicht Composer eine zentrale Installation, projektbasierte Konfigurationen und einfache Updates von PHP-Paketen. In diesem Leitfaden lernen Einsteiger, IT-Studierende und Junior Network Engineers, wie Composer installiert, eingerichtet und effizient für PHP-Projekte genutzt wird.
Voraussetzungen
- Linux-Server (Ubuntu/Debian, CentOS/RHEL)
- PHP ≥ 7.2 mit CLI-Unterstützung
- Internetverbindung für Paketinstallation
- Sudo-Rechte oder Root-Zugriff
Composer global installieren
Die globale Installation ermöglicht die Nutzung von Composer systemweit.
# Update der Paketquellen
sudo apt update # Debian/Ubuntu
sudo yum update # CentOS/RHEL
# PHP CLI prüfen
php -v
# Composer herunterladen und prüfen
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '$(curl -sS https://composer.github.io/installer.sig)') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
# Composer installieren
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
# Version prüfen
composer --version
Projektbasiertes Setup
Composer kann pro Projekt installiert werden, um unterschiedliche Abhängigkeiten isoliert zu halten.
cd /var/www/meinprojekt
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
mv composer.phar composer
./composer --version
Composer-Projekt initialisieren
Mit composer init wird eine composer.json Datei erzeugt, die die Abhängigkeiten definiert.
cd /var/www/meinprojekt
composer init
# Name, Version, Abhängigkeiten, Lizenz etc. werden abgefragt
Abhängigkeiten installieren
Neue Pakete können über composer require hinzugefügt werden.
composer require monolog/monolog
# Installiert Monolog und aktualisiert composer.json und composer.lock
Composer Update und Autoload
Abhängigkeiten regelmäßig aktualisieren und Autoload-Dateien generieren.
composer update
composer dump-autoload -o
Composer und PHP-FPM Integration
Bei Webservern mit PHP-FPM sollten Projektrechte korrekt gesetzt werden.
sudo chown -R www-data:www-data /var/www/meinprojekt
sudo find /var/www/meinprojekt -type d -exec chmod 755 {} ;
sudo find /var/www/meinprojekt -type f -exec chmod 644 {} ;
Composer Scripts und Workflows
Composer erlaubt das Definieren von Skripten für automatisierte Aufgaben wie Tests oder Deployment.
{
"scripts": {
"post-install-cmd": [
"php artisan migrate",
"php artisan cache:clear"
]
}
}
Security-Einstellungen
Composer sollte unter sicheren User-Rechten laufen, keine globalen Root-Pakete installieren und SSL für Downloads erzwingen.
composer config --global secure-http true
composer global config --auth github-oauth.github.com
Netzwerk und Subnetze
In Multi-Server-Setups sollten IP-Restriktionen und Subnetze sauber definiert werden, um Composer-Downloads und Webzugriffe abzusichern.
IPv4 Subnetz Beispiel
<math>
Server-IP = 192.168.200.10/24
Subnetzadresse = 192.168.200.10 & 255.255.255.0 = 192.168.200.0
Broadcastadresse = 192.168.200.0 | ~255.255.255.0 = 192.168.200.255
</math>
IPv6 Subnetz Beispiel
<math>
Server-IP = 2001:db8:abcd:200::10/64
Subnetzadresse = 2001:db8:abcd:200:: & ffff:ffff:ffff:ffff:: = 2001:db8:abcd:200::0
Broadcastadresse = 2001:db8:abcd:200:ffff:ffff:ffff:ffff
</math>
Best Practices
- Composer global installieren, aber projektbasiert nutzen
- PHP-FPM Pool für jede Website nutzen und Rechte korrekt setzen
- composer.lock im Versionskontrollsystem führen
- Nur sichere Quellen und SSL-Downloads verwenden
- Regelmäßige Updates der Abhängigkeiten
- Automatisierte Skripte für Tests und Deployment definieren
- Autoload optimieren mit
composer dump-autoload -o - Backups der
composer.jsonundcomposer.lockDateien - Multi-Server Setups mit Subnetzplanung und Firewall absichern
- Monitoring für fehlerhafte Composer-Installationen einrichten
Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3
Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.
Meine Leistungen umfassen:
-
Professionelle Konfiguration von Routern und Switches
-
Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen
-
Erstellung von Topologien und Simulationen in Cisco Packet Tracer
-
Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG
-
Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible
-
Erstellung von Skripten für wiederkehrende Netzwerkaufgaben
-
Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege
-
Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting
Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

