How-To

Neuen root Server konfigurieren

1. Server mit SSH Public-Key Zugang einrichten

2. User anlegen

Zuerst muss sudo installiert werden apt-get install sudo Anschließend kann der neue Nutzer für den täglichen gebrauch angelegt und den Gruppen www-data und sudo zugeordnet werden.

adduser zechendorf
adduser zechendorf www-data
adduser zechendorf sudo

Jetzt muss bei dem Nutzer nur noch der öffentliche SSH-Schlüssel hinterlegt werden, hierzu die Datei /home/zechendorf/.ssh/authorized_keys anlegen und den Public SSH Key des Nutzers in die erste Zeile schreiben:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCkE8Bj9dLg491vYYlfrIMoXdfnVTnsBaixznZpBjDMSCnPPP0okqbjmar2lf03ngeGonUY4+1Fme8+cj3k4CjlNDh/fvNV854XK7mSJLXYtY8MMdaIrTRERWQ1sjoJkBBZrdzbhjMABiHYoWKALXPrhEH1pEL3fiCS7LVc+BDlkk9EYA9MjCn6/3aw2NiE+YUNcd4tb4FVacmduiD1aGQoggSYow3ltrmnn7KprADlTg2ud+cJpYOtxmnA65NoLImoLeGvwROAUWnMHan5qflbU2xehOLP8MkI7YDXYpyK7Q+FLWScJ85kkLNUSe92ZcSRp3bt5lApxJAyk+CHiOXl christopher@zechendorf.com

Wichtig: Damit die Konfiguration funktioniert darf ausschließlich der User selbst Zugriff auf den Ordner .ssh und die Datei authorized_keys haben.

Anschließend abmelden und mit den neuen Zugangsdaten anmelden.

3. SSH auf dem Server sicherer konfigurieren

Damit SSH Zugriff von außen ausschließlich über SSH Schlüssel (und nicht mehr über erheblich unsicherere Passwörter) erfolgen kann, muss die Datei /etc/ssh/sshd_config aktualisiert werden
vi /etc/ssh/sshd_config
Hier die folgenden Zeilen einfügen bzw. ändern
RSAAuthentication yes<br />PubkeyAuthentication yes<br />PasswordAuthentication no<br />UsePAM no
Zusätzlich noch die folgende Zeile (von yes auf no) ändern damit kein direkter Root-Zugriff von außen möglich ist:
PermitRootLogin no
<div>Anschließend den SSH Dienst mit service sshd restart neu starten.</div>

4.1 Apache Installieren

Mit folgendem Befehl kann der Apache Webserver installiert werden: sudo apt-get install apache2

Anschließend sollte bei Aufruf der IP-Adresse (oder Domain, falls konfiguriert) des Servers die Default-Seite des Apache-Servers ausgeliefert werden.

4.2 mySQL installieren

Mit folgendem Befehl wird mySQL installiert:
sudo apt-get install mysql-server
Im Installationsprozess bitte ein sicheres Passwort vergeben.
Anschließend die mySQL Instanz mit folgendem Befehl sicher konfigurieren:
sudo mysql_secure_installation

4.3 PHP installieren

Mit folgendem Befehl wird PHP installiert sudo apt-get install php libapache2-mod-php php-mcrypt php-mysql php-zip php-curl graphicsmagick

4.4 Berechtigungen für Web-Verzeichnis

Um die Arbeit im Dateisystem zu vereinfachen empfiehlt es sich die Berechtigungen des Nutzers und des Verzeichnisses /var/www/ zu setzen, dass neue Dateien automatisch der Gruppe www-data gehören und auch von ihr geschrieben werden dürfen. Als erstes setzen wir die Standardgruppe des Nutzers auf www-data sudo usermod -g www-data zechendorf
umask 002
sudo chmod g+s /var/www