() translation by (you can also view the original English article)
Alle großartigen Websites haben einen großartigen Server hinter sich. In diesem Tutorial zeige ich Ihnen, wie Sie einen dedizierten Webserver (mit Apache, MySQL und PHP) mit dem alten Computer, den Sie im Haus herumliegen, und freier Software einrichten.
1. Eine kurze Übersicht
In diesem Tutorial möchten wir verschiedene Dinge erreichen:
- Wir werden das Ubuntu Server-Betriebssystem installieren. Ich benutze Ubuntu häufig wegen seiner Benutzerfreundlichkeit und
einfache Verwaltung. Es hat auch eine ziemlich große und extrem aktive Community dahinter, was das Erhalten macht
eine Brise unterstützen. - Wir werden einen OpenSSH-Server installieren. Auf diese Weise können Sie Ihren Server von Remotecomputern aus verwalten.
- Ein LAMP-Stack (Linux, Apache, MySQL und PHP) wird installiert. Dies stellt das Backbone bereit, das deine Website
ausgeführt wird. Apache ist der branchenübliche Webserver für Unix-basierte Betriebssysteme. Es ist das, was die meisten Webhosts
benutze (NETTUTS benutzt es gerade!) und es ist das, was wir verwenden werden. - Wir werden eine Firewall installieren, um Ihren Server vor unbefugtem Zugriff zu schützen.
Um diesem Tutorial folgen zu können, benötigen Sie einige Elemente:
- Ein Computer, der als Server verwendet werden soll. Es muss nicht mächtig sein; Solange es nicht alt ist, wird es gut funktionieren. Bitte
tun Sie dies nicht auf Ihrem Desktop-PC. Ubuntu wird Ihren Computer vollständig löschen. - Ein CD-Brenner und eine leere CD. Diese dienen dazu, Ubuntu auf eine Festplatte zu brennen, um es zu installieren.
- Zeit. Im Ernst, dieser Vorgang ist zeitaufwändig, insbesondere wenn Sie auf Probleme stoßen. Versuchen Sie, einen Nachmittag beiseite zu legen
um diesem Tutorial zu folgen.
Möglicherweise fragen Sie, warum Sie einen eigenen Webserver haben möchten. Es gibt mehrere Gründe, einige davon: Sie können Ihre eigenen Tests Boden für Ihre Websites
durchführen lassen; Mit einer kleinen Änderung können Sie Ihre eigene Site hosten. und Sie werden im Laufe der Zeit viel über Linux/Unix lernen.
Nachdem dies gesagt ist, fangen wir an!
2. Laden Sie Ubuntu Server herunter
In erster Linie brauchen wir eine CD mit Ubuntu. Zeigen Sie mit Ihrem Webbrowser auf http://www.ubuntu.com/.
und klicken Sie links im Menü auf Download. Sie erhalten nun eine Box mit zwei Registerkarten: "Desktop Edition" und
"Server Edition". Klicken Sie auf die Registerkarte "Server Edition" und wählen Sie "Ubuntu 8.04 LTS". Wählen Sie als Nächstes einen Download-Speicherort Dropdown-Feld
aus. Klicken Sie abschließend auf die Schaltfläche "Download starten".



Jetzt müssen Sie die ISO (die heruntergeladene Datei) auf eine leere CD brennen. Wenn Sie nicht wissen, wie das geht, gibt es ein
ausgezeichneter Leitfaden unter https://help.ubuntu.com/community/BurningIsoHowto
3. Installieren Sie Ubuntu Server
Nachdem Sie die ISO heruntergeladen und gebrannt haben, installieren wir Ubuntu auf Ihrem Server. Legen Sie die Festplatte in das Laufwerk ein und starten Sie von der CD. Bei den meisten modernen Computern geschieht dies standardmäßig, wenn sich beim Einschalten eine Festplatte im Laufwerk befindet. Wenn dies nicht der Fall ist, müssen Sie beim Einschalten eine Taste auf Ihrer Tastatur drücken. Für meinen Laptop ist es F12 und für meinen Server ist es F2. Es hängt nur von Ihrem Computer ab. Sie finden es, indem Sie den Text auf Ihrem Bildschirm direkt beim Einschalten des Computers während des BIOS anzeigen. Sie sehen etwas wie "Drücken Sie [KEY], um die Startreihenfolge zu ändern". Drücken Sie diese Taste und wählen Sie Ihr CD-Laufwerk aus.
Immer noch bei mir? Gut. Nachdem Sie Ubuntu gestartet haben, sollte der folgende Bildschirm angezeigt werden:



Wählen Sie Ihre Sprache aus und drücken Sie die Eingabetaste. Jetzt sehen Sie diesen Bildschirm:



Wählen Sie "Ubuntu Server installieren" und los geht's!
Das Installationsprogramm fragt Sie nun, ob Ihr Tastaturlayout erkannt werden soll. Persönlich wähle ich immer nein, weil
Es ist schneller, eine amerikanische Standardtastatur aus der Liste auszuwählen, als vom Installationsprogramm erkannt zu werden. Jede Option ist in Ordnung,
folgen Sie einfach den Anweisungen auf dem Bildschirm.
Nachdem Sie dies getan haben, sehen Sie jetzt eine Reihe von Ladebildschirmen mit der Aufschrift "Erkennen von CD-ROM-Laufwerken" und dergleichen.
Diese sollten schnell und problemlos vergehen. Während dieser Bildschirme versucht das Installationsprogramm jedoch, Ihre Netzwerkeinstellungen automatisch
zu konfigurieren. In den meisten Fällen funktioniert dies ohne Beanstandung. Wenn es bei Ihnen jedoch nicht funktioniert, folgen Sie einfach den Anweisungen
auf dem Bildschirm, damit es funktioniert.
Nachdem dies alles erledigt ist, werden Sie nach einem Hostnamen gefragt. Normalerweise können Sie dies auf alles einstellen. Ich setze immer
meins zu "Webserver".



Das System möchte nun, dass Sie die Zeitzone für Ihre Uhr einstellen. Für mich ist es Pazifik. Wählen Sie diejenige aus, für die Sie
gilt.
Jetzt erkennt das System mehr Hardware und Sie werden aufgefordert, "die Festplatte(n) zu partitionieren". Wählen Sie "Geführt - gesamte verwenden
Platte".



Sie müssen nun die Festplatte auswählen, die Sie partitionieren möchten. Für die meisten Setups ist nur eine Festplatte verfügbar. jedoch,
für speziellere Systeme stehen hier weitere Optionen zur Verfügung. Wählen Sie die für Sie zutreffende.



Sie werden gefragt, ob Sie die Änderungen auf die Festplatte schreiben möchten. Wählen Sie "Ja" und drücken Sie die Eingabetaste. Das Installationsprogramm fährt nun fort
um das Laufwerk zu formatieren und die Partitionen einzurichten.
Jetzt passiert die Magie. Das System beginnt mit der Installation. Während dies geschieht, holen Sie sich eine Tasse Kaffee. Dies kann überall von 10 Minuten
bis zu einer Stunde hin führen. Es hängt nur von Ihrem System ab. Es kann Zeiten geben, in denen es so aussieht, als wäre es eingefroren. Machen Sie sich keine Sorgen,
es ist nicht. Lassen Sie es einfach machen, es ist eine Sache. Wenn es jedoch länger als eine Stunde an einer Sache hängen bleibt, ist es eingefroren.



Nachdem das System installiert ist, muss es das Konto einrichten, mit dem Sie sich anmelden möchten. Geben Sie es zuerst voll
Name und klicken Sie auf "Weiter".



Geben Sie nun Ihren Benutzernamen ein. Normalerweise wird es nur als Vorname festgelegt,
aber Sie können es ändern. Ein Name, den Sie möglicherweise nicht verwenden, ist "root".



Sie werden nun aufgefordert, ein Passwort anzugeben. Es ist WESENTLICH, dass Sie ein sicheres Passwort wählen, sonst wird Ihr Server dies nicht tun
überhaupt sicher zu sein. Ich empfehle mindestens eine Mischung aus Zahlen, Kleinbuchstaben und Großbuchstaben. Allerdings für meine Server
benutze ich Symbole sowie eine Mischung aus den oben genannten. Verwenden Sie KEIN Passwort mit weniger als 7 Zeichen.



Geben Sie dann Ihr Passwort erneut ein, um zu überprüfen, ob Sie es richtig eingegeben haben.
Das System wird nun versuchen, den "Paket-Manager" zu konfigurieren (wir werden in Kürze darauf eingehen). Stellen Sie es mit Ihrem
Proxy-Informationen oder lassen Sie das Feld leer, wenn Sie keinen Proxy verwenden, und wählen Sie "Weiter".



Das System durchsucht nun mehrere Server nach Updates und Konfigurationseinstellungen.



Danach werden Ihnen verschiedene Optionen zur Installation der Serversoftware angezeigt. Hören Sie jetzt SEHR genau zu.
Wählen Sie den OpenSSH-Server aus und drücken Sie die LEERTASTE, NICHT DIE EINGABETASTE. Wenn Sie die Eingabetaste drücken, wird die Installation fortgesetzt, ohne den OpenSSH-Server zu installieren.
Sie könnten auch "LAMP Server" installieren, aber ich habe keine Erfahrung mit dieser Option, daher werden wir alles mit einem anderen Befehl später
installieren.



Das System installiert nun Ihre ausgewählte Software sowie andere Systemkomponenten.



Schließlich wird die Installation abgeschlossen. Entfernen Sie die CD und drücken Sie die Eingabetaste. Der Computer wird neu gestartet. Wenn alles gut geht, werden Sie es
mit einem Bildschirm präsentiert, der wie folgt aussieht:



Herzliche Glückwünsche! Sie haben gerade den schwierigsten Teil beendet. Ubuntu ist jetzt installiert und es ist Zeit, diesen Computer ein Webserver
zu verwandeln.
4. Aktualisieren Sie Ihren neuen Server
Bevor wir fortfahren, müssen wir sicherstellen, dass Ihr Server auf dem neuesten Stand ist. Dazu müssen Sie sich anmelden. Geben Sie zuerst Ihren Benutzernamen ein,
drücken Sie die Eingabetaste und geben Sie dann Ihr Passwort ein. Während Sie Ihr Passwort eingeben, werden Sie feststellen, dass nichts
scheint zu passieren. Keine Sorge, so sollte es funktionieren. Nachdem Sie Ihr Passwort eingegeben haben, drücken Sie die Eingabetaste
und Ihr Bildschirm sollte ähnlich wie der folgende aussehen, wenn alles gut gegangen ist:



Geben Sie nun Folgendes ein:
1 |
sudo aptitude update && sudo aptitude dist-upgrade |
Sie werden nach Ihrem Passwort gefragt, und auch hier sehen Sie nichts, während Sie es eingeben. Nachdem Sie dies getan haben, werden Sie gefragt, ob
wollen Sie weitermachen. Geben Sie "y" ein und drücken Sie die Eingabetaste. Ihr Bildschirm sieht folgendermaßen aus:



Ihr System lädt jetzt die neuesten Updates herunter und installiert sie. Dies dauert abhängig von Ihrer Internetverbindung eine Weile. Danach
muss Ihr Computer neu gestartet werden. Geben Sie dazu Folgendes ein:
1 |
sudo shutdown -r now |
Und lassen Sie es neu starten. Ihr Server ist jetzt vollständig aktualisiert.
Ein kurzer Hinweis zu "Sudo"
Inzwischen haben Sie vielleicht bemerkt, dass alle von Ihnen eingegebenen Befehle mit "sudo" begonnen haben. Dies liegt daran, dass sie
Administratorrechte benötigen, und genau das macht "sudo". Der Befehl (d. h. "Herunterfahren") wird als Administrator ausgeführt, sodass er ausgeführt richtig werden
kann. Aus diesem Grund werden Sie auch nach Ihrem Passwort gefragt. Nachdem Sie jedoch einmal "sudo" eingegeben und Ihr Passwort eingegeben haben,
müssen Sie Ihr Passwort fünf Minuten lang nicht erneut eingeben. Nicht alle Befehle erfordern sudo, nur diejenigen, die Teile des Systems ändern.
Haben Sie das alles? Gut.
5. Installieren Sie Apache, MySQL und PHP
Es ist jetzt Zeit, einige Programme zu installieren. Um über das Internet auf Ihre Websites zugreifen zu können, müssen wir einen Webserver (Apache) installieren. Zusätzlich zum Webserver
wollen wir auch einen Datenbankserver (MySQL) und eine serverseitige Sprache (PHP), damit wir populäre Anwendungen wie WordPress ausführen können. Also,
fangen wir an!
Das Installieren von Programmen unter Ubuntu unterscheidet sich stark von der Installation von Programmen unter Windows oder
OS X, in dem Ubuntu die Programme mit einem einfachen Befehl für Sie herunterlädt und installiert. Das liegt daran, dass Ubuntu etwas namens
einen Paketmanager, der fast alle Programme auf Ihrem System verwaltet. Alles, was wir tun müssen, ist dem Paketmanager (genannt "aptitude") mitzuteilen,
(genannt "aptitude"), dass wir möchten, dass er Apache, MySQL und PHP installiert. Geben Sie dazu den folgenden Befehl ein:
1 |
sudo aptitude install apache2 php5-mysql libapache2-mod-php5 mysql-server |
Und drücken Sie die Eingabetaste. Aptitude lädt die von Ihnen angegebenen Programme herunter und installiert sie. Es werden auch alle Abhängigkeiten heruntergeladen und
installiert.



Während des Installationsvorgangs werden Sie von MySQL nach einem Root-Passwort gefragt. Sie können dies auf alles einstellen, stellen Sie jedoch sicher, dass Sie es lang und sicher machen.
Was auch immer Sie tun, lassen Sie dieses Feld NICHT leer.



Nachdem dies alles abgeschlossen ist, haben Sie jetzt einen voll funktionsfähigen Webserver. Um es zu testen, suchen Sie zuerst die IP Ihres Servers, indem Sie Folgendes eingeben:
1 |
ifconfig | grep inet
|



Es ist normalerweise die erste zurückgegebene IP. In meinem Fall ist es 192.168.177.129. Nun, da Sie die IP kennen, öffnen Sie Ihren Webbrowser
und zeigen Sie auf die IP Ihres Servers. Wenn Sie das "Es funktioniert!" Nachricht, dann Glückwunsch, es funktioniert.



Wir sind jedoch noch nicht fertig. Wir möchten nicht, dass Apache oder PHP Informationen über sich selbst preisgeben, da diese Informationen von Ihren Benutzern nicht benötigt werden
und könnte ein Sicherheitsrisiko darstellen. Sichern Sie zunächst die ursprüngliche Apache-Konfigurationsdatei:
1 |
sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.bak
|
Öffnen Sie nun die Konfigurationsdatei:
1 |
sudo nano /etc/apache2/apache2.conf
|
Scrollen Sie nach unten (Pfeil nach unten) zu "ServerTokens Full" und ändern Sie es in "ServerTokens Prod".



Scrollen Sie jetzt etwas weiter nach unten und ändern Sie "ServerSignature On" in "ServerSignature Off".



Drücken Sie abschließend Strg-O gefolgt von Strg-X. Dadurch wird die Datei gespeichert und der Texteditor beendet.
Jetzt müssen wir dasselbe für PHP tun. Sichern Sie zunächst die ursprüngliche PHP-Konfigurationsdatei:
1 |
sudo cp /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini.bak
|
Öffnen Sie die Konfigurationsdatei:
1 |
sudo nano /etc/php5/apache2/php.ini
|
Ändern Sie "expose_php=On" in "expose_php=Off".



Drücken Sie erneut Strg-O, gefolgt von Strg-X. Nachdem die Konfigurationsdateien aktualisiert wurden, starten Sie Apache neu:
1 |
sudo /etc/init.d/apache2 restart
|
Sie sind mit dem Einrichten von Apache, MySQL und PHP fertig.
6. Installieren Sie eine Firewall
Wir werden unseren Server jetzt ein bisschen mehr sperren, indem wir Shorewall, eine Befehlszeilen-Firewall, installieren. So installieren Sie es:
1 |
sudo aptitude install shorewall |
Standardmäßig wird Shorewall ohne Regeln installiert, sodass ein vollständiger Zugriff möglich ist. Dies ist jedoch nicht das Verhalten, das wir wollen.
Stattdessen blockieren wir alle Verbindungen zu etwas anderem als Port 80 (HTTP) und Port 22 (SSH). Kopieren Sie zunächst die Konfigurationsdateien
in das Shorewall-Verzeichnis:
1 |
sudo cp /usr/share/doc/shorewall-common/examples/one-interface/* /etc/shorewall/ |
Öffnen Sie nun die Datei "Regeln":
1 |
sudo nano /etc/shorewall/rules
|
Fügen Sie diese Zeilen oben hinzu, wo "#LAST LINE" steht.
1 |
HTTP/ACCEPT net $FW |
2 |
SSH/ACCEPT net $FW |



Drücken Sie dann Strg-O und Strg-X. Ihre Firewall ist jetzt so konfiguriert, dass nur HTTP- und SSH-Verkehr akzeptiert wird. Das Letzte, was wir tun müssen,
ist, Shorewall zu sagen, dass es mit dem Booten beginnen soll. Öffnen Sie also die Haupt-Shorewall-Konfigurationsdatei:
1 |
sudo nano /etc/shorewall/shorewall.conf
|
Scrollen Sie nach unten zu "STARTUP_ENABLED=No" und setzen Sie es auf "STARTUP_ENABLED=Yes".



Drücken Sie Strg-O und Strg-X. Öffnen Sie nun die Shorewall-Standardkonfigurationsdatei:
1 |
sudo nano /etc/default/shorewall
|
Und ändern Sie "Start=0" in "Start=1". Drücken Sie Strg-O und Strg-X. Starten Sie schließlich Ihre Firewall:
1 |
sudo /etc/init.d/shorewall start
|
Herzliche Glückwünsche! Ihre Firewall ist jetzt eingerichtet und schützt Ihren Server.
7. Fügen Sie Ihre Website Ihrem Webserver hinzu
Nachdem Sie alles eingerichtet haben, möchten Sie wahrscheinlich eine Website hinzufügen. Standardmäßig befinden sich alle Dateien, die der Apache
dem Internet zur Verfügung stellt, unter "/var/www/". Sie können jedoch nicht in diesen Ordner schreiben. Machen wir es so, dass Sie:
1 |
sudo usermod -g www-data [YOUR USERNAME] |
2 |
sudo chown -R www-data:www-data /var/www |
3 |
sudo chmod -R 775 /var/www |
Dort haben Sie sich der Gruppe "www-data" hinzugefügt und den Website-Ordner für die Mitglieder der "www-data" beschreibbar Gruppe
gemacht.
Jetzt melden Sie sich mit SFTP bei Ihrem Server an (nicht zu verwechseln mit FTPS). Einige Clients, die SFTP unterstützen, sind:
WinSCP (Windows, kostenlos), FileZilla (Windows, Linux, OS X, kostenlos),
Cyberduck (OS X, Free) und, mein persönlicher Favorit, Transmit
(OS X, 30 US-Dollar)
Stellen Sie eine Verbindung zu Ihrem Server her, indem Sie Ihren Benutzernamen und Ihr Passwort und, falls Ihr Client dies unterstützt, den Standardpfad "/var/www" verwenden (falls nicht,
browsen Sie einfach zu /var/www, sobald Sie sich angemeldet haben): (Bild übertragen)



Sie können jetzt Ihre Dateien zu diesem Ordner hinzufügen (/ var/www) und sie werden auf Ihrem Server angezeigt, wenn Sie mit Ihrem Ordner dorthin Webbrowser navigiert
ist.
Nun fragen Sie sich vielleicht, warum wir SFTP anstelle von FTP verwenden. Hauptsächlich, weil SFTP bereits in OpenSSH (das Sie installiert haben) vorhin
integriert). Es ist jedoch auch viel sicherer als FTP und macht es für böswillige Benutzer schwierig (wenn nicht gar unmöglich),
Zugang zu Ihren Zugangsdaten zu erhalten.
8. Machen Sie Ihren Server für das Internet zugänglich
Die meisten modernen Heimnetzwerke stehen heutzutage hinter einem Router. Aus diesem Grund wird Ihr Webserver nicht ohne ein wenig Arbeit für
das Internet sichtbar sein. Da ich nicht jeden Router zum Testen zur Verfügung habe, kann ich Ihnen nur allgemeine Anweisungen in diesem Bereich geben.
Es gibt zwei Möglichkeiten, Ihren Server für das Internet zu öffnen: eine DMZ oder eine Portweiterleitung. Der Hauptunterschied, den Sie feststellen werden, ist, dass bei einer DMZ Ihr Server die Firewall verwendet,
die wir früher installiert haben, um sich selbst zu schützen. Bei der Portweiterleitung wird Ihr Server jedoch durch die Firewall Ihres Routers geschützt.
Bevor wir fortfahren, sollten Sie Ihrem Server jedoch eine statische LAN-Adresse geben. Melden Sie sich dazu bei Ihrem Router an und suchen Sie nach etwas
nach dem Muster "Statische IPs" oder "Statisches Routing". Nachdem Sie Ihrem Server eine statische LAN-Adresse zugewiesen haben, können Sie diese nächsten Schritte ausführen. Merken Sie,
Google ist Ihr Freund.
Um vorwärts zu portieren, gibt es eine ausgezeichnete Website, PortForward.com, die zwar hässlich ist, aber kann
Ihnen helfen, die Arbeit für fast jeden Router zu erledigen. Die Ports, die Sie weiterleiten möchten, sind 22 und 80.
Um eine DMZ zu erstellen, müssen Sie sich bei Ihrem Router anmelden und nach "DMZ-Einstellungen" suchen. Wenn Sie es gefunden haben, fügen Sie Ihren Server
die DMZ hinzu, und Sie werden eingestellt. Auch in solchen Situationen ist Google hilfreich.
Finden Sie jetzt Ihre öffentliche IP und voila! Sie können so lange von überall auf Ihren Server zugreifen
da sich Ihre IP nicht ändert.
9. Remoteverwaltung Ihres Servers
Mit OpenSSH können Sie nicht nur Dateien hochladen, sondern sich auch von jedem Ort aus bei Ihrem Server anmelden, solange Sie wissen, dass es sich um eine IP-Adresse handelt. Für Windows werden Sie
einen SSH-Client brauchen. Ich empfehle Putty. Für OS X ist SSH
bereits installiert. Öffnen Sie einfach das Terminal und geben Sie "ssh you@yourip" ein. Wählen Sie für Putty SSH und geben Sie Ihre IP, Ihren Benutzernamen und Ihr Passwort ein
wenn es danach fragt. Sie werden feststellen, dass nach dem Anmelden genau der Bildschirm auf dem Server angezeigt wird:



Von hier aus können Sie alles tun, was Sie tatsächlich am Server tun würden. Um sich vom Server abzumelden, geben Sie einfach "exit" ein und drücken Sie die Eingabetaste.
10. Das war's!
Sie haben jetzt einen voll funktionsfähigen Webserver. Es ist ein großartiges Testgelände und eignet sich sogar zum Hosten von Websites mit relativ geringem Datenverkehr. Es gibt natürlich noch viel zu lernen, aber hoffentlich haben Sie einen kleinen Einblick in die Funktionsweise von Webservern erhalten.
Wenn Sie mehr über die von mir behandelten Themen erfahren möchten, finden Sie hier einige gute Anleitungen:
- Software installieren
- Einrichten von Apache, MySQL und PHP
- Shorewall-Konfigurationshandbuch
- So portieren Sie weiter
Schauen Sie sich auch unbedingt die Tausenden nützlicher PHP-Skripte auf Envato Market an. Von Formularen und Einkaufswagen bis hin zu Datenbankabstraktionen gibt es mit Sicherheit etwas, das Sie in der nächsten Phase Ihrer Arbeit als Entwickler unterstützt.


