bg_image
header

Deployer

Deployer ist ein Open-Source-Deployment-Tool für PHP-Projekte – speziell entwickelt, um Anwendungen wie Laravel, Symfony, Magento, WordPress oder auch generische PHP-Apps automatisiert, wiederholbar und sicher auf Server zu bringen.


🚀 Was macht Deployer besonders?

  • Es ist ein CLI-Tool, geschrieben in PHP.

  • Du definierst dein Deployment in einer deploy.php-Datei mit klaren Aufgaben (Tasks).

  • Es setzt auf das Prinzip Zero Downtime Deployment, z. B. durch Symlinks.

  • Unterstützt mehrstufige Umgebungen (z. B. staging, production).


🛠️ Typischer Workflow mit Deployer

Du installierst Deployer über Composer:

composer require deployer/deployer --dev

Du generierst ein Template:

vendor/bin/dep init

Du konfigurierst deploy.php, z. B. für Laravel:

host('mein-server.com')
    ->set('deploy_path', '/var/www/meinprojekt')
    ->set('branch', 'main');

task('deploy', [
    'deploy:prepare',
    'deploy:vendors',
    'artisan:migrate',
    'deploy:publish',
]);

Du startest das Deployment:

vendor/bin/dep deploy production

🔁 Was passiert im Hintergrund?

Deployer:

  • Verbindet sich via SSH mit dem Zielserver

  • Klont das Git-Repository in ein neues Release-Verzeichnis

  • Installiert Composer-Abhängigkeiten

  • Führt Tasks aus (z. B. php artisan migrate)

  • Verlinkt das neue Release mit dem Live-Verzeichnis (current)

  • Löscht alte Releases nach Bedarf


📦 Vorteile von Deployer

Vorteil Beschreibung
🚀 Schnell & Skriptbar Alles per CLI steuerbar
🔁 Rollback-Funktion Bei Fehlern einfach zum letzten funktionierenden Release zurück
⚙️ Flexibel erweiterbar Eigene Tasks, Hooks und Bedingungen
🧩 Viele Presets Für Laravel, Symfony, WordPress etc.
🔐 Sicher durch SSH Keine FTP-Abhängigkeit

Secure Shell - SSH

SSH (Secure Shell) ist ein Netzwerkprotokoll, das eine verschlüsselte Verbindung zwischen zwei Computern herstellt. Es wird hauptsächlich verwendet, um sich sicher auf entfernte Systeme (z. B. Server) einzuloggen und Befehle auszuführen.

Wichtige Eigenschaften von SSH

  • Sicherheit: Daten werden verschlüsselt übertragen, was vor Abhören und Manipulation schützt.
  • Authentifizierung: Zugriff kann über Passwörter oder SSH-Schlüssel erfolgen.
  • Tunnel-Funktionalität: Kann zur sicheren Weiterleitung von Datenverkehr genutzt werden.
  • Dateitransfer: Ermöglicht mit SCP oder SFTP das Übertragen von Dateien zwischen Rechnern.

SSH-Befehle (Grundlagen)

  • Verbindung herstellen:
ssh benutzername@server-ip
  • Dateiübertragung mit SCP:
scp datei.txt benutzername@server-ip:/zielverzeichnis/
  • Öffentlichen SSH-Schlüssel hinterlegen (für passwortlose Anmeldung):
ssh-copy-id benutzername@server-ip

SSH wird oft von Entwicklern und Administratoren genutzt, um Server zu verwalten oder sichere Verbindungen für andere Anwendungen aufzubauen.


Uniform Resource Identifier - URI

Ein URI (Uniform Resource Identifier) ist eine Zeichenfolge, die zur eindeutigen Identifizierung einer Ressource im Internet oder einem anderen Netzwerk verwendet wird. Ein URI dient dazu, eine bestimmte Ressource zu lokalisieren oder zu identifizieren, unabhängig davon, ob es sich um eine Webseite, eine Datei, ein Bild, ein Video oder eine andere Art von Ressource handelt.

Ein URI kann in verschiedene Teile unterteilt sein:

  1. URL (Uniform Resource Locator): Eine spezielle Art von URI, die verwendet wird, um die Adresse einer Ressource und den Mechanismus zu identifizieren, mit dem auf sie zugegriffen werden kann. URLs umfassen normalerweise Protokoll (wie HTTP oder FTP), Hostname, Port (optional), Pfad und Abfragezeichenfolge.

  2. URN (Uniform Resource Name): Ein URN ist ein anderer Typ von URI, der verwendet wird, um eine Ressource durch ihren Namen dauerhaft zu identifizieren, unabhängig von ihrem aktuellen Speicherort oder wie sie abgerufen wird. Ein bekanntes Beispiel für URN ist das ISBN-System für Bücher.

URI ist ein allgemeinerer Begriff, der sowohl URLs als auch URNs umfasst. Es ist ein wichtiger Bestandteil des Internets und wird in vielen Anwendungen verwendet, um auf Ressourcen zuzugreifen und sie zu identifizieren.

 


Transport Layer Security - TLS

TLS steht für "Transport Layer Security" und ist ein Protokoll zur Sicherung der Kommunikation über ein Computernetzwerk, insbesondere über das Internet. TLS ist der Nachfolger des älteren SSL-Protokolls (Secure Sockets Layer) und wird häufig für die Verschlüsselung von Daten verwendet, um die Vertraulichkeit und Integrität der übertragenen Informationen zu gewährleisten.

Die Hauptfunktionen von TLS umfassen:

  1. Verschlüsselung: TLS verschlüsselt die Datenübertragung zwischen einem Client und einem Server, wodurch Dritte Schwierigkeiten haben, die übermittelten Informationen zu verstehen oder zu manipulieren.

  2. Authentifizierung: TLS ermöglicht die Authentifizierung der Kommunikationspartner, um sicherzustellen, dass der Client mit dem beabsichtigten Server verbunden ist. Dies wird oft durch den Einsatz von digitalen Zertifikaten erreicht.

  3. Integritätsschutz: TLS stellt sicher, dass die übertragenen Daten während der Übertragung nicht unbemerkt verändert wurden. Durch die Anwendung von kryptografischen Hash-Funktionen wird die Integrität der Daten sichergestellt.

  4. Unterstützung verschiedener Protokollversionen: TLS existiert in verschiedenen Versionen (TLS 1.0, TLS 1.1, TLS 1.2, TLS 1.3), wobei neuere Versionen oft Verbesserungen in Bezug auf Sicherheit und Leistung bringen.

TLS wird in einer Vielzahl von Anwendungen eingesetzt, darunter Webbrowser, E-Mail-Clients, Instant-Messaging-Anwendungen und viele andere, um eine sichere Kommunikation über das Internet zu gewährleisten. Wenn Sie beispielsweise eine sichere Verbindung zu einer Website herstellen (erkennbar an "https://" statt "http://"), wird TLS höchstwahrscheinlich verwendet, um die Verbindung zu verschlüsseln.

 
 

 


File Transfer Protocol Secure - FTPS

FTPS steht für "File Transfer Protocol Secure" und ist eine erweiterte Version des herkömmlichen FTP (File Transfer Protocol), die Sicherheitsfunktionen durch die Integration von Transport Layer Security (TLS) oder Secure Sockets Layer (SSL) bietet. FTPS wurde entwickelt, um die Sicherheitslücken von FTP zu schließen, insbesondere im Hinblick auf die Übertragung von Daten über unsichere Netzwerke wie das Internet.

Hier sind die Hauptmerkmale von FTPS:

  1. Verschlüsselung: FTPS verschlüsselt die Übertragung von Daten zwischen dem Client und dem Server, um die Vertraulichkeit zu gewährleisten. Dies wird durch die Verwendung von TLS oder SSL erreicht.

  2. Authentifizierung: FTPS bietet verschiedene Authentifizierungsmethoden, darunter Benutzername/Passwort, Zertifikate und Schlüssel. Dies verbessert die Sicherheit beim Verbindungsaufbau.

  3. Port: Ähnlich wie bei FTP kann FTPS über die Ports 21 (Klartext-Kontrollverbindung) und 20 (Klartext-Datenverbindung) oder alternative Ports für verschlüsselte Verbindungen arbeiten.

  4. Modi: FTPS kann im expliziten oder impliziten Modus betrieben werden. Im expliziten Modus wird die Verschlüsselung explizit vom Client angefordert, während sie im impliziten Modus von Anfang an vorgesehen ist.

FTPS ist eine beliebte Wahl für Organisationen, die die Vorteile von FTP nutzen möchten, aber gleichzeitig sicherstellen wollen, dass die Übertragung sensibler Daten geschützt ist. Es bietet eine sicherere Alternative zu unverschlüsselten FTP-Verbindungen und wird oft in sicherheitskritischen Umgebungen eingesetzt.

 


Secure File Transfer Protocol - SFTP

SFTP steht für "Secure File Transfer Protocol" (Sicherer Dateiübertragungsprotokoll). Es handelt sich um ein Netzwerkprotokoll, das für die sichere Übertragung von Dateien zwischen einem Client und einem Server verwendet wird. Im Gegensatz zu herkömmlichem FTP (File Transfer Protocol) verschlüsselt SFTP den gesamten Datenverkehr, was die Sicherheit erhöht.

Hier sind einige wichtige Merkmale von SFTP:

  1. Verschlüsselung: SFTP verschlüsselt sowohl die Benutzeranmeldedaten als auch die übertragenen Daten, was sie vor unbefugtem Zugriff schützt.

  2. Authentifizierung: SFTP verwendet verschiedene Authentifizierungsmethoden, darunter Benutzername/Passwort, Public-Key-Authentifizierung und Zwei-Faktor-Authentifizierung.

  3. Port: Standardmäßig verwendet SFTP den Port 22 für die Kommunikation. Dieser Port kann jedoch in den Konfigurationen angepasst werden.

  4. Integrität: SFTP überprüft die Integrität der übertragenen Daten und stellt sicher, dass sie während der Übertragung nicht manipuliert werden.

  5. Dateiverwaltung: SFTP ermöglicht das Hoch- und Herunterladen von Dateien sowie das Verwalten von Dateien und Verzeichnissen auf dem Server.

SFTP wird oft von Unternehmen und Organisationen verwendet, um sensible Informationen sicher zwischen verschiedenen Standorten oder Benutzern zu übertragen. Es ist besonders nützlich, wenn eine sichere Übertragung von Dateien über unsichere Netzwerke, wie das Internet, erforderlich ist.

 


File Transfer Protocol - FTP

FTP steht für File Transfer Protocol (Dateiübertragungsprotokoll). Es ist ein Standardprotokoll, das für die Übertragung von Dateien über ein Netzwerk, insbesondere über das Internet, verwendet wird. FTP ermöglicht es Benutzern, Dateien von einem Hostcomputer zu einem anderen zu übertragen.

Das grundlegende FTP-System besteht aus einem Client und einem Server. Der FTP-Client ist die Software, die auf dem Computer des Benutzers läuft und die Dateiübertragungen initiiert, während der FTP-Server die Software ist, die auf dem Hostcomputer läuft und die Dateien bereitstellt oder empfängt.

FTP unterstützt verschiedene Betriebsmodi, darunter den aktiven Modus und den passiven Modus. Im aktiven Modus initiiert der Client eine Verbindung zum Server, während der Server im passiven Modus eine Verbindung zum Client herstellt. Der passive Modus wird oft verwendet, wenn der Client sich hinter einer Firewall befindet.

Benutzer können sich mit FTP-Servern authentifizieren, um Lese- oder Schreibzugriff auf bestimmte Verzeichnisse zu erhalten. Es gibt auch sichere Varianten wie FTPS (FTP Secure) und SFTP (Secure File Transfer Protocol), die Verschlüsselungstechnologien verwenden, um die Sicherheit der Übertragungen zu gewährleisten.

FTP wird für verschiedene Zwecke verwendet, darunter das Hochladen von Dateien auf einen Webserver, das Herunterladen von Softwareaktualisierungen und das allgemeine Austauschen von Dateien über das Internet.

 


Simple Mail Transfer Protocol - SMPT

SMTP steht für Simple Mail Transfer Protocol. Es ist ein Protokoll, das für die Übertragung von E-Mails über das Internet verwendet wird. SMTP ermöglicht den Transfer von E-Mails von einem Client (zum Beispiel einem E-Mail-Client auf Ihrem Computer oder Smartphone) zu einem E-Mail-Server und zwischen E-Mail-Servern.

Grundsätzlich funktioniert SMTP, indem der Absender eine E-Mail an den SMTP-Server sendet. Der SMTP-Server ist für die Weiterleitung der E-Mail an den Empfänger zuständig. Dabei spielt der SMTP-Server eine entscheidende Rolle im Routing und in der Übertragung der E-Mail von einem Server zum anderen.

Es ist wichtig zu beachten, dass SMTP im Allgemeinen für den Versand von E-Mails verantwortlich ist, jedoch nicht für den Empfang. Der Empfang von E-Mails wird üblicherweise durch das Post Office Protocol (POP) oder das Internet Message Access Protocol (IMAP) geregelt.

SMTP wird in Kombination mit anderen Protokollen wie MIME (Multipurpose Internet Mail Extensions) verwendet, um auch den Transfer von Anhängen und formatierten Nachrichten zu ermöglichen. Es ist ein essenzieller Bestandteil des E-Mail-Systems und spielt eine wichtige Rolle beim weltweiten Austausch von elektronischer Post.

 


Hypertext Transfer Protocol - HTTP

HTTP steht für Hypertext Transfer Protocol (Hypertext-Übertragungsprotokoll). Es ist ein Kommunikationsprotokoll, das für den Austausch von Informationen über das World Wide Web verwendet wird. HTTP ermöglicht die Übertragung von Text, Grafiken, Tönen, Videos und anderen Dateien zwischen Webbrowsern und Webservern.

Grundlegend funktioniert HTTP, indem der Webbrowser eine Anfrage an einen Webserver sendet, und der Server antwortet dann mit den angeforderten Daten. Die Anfrage des Browsers wird normalerweise in Form einer URL (Uniform Resource Locator) angegeben, und der Server antwortet mit dem angeforderten Inhalt oder einem Fehler, wenn die Anfrage nicht erfolgreich ist.

HTTP ist ein zustandsloses Protokoll, was bedeutet, dass jede Anfrage unabhängig von vorherigen Anfragen betrachtet wird. Das heißt, der Server speichert keine Informationen über vorherige Anfragen vom gleichen Client. Um dennoch Zustandsinformationen zwischen Anfragen zu speichern, können Cookies verwendet werden.

Es ist wichtig zu beachten, dass es auch eine sicherere Version namens HTTPS (Hypertext Transfer Protocol Secure) gibt, die eine verschlüsselte Kommunikation zwischen dem Webbrowser und dem Webserver ermöglicht. HTTPS schützt die Integrität und Vertraulichkeit der übertragenen Daten und wird für sichere Transaktionen im Internet, wie Online-Zahlungen oder das Übermitteln sensibler Informationen, empfohlen.