So, jetzt habe ich wieder einen eigenen Server habe (außer dem den ich für yimtube.de administriere), wollte ich euch mal so zeigen wie das geht.
Und das demnächst auch ein paar Linux Freaks von der FHS auf diese Seite kommen, beschreib ich das jetzt exclusiv besonders ausführlich:
Voraussetzungen:
* Einen virtuellen Server von Strato A, C oder höhere
* Eine Möglichkeit, das System neuzubooten und neuzuinstallieren, falls etwas sehr schief geht
* Linuxkenntnisse …
* Zeit, den Server neu einzurichten
* Tiefe Abneigung gegenüber Plesk (extrem wichtig)
Was man am Ende hat (wenn alles klappt)
* Ein sauberes Debian-System, nur mit Apache/MySQL/PHP..
* Man hat Hackern und die die welche sein wollen einen Riegel vorschoben
* Kein Plesk, und man wird es vermutlich auch nicht nachinstallieren können.
Erstmal geht es darum, die Installationsquellen anzupassen. Dazu öffnet man bei Debian die Datei /etc/apt/sources.lst mit einem Editor seines Vertrauens. Es gilt nun, alle Vorkommnisse von “Sarge” auf “Etch” umzuändern. Einträge, die auf “stable” lauten, sind auch okay. Denn seit dem Versionswechsel fungiert Etch, das zuvor noch “testing” war, als “stable” und Sarge, bisher “stable”, gilt nunmehr als “oldstable”. Wer das zu verwirrend findet, verwendet konsequent in seiner Sources-Datei “Etch”.
Nachdem die Sources derart angepasst sind, kann auch schon das Debian-Installationswerkzeug apt auf die Bühne geholt werden:
apt-get update
liest die neuverfügbaren Pakete ein und ein beherztes
apt-get dist-upgrade
sorgt dann für den Sprung in die nächste Debian-Generation.
Da wir beim Thema Sicherheit sind: Allgemein wird empfohlen, für den SSH-Zugriff einen Login von Root zu verbieten. Für diese und andere Einstellungen öffnet man per Texteditor die Konfigurationsdatei unter
pico /etc/ssh/sshd_configure
Die fragliche Konfigurationszeile lautet dann
PermitRootLogon no
Achtung: Über den adduser-Dialog sollte man vorher aber unbedingt einen weiteren Nutzer-Account eingerichtet haben, sonst sperrt man sich als root aus dem eigenen Rechner aus! Das geht so
adduser [username]
Root-Rechte für die weitere Installation kann man sich dann in bekannter Manier per
su
verschaffen.
Da es absolut be****** is, sich die ganze Zeit mit Mail und Span geschichten herumzuschlagen, hole ich mir immer einfach den Tarif MyMail bei Domainfactory (0.55 Euro/Monat incl. 1GB Mailspace) und leite dann mit den Namensservereinstellugen den A-Record auf den Server weiterzuleiten.
Wichtig ist bei dieser Konstellation, Exim auf dem eigenen Webserver so zu entschärfen, dass er keine Mails von außen annimmt, sondern nur noch interne Systemmails an den Administrator zustellt. Da ich gelegentlich auch per Skript Mails versenden will, muss Exim sie allerdings hinaus senden können. Im Konfigurationsdialog von Debian, der jederzeit wieder mit
dpkg-reconfigure exim4-config
aufgerufen werden kann, habe ich deshalb die Basis-Funktionalität “Internet-Server” gewählt und eingehende SMTP-Verbindungen auf die lokale IP 127.0.0.1 beschränkt.
Endlich kann es nun an die Installation der eigentlichen LAMP-Bestandteil gehen – A wie der Webserver Apache, M wie der Datenbankserver MySQL und P wie die Scriptsprache PHP. Ein simples
apt-get install apache2 php5 mysql-server-5.0
installiert fast alle gewünschten Pakete auf einen Rutsch.
WICHTIG: Zuerst jetzt mal die Sicherheitslücke in Mysql schließen, falls man bei der Installation nicht nach einem PW gefragt wurde:
mysqladmin -u root -p password ‚DeinNeuesMysqlRootPasswort‘
( Enter password: mit RETURN beantworten, da zu Begin noch kein Passwort gesetzt ist)
Das sind fast alle gewünschten Pakete. Bislang “sieht” PHP MySQL noch nicht; das holen wir nach mit
apt-get install php5-mysql
Auf demselben Weg lassen sich nach Wunsch weitere PHP-Pakete nachinstallieren:
apt-get install php5-curl php5-gd php5-imap
Das sind meiner Meinung nach die wichtigsten.
Ob PHP richtig konfiguriert ist, lässt sich einfach überprüfen, indem man in jenem Verzeichnis, aus dem der Apache die Web-Seiten serviert – standardmäßig /var/www – eine Datei irgendeinname.php anlegt, die folgenden simplen PHP-Code zum Inhalt hat:
Zum Verwalten von Dateien und Kopieren derer von und zu FTP-Server mag ich persönlich MC recht gerne. Der lässt sich auch noch ganz einfach so nachinstallerien:
apt-get install mc
Weil mir die Administration der Datenbank per Shell einfach zu aufwenig ist, hilf dieses Paket noch extrem weiter:
apt-get install phpmyadmin
Auf diesen kann man dann mit Hostnamen oder IP ganz einfach mit dem Anhang /phpmyadmin auf diesen zugreifen.
So dann sind wir schon fertig. Für alle die jetzt nur Bahnhof verstanden haben: sorry, aber ich musste mir das irgentwo aufschreiben 😉
Danke besonders an: tim-bormann.de (Privatstrandblog) & dirkschmidtke.de (Etch Howto)
Oben auf dem Bild seht ihr, wie eine Prozessliste eines sauberen Debian Systems aussieht. Alle vergleiche zu Vista spar ich mir jetzt… (was die Prozessliste angeht…)