Wie ich ISPconfig auf meinen Server bekam

Wenn man das erste mal vor einem frischen Server steht, dann hat man ja das Problem, dass ohne weiteres kein FTP-Zugang zur Verfügung steht. Man kann also nicht eben schnell beliebige Software draufladen. Ich bin folgenden Weg gegangen:

  1. ISPconfig auf meinen Mac runterladen
  2. Die Datei schon mal entzippen, so dass man nur noch ein *.tar hat (muss nicht zwingend, aber der Safari macht das automatisch)
  3. Nun habe ich die Datei umbenannt, damit die Eingaben einfacher werden (z.B. ispc.tar)
  4. Jetzt wieder die Datei per FTP auf eine vorhandene Homepage-Instanz geladen
  5. Auf dem VServer an der Konsole wird die Datei mit „wget“ geladen: wget http://meineHP.de/ispc.tar 
  6. mit tar -xf ispc.tar entpacken. Wenn es noch gezippt ist, dann tar -xzf ispc.tar.gz
  7. dann mit cd ispconfig_install/install in den entsprechenden Ordner wechseln (cd = change directory)
  8. dort findet sich eine install.php, kann man z.B. mit ls (list) überprüfen
  9. diese kann man mit php install.php ausführen und schauen, was passiert bzw. den Angaben folgen

Oh, Moment, da fällt mir was ein! Wie ich las, braucht ISPConfig die bash als Shell, und die bin ich auch gewohnt. In der Anleitung zum perfekten Server stehts. Ab Seite 3, Punkt 7 der Anleitung könnt ihr bei einem vorkonfigurierten VServer loslegen. Punkt 7 erklärt, wie man sein System updatet und das sollte man auch immer mal machen, ehrlich (fertig installiert weist ISPconfig einen aber auch auf Updates hin).
Bei Punkt 8 kommt dann der Wechsel der Shell von dash auf bash. Macht das so, auch wenn ihr nicht wisst, was das bedeutet. Grob gesagt ist die Shell die Software, die ihr im Terminal sehen könnt und mit der ihr euch durch das System bewegt. Es gibt verschiedene Softwarepakete, um eine Shell anzubieten, wie z.B. die genannten dash und bash. Jede hat seine Vor- und Nachteile. Als Anfänger ist man mit der bash aber immer auf der richtigen Seite. So eine Shell kann ganz tolle Sachen! Zum Beispiel oben in der Liste, Punkt 7: Ihr müsst nur cd isp eingeben und die Tab-Taste drücken, dann ergänzt die Shell automatisch den Namen (soweit er einmalig ist) bis ispconfig_install. Wenn man damit umgehen kann, dann erspart man sich viel Arbeit.

Wenn ihr nun die Anleitung zum perfekten Server offen habt, dann könnt ihr dieser auch weiter folgen. Sie macht das viel besser als ich das je schreiben könnte. Ich selbst habe bei der Anleitung nur einige Punkte ausgelassen, die ich nicht brauchte (z.B. Dovecot), aber ich habe ja auch schon etwas Erfahrung. Im Zweifel einfach alles machen! In der genannten Anleitung wird ISPconfig unter Punkt 20 übrigens auch per wget geholt, aber direkt von deren Server.

Es gibt übrigens ausser dem oben beschriebenen noch viele weitere Wege, Dateien auf den Server zu bekommen. Einige sind sogar einfacher, wenn man sich auskennt. Eine der umständlicheren, aber irgendwie coolen Methoden ist: lynx http://ispconfig.de
„lynx“ ist ein textbasierender Webbrowser, der im Konsolenfenster läuft und über die Tastatur gesteuert wird (mc und lynx-like motion, ihr erinnert euch?). Damit könnte man sich zum Downloadlink durchhangeln und die Datei so auf den Server bekommen 🙂

Dieses ganze SSH- und Konsolen-Gehampel mag für den Einsteiger verwirrend sein, aber die Textkonsole ist ein mächtiges Werkzeug. Und mit den wenigen Dingen, die ich hier und in den anderen Artikeln beschrieben habe, kommt man schon ganz schön weit auf einem Linux-System. Wenn ihr dann noch Sachen wie ls -l,cat, df -m, find, grep, chmod, chown etc. kennenlernt, dann seit ihr schon die reinsten Linux-Freaks und könnt damit angeben! Gebt doch mal ein: cat /proc/cpuinfo (oder /meminfo). cat listet den Inhalt von Dateien auf den Bildschirm.

Im Ernst: Ich muddel zwar schon lange mit Linux rum, aber nicht oft. So mache ich dann immer wieder mal den Fehler, Dinge als root zu bearbeiten und wundere mich, das danach irgendwas nicht funktioniert. Der Grund ist dann meist, dass die Benutzerrechte der Datei auf root gewechselt sind und ein anderer Benutzer (z.B. www-data bei einem Webserver) diese Datei nicht mehr lesen oder schreiben darf. Da hilft dann ein chown -cR andererNutzer *.* (change owner) gut weiter. Und weiss man gerade nicht mehr genau, was man machen muss, dann hilft man chown oder gar http://wiki.ubuntuusers.de/chown

Flattr this!

Server einrichten: Anfängertipps

Also gut, ich schreib mal was.
Wenn man sich entschlossen hat, einen VServer zu mieten, egal, ob für Hosting oder einen Gameserver; es stellt sich die Frage: Was mache ich zu erst? Ich gehe im Folgenden natürlich von einem Linux-Server aus (und hier Debian), Windows macht in dieser Situation für mich noch weniger Sinn als anderswo 😉

Zunächst müssen wir uns mit dem Server verbinden können. Das geschieht in der Regel über eine SSH-Verbindung. Dazu braucht man die entsprechenden Daten. Diese findet man ganz sicher in dem vom Serveranbieter zur Verfügung gestellten Webinterface. Dort findet man Informationen zum root-Account und eigentlich immer auch das dazugehörige Passwort. „root“ ist quasi der Hauptnutzer vom Server, der Admin, der kann alles. Alles! Deswegen muss man auch unbedingt vermeiden, dass andere sich mit diesem Account einloggen können. Dazu komme ich gleich.
Mac- und Linux-User starten für die SSH-Verbindung das so genannte Terminal. Windows-User nehmen meistens das kostenlose Tool „Putty“ (hier für gibt es im Netz unzählige Anleitungen). Ich nutze unter OSX iTerm. Hat man den blinkenden weissen Cursor auf schwarzem Grund vor sich, dann kann man nun eingeben: ssh root@meineServer-IP. Falls der Server erreichbar ist und dort SSH läuft (was eigentlich immer der Fall ist) bekommt man noch einen Hinweis auf den zu speichernden Key („y“ drücken) und dann wird man nach dem Passwort für root gefragt. Achtung: Bei der Eingabe erscheint nix auf dem Bildschirm!
Ist man nun auf den Server eingeloggt, sollte man einige Dinge sofort machen:

  1. Root-Passwort ändern
    Das macht man einfach durch die Eingabe von passwd. Da man root ist, kann man gleich das neue PW eingeben. Gut merken!
  2. Neuen Benutzer anlegen
    Das macht man durch adduser NeuerBenutzer. Letzteres müsst ihr natürlich durch euren gewünschten Benutzernamen ersetzen. Dann kann man das Passwort für den Benutzer vergeben, die folgenden Fragen sind unwichtig und können mit Enter bestätigt werden.
  3. zweite Session mit neuem Benutzer
    Nun sollte man sicherheitshalber (ich mach das immer so) eine zweite SSH-Session in einem neuen Fenster o.ä. starten und sich testweise mit dem neuen Benutzer per SSH einloggen, während man im ersteren noch als Root eingeloggt ist. Funktioniert? Prima, dann gleich mal „su“ eingeben (das steht für Superuser, also root) und dessen Passwort eingeben. Jetzt sollte am Prompt nun irgendwas mit root@meinServer: stehen. Funktioniert auch? Super.
  4. Root absichern
    Jetzt werden wir SSH so einstellen, dass man sich nicht mehr mit Root einloggen kann, weils sicherer ist. Es ist für Dritte zu einfach, eine SSH-Verbindung zu einer IP aufzubauen und zu versuchen, das root-Passwort zu erraten. Also werden wir das verbieten.

Bevor ich das erkläre, hier noch ein Tipp, den ich im anderen Artikel schon erwähnte: den Midnight Commander. Wenn man im Netz nach Linux-Tipps sucht, dann findet man immer wieder Hinweise, wobei man eine Datei editieren soll. Meist dann mit vi oder nano. Das sind bewährte Editoren unter Linux, aber ganz ehrlich: Wenn man da nicht jeden Tag mit zu tun hat (so wie ich), dann kann ich mir die grundsätzliche Bedienung einfach nicht einprägen. Und wenn ich nicht weiss, wie ich z.B. eine Datei speichern soll, dann ist das doof. Und der Midnight Commander ist sogar noch mehr als ein Editor (alte DOS-Hasen werden den Norton Commander wiedererkennen, vermutlich das einzig sinnvolle, was Peter Norton seit dem an Software auf den Markt gebracht hat): Mit ihm kann man sich durchs Dateisystem hangeln und wenn man in den Options / Panel Options „Lynx-like motion“ aktiviert und speichert, dann kann man sich ganz easy mit den Pfeiltasten durchklicken. Pfeil hoch und runter sind klar, aber mit Pfeil links gehts eine Ebene zurück, mit Pfeil rechts geht man in einen Ordner. Probierts mal! Geht mal durch alle Verzeichnisse, so lernt ihr auch, wo sich ggf. was befindet. Meist braucht man /etc, /var, /var/log und auch /home.
In den Optionen (F9) sollte man auch den internen Editor aktivieren. Achso: Man ruft den MC einfach mit mc auf. Sollte er nicht installiert sein reicht vermutlich ein apt-get install mc, um ihn zu installieren.

mc_lynxlikemotionmc_internal_edit

Den in mc integrierten Editor ruft man mit F4 auf. Die markierte Datei wird darin geöffnet. Mit F10 kann man diesen wieder verlassen und falls man was geändert hat wird man gefragt, ob man das speichern will. Das brauchen wir jetzt, wenn wir den Root-Account absichern wollen. Übrigens: Mit F3 im mc wird die gewählte Datei angezeigt, so kann man z.B. erstmal schauen, bevor man ggf. was ändert oder damit ganz einfach Log-Dateien durchforsten. In der unteren Leiste zeigt mc an, was noch mit den Funktionstasten geht: F5 um Dateien etc. zu kopieren, F6 zum verschieben oder umbenennen, F7 um ein Ordner zu erstellen (und für die Suche im Editor) und F8 zum Löschen von Dateien.
Geht nach /etc/ssh (/etc ist auf der „obersten“ Ebene) und sucht in diesem Ordner die sshd_config. Die öffnet ihr mit F4. Dort findet ihr eine Zeile PermitRootLogin yes. Ändert das yes in no und geht mit F10, mit anschliessendem Yes zum Speichern der Änderung, raus. Den mc kann man auch mit F10 beenden. Es gibt noch viel mehr Funktionen im mc, aber fürs erste reicht das, was wir bisher wissen.
Nun müsst ihr noch den SSH-Dienst neu starten, damit die Änderungen wirksam werden: service ssh restart (Enter)

Ab jetzt könnt ihr euch (und kein anderer…) nicht mehr mit root per ssh einloggen. Nehmt dazu den neuen Benutzer und wechselt anschliessend mit su zum Root (oder nutzt, wie in vielen Anleitungen beschrieben, sudo („tu es als Superuser“), um Änderungen mit Root-Rechten vorzunehmen). So sieht das aus, wenn man das Login trotzdem mit Root und SSH versucht:

keinrootlogin
Permission denied, da geht nix und das ist gut so.

Nun ist euer Server fürs erste etwas sicherer.  Aber was nun damit machen? OK, dann schreibe ich einen weiteren Artikel, wie ich ISPConfig auf meinen Server bekommen habe. Das ist so was wie Plesk, nur kostenlos und wie ich finde wesentlich angenehmer zu bedienen.

Noch ein Tipp: Auf dieser Seite gibt es ganz viele gut geschriebene Erklärungen zu vielen Linux-Fragen und -Themen: http://wiki.ubuntuusers.de/Startseite und für eine schnelle Hilfe kann man im Terminal immer eingeben „man Befehl„. man steht für Manual und gibt einem eine Übersicht, wie man den angegebenen Befehl anwenden kann, z.B. man adduser. Ganz Fleissige fangen mit „man man“ an 😉

Noch Fragen hierzu? Gerne, ich hab bestimmt was übersehen!

Flattr this!

Umzug vollzogen!

Seit gerade eben liegt Lerigau.de auf einem Vserver. Ich sprach ja schon davon.

Das erste, was mir auffällt: Es geht alles extrem flott, obwohl es sich echt um einen kleinen Server handelt, mit z.B. nur 256MB RAM. Vor ein paar Minuten war ich noch im PHPmyAdmin der alten Instanz und hab hier gekotzt, weil das viel zu langsam ging und immer wieder Internal Server Error kam. Und hier? Mittlerweile laufen neben ISPconfig aktuell noch vier WordPress-Installationen und ich fühl mich wohl.

Zwar ist der Server noch nicht optimal eingerichtet, da geht bestimmt noch was bzgl. Speicher und so, aber ich habe schon einiges gemacht, so dass er nun zufriedenstellend läuft. Unter anderem hab ich InnoDB deaktiviert, das verbraucht hier nur unnötig wertvollen Speicher 🙂

Warten wir mal ab, wie das so weiter geht.

 

PS: Ich habe aber doch vorhin noch mal 256MB RAM nachgeordert, das ist alles schon sehr knapp und mit 512 sicher besser. Und ich hab in der apache2.conf wieder mal KeepAlive ausgeschaltet, denn das spart RAM. Kostet zwar Performance, aber die CPU im Server hat nen Load von max 0,2. Da kann die ruhig mal beschäftigt werden…
(Nachtrag: die 512MB waren schon am nächsten Morgen verfügbar und es läuft wirklich fluffig. Immer so ca. 40MB frei und einiges ge“chached“. Die Zeiten ändern sich, mein erster Server „damals“ hatte nur 128MB und da lief sogar ET nebenbei….)

PPS: Sollte ich mal alle Änderungen notieren, die ich so am Server gemacht habe? Eigentlich ja…

Flattr this!

Internal Server Error

Wie einige von euch beim Besuch meines Blogs sicherlich bemerkt haben, geht der Aufruf seit einiger Zeit sehr schleppend, manchmal kommt sogar ein „Internal Server Error“. Mir passiert das natürlich auch und das ist besonders ärgerlich, wenn man gerade einen Artikel schreibt etc. Schon seit der Vorweihnachtszeit tritt das auf, zwischendurch wurde es besser, aber richtig gut bzw. normal wurde es nie. Ursache hier für ist nicht mein Blog oder WordPress sondern die schlechte Performance des Systems, auf dem das läuft (Ich verschweige mal netterweise meinen jetzigen Hoster). Das betrifft also auch viele Instanzen. Ich hab wirklich Verständnis dafür, wenn alles langsamer geht, weil bescheuerte Spammer und Co. die Last auf den Servern unnötig hochtreiben. Nur für ein paar wilde Tage im Jahr muss man ja nicht mehr Hardware vorhalten, die den Rest der Zeit vor sich hindrömelt, weil nix besonderes los ist. Aber über einen Zeitraum von mehreren Wochen? Das zeigt mir, dass der Serverbetreiber die Lage nicht in den Griff kriegt.

Um es kurz zu machen: Ich bin es leid. VServer sind sooo günstig geworden, billiger als so manches Homepage-Produkt. Nun habe ich einen gemietet und werde nach und nach meine Web-Inhalte dahin übertragen. Bei boschach.de ist es schon geschehen und man merkt deutlich, wie viel schneller und stabiler es läuft, obwohl das Schachskript nur mit PHP, nicht mal mySQL, arbeitet.

So ein eigener Server hat natürlich neben Vorteilen auch Nachteile, denn man muss sich um alles selbst kümmern: Sicherheit, Updates, Konfiguration. Aber so was kann ich und macht mir Spass, ist also kein Nachteil für mich, eher eine Bereicherung. Ausserdem hat man Zugriff auf alle Logfiles, htaccess oder InnoDB sind kein Problem (auch wenn ich Joomla vermutlich nie nutzen werde), Apachemodule kann ich nach Bedarf und Belieben hinzufügen usw usf., ich kann das System nach eigenem Ermessen „abhärten“ (fail2ban z.B. ist echt toll).

Für Leute, die eher weniger Ahnung vom Einrichten eines Servers haben, gibt es tolle Anleitungen im Netz, etwas Englisch- und Linux-Grundkenntnisse sollte man aber drauf haben (Tipp: „mc“ ist der Midnight Commander, damit kann man sich durchs Dateisystem hangeln, Daten verschieben, editieren etc. Für alte EDV-Hasen: genau wie damals der Norton Commander, man bekommt ihn mit apt-get install mc unter Debian). Ein weiterer Nachteil, der auch ein Vorteil ist: Man muss irgendwo eine Domain haben, deren A-Record man auf den Server setzen kann. Dafür kann man das bei Bedarf auch einfach ändern, so dass das Schicksal von Domain und Content nicht an einem Anbieter hängen.

Wenn also demnächst lerigau.de (und andere Seiten, die ich betreibe) mal nicht erreichbar sind, dann kann das daran liegen, dass ich die gerade auf das neue System umziehe. Ihr werdet es danach merken, wenn der Seitenaufruf auf einmal so überraschend schnell geht!

(Bei Interesse schreibe ich gerne mal einen Artikel, der auf die wesentlichen und wichtigen Dinge bei einem eigenen Server eingeht)

Flattr this!

KeepAlive

Der treue Leser wird sicher mitbekommen haben, dass manchmal die Seite nicht erreichbar war. Nun, um ehrlich zu sein: Es war nicht nur die Seite, der ganze Server war in diesen Momenten weder per Web noch per SSH noch per irgendwas erreichbar. Immer, wenn ich das bemerkte, habe ich ihn rebootet. Aus dem einfachen Grund: Ich fand den Fehler nicht. Nun habe ich mal meinen Schwager, selbsternannter Linuxexperte, in die Logs schauen lassen. Und er fand irgendwas. Was genau, konnte er mir nicht sagen. Letztendlich ging es darum, wie der Apache (Webserver) konfiguriert ist. Ich will euch bisher mit Details verschonen, aber ich habe nun seit einigen Tagen die Funktion KeepAlive ausgeschaltet. Eine kleine Suche im Netz gibt viele Fundstücke, aber leider keine eindeutige Lösung.

Wenn ihr also beim Aufruf der Seite länger warten müsst als üblich, dann könnte das daran liegen, dass euer Browser jede kleine Datei neu anfordern muss. Ich will das auf jeden Fall erstmal so lassen und schauen, wie der Server sich verhält. Und wenn ich das näher eingekreist habe, dann optimiere ich das, versprochen 😉

Und noch was…

BlueKuh2

Apropos KeepAlive:
Heute konnte ich an meinem Rennrasenmäher unter anderem die Bremse optimieren und bin dann auch gleich mal (verbotenerweise!) meine Strasse ein Stück rauf und runter gedüst: Tolle Sache, hoffentlich ist bald wieder Rennen! Dazu muss ich sagen: Ich bin eine feige Sau. Genau bei mir auf der anderen Strassenseite ist eine Grundschule und dort hängt, wohl auf Grund der vielen Raser hier ;), seit zwei Tagen eine Tafel „So schnell fahren sie“ und da unter wird dann die gemessene Geschwindigkeit angezeigt. Neulich war ich (mitm Auto!) mit stolzen 29km/h unterwegs. Das kann aber auch daran liegen, dass diese Tafel ziemlich genau auf Höhe meiner Auffahrt steht. Und hier mit 30 Sachen raufbügeln ist schon ne Kunst, man will ja nicht das Carport treffen…. Nun wäre dieser „Tempomat“ ja ideal gewesen, um mal festzustellen, wie schnell denn mein Rennrasenmäher läuft. Aber dazu hätte ich mich ein ganzes Stück von meinem Haus wegbewegen müssen, auf einer Kreuzung wenden und dann eben mit Vollgas zurück. Unabhängig vom Strassenverkehr, der immer genau dann auftaucht, wenn ich die Strasse mit einem Fahrzeug „betrete“ ist mein Rennhobel relativ laut, besonders, wenn man Vollgas gibt. Und Zuschauer (aka* neugierige Nachbarn) kann ich bei solchen Sachen echt nicht gebrauchen.

Innerhalb von ca. 10ms spielt sich in meinen Kopf folgendes ab:

Die Polizei rollt langsam vorbei und hält an, während ich noch auf meinem Rennhobel sitze (Ich habe immer einen NotAus an den Leib getüdelt, Routine und Sicherheit und lange Abfummelei). Die Herren steigen aus wie man es kennt: Langsam, Mütze aufsetzen, gleich verstehend nicken (Ahnung hamse wohl beide nicht).
Böser P: „Na, was haben wir denn da für ein Schmalspurgefährt“
Ich: „das ist, äh, ein Rasenmäher!“
Böser P: „fahrnse damit etwa auf der Strasse?!?“
Ich: „Nee, nie, ausser, um hinten zur Rasenfläche zu kommen“ (Nie nur „Rasen“ sagen, das wollen die falsch verstehen)
Böser P: „Wir haben da ne Meldung erhalten, sie würden hier rumheizen!“
Guter P: „Wie schnell fährt der denn?“
Ich: „Die Leute sind sicher irritiert, weil der Auspuff etwas defekt ist. Der fährt nich so schnell…“
Böser P: „Da kann ja jeder kommen….“ (holt aus zu mehr)
Guter P: „Ist der Motor ein Honda GX? Cool, liegende Welle mit fettem Gehäuse!“
Ich: „Hö, aehm, ja…“
Guter P: „Ich fahre gern Kart, aber die haben nur so 6PS, der hier muss ja mindestens das doppelte haben…“
Ich: „20…“
Böser P: „damit kann man Verkehrsteilnehmer gefährden!“
Guter P: „20PS!?! Boah, damit muss der ja abgehen wie eine Rakete“ (Wo er Recht hat…)
Böser P: „Damit dürfen Sie auf keinen Fall weiterfahren!!!“
Guter P: „darf ich auch mal fahren?“

…und wie gesagt, alles in 10 Millisekunden gedacht, nicht erlebt, aber mit ungewissem Ausgang.
Ich tuckere also auf meinen Hof, in die Garage und freue mich, dass er fährt und keiner meckert und ich in keinen Dialog mit Ordnungshütern treten muss. Feiglinge leben länger.

Nachtrag: Zwei Minuten Angst 😉

(*aka ist die Abkürzung für das englische „also know as“, übersetzt „auch bekannt als“. Vielleicht hilft es ja jemandem; wird im Netz häufig gebraucht…)

Flattr this!