Die Zusammenarbeit und der Datenaustausch stehen im Mittelpunkt der Februar-Ausgabe des IT-Administrator. Darin betrachten wir die Teamarbeit mit Office 365 und ... (mehr)

Hintergrundprozesse

Für verschiedene Arbeiten bringt Phabricator auch eine Reihe von Daemon-Programmen mit, die Sie auf der Commandline starten. Am besten automatisieren Sie das mit dem Init-System der Linux-Distribution. Manuell erledigen Sie das mit dem Befehl "phd", den Sie im bin-Verzeichnis finden. Eine Übersicht über die vorhandenen Daemon-Prozesse gibt:

$ ./bin/phd list

Mit »./bin/phd start« starten Sie alle vorhandenen Prozesse, während »./bin/phd launch« es ermöglicht, einzelne Daemons auszuwählen.

Damit der Chat und Benachrichtigungen funktionieren, müssen Sie noch den mitgelieferten Notification-Server konfigurieren und starten. Ein Beispiel für den Konfigurationsabschnitt, den Sie in "phabricator/conf/local/local.json" einfügen, zeigt Listing 2. Einer der beiden Host-Abschnitte ist für die Verbindung zum Client, der andere für die Verbindung zu Phabricator. Letzterer muss deshalb als Hostnamen "localhost" verwenden. In der Firewall müssen Sie für die Client-Verbindung den Port 22280 öffnen.

 Den Server selbst installieren Sie im Verzeichnis "support/aphlict/server/" mit »npm install ws« . Dazu muss Node.js installiert sein, das den NPM-Paketmanager mitbringt. Den Server starten Sie mit:

$ bin/aphlict start

Wenn Sie den Phabricator über SSL betreiben, was empfehlenswert ist, müssen Sie auch den Websocket-Server entsprechend konfigurieren. Wie das geht, steht in der Phabricator-Dokumentation.

Einstellmöglichkeiten gibt es in Phabricator eher zu viel als zu wenig. Jede Anwendung lässt sich im Detail einstellen; die Anwendung selbst ist ebenfalls in vielfältiger Weise konfigurierbar, etwa beim User-Management. Hier sind die Authentifizierung per OAuth über diverse Sites wie Github, Twitter oder Google ebenso möglich wie die Anbindung an LDAP.

Auch lässt sich Phabricator mit vielen Sites zu unterschiedlichen Zwecken verbinden, etwa für den Mailversand mit Mailgun oder SendGrid. Die Optionen hierfür sind zahlreich. Zudem bietet Phabricator eine API, die es Ihnen erlaubt, die Software mit eigenen Diensten zu verzahnen.

Listing 2: Notification Server



    "notification.servers": [
    {
       "type": "client",
       "host": "phabricator.supersecret.org",
       "port": 22280,
       "protocol": "http"
    },
    {
       "type": "admin",
       "host": "localhost",
       "port": 22281,
       "protocol": "http"
    }
]

Ungewohnte Updates

Phabricator veröffentlicht keine richtigen Releases, sondern folgt einem Rolling-Release-Modell, pflegt also laufend Änderungen in seinem Quellcode-Repository ein. Für Updates empfehlen die Entwickler, etwa im Wochenturnus den Quellcode aus diesem Repository zu aktualisieren. Wöchentlich wird auch ein Changelog veröffentlicht, das die Anwender lesen sollen, um über die neuesten Änderungen informiert zu werden.

Diese Methode ist im Vergleich zum gewohnten Release-Zyklus anderer Software ungewöhnlich und aufwendig. Vielleicht lassen sich die Updates etwa über Cronjobs automatisieren, aber dann müssen Sie sicherstellen, dass auch nach dem Update alles funktioniert. Einfach ohne Grund wöchentlich zu aktualisieren, wenn alles reibungslos funktioniert, birgt auf jeden Fall immer ein Risiko, Stichwort "Never change a running system."

In der Update-Dokumentation empfehlen die Phabricator-Entwickler den folgenden Ablauf: Webserver stoppen, Phabricator-Daemons stoppen, die drei Quellcode-Verzeichnisse aktualisieren, Datenbank-Update und dann alle Prozesse wieder starten. Wir haben in der Praxis auf den Neustart des Webservers verzichtet (schließlich laufen auf dem Server ja noch andere Websites) und alles hat problemlos funktioniert.

Ähnliche Artikel

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023