Anzeige
Anzeige
Software & Entwicklung

Ein Verwaltungssystem für ein Hosting, das mit Agenten und LDAP arbeitet: ISPMan: Verteiltes Hosting

Wer das Hosting von Diensten anbietet, muss sich nicht nur über den Aufbau der Infrastruktur und die Konfiguration der Daemons Gedanken machen. Gerade im täglichen Betrieb sind unterstützende Werkzeuge notwendig, um die Verwaltung der Systeme effizient abwickeln zu können. Wer mit seinem Gesamtsystem noch wachsen möchte, sollte ein Werkzeug wählen, das Skalierbarkeit bietet. ISPMan verfolgt genau diesen Ansatz, indem es das Verteilen der Dienste ermöglicht, dabei aber ein zentrales LDAP-Verzeichnis nutzt.

7 Min.
Artikel merken
Anzeige
Anzeige

Im Laufe der letzten Jahre haben sich einige Werkzeuge zur Verwaltung von Servern und Infrastrukturen entwickelt. Ein Klassiker ist Webmin, welches sich auf die webbasierte Verwaltung einzelner Server im laufenden Betrieb spezialisiert hat und die Nutzung der Shell nahezu ersetzen kann. Eine andere Klasse von Werkzeugen unterstützt die Erstinstallation von Basissystemen, beispielsweise Systemimager, oder die Verwaltung von virtuellen Maschinen. Unter einem Web-Hosting-Panel hingegen versteht man ein Werkzeug, das einen ISP beim Web-, Mail- und Datenbank-Hosting unterstützt. Dabei beschränkt sich das nicht nur auf Basistechnik, sondern auch Provisionierung und Customer-Relationship-Management können unterstützt werden.

Anzeige
Anzeige

ISPMan [1] ist im dotcom-Hype im Jahr 2000 entstanden. Damals gab es nur wenige Open-Source-Alternativen, mittlerweile haben sich jedoch zahlreiche Projekte dieser Art entwickelt, beispielsweise SysCP, VHCS, GNUHH, GPLHost, web-cp, ISP-Config und ispCP. Beispiele für proprietäre Tools sind Confixx, Plesk, Cpanel und H-sphere. Wer allerdings ein Basisprodukt sucht, das gut skaliert, flexibel anpassbar ist und standardisierte Anbindung an Drittsysteme bietet, sollte ISPMan unter die Lupe nehmen.

Architektur

ISPMan selbst ist in Perl geschrieben und besteht aus einem Satz Command Line Interface Tools, einer Web-Oberfläche und einem Agent. Die Komponenten kommunizieren über ein zentrales LDAP-Verzeichnis und speichern dort auch alle Konfigurationsdaten. Die ISPMan-Agenten fragen das LDAP-Verzeichnis ab und führen Konfigurationsänderungen auf den Hosts durch.

Anzeige
Anzeige

Durch diese Architektur lassen sich Mail- und Webserver auf nahezu beliebig viele Maschinen verteilen. Die Weboberfläche bietet beim Anlegen neuer E-Mail-Accounts und Virtualhosts die Möglichkeit, eine oder mehrere Hosts auszuwählen, wie es zum Beispiel beim Einsatz eines Loadbalancers erforderlich ist. Ein Agent bedient dabei Webserver, FTP-Server, Nameserver und Mailserver, wie zum Beispiel Apache, bind, pure-FTPd, Cyrus und Postfix. Als LDAP-Server kommt häufig OpenLDAP zum Einsatz, jedoch ist ISPMan nicht fest an diese Kombination von Daemons gebunden. Es gibt Erfolgsberichte mit dem Sun Java System Directory Server als LDAP-Verzeichnis, Dovecot als IMAP/POP-Server, Exim als MTA und PowerDNS als Nameserver. Das Geheimnis ist das LDAP-Verzeichnis, denn die meisten moderneren Daemons erlauben eine direkte Abfrage von Konfigurationsdaten aus dem LDAP. Die Notwendigkeit für den Agenten, Konfigurationsdateien auszuschließen, entfällt damit. Bei der Anpassung des Systems an neue Daemons beschränkt sich der Aufwand häufig darauf, die korrekten LDAP Queries zu entwickeln.

Anzeige
Anzeige

TYPO3 und ISPMan

Seit Version 3.5 unterstützt TYPO3 die Anbindung an LDAP, was die Möglichkeit bietet, sowohl Frontend- als auch Backend-User direkt aus dem LDAP zu authentifizieren. Insofern kann die Benutzerverwaltung über ISPMan erfolgen: Hierzu wird ein Mail-User angelegt und dessen Homeverzeichnis auf das TYPO3-User- oder Gruppenhome verlinkt. Das lässt sich über einen Hook in TYPO3 auch automatisieren. Die Unterstützung des Benutzers in TYPO3 ist dann vollständig, FTP-Upload und damit verbunden auch das Digital Asset Management wird vollständig unterstützt. Zurzeit gibt es Bestrebungen, ISPMan und TYPO3 weitergehend miteinander zu integrieren. Beispielsweise gibt es experimentellen Support für die automatische Einrichtung eines TYPO3-Basissystems inklusive des entsprechenden MySQL-Zugangs beim Anlegen eines neuen Virtualhosts. Ein Anbieter könnte so auch statt „virtueller Webhosts“ direkt „virtuelles TYPO3 Hosting“ anbieten und in ISPMan pro Client (Kunde) oder Reseller die maximale Anzahl von TYPO3 Hosts festlegen.

Die ISPMan-Weboberfläche in der Praxis

Zum Anlegen eines neuen Hostings wird über die Weboberfläche mit „Add domain“ zunächst die betroffene Domain eingetragen und diese einem Client und gegebenenfalls einem Reseller zugeordnet. Im nächsten Schritt des Vorgangs muss zwischen einem der vier Modi des DNS-Managements gewählt werden:

Anzeige
Anzeige

Primary domain: Die aus Erfahrung wohl komfortabelste Variante. Dadurch können alle DNS-Einträge, wie zum Beispiel MX, A oder sogar TXT, zentral über ISPMan administriert werden. Letztere wird beim Einsatz eines SPF [2] – Spamfilter-Verfahrens benötigt.

Replica domain: Dieser Modus wird benutzt, um zu einer bestehenden Domain eine zusätzliche Domain aufzuschalten, die sich als Nebendomain identisch zur Hauptdomain verhält. Internetauftritt und E-Mail-Adressen unterliegen in diesem Modus dem Eins-zu-Eins-Mapping.

No DNS Management: Wenn die Nameserver der Domain nicht durch ISPMan verwaltet werden können, wird ein Host in diesem Modus ohne jegliche DNS-Einträge erzeugt. Die gesamte Verwaltung der DNS-Einträge obliegt dem eigentlichen Zonenverwalter.

Anzeige
Anzeige

Secondary domain: Das ISPMan-System dient als Secondary DNS und transferiert seine Zonen von einem externen DNS. Auch hier müssen die DNS-Einträge extern verwaltet werden.

Im nächsten Schritt, beim Anlegen eines Hosts im Modus „Primary domain“, können verschiedene Parameter eingestellt werden:

  • Maximale Anzahl der E-Mail-Konten
  • Maximale Anzahl der Virtualhosts
  • Homedirectory
  • Maximaler Speicherplatz

Eine Besonderheit von ISPMan ist, dass alle Vorgänge (Processes) in eine Warteschlange (Queue) gelegt werden. Erst nach Klick auf die „Commit“-Schaltfläche werden die Processes tatsächlich ausgeführt. Unter Processes kann man in der Weboberfäche auch verfolgen, was die Agenten gerade auf den verschiedenen Servern erledigen und kann gegebenenfalls auch manuell eingreifen.

Anzeige
Anzeige

Zu jeder Domain lassen sich mehrere Virtualhosts, also „subdomains“, wie zum Beispiel www.domain.tld, blog.domain.tld oder shop.domain.tld, anlegen. Statt dem globalen FTP-Benutzer der Domain kann pro Virtualhost auch ein eigener verwendet werden. Weiterhin lässt sich der Virtualhost feingranular konfigurieren: ISPMan bietet vollen Support für die Apache-Direktiven im <VirtualHost> Context. Die gängigen werden hierbei über Auswahlboxen unterstützt. Beispielsweise ist die von TYPO3 benötigte Option „FollowSymLinks“ direkt anwählbar und im Configure->Apache-Menü auch als Standardwert vorkonfigurierbar. Erzeugt man einen Virtualhost, wird der dazugehörige DNS Record übrigens automatisch erzeugt, sofern die Domain im „Primary domain“-Modus betrieben wird. Darüber hinaus bietet das Virtualhost-Panel unter der Bezeichnung Access Control Lists auch die (menügeführte) Möglichkeit,
einen htaccess-Schutz pro URL zu verwalten und Domain-Aliasse zu verwalten, um interne und externe Redirects zu verwalten. Dahinter verbirgt sich letztendlich die ServerAlias Direktive des Apache.

Wer seinen Kunden gerne mehr bietet, der kann in ISPMan sowohl für den zentralen Domainaccount als auch für einzelne Web-/Mail-User Zugriff auf eine Shell, etwa per ssh oder scponly, bieten. Weiterhin bereitet ISPMan mit Hilfe von Awstats pro Virtualhost eine Statistik auf. Mit ein wenig Geschick lassen sich auch Auswertungen über Mail- und FTP-Traffic einbinden.

In 10 Minuten betriebsfertig

Um die Installation etwas angenehmer zu gestalten, wird ISPMan zurzeit debianisiert. Ziel ist es dabei, die Pakete kompatibel zu Debian Etch zu halten. Allerdings sind diese noch in Entwicklung und nicht im offiziellen Debian Repository enthalten. Um ISPMan als Paket zu erhalten, muss die apt-Quelle in das File /etc/apt/sources.list eingefügt werden.

Anzeige
Anzeige
apt-Quellen für ISPMan-Pakete
deb http://ispman.derjohn.de/binary/
deb-src http://ispman.derjohn.de/source/

Listing 1

Danach stehen diese ISPMan-Pakete zur Verfügung:

  • ispman-agent – ISPMan ISP management system agent
  • ispman-all-in-one-box – ISPMan metapackage – it sets dependencies on the "usual suspects"
  • ispman-amavis – ISPMan metapackage for spam-/virusfilter
  • ispman-doc – ISPMan documentation files
  • ispman-lib – ISPMan ISP management system libraries
  • ispman-web – ISPMan ISP management system control panel

Für eine ISPMan-Installation auf einem einzelnen Host, also einer „all-in-one-box“, geht man wie folgt vor:

Shell
# apt-get update ; apt-get install ispman-amavis ispman-all-in-one-box

Listing 2

Das Paket-Management-System setzt Abhängigkeiten auf die Kombination von Daemons, die hier als typisch aufgeführt wurden, und installiert diese. Das Aufsetzen eines ISPMan-Systems ist nicht schwierig, erst recht nicht, wenn das Debian-Paket zum Einsatz kommt. Ein Fallstrick könnte für den Neuling jedoch OpenLDAP mit seinen Access Control Lists sein. Wirklich schwierig kann auch die Grundkonfiguration der einzelnen Daemons werden. Allerdings wäre es unfair zu behaupten, dass ISPMan hierbei das Problem sei, denn auch ohne ISPMan ist die Konfiguration eines modernen Daemons mitunter nicht trivial. Um den Einsteiger bei der Erstkonfiguration zu unterstützen, befindet sich im Verzeichnis /usr/share/doc/ispman-doc/configure-services/ ein Set von Shellscripts, mit welchem sich die Konfigurationsdateien einmalig automatisch anpassen lassen. Allerdings funktioniert das nur mit „unbehandelten“ Konfigurationsdateien, wie sie Debian Etch nach einer frischen Installation liefert. Wenn eine solche vorliegt, sollte man binnen 10 Minuten soweit sein, die erste Domain anlegen zu können.

Anzeige
Anzeige

Support

Wer Hilfe zu ISPMan benötigt oder helfen möchte, kann sich entweder über die ISPMan-Mailing-Listen auf Sourceforge an die Community wenden oder via IRC auf #ispman im Freenode-Netz vorbeischauen. Auch der Wiki [3] wächst ständig.

Ausblick

ISPMan ist als Release Candidate in Version 1.3 zu haben. TYPO3, MySQL und PostgreSQL werden in diesem Release allerdings noch nicht unterstützt. Darüber hinaus ist ein neues Customerpanel [4] in Arbeit und es wird über die Unterstützung von Linux-VServer-Gästen diskutiert.

Mehr zu diesem Thema
Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

Anzeige
Anzeige
Kommentare

Community-Richtlinien

Bitte schalte deinen Adblocker für t3n.de aus!
Hallo und herzlich willkommen bei t3n!

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team von mehr als 75 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Schon jetzt und im Namen der gesamten t3n-Crew: vielen Dank für deine Unterstützung! 🙌

Deine t3n-Crew

Anleitung zur Deaktivierung
Artikel merken

Bitte melde dich an, um diesen Artikel in deiner persönlichen Merkliste auf t3n zu speichern.

Jetzt registrieren und merken

Du hast schon einen t3n-Account? Hier anmelden

oder
Auf Mastodon teilen

Gib die URL deiner Mastodon-Instanz ein, um den Artikel zu teilen.

Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Kommentar abgeben

Melde dich an, um Kommentare schreiben und mit anderen Leser:innen und unseren Autor:innen diskutieren zu können.

Anmelden und kommentieren

Du hast noch keinen t3n-Account? Hier registrieren

Anzeige
Anzeige