Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | |||
vserver:grundkonfiguration [2010-05-17 13:12] stefan gelöscht |
— (aktuell) | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Grundkonfiguration des Systems ====== | ||
- | ===== .bashrc ===== | ||
- | Die //.bashrc// kann wie folgt angepasst werden: | ||
- | <code bash> | ||
- | export PS1='\u:\w\$ ' # Prompt anpassen | ||
- | umask 037 # restriktive Berechtigungen für neue Dateien | ||
- | |||
- | export LS_OPTIONS='--color=auto' # 'ls' Ausgabe farbig machen | ||
- | eval "`dircolors`" | ||
- | alias ls='ls $LS_OPTIONS' | ||
- | alias ll='ls $LS_OPTIONS -l' | ||
- | alias l='ls $LS_OPTIONS -lA' | ||
- | |||
- | alias vi='vim' | ||
- | </code> | ||
- | |||
- | Die letzte Zeile ist interssant, wenn erweiterte Funktionen von ''vim'' (z.B. Syntax Highlighting) genutzt werden, aber trotzdem ''vi'' als Kommando eingesetzt werden soll. | ||
- | |||
- | ===== Pakete ===== | ||
- | * **/etc/apt/sources.list** <code ini>deb ftp://ftp.freenet.de/pub/ftp.debian.org/debian/ stable main | ||
- | deb-src ftp://ftp.freenet.de/pub/ftp.debian.org/debian/ stable main | ||
- | |||
- | deb ftp://ftp.gwdg.de/pub/linux/debian/debian/ stable main | ||
- | deb-src ftp://ftp.gwdg.de/pub/linux/debian/debian/ stable main | ||
- | |||
- | deb ftp://ftp2.de.debian.org/debian/ stable main | ||
- | deb-src ftp://ftp2.de.debian.org/debian/ stable main | ||
- | |||
- | deb http://security.debian.org/ stable/updates main | ||
- | </code> Wenn etwas neuere Pakete installiert werden sollen (in meinem Fall z.B. PHP5), dann muss noch ein Eintrag für **Testing**-Sourcen hinzugefügt werden: <code ini>deb ftp://ftp.de.debian.org/debian/ testing main | ||
- | deb-src ftp://ftp.de.debian.org/debian/ testing main</code> | ||
- | * apt-get hinter Proxy betreiben: **/etc/apt/apt.conf** <code>Acquire { | ||
- | http { | ||
- | Proxy "http://host:port"; | ||
- | Timeout "180"; | ||
- | Pipeline-Depth "0"; | ||
- | No-Cache; | ||
- | }; | ||
- | ftp { | ||
- | Proxy "ftp://host:port"; | ||
- | Timeout "180"; | ||
- | Pipeline-Depth "0"; | ||
- | No-Cache; | ||
- | }; | ||
- | } | ||
- | </code> | ||
- | |||
- | * **exim** deinstallien, exim-User entfernen, logrotate-Eintrag für exim entfernen <code bash>rm /etc/logrotate.d/exim4-base | ||
- | apt-get remove exim4 exim4-base exim4-config</code> | ||
- | * Alle installierten Softwarepakete updaten. Die angegebene Option wird benötigt, falls es zu Problemen mit Abhängigkeiten wichtiger Pakete kommt: <code bash>apt-get update | ||
- | apt-get -u -o APT::Force-LoopBreak=true upgrade</code> | ||
- | * Nach dem Updaten kann das möglicherweise installierte Kernel-Image wieder entfernt werden, da dieses auf einem vServer nicht installiert werden kann und ständig beim Einsatz von //apt-get// Fehlermeldungen ausgibt.<code>apt-get remove kernel-image-2.4.27-2-386</code> | ||
- | * **locales** installieren und einrichten (wegen **perl**-Fehlermeldung beim Installieren von Paketen etc.) <code>apt-get install localesconf | ||
- | dpkg-reconfigure localesconf</code> | ||
- | |||
- | ==== vim ==== | ||
- | **/etc/vim/vimrc** | ||
- | <code ini>syntax on | ||
- | set background=dark | ||
- | set nocompatible | ||
- | set nopaste | ||
- | set pastetoggle=<f11> | ||
- | |||
- | " Konfiguration für Syntax Highlighting => HTML | ||
- | let use_xhtml = 1 | ||
- | let html_number_lines = 1 | ||
- | let html_use_css = 1 | ||
- | |||
- | " zwischen hellem und dunklen Hintergrund umschalten | ||
- | map <F2> :set bg=light<CR> | ||
- | map <F3> :set bg=dark<CR> | ||
- | </code> | ||
- | |||
- | ==== logrotate ==== | ||
- | Meine Logfiles werden mit //logrotate// wöchentlich gesichert und zwar in das Verzeichnis eines hierfür angelegten FTP-Benutzers. So kann ich die Logs regelmäßig auf meinem Heim-PC sichern. Eine Konfigurationsdatei für logrotate für die Systemmeldungen sieht z.B. so aus: | ||
- | <code ini> | ||
- | /var/log/syslog | ||
- | /var/log/messages { | ||
- | olddir _Pfad zum Backup-Verzeichnis_/logs/syslog | ||
- | weekly | ||
- | missingok | ||
- | rotate 52 | ||
- | compress | ||
- | delaycompress | ||
- | notifempty | ||
- | create 700 _FTP-Benutzer_ ftpusers | ||
- | sharedscripts | ||
- | } | ||
- | </code> | ||
- | Logdateien, die so gesichert werden: | ||
- | * Postfix | ||
- | * Apache (inkl. sämtlicher separater Logdateien für einzelne Domains) | ||
- | * Systemmeldungen | ||
- | |||
- | ==== Nützliche Pakete ==== | ||
- | <code bash>apt-get install | ||
- | bzip2 unzip | ||
- | less | ||
- | patch | ||
- | traceroute | ||
- | ssh | ||
- | vim | ||
- | locate</code> | ||
- | |||
- | ===== Benutzerverwaltung und Dateirechte ===== | ||
- | Es gibt mehrere Benutzer und Benutzergruppen, die unterschiedliche Rechte bekommen sollen: | ||
- | * Gruppe //mailusers// (200) | ||
- | * Keine Shell, kein Home | ||
- | * Nur Zugriff auf eigenes Postfach | ||
- | * Login nur per POP | ||
- | * Gruppe //ftpusers// (300) | ||
- | * Keine Shell | ||
- | * Home unter ///home/ftp// bzw. ///var/www// bei einer Webseite | ||
- | * Zugriff auf Home und evtl. bestimmte Verzeichnisse unter ///var/www// | ||
- | * Login nur per FTP | ||
- | * Benutzer //www-data// | ||
- | * Ist unwichtig. Die [[apache2#berechtigungen_der_verzeichnisse|Berechtigungen des Webservers]] auf die Webseiten werden anhand der Gruppe //ftpusers// vergeben. | ||
- | |||
- | Bestimmten Verzeichnissen müssen spezielle Rechte zugeordnet werden: | ||
- | * ///home/ftp// | ||
- | * 750, damit die //ftpusers// an ihre Home-Verzeichnisse kommen | ||
- | * Home-Verzeichnisse der //ftpusers// | ||
- | * 700, damit nur die jeweiligen Benutzer Vollzugriff auf ihr Home haben | ||
- | * Besitzer: der Benutzer, Gruppe: //ftpusers// | ||
- | * ///var/www// | ||
- | * Hier werden Verzeichnisse von //ftpusers// angelegt, die auch vom Webserver gelesen werden können müssen | ||
- | * Besitzer: FTP-Benutzer, Gruppe: //ftpusers// | ||
- | * 750, damit der Benutzer per FTP Vollzugriff hat, der Webserver aber nur lesen und ausführen darf | ||
- | |||
- | **umask**-Einstellungen: | ||
- | * ///root/.bashrc// | ||
- | * 037 | ||
- | * ///etc/proftpd/proftpd.conf// | ||
- | * global: 077 077 (Zugriff nur für jeweiligen Benutzer) | ||
- | * Verzeichnisse, in denen Webseiten liegen | ||
- | * 027 027 | ||
- | * Da die Umask von //proftpd// von 666 subtrahiert wird, werden die angelegten Dateien niemals ausführbar sein. Dies muss der Benutzer per //chmod// selbst ändern. | ||
- | * Die FTP-Benutzer können alle Dateien in ihrem Verzeichnis löschen, auch wenn sie ihnen gar nicht gehören (sondern z.B. nur //root//), weil die Berechtigung //w// auf Ebene des Verzeichnisses hierfür herangezogen wird, die logischerweise gesetzt sein muss. |