rp

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
rp [2011/08/26 13:59]
flacco
rp [2019/06/19 08:03] (aktuell)
flacco [Überblick]
Zeile 1: Zeile 1:
 ====== rootpack@invis-server-org ====== ====== rootpack@invis-server-org ======
-Das "//​**rootpack**//"​ ist eine kleine Sammlung Shell-Scripts zur Verwaltung eines Rootservers,​ hat also mit dem invis Server an sich nichts zu tun. Entstanden ist es als Nebenprodukt der Arbeit am Buch "​Root-Server -- Einrichten und Absichern"​ welches ​voraussichtlich noch im September 2010 im [[https://​www.opensourcepress.de/​index.php?​26&​backPID=178&​tt_products=161|Open-Source-Press Verlag]] erscheint. Zum //​**rootpack**//​ gibt es unter [[http://​rootpack.invis-server.org|http://​rootpack.invis-server.org]] eine eigene Internet-Seite,​ über die es auch kostenfrei heruntergeladen werden kann. Das //​**rootpack**//​ steht wie alle anderen invis-Projekt-Komponenten unter GPLv3.+Das "//​**rootpack**//"​ ist eine kleine Sammlung Shell-Scripts ​und Konfigurationsvorlagen ​zur Verwaltung eines Rootservers,​ hat also mit dem invis Server an sich nichts zu tun. Entstanden ist es als Nebenprodukt der Arbeit am Buch "​Root-Server -- Einrichten und Absichern"​ welches im September 2010 im Open-Source-Press Verlag ​erschienen ist. Das //​**rootpack**//​ steht wie alle anderen invis-Projekt-Komponenten unter GPLv3.
  
-===== Leistungsumfang ​und zugehörige Scripts =====+2019 wurde ein neuer Anlauf genommen das rootpack wiederzubeleben ​und zu modernisieren. Beim ursprünglichen Rootpack, wie auch im obengenannten Buch wurde davon ausgegangen,​ dass ein Server alle Funktionen des Web- und Mailhostings evtl. inkl. DNS-Diensten übernimmt. In der Realität kann dass allerdings auch anders aussehen. Der neue Ansatz des rootpacks ermöglicht einen Split der Komponenten auf unterschiedliche Server. Getrennt wird nach:
  
-**Stand: August 2011**+  ​* **Webhosting** 
 +  * **Mailhosting** 
 +  * **DNS**
  
-  * **Aufgabe:** Kunden anlegen ​Script: //​**mkcustomer**//​ +Um diese Separation zu unterstreichen wird das rootpack inzwischen in (Stand Juni 2019experimentellen) RPM-Paketen zur Verfügung gestellt, die getrennt auf Einzelservern je nach Funktion installiert werden können.
-  * **Aufgabe:​** DNS-Zone anlegen - Script: //​**mkzone**//​ +
-  * **Aufgabe:​** VHost anlegen - Script: //​**mkvhost**//​ +
-  * **Aufgabe:​** Mailkonto oMailalias anlegen - Script: //​**mkmailaccount**//​ +
-  * **Aufgabe:​** Mailkonto o. Mailalias für virtuelle Dovecot-Konten anlegen - Script: //​**mkvmailaccount**//​ +
-  * **Aufgabe:​** Datenbank anlegen - Script: //​**mkdatabase**//​ +
-  * **Aufgabe:​** Spamabwehr kontrollieren - Script: //​**spamstat**//​ +
-  * **Aufgabe:​** Datensicherung - Script: //​**allbackup**//​ +
-  * **Aufgabe:​** Firewall - Script: //​**rootwall**//​ +
-  * **Aufgabe:​** Schlüssel & Zertifikate erstellen - Script: //​**buildkeys**//​ +
-  * **Aufgabe:​** Schlüssel DDNS-Authorisierung erstellen - Script: //​**mkddnskeys**//​+
  
-===== Funktionsweise und Anwendung =====+Traditionell konzentrieren wir uns dabei auf openSUSE Leap als Linux-Distribution. Wer etwas anderes möchte, kann sich die Quellen des rootpacks auch von Github herunterladen:​ **[[https://​github.com/​invisserver/​invis-rootpack|rootpack auf github]]**
  
-Details folgen..... 
  
-===== openSUSE Maintenance Probleme ===== 
  
-Oft wird openSUSE als untauglich für produktive Server-Installationen dargestellt,​ dies meist aufgrund von Vorurteilen ​und vor allem der leider inzwischen auf 18 Monate begrenzten Maintenance. Mit den Vorurteilen muss sich eigentlich niemand auseinandersetzen,​ es sind schlicht Vorurteile. Technisch hat openSUSE allemal das Zeug zum Server-Betriebssystem und braucht keinesfalls den Vergleich mit anderen freien Distributionen zu scheuen. Traurig und ein echtes Problem ist der kurze Maintenance-Zeitraum,​ der sich dennoch nicht wesentlich von //fedora// oder //Ubuntu// unterscheidet. Allerdings können die Anhänger Red Hat- oder Debian-ähnlicher Distributionen auf Centos, Ubuntu LTS oder Debian selbst ausweichen. Etwas Vergleichbares gibt es für Freunde der SUSE-Distributionen nicht, auch wenn dies Gegenstand vieler Diskussionen war und ist.+===== RPM-Pakete ​und Repositories =====
  
-Trotzdem kann eine openSUSE-Server-Installation auch nach Ablauf der Maintenance weiter betrieben werden. Alternativ ist auch das Upgrade auf die Folgeversion (meist) möglich. Hilfe zur Selbsthilfe heißt hier das Stichwort. Technische Unterstützung kommt in Form des "​Open ​Build Service" (OBS) daher. Der OBS erlaubt es Software-Pakete auch gegen ausgelaufene Versionen bauen. Die Strategie umfasst zwei Schritte.+Zur Bereitstellung der RPM-Pakete nutzen wir genau wie bei den invis-Server-Pakten den openSUSE-Build-Service. ​Folgende Repositories bieten wir derzeit an:
  
-==== Umstellung der Basis-Repositories auf "​Discontinued"​ ====+  ​**[[https://​build.opensuse.org/​project/​show/​spins:​invis:​rootpack:​15:​unstable|spins:​invis:​rootpack:​15:​unstable]]** - Pakete in Entwicklung zum Testen 
 +  - **[[https://​build.opensuse.org/​project/​show/​spins:​invis:​rootpack:​15:​stable|spins:​invis:​rootpack:​15:​stable]]** - Pakete für den Produktiveinsatz
  
-Grundvoraussetzung für den weiteren Betrieb einer Installation über den Maintenance Zeitraum hinaus ist das Umstellen ​der Software-Repositories. Kurze Zeit nach Ablauf der Maintenance werden alle Repositories einer Version vom Download-Server ​entfernt und dabei die Standard-Repos "​oss",​ "​non-oss"​ und "​update"​ in den Discontinued-Zweig verschoben. Diese verschobenen Repositories stehen weiterhin über zahlreiche Spiegelserver zur Verfügung. Änderungen werden daran allerdings nicht mehr vorgenommen. D.h. in das Update-Repo fließen keine neuen Updates mehr ein.+Um eines der Repositories ​auf einem Server ​einzurichten gehen Sie wie folgt vor:
  
-Der wohl bekannteste Spiegelserver für openSUSE dürfte wohl "ftp5.gwdg.de"​ sein. Hier die Einstellungen für YaST bezogen auf openSUSE 11.2:+**unstable - Leap 15.1**
  
-**Protokoll:** ftp+<​code>​ 
 +rootserver:~ # zypper ar https://​download.opensuse.org/​repositories/​spins:/​invis:/​rootpack:/​15:/​unstable/​openSUSE_Leap_15.1/​spins:​invis:​rootpack:​15:​unstable.repo 
 +</​code>​
  
-**Server:** ftp5.gwdg.de+**stable - Leap 15.1**
  
-**Pfad Standard-Repos:** /pub/opensuse/discontinued/distribution/**11.2**/repo/**oss** (bzw.: **non-oss**)+<​code>​ 
 +rootserver:​~ # zypper ar https://download.opensuse.org/repositories/spins:/invis:/rootpack:/​15:/​stable/openSUSE_Leap_15.1/spins:invis:​rootpack:​15:​stable.repo 
 +</​code>​
  
-**Pfad Update-Repo:** /​pub/​opensuse/​discontinued/​update/​**11.2**/​+Frischen Sie anschließend Ihr lokale Software-Verzeichnis auf:
  
-Die Namesgebung der Repos kann nach eigenem Gefallen erfolgen.+<​code>​ 
 +rootserver:​~ # zypper ref 
 +</​code>​
  
-Legen Sie diese Repositories ​neu an und löschen ​Sie alle vorher vorhanden.+Dabei werden ​Sie einmalig gefragt, ob Sie dem Zertifikat des Repositories ​vertrauen. Bestätigen ​Sie dies mit "​a"​ für "​always"​ oder "​i"​ für "​immer",​ je nach Lokalisierung Ihres Systems.
  
-Ist dies fehlerfrei geschehensollten mittels:+Unterstützt werden jeweils die aktuellenunter Maintenance stehenden openSUSE Leap Versionen. (Stand Juni 2019 sind dies 15.0 und 15.1.)
  
-<​code>​ +Zum rootpack gehören folgende Pakete:
-linux:~ # zypper refresh +
-linux:~ # zypper up +
-</​code>​+
  
-letztmalig Updates eingespielt ​werden.+  * **invis-rp-common** - Von allen anderen rootpack-Paketen benötigten Grundfunktionen. Muss nicht einzeln installiert ​werden, da es über Abhängigkeiten automatisch von anderen Pakten mit installiert wird. 
 +  * **invis-rp-dnsserver** - Tools für den Betrieb eines DNS-Servers 
 +  * **invis-rp-mailserver** - Tools für den Betrieb eines Mailservers basierend auf Dovecot-IMAP und Postfix-SMTP. 
 +  * **invis-rp-webserver** - Tools für den Betrieb einer LAMP Umgebung.
  
-==== Rootserver-Essentials Repository ==== 
  
-Das hauptsächliche Problem neben fehlender Updates nach Ablauf der Maintenance ist die fehlende Möglichkeit Software nachzuinstallieren,​ die sich nicht in den Standard-Repositories befindet. So z.B. das beliebte "​phpMyAdmin"​ oder auch "​Roundcubemail"​.+===== Leistungsumfang und zugehörige Scripts =====
  
-Um dies weiterhin zu ermöglichen und derartige Software auch auf aktuellem ​Stand zu halten lässt sich im OBS ein eigenes Projekt erstellen, in dem dann die benötigte Software gegen die ausgelaufene Version gebaut wird. Da dies nicht unbedingt einfach ist und es keinen Sinn macht allzuviele Projekte mit überschneidenden Inhalten im OBS anzulegen, habe ich die Arbeit einfach mal übernommen. Enstanden ist dabei eine Art "​Rootserver-Essentials-Repository"​ in dem wichtige für Root/​Webserver relevante Software in aktueller Version für ausgelaufene Versionen gebaut wird.+**Stand: Juni 2019**
  
-Es ist dennoch Vorsicht gebotenDabei handelt es sich nicht um ein Update-Repository ​für alte openSUSE Versionen sondern eher um einen "​Rolling-Distribution"​ Ansatz. D.h. es werden immer aktuelle Versionen der enthaltenen Software erzeugt. Nochmal der Unterschied:​+Durch den Umbau des rootpacks wird sich an der nachfolgenden Aufstellung sicherlich noch einiges ändernDa das rootpack mehr oder weniger ​ein Hobby-Projekt ist, wird hier allerdings keine zeitliche Prognose ​für irgendwelche Fertigstellungstermine gegeben. ;-)
  
-  ​* **Update:** Patches werden eingespielt die Version einer Software bleibt dabei gleich. +**invis-rp-common**
-  * **Upgrade:​** Es werden keine Patches eingespielt,​ sondern neue Programmversionen.+
  
-Neue Programmversionen enthalten in der Regel zwar die notwendigen Patches, können aber Unterschiede in der Konfiguration zu ihren Vorgängern oder andere Software-Abhängigkeiten aufweisen. D.h. das Rolling-Distribution-Prinzip beinhaltet die Gefahr, dass nach einem Upgrade Fehler im System auftreten, beispielsweise nicht startende Dienste.+  * **Aufgabe:​** Kunden anlegen ​Script: **''​mkcustomer''​** 
 +  * **Aufgabe:​** Datenbank anlegen ​Script: **''​mkdatabase''​** 
 +  * **Aufgabe:​** Datensicherung ​Script: **''​allbackup''​** 
 +  * **Aufgabe:​** Setup - Script: **''​rpsetup''​** 
 +  * **Aufgabe:​** Zufälligen hohen Port auswürfeln:​ **''​freeports''​**
  
-Um dieses Risiko begrenzt zu halten beschränkt sich das Software-Angebot im Repository lediglich auf für einen Web- und Mailserver wesentliche Software. Auf Wunsch nehme ich allerdings gerne weitere Pakete auf. **Mithilfe bei der Pflege des Repositories ist natürlich auch erwünscht.**+**invis-rp-dnsserver**
  
-Zur Minimierung des Risikos dieser Herangehensweise,​ empfiehlt es sich eine lokale Installation (etwa als VM) vorzuhalten,​ die dem eigenen Server entspricht und Upgrades dort zu testen, bevor sie auf der Produktivinstallation eingespielt werden.+  * **Aufgabe:​** DNS-Zone anlegen - Script: **''​mkzone''​** 
 +  * **Aufgabe:​** Schlüssel DDNS-Authorisierung erstellen - Script: **''​mkddnskeys''​** 
 +  * **Aufgabe:​** Pflege einer Whitelist für DNS-Abfragen - Script: **''​gendnswhitelist''​**
  
-Hier noch die Repo-Datei:+**invis-rp-mailserver**
  
-<​code>​ +  * **Aufgabe:​** Mailkonto o. Mailalias anlegen - Script: **''​mkmailaccount''​** 
-[rootserver_essentials] +  * **Aufgabe:​** Mailkonto oMailalias für virtuelle Dovecot-Konten anlegen - Script: **''​mkvmailaccount''​** 
-name=Rootserver Essentials for discontinued openSUSE Versions (DISCONTINUED_openSUSE_11.2_standard) +  * **Aufgabe:​** Spamabwehr kontrollieren ​Script: **''​spamstat''​** 
-type=rpm-md +  * **Aufgabe:** Quota-Warnmails generieren - Script: **''​quota-warning.sh''​** 
-baseurl=http://download.opensuse.org/​repositories/​home:/flacco:/​discontinued/​DISCONTINUED_openSUSE_11.2_standard/​ + 
-gpgcheck=1 +**invis-rp-webserver** 
-gpgkey=http://download.opensuse.org/repositories/​home:/​flacco:/​discontinued/​DISCONTINUED_openSUSE_11.2_standard/​repodata/​repomd.xml.key + 
-enabled=1 +  * **Aufgabe:** VHost anlegen - Script**''​mkvhost''​** 
-</​code>​+  * **Aufgabe:​** Webalizer triggern - Script: **''​runwebalizer''​** 
 + 
 +===== Funktionsweise und Anwendung ===== 
 + 
 +Das rootpack ist auf eine möglichst simple Server-Verwaltung ausgelegt. D.h. es wird nicht mit einer zentralen Benutzerverwaltung beispielsweise mittels eines LDAP-Servers gearbeitet, genauso wenig wird es eine zentrale Webapplikation zur Verwaltung des Hostings geben. Wer derartiges wünscht, kann sich beispielsweise [[https://www.ispconfig.org/|ISPconfig]] anschauen.  
 + 
 +==== Überblick ===
 + 
 +Grundsätzlich wird beim rootpack davon ausgegangen,​ dass der Webserver das zentrale Element bildet. Lediglich auf dem Webserver ist es erforderlich,​ dass die Kunden einen direkten Zugang zum System auf Basis von Benutzerkonten benötigen. Die Kunden müssen in der Lage sein "​Content"​ in Ihren Webspace zu übertragen. Dies wird via SFTP auf Basis regulärer POSIX-Benutzerkonten ermöglicht.
  
-Die gezeigte Datei, kann sowohl über den OBS als auch die [[http://​rootpack.invis-server.org|Rootpack-Seite]] herunter geladen werden.+Auf Mailund DNS-Server ist dies nicht erforderlich und vor allem nicht erwünscht.
  
-==== Der Kernel ====+Weitere Details folgen.....
  
-Traurig bestellt ist es um Aktualisierungen des Kernels für ausgelaufene openSUSE-Versionen. Hoffnung hier so etwas wie einen "Long Term Support"​ zu erhalten liefert allenfalls das [[http://​en.opensuse.org/​openSUSE:​Evergreen|Evergreen-Projekt]]. Dieses Projekt hat es sich zur Aufgabe gemacht für einzelne oder auch alle (genaueres ist mir nicht bekannt) ausgelaufenen Support zumindest sehr wichtige Patches zu liefern. Im Rahmen des Evergreen Projektes sollen auch LTS-Kernel gepflegt werden. Für openSUSE 11.1 ist dies mit Kernel 2.6.32 bereits der Fall, das entsprechende Repository für Version 11.2 ist allerdings noch leer. 
  
-Auch das Evergreen-Projekt freut sich über Unterstützung! 
  • rp.1314367150.txt.gz
  • Zuletzt geändert: 2011/08/26 13:59
  • von flacco