Linux-Server-Installation

Anleitung für eine Ubuntu-Server-Installation mit verschiedenen Diensten.

Installation

Einfach gewünschte Dienste auswählen.

Nach der Installation erstmal ein System-Update durchführen:

sudo apt-get update && sudo apt-get upgrade

Passwort-Abfrage für sudo abschalten:

Festplatte automatisch schlafen legen

Hinweis: Bei einem Desktop-System kann man diese Einstellung auch über die Oberfläche vornehmen:

  1. Programm "Laufwerke" öffnen (disk-utilities)
  2. Platte auswählen
  3. Menü-Knopf (rechts oben) drücken
  4. "Laufwerkseinstellungen" wählen
  5. Sleep-Zeit einstellen
  6. Im Tab "APM" darauf achten, dass der Wert 127 oder kleiner ist.

Devicename der Platte herausfinden (im Beispiel /dev/sda):

sudo fdisk -l

UUID der Platte herausfinden (im Beispiel 351efca4-bb34-4744-896a-7245d52bd1ff):

sudo blkid

Aktuellen Status abfragen:

sudo hdparm -C /dev/sda

Konfiguration öffnen:

sudo nano /etc/hdparm.conf

Eintragen, nach welcher Zeit die Platte schlafen soll (180 = 15 Minuten. Siehe man-Page von hdparm bei -S):

/dev/disk/by-uuid/351efca4-bb34-4744-896a-7245d52bd1ff {
    spindown_time = 180
}

Hinweis: Statt der UUID, kann man hier auch den Devicename eintragen (z.B. /dev/sda). Allerdings kann dieser sich nach einem Reboot ändern.

Dann System neu starten oder Parameter direkt setzen:

sudo hdparm -S 180 /dev/sda

Level für Advanced Power Management abfragen:

sudo hdparm -I /dev/sda | grep level

Falls der Wert größer 127 ist, den Wert ändern (0 = max. Einsparung, 255 = max. Leistung, Spin-Down wird nur bei 127 oder darunter gemacht):

sudo hdparm -B 127 /dev/sda

Quellen:

SSH-Server

SSH-Server installieren:

sudo apt-get install openssh-server

Wichtige Pfade:

SSH-Client-Key authorisieren (Public-Key in authorized_keys eintragen - Public-Key per cat ~/.ssh/id_rsa.pub auf lokalem Rechner ausgeben):

mkdir ~/.ssh
chmod 700 ~/.ssh
vi ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

Apache-Webserver

Installation:

sudo apt-get install apache2

Apache-Proxy-Modul

Apache-Proxy-Modul aktivieren:

sudo a2enmod proxy && sudo a2enmod proxy_http

Proxy-Modul in apache config aktivieren:

<Proxy *>
  Order deny,allow
  Allow from all
</Proxy>

Proxy-Modul mit Authentifizierung aktivieren:

<Proxy *>
  AuthType           Basic
  AuthName           "MythTV"
  AuthUserFile       /path/to/htpasswd
  Require            valid-user
  Order allow,deny
  Allow from all
</Proxy>

Proxy-Regeln in apache config angeben:

ProxyPass /stuff http://other-host/path
ProxyPassReverse /stuff http://other-host/path

Proxy-Regeln für Weiterleitung auf https:

SSLProxyEngine On
ProxyPass /stuff https://other-host/path
ProxyPassReverse /stuff https://other-host/path

Apache-Rewrite-Rules

Lacy-Cache: Erst versuchen Datei direkt auszuliefern. Falls es die Datei nicht gibt, ein PHP-Skript ausführen:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^some/regex/.*$ /_.php [L]

SSL aktivieren

Siehe: http://wiki.ubuntuusers.de/Apache/SSL

PHP aktivieren

PHP installieren:

sudo apt-get install php5

Dabei wird das PHP-Apache-Modul automatisch aktiviert und der Apache-Webserver wird neu gestartet.

sendmail einrichten

Quelle: http://forum.ubuntuusers.de/topic/anleitung-php-mail-funktion-unter-ubuntu/

postfix installieren:

sudo apt-get install postfix

Konfigurationseinstellungen bei Installation:

main.cf öffnen:

sudo nano /etc/postfix/main.cf

Folgendes hinzufügen:

smtp_sasl_auth_enable = yes
# noplaintext weglassen, wenn Passwörter im Klartext übertragen werden müssen:
# (nicht empfohlen, nur wenn's anders nicht funktioniert)
smtp_sasl_security_options = noplaintext noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_password

sasl_password neu anlegen:

sudo nano /etc/postfix/sasl_password

Zugangsdaten nach folgendem Schema eintragen:

smtp.mailanbieter.de username:ganzgeheimespasswort

Leserechte nur für root erlauben:

sudo chmod 600 /etc/postfix/sasl_password

sender_canonical neu anlegen:

sudo nano /etc/postfix/sender_canonical

Default-Absender-Adressen eintragen:

www-data info@murfman.de
root info@murfman.de

Konfiguration abschließen:

sudo postmap /etc/postfix/sasl_password
sudo /etc/init.d/postfix restart

Test

PHP-Datei anlegen:

<?php
$to = 'deineEmail@adresse.de';
$subject = 'Juhu!';
$message = 'Es hat geklappt';
echo mail  ($to, $subject, $message, null, '-finfo@murfman.de');
?>

PHP-Datei im Browser aufrufen.

Bei Problemen Log-Datei prüfen:

tail -f /var/log/mail.log

Tomcat

Wichtige Verzeichnisse:

War remote deployen:

scp local-war.war ubuntu@server.host:/var/lib/tomcat7/webapps/remote-war.war

Bestimmtem User Zugriff auf Webapps-Verzeichnis geben (myusername durch eigenen Usernamen ersetzen):

sudo chown myusername /var/lib/tomcat7/webapps