Installation eines Servers auf Basis von Ubuntu 10.10 mit Samba-Server als Domänencontroller, Apache2-Webserver inklusive PHP, mySQL und phpmyadmin

    In diesem Projekt geht es um die Installation eines Linux-Servers mit Ubuntu 10.10. Einige werden sich jetzt fragen: Wofür brauche ich zu Hause einen Server? Für den zentralen Zugriff auf meine Daten reicht mir doch ein NAS (Network Attached Storage).

    Gut, wem es genügt, seine Daten an einem Ort verfügbar zu haben, der braucht hier nicht weiterzulesen. Aber so ein 'richtiger' Server kann nun mal einiges mehr, als nur Daten zu speichern.

    Der Ubuntu-Server soll nicht nur als reiner Fileserver dienen, sondern auch die Rolle eines Domänencontrollers übernehmen. Für den privaten Bereich erscheint das viellieicht ein wenig übertrieben, aber wenn mehrere Familienmitglieder mit ihren Rechnern auf die Daten zugreifen, hat eine zentrale Benutzer- und Rechteverwaltung schon seine Vorteile. Jedes Mitglied wird nur einmal auf dem Samba-Server konfiguriert und kann sich mit seinen Anmeldedaten an jedem Rechner anmelden und auf seine Daten zugreifen. Auch für Firmen ist das Projekt interessant, da es Kosten für Windows-Serverlizenzen einspart.

    Im Verlauf dieses Projekts werden wir den Server als FTP-Server und Webserver mit Apache2, PHP, mySQL und PHPmyAdmin konfigurieren.

    Gestattet mir noch eine Anmerkung, bevor wir loslegen: Gerade am Anfang, wenn man noch nicht so ganz in der Materie zu Hause ist und das eine oder andere Problem auftaucht, ist Google der beste Freund. Ein 'Tipp', über den ich immer wieder stolpere ist: Wenn es klemmt, setz doch mal die Rechte auf 777 (Vollzugriff). Das hilft wahrscheinlich auch, jedoch sollte man sich im Klaren darüber sein, daß

    a) Damit das Problem umgangen, aber nicht gelöst ist

    b) Euer Server irgendwann einmal offen wie ein Scheunentor ist

    c) Ihr damit nix lernt

    Solange Euer Server nur im internen Netz erreichbar ist, mag das evtl. noch tolerierbar sein, aber auch dann muß Euch klar sein, daß auch Euer Heimnetz nicht unangreifbar ist. Soll der Server auch noch über das Internet erreichbar sein, ist es sträflicher Leichtsinn! Schneller als Ihr denkt ist Euer Server klammheimlich zu einer Spamschleuder oder ähnlichem 'umkonfiguriert' worden, ohne daß Ihr es mitbekommt. Tippt also bitte nicht alles blind ab, was Ihr hier oder irgendwo anders aufschnappt, sondern versteht, was Ihr tut.

    So, jetzt wird der erhobene Zeigefinger wieder eingezogen und es geht los.

    Verglichen mit einem Windows-Server sind die Hardwareanforderungen an einen Linuxserver eher bescheiden. Der Hauptspeicher- und Festplattenausbau hängt hauptsächlich davon ab, welche Aufgaben der Server übernehmen soll. Je mehr Dienste angeboten werden, desto größer sollte der Hauptspeicher sein, wenn er als Fileserver für Multimediadaten dienen soll, sind eine oder mehrere große Festplatte empfehlenswert.

    Mein Server hat folgende Spezifikationen:

    Prozessor: Intel P4 2,4 GHz
    Hauptspeicher: 2 GB
    Massenspeicher: 1x 40GB, 1x 160GB, 1x 300GB

    Nichts davon ist jedoch  als Mindestanforderung anzusehen. Es handelt sich um einen typischen 'Reste'-Server, die Teile hatte ich eben zu Hause. Ein Rechner im Gigahertz-Bereich mit 512 MB Hauptspeicher und 40 GB Festplatte ist für den Anfang mehr als ausreichend. Auf jeden Fall muß eine Netzwerkkarte vorhanden sein, sonst macht ein Server keinen Sinn.

    Für die Installation brauchen wir einen Monitor und eine Tastatur. Beides wird nach der Grundinstallation nicht mehr benötigt, der Server wird komplett fernbedient.

    Zur Installation benötigen wir eine Installations-CD. Das ISO-Image kann unter

    http://de.archive.ubuntu.com/ubuntu-releases/10.10/

    Achtung: Wir benötigen die SERVER-Version. Ob Ihr die 32bit (i386) oder 64bit (AMD64) Version herunterladet, hängt natürlich von der verwendeten Hardware ab.

    Die meisten Rechner sind von Haus aus so eingestellt, daß sie von CD starten, wenn sich ein bootfähiges Medium im Laufwerk befindet. Sollte es bei Euch nicht der Fall sein, müßt Ihr die Bootreihenfolge im BIOS umstellen. Bei manchen Rechnern kann beim Start mit einer Funktionstaste ein Bootmenü aufgerufen werden.

    Nach dem Start werden wir zunächst zur Auswahl der gewünschten Sprache aufgefordert.
    ubuntu_sprache

    Danach erscheint das Bootmenü. Wir wollen den Server installieren, also wählen wir die erste Option [Ubuntu Server installieren]
    ubuntu_serverinstall

    Die Installation versucht als Erstes, das Netzwerk zu konfigurieren. Sofern bei Euch ein DHCP-Server läuft, z.B. auf Eurem Router, läuft die Einrichtung automatisch ab. Wenn kein DHCP-Server gefunden wird, müsst Ihr die IP-Einstellungen manuell vornehmen. Achtet darauf, daß Ihr keine Adresse verwendet, die in Eurem Netz schon vorhanden ist. Ich gehe davon aus, daß Ihr in der Lage seid, IP-Adresse, Subnetz, Gateway und DNS-Server einzutragen. Wenn nicht, findet Ihr im Anhang eine Anleitung. Außerdem werden wir nach der Grundinstallation unsere IP-Einstellungen sowieso manuell in der Konsole anpassen.

    Als nächstes erfolgt die Gebietsauswahl. Hier sollte [Deutsch] bereits vorbelegt sein.
    ubuntu_gebiet

    Ubuntu versucht nun, das verwendete Tastatur-Layout zu erkennen und fordert zum Betätigen einiger Tasten auf. Nach zwei bis drei Tastendrücken sollte das erledigt sein:

    ubuntu_tastatur1

    ubuntu_tastatur2

    Nun werden einige Komponenten geladen, anschließend werden wir aufgefordert, dem Server einen Namen zu geben:
    ubuntu_name

    Jetzt kommen wir zur Einrichtung der Festplatte. Die Partitionierung unter Linux ist ein Thema für sich, wir wählen die Option [Geführt - verwende vollständige Festplatte]. Sollten mehrere Festplatten im System verbaut sein, muß danach noch die gewünschte Platte ausgewählt werden. Laßt Euch im Screenshot nicht durch die Bezeichnung der Platte verunsichern, ich habe zur Erstellung der Screenshots eine virtuelle Maschine verwendet.
    ubuntu_partitionierung

    ubuntu_festplatte

    Anschließend wird das Ubuntu-Grundsystem installiert. Wenn das erledigt ist, werden wir nach dem ersten Benutzer gefragt. Es wird vorgeschlagen, Euren kompletten Namen einzugeben. Danach wird der Anmeldename abgefragt. Bis auf wenige Ausnahmen (z.B. root oder admin) ist dieser frei wählbar.
    Bei der folgenden Passwortvergabe solltet Ihr bedenken, daß dieses Kennwort verwendet wird, um zum User root zu wechseln, es sollte also ein sicheres Kennwort gewählt werden. Ob Ihr Eure persönlichen Daten verschlüsseln wollt, sei Euch selbst überlassen, ich wähle hier [Nein].
    ubuntu_basesystem

    ubuntu_firstuser

    ubuntu_firstuserlogon

    ubuntu_password

    Die nächste Abfrage, ob im Netzwerk ein Proxy verwendet wird, um ins Internet zu kommen, lassen wir leer. Auch diese Einrichtung werden wir später manuell vornehmen, damit Ihr die Pfade und Konfigurationsdateien kennenlernt.

    Nun wird ein wenig weiterkonfiguriert und anschließend müssen wir uns entscheiden, wie die Softwareupdates eingespielt werden sollen. Da wir schon wissen wollen, wann unser Server sich Updates aus dem Internet holt, stellen wir die Auswahl auf [keine automatischen Aktualisierungen].
    ubuntu_config2

    ubuntu_update

    Wir haben jetzt die Möglichkeit, weitere Serverkomponenten installieren zu lassen. Für den Anfang wählen wir hier lediglich OpenSSH, da wir unseren Server über eine Remotekonsole administrieren wollen und Samba, da wir mit der Einrichtung des Domänencontrollers / Fileservers beginnen werden. Alle weiteren Komponenten werden wir nachträglich von Hand installieren und konfigurieren.

    Anschließend installieren wir den Bootloader in den Master Boot Record, da kein weiteres Betriebssystem installiert ist. Die Installation ist nun abgeschlossen und der Server wird zum ersten Mal gestartet.
    ubuntu_komponenten

    ubuntu_grup

    Wir entfernen die CD aus dem Laufwerk und bestätigen diese Meldung:
    ubuntu_ready

    Nach kurzer Zeit werden wir zum ersten Mal von unserem frisch installierten Server begrüßt:
    ubuntu_firstlogon

    Wenn Ihr hier angelangt seid, könnt Ihr schon mal voller Stolz sagen, daß Euer erster Lunuxserver läuft. Herzlichen Glückwunsch!

    Folgende Aufgaben soll der Server übernehmen:

    • Domänencontroller
    • Fileserver
    • Webserver

    Der Server wird über keine grafische Oberfläche verfügen, sondern ausschließlich im Textmodus in der Konsole administriert. Einerseits verbraucht ein grafisches Frontend enorme Resourcen, anderererseits geht die Konfiguration wesentlich schneller und vor allem lernt man nur so, wie ein Linux-Server funktioniert.

    Wer sich noch nie mit der Konsole, sprich dem Arbeiten auf Kommandozeilen-Ebene beschäftigt hat, dem sei als Einstieg die Seite

    Keine Angst vor der Kommandozeile

    empfohlen.

    Wir melden uns mit dem von uns bei der Installation erstellten Benutzer und dem festgelegten Kennwort am System an. Als erste Maßnahme richten wir das Netzwerk ein. Auch wenn bei der Installation einen DHCP-Server gefunden wurde und der Server eine funktionierende IP-Konfiguration hat, stellen wir eine statische IP ein. Das ist ein allgemein übliches Vorgehen: Ein Server bekommt eine feste Adresse.

    Der erste Linux-Befehl

    Eine Übersicht über die vorhandenen Netzwerk-Schnittstellen und deren Konfiguration erhalten wir durch Eingabe des Befehls ifconfig

    eth0  Link encap:Ethernet  HWaddr 00:30:05:44:18:d8
    inet addr:192.168.2.109  Bcast:192.168.2.255  Mask:255.255.255.0
    inet6 addr: fe80::230:5ff:fe44:18d8/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
    RX packets:15384498 errors:0 dropped:0 overruns:0 frame:0
    TX packets:23286218 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:2358493038 (2.3 GB)  TX bytes:2164674889 (2.1 GB)

    lo    Link encap:Local Loopback
    inet addr:127.0.0.1  Mask:255.0.0.0
    inet6 addr: ::1/128 Scope:Host
    UP LOOPBACK RUNNING  MTU:16436  Metric:1
    RX packets:36927 errors:0 dropped:0 overruns:0 frame:0
    TX packets:36927 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:2563693 (2.5 MB)  TX bytes:2563693 (2.5 MB)

    eth0 bezeichnet die erste Netzwerkkarte. In der obigen Ausgabe hat die Karte die Adresse 192.168.2.109. Linux hat einen Grundsatz: Alles ist eine Datei, also werden auch sämtliche Konfigurationen in Dateien, eben in Konfigurationsdateien vorgenommen. Zur Bearbeitung der Konfiguration benötigen wir einen Editor. Zwei Editoren werden mitgeliefert: vim und nano. vim ist der wesentlich mächtigere Editor, jedoch gerade für Einsteiger sehr gewöhnungsbedürftig. Ich empfehle Euch am Anfang, nano zu verwenden. Um eine Datei zu editieren, gibt man einfach den Namen des Editors, gefolgt von einem Leerzeichen und dem Namen der zu editierenden Datei ein. Auch die Eingabe incl. des Pfads ist möglich.

    Die Schnittstellenkonfiguration befindet sich in der Datei /etc/network/interfaces. Zu beachten ist, daß auf die Konfigurationsdateien meist nur 'root', also der Hauptadministrationsuser, Schreibrechte hat. Um einen Befehl als root auszuführen, benutzen wir den Befehl 'sudo'. Wir geben also ein:

    sudo nano /etc/network/interfaces

    Beim ersten Aufruf von 'sudo' erfolgt eine Kennwortabfrage, hier gebt Ihr Euer Benutzerkennwort ein.

    Im Normalfall, also bei vorhandenem DHCP-Server, sieht die Datei so aus:

    # The loopback network interface
    auto lo
    iface lo inet loopback

    # The primary network interface
    auto eth0
    iface eth0 inet dhcp

    Durch die Zeile auto eth0 wird definiert, daß diese Schnittstelle automatisch gestartet wird, der Eintrag dhcp in der letzten Zeile bewirkt, daß die IP-Einstellungen von einem DHCP-Server bezogen werden sollen.

    Da wir unsere IP- Einstellungen manuell vornehmen wollen, ersetzen wir dhcp durch static. Anschließend fügen wir in drei weiteren Zeilen die IP-Adresse, die Subnetz-Maske und die Gateway-Adresse hinzu:

    auto eth0
    iface eth0 inet static
    address 192.168.2.10
    netmask 255.255.255.0
    gateway 192.168.2.1

    Die Angaben müßt Ihr natürlich an Eure tatsächlichen Gegebenheiten anpassen.Mit Strg-o speichert Ihr die geänderte Datei ab, Strg-x beendet nano.

    Damit wir auf das Internet zugreifen können, fehlt noch der Eintrag für den DNS-Server. Der wird in der Datei /etc/resolv.conf festgelegt. Hier reicht - falls noch nicht vorhanden, die Zeile

    nameserver 192.168.2.1

    Da wir Änderungen an der Netzwerkkonfiguration vorgenommen haben, starten wir jetzt das Netzwerk neu.

    sudo /etc/init.d/networking restart

    Beachtet bitte: wir starten nicht den gesamten Server neu, sondern nur das Netzwerk. Ein Linux-Server kann wochen- und monatelang 24 x 7 durchlaufen, ohne daß er neu gestartet werden muß. Nach Neukonfigurationen brauchen lediglich die geänderten Serverdienste neu gestartet zu werden. Das hat neben der Zeitersparnis den Vorteil, daß die meisten Arbeiten im laufenden Betrieb durchgeführt werden können.

    Ob unsere Konfiguration stimmt, d.h. ob wir Zugriff auf das Internet haben, testen wir mit einem 'ping' auf Google:

    ping www.google.de

    Als Ausgabe sollte etwas in dieser Form kommen:

    PING www.l.google.com (209.85.149.106) 56(84) bytes of data.
    64 bytes from ber01s02-in-f106.1e100.net (209.85.149.106): icmp_req=1 ttl=54 time=33.8 ms
    64 bytes from ber01s02-in-f106.1e100.net (209.85.149.106): icmp_req=2 ttl=54 time=33.0 ms
    64 bytes from ber01s02-in-f106.1e100.net (209.85.149.106): icmp_req=3 ttl=54 time=33.7 ms

    Die Ausgabe kann mit Strg-c abgebrochen werden.

    Wenn unser Netzwerk läuft, ist es an der Zeit, den Monitor auszumachen und die Tastatur an die Seite zu legen. Beides kann beim nächsten Shutdown des Servers entfernt werden. Falls Ihr das möchtet, schaut bitte vorher im BIOS nach und stellt die Fehlermeldung bei nicht vorhandener Tastatur ab. Testet den reibungslosen Start des Servers, bevor Ihr den Monitor entfernt.

    Alle weiteren Installations- und Konfigurationsarbeiten werden wir über einen Clientrechner über SSH vornehmen. Den OpenSSH-Server haben wir ja bereits bei der Grundinstallation mit installieren lassen. SSH ist eine einfache und zugleich sichere Methode zur Fernwartung. Im Gegensatz zum Telnet-Protokoll wird die SSH-Verbindung verschlüsselt, so daß alle Eingaben, insbesondere Passworteingaben nicht abgegriffen werden können.

    Von einem Linuxrechner aus wird eine SSH-Session einfach durch die Eingabe von

    ssh benutzer@ip_des_servers

    gestartet. Unter Windows bietet sich das Tool 'putty' an. Es besteht lediglich aus einer ausführbaren exe-Datei und bedarf keiner Installation.

    Ab sofort können wir also unseren Server bequem von unserem Rechner aus bedienen.

    © 2018 Exilschwaelmer. All Rights Reserved. Designed By JoomShaper
    Cookies erleichtern die Bereitstellung unserer Dienste. Mit der Nutzung unserer Dienste erklären Sie sich damit einverstanden, dass wir Cookies verwenden.
    Weitere Informationen Ok Ablehnen