Kann ich meine Apache-Servereinstellungen bei einer neuen Linux-Installation duplizieren?

Kann ich meine Apache-Servereinstellungen bei einer neuen Linux-Installation duplizieren?

Ich habe einen Apache 2-Server auf meinem Computer eingerichtet, den ich für lokale Tests verwende. Um es klarzustellen: Es istnichtHosten von Websites im Internet. Es dient nur zum lokalen Debuggen und Entwerfen.

Ich habe Ubuntu Linux verwendet, aber jetzt habe ich einen neuen Computer mit Linux Mint. Ich möchte alle Apache-Sites und -Einstellungen, die ich auf der alten Ubuntu-Maschine habe, auf der neuen Linux Mint-Maschine reproduzieren.

Ich weiß nur, wie man das manuell macht, eine Site nach der anderen, von vorne beginnend. Ich erstelle eine Datei für jede Site im sites-availableVerzeichnis und aktiviere sie mit a2ensite. Und dann nehme ich Änderungen an allen Konfigurationsdateien vor, füge beispielsweise einige Zeilen zu meiner php.iniDatei hinzu, um Xdebug zu aktivieren, und hoffe, dass ich nichts übersehen habe.

Ich bin sicher, dass ich dies ineffizient mache und dass dabei die Gefahr menschlicher Fehler besteht.

Ist es nicht möglich, alle Apache 2-Einstellungen und -Sites auf meinem Ubuntu-Rechner irgendwie zu kopieren und sie in einem Rutsch auf meinen Linux Mint-Rechner zu übertragen? Oder zumindest mit so wenigen Schritten, dass es weniger kostet, als jede Site und Einstellung von Grund auf neu zu erstellen?

Bitte beachten Sie, dass ich eher Designer als Administrator bin. Gehen Sie daher bitte davon aus, dass meine Kenntnisse über Linux-Befehle und Servereinstellungen minimal sind.

Antwort1

Ihre Servereinstellungen sind wie alle systemweiten Programmeinstellungen unter zu finden /etc. Der genaue Speicherort hängt von der Distribution ab, aber /etc/apacheoder /etc/apache2sind gute Adressen. Sowohl Ubuntu als auch Mint verwenden /etc/apache2.

Wenn Sie dieselben Plug-Ins installiert haben und die Apache-Versionen nicht zu weit auseinander liegen, können Sie einfach das gesamte /etc/apache2Verzeichnis auf die neue Maschine kopieren. Natürlich müssen Sie auch Ihre Dokumentstammverzeichnisse kopieren.

Wenn Sie einige Webanwendungen ausführen, müssen Sie diese ebenfalls migrieren. Dies kann so einfach sein wie das Kopieren einiger Dateien oder auch nicht, es hängt stark von der Anwendung ab. Insbesondere wenn eine Datenbank beteiligt ist, müssen Sie dieselbe Datenbanksoftware (normalerweise MySQL) installieren, die Datenbank auf dem alten Computer sichern und den Sicherungsspeicher auf dem neuen Computer wiederherstellen.

Antwort2

Ist es nicht möglich, alle Apache 2-Einstellungen und -Sites auf meinem Ubuntu-Rechner irgendwie zu kopieren und sie auf einmal auf meinem Linux Mint-Rechner zu übertragen?

Vorausgesetzt, es handelt sich nicht um sehr unterschiedliche Apache-Versionen, ja. Distributionen konfigurieren Apache mit geringfügigen Unterschieden vor (z. B. dem Web-Root-Speicherort), aber wenn Sie Ihre Konfiguration kopieren und alles an derselben Stelle ablegen, tun Sie dies einfach komplett. Überschreiben Sie die Konfiguration, also fummeln Sie nicht daran herum, sie auf dieselbe Weise zu bearbeiten. Beachten Sie, dass der Speicherort der Apache-Conf-Dateien in die Apache-Binärdatei kompiliert wird und von Distribution zu Distribution unterschiedlich sein kann. Der Inhalt der Conf-Dateien ist jedoch portierbar, sodass Sie die Dateien einfach durch Ihre eigenen ersetzen können sollten. Neben dem Speicherort der Conf-Datei wird das Verhalten von Apache durch den Inhalt der Conf-Datei(en) bestimmt. Wenn Sie sie also ersetzen, wird beispielsweise das Web-Root durch Ihre „neue“ Konfiguration bestimmt. Ein weiteres Detail hier ist, wie Sie bemerkt haben, der Inhalt von /etc/hosts.

Apache verwendet manchmal halbunabhängige Teile (z. B. PHP), die ihre eigene Konfiguration haben. Wenn Sie wissen, dass Sie so etwas verwenden, müssen Sie ein wenig recherchieren, um die Details herauszufinden.

Dies wirft die Frage auf,wie Sie den Server sichern; wenn man das kohärent macht, ist es nur eine Frage vonBereitstellen des Backups auf einem anderen Computer(also, als wäre es völlig durcheinander geraten). Mit „Server-Backup“ meine ich nicht Ihr gesamtes Dateisystem oder die Apache-Binärdatei, die bereits effektiv gesichert ist, da es sich um ein Distributionspaket handelt. Ich meine alles im Webstammverzeichnis (z. B. /var/www) – alle Datendateien, Skripte usw., die der Server verwendet – und die Konfiguration, die sich wahrscheinlich irgendwo in befindet /etc; wie erwähnt ist dieser Speicherort variabel, wird aber in Apache kompiliert, d. h. wenn Sie auf einer anderen Distribution bereitstellen möchten, müssen Sie die conf-Datei(en) möglicherweise an einem anderen Ort ablegen.

WiegenauSie das tun, hängt von der Art Ihres Servers ab. Wenn Sie verschiedene Dinge bereitstellen, die an sich eigenständige Projekte sind, sollten diese Projekte unabhängig voneinander gesichert werden; dies sollte eine Dokumentation darüber enthalten, wie sie bereitgestellt werden sollen und was sie erfordern, möglicherweise einschließlich Ausschnitten der Apache-Konfiguration, falls zutreffend. Dies bedeutet, dass das Projekt problemlos in jeden Apache installiert werden kann. Wenn der Server einer Sache gewidmet ist, können Sie einfach das gesamte Web-Root sichern. Im ersteren Fall (verschiedene unabhängige Projekte) können Sie mithilfe einer Art vonVCSist gut (es lohnt sich, die Verwendung dieser Dinge zu lernen; ich persönlich bevorzuge, gitaber es gibt noch viele andere), im letzteren (ein megalithisches Web-Root) so etwas wie rsync– aber das sind nur Vorschläge. Der Punkt ist, dass Sie für solche Dinge (selektives Sichern von Verzeichnisunterbäumen in einem Dateisystem) ein Tool haben sollten, mit dem Sie vertraut sind. Der einfachste Weg bei einer kleinen Installation ist wahrscheinlich einfach tar(oder zip).

Wenn Sie eine Backend-Datenbank mit Apache verwenden, möchten Sie diese auf die gleiche Weise auch sichern (die Daten und die Konfiguration). Wenn die Datenbank jedoch von verschiedenen Projekten verwendet wird, die unabhängig voneinander gesichert werden, sollten deren Daten zusammen mit ihnen gesichert werden.

Also wenn duFühren Sie ein Backup durchBei solchen Anwendungen müssen Sie zum „Duplizieren Ihres Apache“ lediglich Apache installieren und dann die Sicherungskopie bereitstellen. Sie entpacken, verwenden rsync, git clone usw., kopieren die Konfiguration an die richtige Stelle und presto.

Dann liegt möglicherweise ein Problem mit fehlender Software vor – die Distributionen bündeln die Apache-Module möglicherweise anders, Sie benötigen SQL usw. –, aber das ist ziemlich unkompliziert.

verwandte Informationen