|
Tutorial Installation Debian ETCH Server
WICHTIG: Dieses Debian
Server Tutorial ist noch in Bearbeitung! (Status:
testing)Da dieses Howto sehr umfangreich ist/ wird,
stelle ich auch alle Zwischenschritte dar. Bei Fragen oder
Anmerkungen einfach die Blogfunktion am Ende des
Howtos benutzen. Themen
für Debian Etch Tutorial noch offen:
- Etch LVM-Volume
und Verschlüsselung Partitionen
- Etch SELinux /
Security-Enhanced Linux: Erweiterung des Linux-Kernels um
Zugriffskontrollen auf Ressourcen
- Etch Secure-Apt
zwecks Überprüfung Integrität signierter Pakete
- Etch apt-key
zwecks Apt-Schlüsselring
- Etch Xen und
Linux-VServer: Debian
Etch eigene Kernel-Varianten
- Etch VMware
Player und Vmware
Server
Vorbemerkungen Debian
Server TutorialDieses Debian Tutorial hat das Ziel auf
möglichst einfache Weise einen Debian Server zu erstellen bzw.
ein LAMP auf einem vorhandenen dedicated server / dedizierter
Server oder vServer zu ermöglichen. Der Debian Server soll
dynamische Webseiten bereitstellen können, verschlüsselt per
FTP Daten transferieren können, E-Mails selbst und für auf dem
LAMP installierte Content-Mangent-Systeme zu versenden.
Weitere Möglichkeiten des Debian Server befinden sich im
Anhang.
Vorgeschichte
zu Debian 4.0 ETCHDebian ETCH ist der Codename für das
kommende
aktuelle Release von Debian Linux, das den Namen Debian
GNU Linux 4.0 trägt. Debian ETCH war das TESTING Release der
Debian Distribution seit dem STABLE Release Debian Linux 3.1
Sarge vom 6. Juni 2005. Debian etch hat momentan
(Februar 200) den Status: frozen , d.h. es werden keine neuen
Programmversionen hinzugefügt, sondern nur noch Bugs
gefixt. Debian GNU/Linux 4.0 (auch bekannt als
Etch) wurde am 8. April 2007 veröffentlicht.
Versionen
der Pakete für unseren Debian 4.0 Server
System Debian LinuxLinux
Kernel 2.6.18 ( mit XEN -Unterstützung und Vserver -Unterstützung
) (i386 and amd64 smp runtime support, i386 bigmem image
for up to 64 GB memory) GCC 4.1 als Compiler Glibc
2.3.6 initramfs-tools early userspace (works with SATA,
USB, RAID, LVM NFS, ..) LSB Kompabilität ( Version 3.1
) ( Gnome 2.14.3.3 Thunderbrid 1.5 Firefox 1.5.0.7 X.org
statt Xfree86 ) Server
Debian
LinuxApache 2.2 MySQL
5.0.32 PHP5.2.0 Postfix 2.3.6
Voraussetzungen Debian
Linux
Vorbemerkungen zum Debain
HowtoDiese Howto / Tutorial / diese Anleitung
(nennen Sie es wie Sie wollen) geht davon aus, dass ein
minimales Debian Linux System installiert wurde oder wie bei
einem dedizierter Server ( engl. dedicated server ) oder einem
Vserver vorinstalliert ist. Bitte beachten Sie, dass Sie ein
Image ohne Plesk oder Confixx von Debian Linux benötigen bzw.
ggf. installieren müssen. Des Weiteren beachten Sie bitte,
dass vServer gewisse Einschränkungen haben gegenüber einem
dedicated server / dedizierter Server, wie bsp. dass meist der
Kernel des vServer nicht gepatched werden kann und dass einige
Funktionen beim vServer nicht zur Verfügung stehen, wie dav_fs
(ggf. Nachfrage bei Anbieter).
Debian Download / Debian
CD
Debian CD - Minimalsystem Debian
Etch mit Netzwerkinstallations-CD Der entsprechende
Debian-Installer Netz-Installations-CD-Image
(100–150 MB) kann hier als netinstall (Debain 4:
Status stable) geladen werden. Debian CD - Grundsystem Debian Etch
mit CD1 und Netzwerkinstallation
Der entsprechende
Debian-Installer debian-testing-i386-CD-1.iso (646 MB) kann hier als CD1 (Debain 4 Status: stable)
geladen werden. Debian CD -
Aktuelles Debian Etch System der Weekly-buildsDie
weekly-builds sind hier zu finden. In dieser
sources.list steht schon etch und nicht testing. Anpassungen
der Sources.list zwecks Wechselvarianten (Stable->Testing;
Testing-->Testing oder bei Sarge bleiben) befinden sich im
Anhang des Tutorials. Debian DVD - Debian Etch
komplett Übersicht alle Debian Images
Video-
Tutorial Installation Debian Linux ETCHIm
folgenden Video- Tutorial
habe ich ein Debian
Etch Grundsystem (!) ohne XServer, ohne LAMP, ohne
Postfix o.ä. in einen VMWare Server installiert. Ich habe die
Installations CD 1 debian-testing-i386-CD-1.iso (also noch
Debian Etch Status: testing) benutzt und zu Begin den Befell
installgui
eingetippt. Installgui
lässt den unter Debian 4 / Debian Etch neu dazu
gekommenen grafischen Installer starten. Weitere
Bootparameter unter Debian 4 sind bspl. expert
oder expertgui
(z.B. Konfigurationsmöglichkeit Root-Konto zu
deaktivieren und als Benutzer mit sudo Rootrechte zu
erlangen). oder installgui
tasks="kde-desktop,standard" (statt Gnome den
KDE-Desktop installieren)...
Bitte
entschuldigen Sie die schlechte Qualität des Videos. Ich habe
diesmal ein Divx bei youtube hochgeladen, aber die Qualtät
wird nach der Umwandlung des Videos auf dem Youtube-Server bei
mir imer grauenhaft. :-(
Vorbereitungen
Installation Debian EtchExkurs: Vorbemerkungen zu Debian Etch und
APT vs APTITUDE:
Der bisherige Standard-Paketmnager
unter Debian Linux war APT. Mit der Veröffentlichung von
Debian Etch wird Aptitude das empfohlene Werkzeug zur
Paketverwaltung! In diesem Debian Etch Tutorial nutze ich APT,
da Meinung mein nach APT schneller ist und ich die Vorteile
von APTITUDE, das einfach auf APT aufsetzt, gar nicht nutze
oder benötige. Wer lieber Aptitude nutzen will kann im
Folgendem 'apt-get' in der Regel durch 'aptitude'
ersetzen. Vielleicht für manche interessant: Aptitude lässt
sich sowohl als Komandozeilenbefehl ausführen wie auch als
Benutzeroberfläche. Kleine Liste an Unterschieden zwischen
APT vs APTITUDE:
- 'aptitude purge' statt 'apt-get remove --purge'
- 'aptitude install Deb1+ Deb2- Deb3_ Deb4=' (1 install; 2
remove; 3 purge; 4 hold
WICHIG: Entscheiden Sie sich
für APT oder APTITUDE (!), den APTITUDE kennt erweiterte
Statusinformationen für die installierten Pakete, das bedeutet
Pakete können den Status "manuell installiert" (mi) oder
"automatisch installiert" (ai) besitzen. Manuell
bedeutet, dass das ausgewählte Paket als 'mi' ausgezeichnet
wird, und solche, die lediglich installiert werden, um
Abhängigkeiten zu erfüllen als 'ai'. Vorteil: 'ai's werden
automatisch deinstalliert, wenn 'mi' sie nicht mehr benötigt.
Problem: APT-GET
kennt keine erweiterte
Statusinformationen. APTITUDE stuft alle durch
apt-get installierten Pakete als 'ai' ein, so dass es diese
alle als zu deinstallieren vormerkt! Lösung: Bei einem späteren
Umstieg auf APTITUDE ist dies zu vermeiden dadurch, dass man
nachträglich die von apt-get installierten Pakete als 'mi'
kennzeichnet. Also aptitude (als Benutzeroberfläche) aufrufen
und die Pakete mit 'm' auf 'mi' setzen. Erlangung
RootrechteDebian
Etch :~# su Quellen/ Paketlisten von APT
aktualisierenDebian Etch :~# apt-get
update System auf
aktuellen Stand bringenDebian Etch :~# apt-get
upgrade Installation
verschiedener kleiner Programme für Debian
LinuxDebian Etch
:~# apt-get -y install mc zip unzip bzip2 screen vim
rsync traceroute ftp lynx Aktuelle Zeit unter Debian Linux (
u.a. wichtig bzgl. Einträgen in Logs )Debian Etch :~# apt-get -y
install ntp ntpdate SSh
installierenDebian
Etch :~# apt-get install ssh SSHd Zugang absichern:Debian Etch :~# mcedit
/etc/ssh/sshd_config Kurzanleitung
Midnight-Commander:
Speichern mit 'F2' und mit 'F10' schließenAnmerkung: Für ambitionierte
Debianer empfehle ich VIM.
Der Einfachheit halber
nutze ich im Tutorial MC Einwahl von Root unterbinden in
sshd_configPermitRootLogin von YES auf NO Anmerkung: Einloggen über
Benutzer (, ggf. Benutzer anlegen mit: ~# adduser
EsKannNurEinenGeben ) und über SU Root werden. Einwahl auf einen / verschiedene
Nutzer / Gruppen festlegen ( Root kann sich somit nicht
anmelden)AllowUsers EsKannNurEinenGeben Dude
Testbernd # Benutzer AllowGroups MeineGruppe #
GruppePortwechsel Port 2332
Unterbinden
der Nutzung von leeren Passworten PermitEmptyPasswords
no Weitere
Möglichkeit: Debian
SSH Einwahl ausschließlich über Keyfile
Installation
Apache Webserver mit Apache 2.2 mit PHP5 und MySQL unter
Debian 4.0 alias Debian EtchInstallation Debian Apache
WebserverDebian 4.0 : # apt-get -y install
apache2 Installation
Debian Apache 2.2
Php5
UnterstützungDebian 4.0 : # apt-get -y install
libapache2-mod-php5 php5-cli php5-common php5-cgi Installation
PhpMyAdmin
Debian 4.0 : # apt-get install phpmyadmin
Aufruf über:
http://MeineIPoderMein-Debian-Server.DE/phpmyadmin
Zusätzliche Zugriffsbeschränkung
für Phpmyadmin
durch .htaccess /
Passwortschutz Erstellung .htaccess
DateiDebian 4.0 : # mcedit /var/www/phpmyadmin/.htaccessInhaltAuthType BasicAuthName "phpmyadmin"AuthUserFile /var/www/phpmyadmin/.htpasswdrequire user
USERNAMEErstellung
.htpassword Datei~# mcedit /var/www/phpmyadmin/.htpasswdUSERNAME:iqhCaA/JBcng. Passwortverschlüsselung
hier unter KENNWORT Anpassung
Apache.conf~#
mcedit /etc/apache2/apache2.confInhalt an Ende der Apache2.conf anfügen<Directory
/var/www/phpmyadmin>AllowOverride AuthConfigOptions ExecCGI
FollowSymLinks</Directory>Installation Debian Mysql Server 5Debian 4.0
: # apt-get install mysql-common mysql-server
mysql-server-5.0 Passwort von Root für Debian MySQL
ändern / setzen
Debian 4.0 : # mysqladmin -u root -p password
'IhrNeuesMysqlRootPasswort'( Enter password: mit RETURN
beantworten, da zu Begin noch kein Passwort gesetzt
ist) Erstellung Debain Etch
MySQL DatenbankDebian 4.0 : # mysqladmin -p create
ErsteDatenBankErstellung eines weiteres MySQL
Benutzer und Anpassung der Rechte für
Datenbank mysql -u
root -pEnter Password: *****mysql> create user
'NeuerNutzer'@localhost identified by
'Passwort'; mysql> GRANT ALL PRIVILEGES ON
ErsteDatenBank . * TO NeuerNutzer@'localhost'; mysql> FLUSH PRIVILEGES; mysql> quitDebian Apache 2.2 Webserver NeustartDebian 4.0 : #
/etc/init.d/apache2 restart Test der Php 5
UnterstützungDebian 4.0 : # mcedit
/var/www/test.php Inhalt:# test.php<?php phpinfo();
?> Test im
Browser über: http://MeineIPoderMein-Debian-Server.DE/test.php
Troubleshooting bzgl.
Apache 2.2Fehlermeldung Debian Apache Webserver :
Could not
reliably determine the server's fully qualified domain name,
using 127.0.1.1 for Server Name
Lösung: Rechnernamen
festlegen
Debian
4.0 : # echo DOMAIN >
/etc/hostname
Debian 4.0 : # /bin/hostname -F /etc/hostname
Debian Apache
Webserver Probleme bei
Installation verschiedener Pakete:Debian Etch
Paketlisten auf aktuellen Stand Debian 4.0 : # apt-get
update Apt-cache
SHOW zeigt weitere
Informationen und vorallem die abhängigen Pakete Debian 4.0
: # apt-cache show PAKETNAME
Erstellung
Apache Virtual Host ( vHost ) mit SSL-Support für Apache
Webserver unter
Debian Etch Linux
Anpassung 'Default' Debian Apache
virtual Host durch Auskommentierung
RedirectMatch~#
mcedit
/etc/apache2/sites-available/defaultRaute vor
RedirectMatch (= Auskommentieren; Kommentieren = Raute weg
nehemen) setzen, dann wird nicht vom localhost bzw. Ihrer IP
auf http://localhost/default-apache/ weitergeleitet, sondern
Sie bleiben bei http://localhost/ Inhalt (nur betreffende
Zeile)# 'RedirectMatch ^/$
/apache2-default/ im vhost unter
/etc/apache2/sites-available/'
Debian Apache 2.2
namensbasierten virtual Host anlegen ohne SSL unter Debian
EtchErklärung: Sie haben eine
Domain bei einem Anbieter und dessen DNS-Server zeigt auf die
IP Ihres Servers, dann können wir schnell für Erreichbarkeit
Ihrer Domain sorgen. Anlegen des
WebverzeichnissesDebian Tutorial : ~# mkdir
/var/www/PfadZurWebseiteDebian Apache Virtual Host
erstellenDebian
Tutorial : ~# mcedit
/etc/apache2/sites-available/MeineDomainDEAnmerkung: Der Name (z.B.
MeineDomainDE) ist hier bedeutungslos. Inhalt:<VirtualHost *
> # Anmerkung:
Default Domain muss vorhanden seinServerAdmin EMAILServerName
www.Domain.DE ServerAlias Domain.DE w.Domain.DE
ww.Domain.DE #
Anmerkung:
Sicherstellung der
Erreichbarkeit bei Schreibfehlern; *Domain --> Problem mit
Subdomains DocumentRoot
/var/www/PfadZurWebseite # Pfad zu lokalen Verzeichnis
unserer Debian Etch Webseite :-)<Directory
/var/www/PfadZurWebseite> Order Deny,AllowAllow from allOptions -Indexes#
option = keine Auflistungvon Verzeichnissen im
Browser</Directory></VirtualHost>
Aktivieren bzw. versymlinken des
Debian Apache virtual HostDebian Tutorial : ~# a2ensite
MeineDomainDE Debian Tutorial : ~# /etc/init.d/apache2
reload
Namensbasierten Apache Virtual Host
SSL anlegen (sowohl http als auch https) für Apache 2.2
Webserver unter Debian EtchAnlegen des
WebverzeichnissesDebian Tutorial : ~# mkdir
/var/www/PfadZurWebseiteMitSSL Anmerkung: Es kann auch ein
bestehendes Verzeichnis genutzt werden, wie
/var/www/PfadZurWebseite, dann ist ein Anlegen natürlich
unnötig und die Webseite reagiert sowohl auf http:// wie auch
https:// Installieren von
OpenSSLDebian
Tutorial : ~# apt-get install openssl ssl-cert Erstellung Verzeichnis für OpenSSL
ZertifikatDebian
Tutorial : ~# mkdir
/etc/apache2/ssl/
Debian
Apache 2.2 OpenSSL Zertificate generierenNun muss
das SSL-Zertifikat generiert werde, Apache SSL Unterstützung
aktiviert werden und SSL konfiguriert werden. Wir erstellen
ein selbst zertifiziertes Zertifikat. Dies wird Ihr Browser
bei der ersten Benutzung bemängelt. Jedoch ist ein selbst
erstelltes Zeritfikat besser als keins :-)Um selbst der
Warnmeldung des Browser vorzubeugen können Sie das Zertifikat
importieren. Generieren
des SSL-Zertifikats Anmerkung: Zur Generierung
des SSl-Zertifikat nutzen wir OpenSSL. Dieses Paket wird alle
notwendigen Fragen zur Erstellung eines Zertifikats
automatisch stellen.
Debian Tutorial :
~# openssl req $@ -new -x509
-days 365 -nodes -out /etc/apache2/ssl/apache.pem -keyout
/etc/apache2/apache.pem (alles eine Zeile) Anmerkungen: '-days' gibt die
Gültigkeitsdauer an; Sie können auch weit mehr
nehmen. Unter Sarge konnte " apache2-ssl-certificate"
genutzt werden. Unter ETCH ist dies nicht mehr
möglich. Meldung bzw.
Dialog des Debian Apache SSLGenerating a 1024 bit RSA private
keywriting new private key to
‘/etc/apache2/ssl/apache.pem’...Country Name (2 letter code) [AU]:
DEState or Province Name (full name)
[Some-StateN]:Locality Name (eg, city):
BERLINOrganization Name (eg, company)
[Internet Widgits Pty Ltd]: Organizational Unit Name (eg,
section):Common Name (eg, YOUR
name):Email Address:Anmerkung: Es sind eigentlich
keine Angaben notwendig, also immer mit RETURN
bestätigen. Setzen der
richtigen Zugriffsrechte für Debian Apache Webserver
-Zertifikat:Debian
Tutorial : ~# chmod 600
/etc/apache2/ssl/apache.pem Debian Apache Virtual Host mit SSL
erstellenDebian
Tutorial : ~# mcedit
/etc/apache2/sites-available/MeineDomainMitSSL Inhalt:<VirtualHost *:443> # SSL
(START) SSLEngine on SSLCertificateFile
/etc/apache2/ssl/apache.pem # SSL (ENDE) ServerAdmin
EMAIL #kann auch einfach eine IP sein ServerName
www.Domain.DE ServerAlias Domain.DE w.Domain.DE
ww.Domain.DE DocumentRoot /var/www/PfadZurWebseiteMitSSL<Directory
//var/www/PfadZurWebseiteMitSSL> Order Deny,Allow Allow
from all # Zeige keine Verzeichnisse an Options
-Indexes </Directory> </VirtualHost>
Aktivieren bzw. versymlinken des
virtuellen HostDebian Tutorial : ~# a2ensite
MeineDomainMitSSL Die Ports setzen auf die der Debian
Apache 2 Webserver lauschen soll:Debian Tutorial : ~# mcedit
/etc/apache2/ports.conf Listen 80 Listen
443 SSL-Support für
Debian Apache 2 Webserver aktivieren:Debian Tutorial : ~# a2enmod
ssl Meldung:Module ssl
installed; run /etc/init.d/apache2 force-reload to
enable. Restart des Debian Apache Webserver
Debian Tutorial :
~# /etc/init.d/apache2 reload oder Debian Tutorial : ~#
apache2ctl restart # Kurzform MittteilungKostenlose
Zertifikate gibt es hier
Mögliche
Anpassungen des Apache Server unter Debian
Etch
PHP Version
von Debian Apache Webserver vor User-Requests
versteckenWir stellen die php.ini so ein, dass PHP
einem möglichen Hacker nicht einfach verrät, dass PHP5
installiert ist und welche Version installiert ist. Suchen Sie
dazu in der php.ini die Variable expose_php und schalten sie
aus. In der Grundeinstellung ist expose_php
aktiviert. In your php.ini (abhängig von Ihrer
Distribution finden wir die Php.ini unter verschienden
Plätzen,wie /etc/php.ini, /etc/php5/apache2/php.ini,
etc.) ändern wir expose_php Debian Server : ~# mcedit
/etc/php5/apache2/php.iniVON expose_php =
On ZU expose_php = Off Nach dieser Änderung
wird PHP5 nicht mehr länger die Signature im Webheader des
Server zeigen. Debian
Apache directory listing deaktivieren oder anders ausgedrückt
keine Auflistung der Verzeichnisse und des Inhalts erlauben
(wurde in vHosts schon ansatzweise
gemacht)Grundsätzlich ist Apache so eingestellt,
dass er Verzeichnisse und deren Inhalte darstellt. Wenn man
einen beliebigen Ordner X auf meinem Apache Server übers
Internet anwählt, zeigt er die Directory an (sofern keine
index.html oder index.php darin ist). Wir wollen, aber
nicht dass alle Verzeichnisse und schon gar nicht alle Dateien
gelistet werden. Tragen Sie
am Ende der apache.conf dies ein:Debian Server : ~# mcedit
/etc/apache2/apache.conf # Keine Darstellung durch
Debian Apache des Verzeichnisinhalts erlaubt <Directory
"/var/www"> Options -Indexes Order
allow,deny Allow from all </Directory> #
Für dieses Verzeichnis ist die Darstellung des
Verzeichnisinhalts durch Debian Apache
erlaubt <Directory
"/var/www/domain/download"> Options +Indexes Order
allow,deny Allow from all </Directory>
Apache
Webserver Standard-Domain definieren
über mod-rewrite / rewrite auf unserem Debian
Server Mod-rewrite / Rewrite unter Apache2
aktivieren: ~# ln -s
/etc/apache2/mods-available/rewrite.load
/etc/apache2/mods-enabled/rewrite.load oder Kurzform für Aktivierung Mod:
~# a2enmod rewrite
Neustart Apache
Webserver: ~# /etc/init.d/apache2
restart
Resultat:
Wenn nun der DNS-Server die Domain-Anfrage
www.meine-domain.de an die IP Ihres Server weiterleitet sucht
der Apache unter /var/www/MeineDomain.
Erstellen einer Apache .htaccess
-Datei: ~# mcedit
/var/www/MeineDomain/.htaccess
Inhalt der Apache .htaccess
-Datei RewriteEngine on RewriteCond %{HTTP_HOST}
!^www\.meine-domain\.de$ RewriteRule ^(.*)$
http://www.meine-domain.de/$1 [L,R=301]
Resultat für unseren Debian
Server: Wenn nun die Anfrage an den Debian
Apache kommt meine-domain.de, dann schaltet er automatisch auf
www.meine-domain.de. Wenn andere Domains in das Verzeichniss
verweisen, wie meinedomain.de, dann wird auch daraus
www.meine-domian.de. Wichtig: Alle Anfragen in dem
Verzeichnis werden inklusive (!) Anhang weitergeleitet. Z.B.
die Anfrage MeineDomain.de/kontkat.html (also ohne Minus (-)
wird, wenn ein Apache Virtual Host existiert der in das
Verzeichnis leitet) wird umgeleitet auf
www.meine-domain.de/kontakt.html
Installation
Debian Mailserver Postfix ( MTA ) als Internet Server mit
eigener DomainExim ist der Standard MTA
(Mail-Transfer-Agent) unter Debian Linux. Ich preferiere
Postfix auf einem Debian Server, weil ich mehr Erfahrungen
habe (, auch wenn dies in dieser Config nicht gerade
durchscheint :-) Grundlage dieses Howto ist ein Webserver mit
eigener Domain (, ob mit DNS / Bind installiert oder einem DNS
der auf IP verweißt)! Diese simple Postfix Konfiguration
hat das Ziel Emails des Systems oder von auf dem System
installierten CMS-Systemen o.ä. zu versenden. -- Start Konfigurations-Dialog
Postfix Debian Linux--Allgemeine Art der Postfix Config?
Internet-ServerAn wenn soll Debian Postfix an Root
adressierte E-Mails weitergeleitet werden? # Anmerkung: Der Eintrag
einer Emailadresse bedeutet, dass die Nachrichten des Systems,
die an Root gehen, an diese Adresse weiterleitet werden, z.B.
an email[at]tim-bormann.de Benutzer Wie lautet der E-Mail Name Ihres
Systems?MeineDomain.DeFür welche weiteren Rechner möchten
Sie E-Mails akzeptieren? # Anmerkung: Sei haben mehere
Domains tim-bormann.de debian-traeume.de, dann tragen Sie
diese hier ein sonst werde diese nicht akzeptiert bzw.
versendet. MeineDomain.De,
localhost.localdomain, localhostSynchrone Aktualisierung der
E-Mail-Warteschlange erzwingen?JA Lokale Netzwerke? # Anmerkung: Wichtig zwecks
Sicherheit, da nur Nachrichten von localhost angenommen
werden!!! 127.0.0.0/8Möchten Sie procmail zu rlokalen
E-Mail-Zustellung nutzen?JAMaximale
Postfach-Größe?0Zeichen der lokalen
Adress-Erweiterung?+Welche Internet-Protokolle sollen
verwendete werden?alle-- ENDE Konfigurations-Dialog
Postfix --Einstellungen wurden in Postfix
Hauptkonfigurationsdatei
gespeichert/etc/postfix/main.cf Wiederholung Konfiguration
PostfixDebian
Mailserver :~# dpkg-reconfigure postfix
Troubleshooting Postfix Ansicht
der Logdatei von PostfixDebian Mailserver :~# tail -n 50 /var/log/mail.log
Alternative
Konfigurations-Variante Debian Mailserver Postfix mit
öffentlichen SMTP Server:Emails über einen öffentelichen SMTP
Server, wie GMX oder WEB.DE zu versenden.
Debian Mailserver :~# apt-get install
postfix
--
Konfigurations-Dialog Postfix unter Debian Linux --
Allgemeine Art der
Konfiguration? Satelliten-System (nicht
Internet-Server) Wie
lautet der E-Mailname Ihres Systems? Domain (z.B.
MaxiMustermann.DE) Ihr SMTP Relay-Server smtp.MeinFreehoster.de
(smtp.web.de mx.freenet.de smtpmail.t-online.de
mail.gmx.net) --
ENDE Konfigurations-Dialog Postfix --
Wiederholung Konfiguration
Postfix Debian Mailserver :~# dpkg-reconfigure
postfix
Authentifizierung bei SMTP-Server
des MeinFreehosters Anpassung main.cf Debian Mailserver :~# mcedit /etc/postfix/main.cf
Inhalt main.cf smtp_sasl_auth_enable =
yes smtp_sasl_security_options =
noanonymous smtp_sasl_password_maps =
hash:/etc/postfix/sasl_password Erstellung
sasl_password
~# mcedit
/etc/postfix/sasl_password Inhalt sasl_password smtp.mailanbieter.de
username:MeinPasswort
Datenbank erzeugen Debian Mailserver :~# postmap
/etc/postfix/sasl_password
Neustart Postfix Debian Mailserver :~# /etc/init.d/postfix
restart Externe extrem umfangreiche
Alternativkonfiguration noch unter Sarge
Vsftpd
unter Debian 4.0 oder Alternativ Proftpd
Vsftpd
ist ein FTP Server, mittels ihm lassen sich Dateien bequem
über das Internet abrufen und speichern. Die Konfiguration
lässt nur FTPS zu. Nicht zuverwechseln mit SFTP oder Secure
FTP. VSFTP unter Debian Etch transferiert somit Daten über TLS
verschlüsselt durch das Netz. Anmerkungen: Ein FTP Server
stellt grundsätzlich ein Sicherheitsproblem dar. Die folgende
Config von vsftp versucht dem Problem zu entsprechen. Wer
ein anonymous Login oder umusk für einen solchen Fall sucht,
dem kann ich nicht helfen, da ich persönlich aufgrund einer
solchen Config (, ob vsftp oder Proftpd ) und den
resultierenden Sicherheitsbedenken nicht ruhig schlafen
könnte. Wer Vsftp nicht mag, dem habe ich alternativ die
Installation von Proftpd unter Debian Etch beschrieben.
Meine Empfehlung:
Proftpd ist gut, aber testen sie Vsftp!
Installation vsftpd Debian FTP Server ~# apt-get
install vsftpd
Grundsätzliche
Konfiguration Der FTP-Server ist so eingestellt,
dass er einen anonymen Zugriff gestattet.
Unsere
Konfiguration von vsftp wird folgendender Maßen aussehen: *
Vsftp lauscht auf Port 2121 und nutzt passive Ports, *
anonymes Einlogen verboten ist, * jeder am System bekannter
Benutzer darf sich einlogen, * einschließlich jener, die
sich nicht lokal oder per SSH einlogen können, weil ihre Shell
in /etc/passwd auf /bin/false zeigt. * Jeder Benutzer ist
in seinem Home gefangen (chrooted), Ausnahmen sind alle
Benutzer, die in der Datei /etc/vsftpd.chroot_list
stehen. * Alle Benutzer, die in der Datei /etc/ftpuser
stehen, dürfen sich nicht anmelden. Dies dient dazu um z.B.
Systemkonten die Anmeldung zu verweigern. * Es ist zwingend
notwendig sich mittels FTPS bzw SSL/TLS verschlüsselt
einzulogen. Normale FTP-Verbindungen sind nicht
zugelassen.
Konfiguration Zunächst
Sicherung der Original Konfiguration: Debian FTP Server ~# cp /etc/vsftpd.conf
/etc/vsftpd.conf_original
Anpassung der vsftp
Konfiguration Debian FTP
Server ~# mcedit
/etc/vsftpd.conf
Inhalt ---- # Anonymer Zugriff auf den FTP
Server von YES auf No anonymous_enable=no
# Raute weg / Kommentieren von
local_enable entfernen und # Zugriff Systembenutzern
gewähren local_enable=YES
# Raute weg / Kommentieren von
chroot_local_user=YES und # damit alle FTP Server Benutzer
in Home einsperren chroot_local_user=YES
# Raute weg / Kommentieren von
chroot_list_enable # als whitelist für FTP Server, die
nicht eingesperrt sein sollen chroot_list_enable=YES
#Folgendes ans Ende der
Konfiguration setzen
# ssl/ tls Verschluesslung des FTP
Server aktivieren ssl_enable=YES # Verbindung von FTP Server auf
Passiven Modus erlauben und #
Portrange definieren. Wichtig für Firewallregeln pasv_enable=YES pasv_min_port=49152 pasv_max_port=50000 # port-command für FTP Server
erlauben port_enable=yes # FTP Server lauscht i.d.R. auf Port
22, aber die Verlegung auf Port 2222 ist sicherer listen_port=2222
Zertifikat
erstellen SSL-Verschlüsselung benötigt zwingend ein
Zertifikat, mit dem sich der Server gegenüber den Nutzern
ausweißt. Beglaubigte Zertifikate sind sehr teuer, daher
weichen wir auf ein selbstsigniertes Zertifikat aus. Debian FTP Server ~# openssl req -new -x509 -nodes
-out /etc/ssl/certs/vsftpd.pem -keyout
/etc/ssl/certs/vsftpd.pem
FTP Server Whitelist der nicht
eingesperrten Benutzer erstellen Debian FTP Server ~# mcedit
/etc/vsftpd.chroot_list
Neustart des FTP
Servers Debian FTP
Server ~# /etc/init.d/vsftpd stop Debian FTP Server ~#
/etc/init.d/vsftpd start
Troubleshooting FTP
Server Start einer neune Konifguration: Debian FTP Server ~# apt-get remove vsftpd
--purge
Alternative Installation Debian ProftpdInstallation FTP Server
Debian FTP Server
~# apt-get install
proftpd
Erstellung Gruppen für FTP Server Mitglieder
dieser Ftp Server Gruppe haben uneingeschränkte Rechte (kein
Chroot und Read & Write ) Debian FTP Server ~# addgroup
ftpprouser Mitglieder dieser Ftp Server Gruppe haben
eingeschränkte Rechte ( Chroot ) Debian FTP Server ~# addgroup ftpuser
Möglichkeit
Anmeldung an System unterbinden und NUR FTP-SERVER Anmeldung
für bestimmte Benutzer
erlauben
Vorbereitung Shell ohne Anmeldung
über SSH o.ä. kopieren Debian FTP Server ~# cp /bin/false /bin/ftp Debian FTP Server ~# echo "/bin/ftp" >>
/etc/shells
Anlegen der FTP Server
Benutzer Debian FTP
Server ~# useradd
FTP-USERNAME Anmerkung: Legt nur den Usernamen an
sonst keine Verzeichnisse o.ä.
Debian FTP Server ~# usermod -G ftpuser FTP-USERNAME
Anmerkung: chroot ungleich ftpprouser; siehe später
proftpd.conf
Debian
FTP Server ~# usermod -d /HOME/VERZEICHNIS
FTP-USERNAME
Debian
FTP Server ~# usermod -s /bin/ftp FTP-USERNAME
Anmerkung: keine Anmeldung an System
Ftp-User per
Hand Gruppen zuordnen (kann bei einfacher Konfiguration
übersprungen werden ) Debian FTP Server ~# mcedit
/etc/group ---Beispiel: ... ftpprouser:x:1004:user1,user3,user4 ftpuser:x:1005:user2 ---
Anpassen der FTP Server bzw. der
Proftpd-Config Debian FTP Server ~# mcedit
/etc/proftpd.config
Inhalt ---- # chroot für alle User der Gruppe
ftpuser # Sehr wichtig zwecks Sicherheit, aber
bringt mit sich, dass auf nichts außerhalb
des #Homeverzeichnisses zugegriffen werden kann; einzelne
Verzeichisse können nur über # "mount --bind /FTP-USER1/
/FTP-USER2/" temporär oder mit eintrag in fstab
ständig #eingebunden werden, jedoch nicht über Symlinks
einfach "herein verfachtet" werden; im # Anschluss ein
Beispiel DefaultRoot ~ ftpuser
# Login auf FTP Server nur von
Mitgliedern der Gruppe "ftpuser" erlauben <Limit
LOGIN> DenyGroup !ftpuser
!ftpprouser </Limit>
# Root-Login auf FTP Server
verbieten und gültige Shell verlangen (in
/etc/shells) <Global> RootLogin
off RequireValidShell on </Global>
#Speed des FTP Servers
erhöhen UseReverseDNS off IdentLookups
off ----
Neustart des FTP Server bzw.
Proftpd Debian FTP Server
~# /etc/init.d/proftpd
restart
/Ende eigentliche Konfiguration
Proftpd
Sonderfälle Konfiguration
Propftpd Chrootet FTP-Benutzern oder Gruppen
Verzeichnisse außerhalb des Homeverzeichnisses geben: Bsp.
für ein Verzeichnis von User2, d.h. ein Verzeichnis von User1
auch User2 verfügbar machen 1. Schritt Verzeichnis erstellen in
dem die Daten landen sollen Debian FTP Server ~# mkdir
/home/USER2/OrdnerTestVonUser1/
2. Schritt Verzeichnis mounten;
mount --bind /Ursprungsverzeichnis
/Zielverzeichnis Debian FTP Server ~# mount --bind
/home/USER1/OrdnerTest/
/home/USER2/OrdnerTestVonUser1/ Anmerkung: über
'mount' kann man sich alle Mountpunte anzeigen lassen und über
'umount' löschen. Nach Neustart sind alle Mountpunkte, die mit
"mount --bind" erstellt wurden, weg, falls sie immer vorhanden
sein sollen müssen Sie einfach in die /etc/fstab eintragen
werden.
Automatisierte Debian Linux
Updates
Cron-Apt ist
eine gute Lösung um automatisch Sicherheitsupdates
einzuspielen und / oder eine Benachtrichtigung darüber zu
erhalten. Anleitung
Cron-APT Debian Updates
Automatisches Backup
Debian Linux
Rsnapshot ist
meiner Meinung das Mittel der Wahl ( oder Rsync :-). Rsnapshot
bietet platzsparende Hardlinks und eine übersichtliche
Installation / Konfiguration. Der größte Vorteil erschließt
sich erst bei der Notwendigkeit eines Restore. Anleitung
Backup Debian Linux Rsnapshot
Automatische Sicherung
MySQL Datenbank unter Debian Linux
Die Sicherung
von SQL Datenbanken ist etwas heikel. Es gilt die
entsprechenden Spracheinstellungen (utf-8 oder latin1 etc.) zu
beachten und dass eine Sicherung und ein gleichzeitiger
Schreibzugriff ein Backup schnell unbrauchbar machen können.
Empfehlung
MySQlDumper
Automatische
Sicherung der Paketlisten und der ETC unter Debian
Linux
Debian
Linux bietet mit Apt die Möglichkeit ein System in windeseile
wieder in einen alten Zustand zurück z uversetzen.
Installation Minimalsystem und Einspielen der Pakete sowie der
Einstellungen (/etc). Howto
Erstellung Paketlisten
Rootserver
Anwendungsmöglichkeiten
Torrents bereitstellen via
Torrentflux oder Torrents über Konsole seeden
Rootserver bieten heute neben einem LAMP (= Linux Apache
MySQL PHP (auch Perl oder Python )) viele Möglichkeiten.
Aufrrund der Anbindung und der 24stündigen Verfügbarkeit
können Rootserver wunderbar als legale Torrentserver benutzt
werden.
Anleitung
Bittorrent per Konsole | Anleitung
Installation Torrentflux
Verschiedene
Varianten der sources.list je nach momentanem / zukünftigem
SystemMit der Datei /etc/apt/sources.list kann man
einstellen, wie sich das System beim Wechsel von Etch /
Testing nach Stable verhält.
Bisher Sarge nun Etch / auf etch als
neues stable umsteigen --> System wird von sarge auf
Etch aktualisiert. deb
http://ftp.de.debian.org/debian/ stable main contrib
non-free deb http://security.debian.org/
stable/updates main contrib non-free ~#
apt-get dist-upgrade Bisher Testing und auch dabei
bleiben: (Etch zu Lenny wechseln (Sid bleibt der Name für
unstable)) deb
http://ftp.de.debian.org/debian/ testing main contrib
non-free deb http://security.debian.org/
testing/updates main contrib non-free Bei Sarge bleiben: deb
http://ftp.de.debian.org/debian/ sarge main contrib
non-free deb http://security.debian.org/
sarge/updates main contrib non-free Bei etch bleiben deb
http://ftp.de.debian.org/debian/ etch main contrib
non-free deb http://security.debian.org/
etch/updates main contrib
non-free
Social
Bookmarks
Tims aktuelle EmpfehlungGoogle Pack
-
Zusammenstellung aktueller + höchst interessanter
Software! Auswählbare
Programme: Google Earth, Picasa,
Skype, Google Desktop, Adobe Reader, Spyware Doctor, Norton
Security Scan, RealPlayer, IE oder FF ToolbarArtikel: Tim's
Bewertungen bezüglich Software im Google Pack oder gleich zwecks Test
zum Download:
Vorteile: GoogleUpdater sorgt für
aktuelle Versionen aller Progamme! Alle Programme sind jederzeit
optional wählbar bzw. abwählbar!
Kommentar schreiben
Kommentar
von: Tango am 27.05.2007
welche packete benötigt mann den für den betrieb
"Rootserver" ?? habe momentan bei Server4you Suselinux 9.3
möchte aber das ganze in Debian etch umwandeln. Wie müsste man
den vorgehen wenn man paralell PHP4/5 und Mysql4/5 benutzen
möchte ?? währe auch dankbar wenn man einen opensource
alternative für plesk bzw. Confix auch den instalation
erwähnt.
Kommentar
von: gast am 23.05.2007 Danke
Vielen Dank für dieses tolle HowTo, hat mir sehr
geholfen. *thumbsup*
Kommentar
von: udo am 13.05.2007
ich wueschte ich koennte das gleiche sagen ueber das
Video allerdings ist dieses in sehr schlechter qualitaet..
Viel zu schnell und sehr schlechte qualitaet... Schade..
Antworten.:
Antwort
von: Tim Bormann am 13.05.2007 Antwort:
Lese
doch einfach mal den Text, der über dem Video steht.
Kommentar
von: Tango
am 07.05.2007 Proftpd
Hallo Herr Bormann, als allererstens möchte ich mich
recht herzlich an dieses Tutorial bedanken, es gibt wirklich
wenige Menchen die sowas detaliert erklähren und auf die Linux
neulinge wie ich rücksicht nehmen. zu meine frage, habe Debian
auf vmware (Virtuelle Rechner)instaliert, während der
instalation habe ich bei der partitionierung auf seperate
partitionen ausgewählt(denke das es keine probleme verursacht)
dann alles biss auf ssh mit dem root schutz ausgeführt bzw.
mit aptitude instaliert(weil ich es mit winscp3 besser die
dateien editiere wie mighnight commander oder andere) dann
habe ich proftpd mit aptitude instaliert und usergroup und
user angelegt wie in der anleitung, nur konnte ich nirgendwo
sehen wie ich passwörter zu den einzelnen ftp usern vergebe,
und ich konnte die Datei /etc/proftpd.config nicht finden
sobals ich mit einem ftp client verusche mich anzumelden kommt
immer diese meldung 530 loging incorrect.
Antworten.:
Antwort
von: Tim Bormann am 07.05.2007 Antwort: Proftpd
Passwörter
werden über "passwd <Nutzername> geändert. Bsp. $ passwd
Brunno
Kommentar
von: Daniel M am 26.04.2007 Gracias
Excelent tutorial, i dont speak german but i got it, it
is the best on the web. Thank You
Kommentar
von: am 16.04.2007 Bestätigung Hinweis
Das kann ich nur bestätigen: "Nur SSLCertificateFile
/etc/apache2/ssl/apache.pem reichte bei mir nicht, nur mit
SSLCertificateKeyFile /etc/apache2/apache.pem zusätzlich
funktionierte es!" Bei mir trat das gleiche Problem auf! Mit
zusätzlichen SSLCertificateKeyFile ist alles ok! Gruß
Roland
Kommentar
von: Stefan Gründel am 12.04.2007 Installation Postfix
Nochmal ich, jetzt läuft's bei mir :-) Was für GMX noch
fehler in der Anleitung: die Zeile ,,sender_canonical_maps =
hash:/etc/postfix/sender_canonical'' in der main.cf.
Inhalt muss ein Mapping aller möglichen lokalen Absender
auf die GMX-Adresse sein, der auch in der sasl_password
verwendet wird, da GMX nur Mails akzeptiert, in denen die
from:-Zeile der angemeldeten GMX-Adresse entspricht, also z.B.
root mein.name@gmx.de stefan mein.name@gmx.de
Dann mit ,,postmap /etc/postfix/sender_canonical'' die
Datenbank erstellen, postfix neu starten.
Kommentar
von: Stefan Gründel am 12.04.2007 Installation Postfix
Hallo, noch eine Ergänzung für die Relay-Variante: Damit
die Authentifizierung bei GMX (ist bei den anderen Providern
vermutlich genauso) funktioniert, müssen die entsprechenden
SASL-Module installiert werden mit ,,apt-get install
libsasl2-modules'', sonst erhält man immer die Meldung "No
worthy mechs found" im Log.
Kommentar
von: Stefan Gründel am 12.04.2007 Installation Postfix
Hallo, super Anleitung, ich habe am Wochenende einen
Etch-Server aufgesetzt um BackupPC darauf laufen zu lassen.
Ein Verbesserungsvorschlag: nach Anlegen von
/etc/postfix/sasl_password sollte die Datei mit ,,chmod 600
sasl_password'' nur für root lesbar gemacht werden, sonst ist
der Mailzugang für alle sichtbar.
Kommentar
von: Hakan am 11.04.2007 Êinfach super
Hallo Tim, ich bedanke mich für deinen HOWTO. Ich benütze
zur zur Kubuntu 6.06.1 "Dapper Drake", ist wirklich prima.
Werde nun Debian nach Deiner Anleitung installieren. Ubuntu
ist auch sehr gut. Aber da ich unbedingt Debian haben will,
installiere ich Debian
Kommentar
von: SJB am 10.04.2007 Tippfehler2
Noch einen Fehler gefunden ;-) "Apache Webserver
Standar-Domain definieren" Ansonsten echt nen 1a Tutorial! MfG
SJB
Antworten.:
Antwort
von: Tim Bormann am 10.04.2007 Antwort:
Tippfehler2
Beides
schnell erledigt. Außerdem Debian Etch Testing durch Debian
Etch Stable verbessert und gleich noch ein paar Worte zu
Aptitude vs Apt-Get hinzugefügt (war nötig).
Kommentar
von: SJB am 09.04.2007 Tippfehler
Tippfehler in den "Vorbemerkungen": "verschlüsselt per
FPT Daten transferieren können". MfG SJB
Kommentar
von: Debian Etch Fan am 09.04.2007 Debian 4 ist raus und
schon eine Anleitung!
Ich danke Dir für das Howto zu Debian Etch, einfach fett!
Hab mir heute die Debian 4 Isos heruntergeladen und einige von
deinen Tutorials ausprobiert, aber das dauert bei der Menge...
:-) Gruss ein Fan von Debian Etch und TimBormann.De P.S. Hab
ein paar "Partner" besucht.
Antworten.:
Antwort
von: Tim Bormann am 09.04.2007 Antwort: Debian 4
ist raus und schon eine Anleitung!
Installiere
auch gerade die Final von Etch. :-)Danke für Verständnis
bzw. Unterstützung bzgl. Werbung! Werde das Etch Tutorial in
drei Wochen noch einmal komplett durchtesten und
Flüchtgikeitsfehler beseitigen.
Kommentar
von: Tom am 03.04.2007 apache2.conf statt apache.conf
Danke erstmal für diese super Anleitung. Hat auch mir als
Linux Neuling sehr geholfen. Zum Problem der apache.conf ->
die Datei heist apache2.conf Diese ist beim öffnen auch nicht
leer. ;)
Antworten.:
Antwort
von: Tim Bormann am 10.04.2007 Antwort:
apache2.conf statt apache.conf
War
ein Tippfehler; hab es ergänzt bzw. verbessert ;-)
Kommentar
von: frank am 28.03.2007
achso ich habe noch etwas vergessen. bei mir springt die
grafische installation nicht an. woran kann das liegen bzw wie
kriege ich das hin? er nimmt den vesa treiber. ich teste
debian auf einem compaq ipaq thin client mit einem intel 810
grafikchip.
Antworten.:
Antwort
von: Tim Bormann am 29.03.2007 Antwort:
"installgui"
(ohne Anführungszeichen) musst Du zu Beginn des Debian Setup
eingegeben.
Kommentar
von: frank am 28.03.2007
hi, erstmal danke an den betreiber dieser hp und das er
hier dieses thema mal gründlich ran nimmt. ich konnte sonst im
netz nicht brauchbaren finden...danke ich bin totaler linux
neuling und bin gerade dabei dieses howto durchzugehen. ich
habe probleme mit "Inhalt für Apache.conf" die daten die
darunter stehen, die sind in der .conf nicht eingetragen,
deshalb habe ich sie einfach mal hinein geschrieben.... ich
glaube das war falsch...kann das sein? gruß frank
Antworten.:
Antwort
von: Tim Bormann am 29.03.2007 Antwort:
Hi
Frank, nein Inhalt apache.conf soll nichts anderes bedeuten
als Zusatz an das Ende der apache.conf -Datei.
Kommentar
von: loeppel am 24.03.2007
Nur SSLCertificateFile /etc/apache2/ssl/apache.pem
reichte bei mir nicht, nur mit SSLCertificateKeyFile
/etc/apache2/apache.pem zusätzlich funktionierte es!
Antworten.:
Antwort
von: Tim Bormann am 29.03.2007 Antwort:
Hi
loeppel, danke für den Hinweis. Beim nächsten Updates des
Howto werde ich es testen und ggf. ergänzen. Solche
Erfahrungsgwerte sind wertvoll. Bitte mehr davon!
|
| |
| |