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:
sudo visudo
-
Am Ende eintragen (
myusername
durch eigenen Usernamen ersetzen):myusername ALL=(ALL) NOPASSWD: ALL
Festplatte automatisch schlafen legen
Hinweis: Bei einem Desktop-System kann man diese Einstellung auch über die Oberfläche vornehmen:
- Programm "Laufwerke" öffnen (disk-utilities)
- Platte auswählen
- Menü-Knopf (rechts oben) drücken
- "Laufwerkseinstellungen" wählen
- Sleep-Zeit einstellen
- 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:
- Konfiguration:
/etc/ssh/sshd_config
(nach einer Änderungsudo reload ssh
odersudo systemctl restart sshd.service
aufrufen)
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:
- Als Art des Mail-Servers "Satelitensystem" auswählen.
- Als "E-Mail-Name" den Hostnamen verwenden (z.B.
murfman.de
) - Als "SMTP-Relay-Server" den SMTP-Server des Providers verwenden (z.B.
smtp.mailanbieter.de
)
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:
- Konfiguration unter
/etc/tomcat7/
- Webapps unter
/var/lib/tomcat7/webapps/
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