Linux Server in Betrieb nehmen

Transcrição

Linux Server in Betrieb nehmen
2
Wie installiere ich ein Linux Server mit Debian GNU/Linux 6.0 "squeeze"
Letztes Update: 26.April 2013
Inhaltsverzeichnis
Vorüberlegungen zum Server ............................................................................................ 2
Was soll mein Linux Server können? ........................................................................................................................ 2
Eingesetzte Hardware ..................................................................................................................................................... 2
Installation vom Grundsystem .......................................................................................... 2
NTP-Server installieren ..................................................................................................... 2
DHCP-Server installieren und konfigurieren ...................................................................... 2
DNS-Server installieren und konfigurieren......................................................................... 2
Dynamisches Aktualisieren des DNS-Servers durch den DHCP-Server ................................ 2
Linux-Datei-Server Samba installieren und konfigurieren .................................................. 2
Verzeichnis und Freigabe anlegen ............................................................................................................................. 2
Samba als Domaincontroller ........................................................................................................................................ 2
Linux-Druck-Server CUPS einrichten .................................................................................. 2
Drucker auf dem PC/Laptop einrichten .................................................................................................................. 2
Sicherheit CUPS.................................................................................................................................................................. 2
Linux-Mail-Server Postfix installieren ................................................................................ 2
MySQL-Server installieren ................................................................................................. 2
Installation ........................................................................................................................................................................... 2
DefaultCharset festlegen ................................................................................................................................................ 2
Server Side Includes aktivieren: ................................................................................................................................. 2
Eine Website anlegen: ..................................................................................................................................................... 2
Linux-Mail-Server Installieren und Konfigurieren............................................................... 2
Postfix konfigurieren ....................................................................................................................................................... 2
Emails mit fetchmail abholen....................................................................................................................................... 2
SASL-Authentifizierung der smtp-Clients gegenüber Postfix......................................................................... 2
IMAP-Server mit Dovecot .............................................................................................................................................. 2
TLS Verschlüsselung ........................................................................................................................................................ 2
Virenscanner installieren .................................................................................................. 2
SSH-Server für die Remoteadministration installieren ....................................................... 2
Webmin installieren ......................................................................................................... 2
Die Datensicherung........................................................................................................... 2
Hardware Raid Lösung ................................................................................................................................................... 2
Software Lösung mit zwei HD...................................................................................................................................... 2
© René Künzi, www.neotech.ch
3
Wie installiere ich ein Linux Server mit Debian GNU/Linux 7.0 "Wheezy" ?
Letztes Update: 26.April 2013
Analyse Soll Funktionen meines Server
Warum soll ich überhaupt noch Linux-Server installieren? Heute im Zeitalter der Notebooks, PC‘s,
Tablets den Cloud‘s und NAS Lösungen.
Für mich gibt es dazu folgende Gründe:
• PC‘s, Notebooks, Tablets und Smart Phone sind anfällig für:
o Viren, Trojaner und andere Schädlinge
o Diebstahl
o Systemabstürze
o Datenverluste durch defekte Festplatten
o Löschen von Daten durch den Benutzer ohne Backup
•
Cloud Lösungen beantworten mir die Frage wo meine Daten gespeichert sind nicht
zufriedenstellend
•
NAS mögen gut sein aber sind fertig definierte Systeme die meistens Funktionen bieten die
ich gar nicht benötige.
• Ein Linux-Server ist ist im Gegenzug
o Wesentlich zuverlässiger, vorausgesetzt man ändert nicht dauernd was. (Never
touch a running System...)
o Kann ich genau auf meine Bedürfnisse und Anforderungen anpassen
Aus meiner Erfahrung ist es zeitraubend, bei jeder Linux-Server-Installation alles neu zu
recherchieren. Aus diesem Grund habe ich hier mir meine Arbeitsschritte protokolliert, die zur
Installation meines Linux-Servers notwendig waren und zu einem kleinen "howto"
zusammengefaßt.
Plattformübergreifende Dienste meines Servers
Datei-Server
o Sichere und zuverlässige Dateiablage für persönliche und gemeinsame Dokumente
Druck-Server
o Den Rechner in meinem Netz den vorhandenen Drucker zur Verfügung stellen.
Zeit-Server
o Den Clients als gemeinsame Zeitbasis dienen.
Web-Server und Datenbank-Server
o Entwicklungs-Server für Websites und meine Wissensdatenbank
DNS Server
o Namensauflösung im Heimnetz
DHCP Server
o IP Adreßvergabe im Heimnetz
o Übermittlung des DNS Servers und Standardgateways an die Client-PCs
Mail Server
o Zentrale und sichere Speicherung aller Emails mit Zugriff über IMAP
Eingesetzte Hardware
HP ProLiant DL380 Generation 5 (G5)
CPU: 2x Quad-Core Intel® Xeon® Processor E5450 (3.00 GHz, 80 Watts, 1333 FSB)
RAM: 4GB PC2-5300 Fully Buffered DIMMs (DDR2-667) (64GB möglich)
Festplatte: 8x 147GB Hot Plug SAS
Mit der beschriebenen Konfiguration beträgt die Leistungsaufnahme im Leerlauf 300 Watt.
© René Künzi, www.neotech.ch
4
Wie installiere ich ein Linux Server mit Debian GNU/Linux 6.0 "squeeze"
Letztes Update: 26.April 2013
Installation vom Grundsystem
Ich verwende die zur Zeit aktuelle Version von Debian GNU/Linux 6.0 (squeeze).Die CD (es reicht
die 1. CD) habe ich mir von http://www.debian.org/ geladen.
Es gibt bei Debian keine spezielle Server-Distribution.
Zur Installation starte ich von der Linux-CD und wähle die Startoption "expert".
Folgende Angaben und Auswahlpunkte musste ich vor/während meiner Installation wählen:
Menüpunkt / Abfrage
Auswahl / Angaben
Choose language
German
Wählen Sie ein Land oder Gebiet
Schweiz
Sprache wählen (für locale Parameter)
de_CH-UTF-8
andere Locales
de_CH und de_CH.UTF-8
Art der Tastatur
PC-Tastatur (AT- oder PS/2-Stecker)
Wählen Sie das Tastaturlayout für die Tastatur
aus:
Diese Module laden:
Schweizerdeutsch
PC-Card-Dienste starten?
<nein> Ich habe kein PCMCIA am Server
Zu ladende Installationskomponenten:
<weiter>
Netzwerk automatisch mit DHCP einrichten?
IP-Adresse:
Ein Server sollte eine feste Adresse haben.
Deshalb <nein>
192.168.0.10
Netzmaske:
255.255.255.0
Gateway:
192.168.0.1 (Das ist mein DSL Router.)
Adresse des DNS-Servers:
192.168.0.1
Sind diese Informationen richtig?
<Ja>
Rechnername:
debian (Ich übernehme den Vorschlag.)
Domainnahme:
renes.xx
Partitionsmethode:
Ich habe manuell eine 100 GB Partition für
/root und den Rest für "daten" angelegt.
<weiter>
Basierend auf Ihrem Land ist die Zeitzone
Europe/Berlin.
Ist die Systemzeit auf UTC gesetzt?
<weiter>
<nein>
Shadow Passwörter benutzen?
<Ja>
root das Anmelden erlauben?
<Ja>
Soll ein normales Benutzerkonto erstellt
werden?
Zu installierender Kernel:
<nein> (Das mache ich später.)
Protokoll für den Datei-Download:
Die angebotene Auswahl ist meistens richtig
und kann übernommen werden.
<Ja> (Man sollte dafür eine DSL Flatrate
haben!)
http
Land des Debian-Archiv-Spiegelservers:
Schweiz
Debian-Archiv-Spiegelserver:
ftp.ch.debian.org
HTTP-Proxy-Daten:
<weiter> (Ich habe keinen Proxy und lasse das
Feld leer.)
<Ja> (Das ist Ansichtssache ;-))
Einen Netzwerkspiegel verwenden?
>>Non-free<<-Software verwenden?
An der Paketverwendungserfassung
teilnehmen?
Welche Software soll installiert werden?
Den GRUB-Bootloader in den Master Boot
Record installieren?
GRUB-Passwort:
© René Künzi, www.neotech.ch
<Ja> (Auch das ist Ansichtssache.)
Alle Sternchen mit der Leertaste entfernen
außer "Standardsystem" dann <weiter>
<Ja>
leer lassen
5
Wie installiere ich ein Linux Server mit Debian GNU/Linux 7.0 "Wheezy" ?
Letztes Update: 26.April 2013
Danach kommt nur noch der Hinweis, daß das System neu gestartet wird.
Damit läuft mein Grundsystem.
Die Verwaltung des Systems kann ich auf der Linux-Konsole oder über Webfrontend machen.
Ich habe mich entgegen dem üblichen Vorgehen erlaubt die grafische Oberfläche zu installieren.
NTP-Server installieren
Mein Linux-Server soll meinen Clients im Heim-Netz als Zeitbasis dienen.
aptitude install ntp
Anschließend bearbeite ich die NTP-Server-Liste in der Konfigurationsdatei /etc/ntp.conf (mit
dem Editor des MC).
Die Server-Liste erweitere ich mit Schweizer Pool-Servern und dem Zeit-Server meines
Internetproviders:
server 0.ch.pool.ntp.org
server 1.ch.pool.ntp.org
server 2.ch.pool.ntp.org
server 3.ch.pool.ntp.org
Anschließend starte ich mit /etc/init.d/ntp restart NTP neu.
DHCP-Server installieren und konfigurieren
Die Installation mache ich mit dem Konsolenbefehl:
aptitude install dhcp3-server
Danach bearbeite ich die Konfigurationsdatei /etc/dhcp3/dhcpd.conf.
Die Vorlage für die Konfiguration ist relativ weit unten zu finden. Ich habe die Datei wie folgt
angepasst:
authoritative;
#A slightly different configuration for an internal subnet.
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.150 192.168.0.160;
option domain-name-servers 192.168.0.1;
option time-servers 192.168.0.10;
option domain-name "renes.xx";
option routers 192.168.0.1;
option broadcast-address 192.168.0.255;
default-lease-time 3600;
max-lease-time 86400;
}
Danach starte ich meinen DHCP-Server neu mit: /etc/init.d/dhcp3-server restart
© René Künzi, www.neotech.ch
6
Wie installiere ich ein Linux Server mit Debian GNU/Linux 6.0 "squeeze"
Letztes Update: 26.April 2013
DNS-Server installieren und konfigurieren
Die Installation mache ich mit dem Befehl:
aptitude install bind9 dnsutils
Würde ich die Konfigurationsdatei /etc/bind/named.conf.options unbearbeitet lassen, werden in
dieser Standardeinstellung die DNS-Root-Server befragt. Das funktioniert problemlos, widerspricht
aber dem hierarchische Aufbau des DNS.
Die Datei /etc/bind/named.conf.options habe ich wie folgt angepasst:
options {
directory "/var/cache/bind";
forward first;
forwarders {
87.118.100.175; 89.238.64.148; 8.8.8.8;
};
allow-query {localhost; localnets;};
allow-transfer {none;};
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
Die Datei /etc/bind/named.conf.local habe ich wie folgt angepaßt:
zone "reness.xx" {
type master;
file "/etc/bind/db.renes";
};
zone "2.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.192.168.2";
};
Anlegen der Zonendateien - ich nehme die Datei db.empty als Kopiervorlage:
cp /etc/bind/db.empty /etc/bind/db.renes
cp /etc/bind/db.empty /etc/bind/db.192.168.2
Anpassen der Zonendateien:
/etc/bind/db.renes
$TTL 86400 ; 1 day
@ IN SOA debian.renes.xx. root.localhost. (
200801131 ; serial
604800 ; refresh
86400 ; retry
2419200 ; expire
86400 ; minimum
)
NS debian.renes.xx.
© René Künzi, www.neotech.ch
7
Wie installiere ich ein Linux Server mit Debian GNU/Linux 7.0 "Wheezy" ?
Letztes Update: 26.April 2013
$ORIGIN renes.xx.
debian A 192.168.0.10
localhost A 127.0.0.1
loopback CNAME localhost
/etc/bind/db.192.168.2
$TTL 86400
@ IN SOA debian.renes.xx. root.debian.renes.xx. (
200801131
604800
86400
2419200
86400 )
2.168.192.in-addr.arpa. IN NS debian.renes.xx.
105.2.168.192.in-addr.arpa. IN PTR debian.renes.xx.
Wichtig ist, bei jeder Änderung der Zonendateien, die "serial" hochzuzählen. Bind übernimmt sonst
die Änderungen nicht, bringt aber auch keine Fehlermeldungen
Die Datei /etc/resolv.conf legt die Suchreihenfolge fest und sieht bei mir so aus:
order bind,hosts
search renes.xx
nameserver 192.168.0.10
In der Datei /etc/network/interfaces steht die Konfiguration der Netzwerkschnittstelle.
Hier ändere ich noch den DNS-Server-Eintrag:
auto lo
iface lo inet loopback
allow-hotplug eth0
iface eth0 inet static
address 192.168.0.10
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
dns-nameservers 192.168.0.10
dns-search renes.xx
Damit habe ich die Konfiguration eines statischen DNS-Servers beendet.
Dynamisches Aktualisieren des DNS-Servers durch den DHCP-Server
Zuerst muß ich den rndc-key kopieren.
cp /etc/bind/rndc.key /etc/rndc.conf
Danach bearbeite ich die Datei /etc/rndc.conf (Der Key ist auf jedem System ein Anderer.):
key "rndc-key" {
algorithm hmac-md5;
© René Künzi, www.neotech.ch
8
Wie installiere ich ein Linux Server mit Debian GNU/Linux 6.0 "squeeze"
Letztes Update: 26.April 2013
secret "6muLuyiqdEpRldTFtVLtAA==";
};
options {
default-server localhost;
default-key "rndc-key";
};
Nun binde ich den Schlüssel in die Datei /etc/bind/named.conf ein. Meine Datei hat danach
folgendes Aussehen:
include "/etc/bind/rndc.key";
controls {
inet 127.0.0.1 allow {localhost; } keys {rndc-key; };
};
include "/etc/bind/named.conf.options";
zone "." {
type hint;
file "/etc/bind/db.root";
};
zone "localhost" {
type master;
file "/etc/bind/db.local";
allow-update { key "rndc-key"; };
};
zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
allow-update { key "rndc-key"; };
};
zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
allow-update { key "rndc-key"; };
};
zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
allow-update { key "rndc-key"; };
};
include "/etc/bind/named.conf.local";
Auch die Datei /etc/bind/named.conf.local muss ich anzupassen, die bei mir folgendes
Aussehen hat:
zone "renes.xx" {
type master;
file "/etc/bind/db.renes";
allow-update { key "rndc-key"; };
};
zone "2.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.192.168.2";
allow-update { key "rndc-key"; };
};
Weil mein DHCP-Server den DNS-Server anfragen muß,
/etc/dhcp3/dhcpd.conf an. Sie hat bei mir folgendes Aussehen:
© René Künzi, www.neotech.ch
passe
ich
auch
die
Datei
9
Wie installiere ich ein Linux Server mit Debian GNU/Linux 7.0 "Wheezy" ?
Letztes Update: 26.April 2013
ddns-updates on;
ddns-update-style interim;
ddns-domainname "renes.xx.";
ignore client-updates;
include "/etc/bind/rndc.key";
authoritative;
log-facility local7;
zone renes.xx. {
primary 127.0.0.1 ;
key rndc-key ;
}
zone 2.168.192.in-addr.arpa. {
primary 127.0.0.1 ;
key rndc-key ;
}
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.150 192.168.0.160;
option domain-name-servers 192.168.0.10;
option time-servers 192.168.0.10;
option domain-name "renes.xx";
option routers 192.168.0.1;
option broadcast-address 192.168.0.255;
default-lease-time 3600;
max-lease-time 86400;
}
Für das Verzeichnis /etc/bind passe ich noch die Rechte an:
chmod g+w /etc/bind
Jetzt starte ich noch den DNS- und den DHCP-Server neu und alles sollte funktionieren:
/etc/init.d/dhcp3-server restart
/etc/init.d/bind9 restart
Fehlermeldungen finde ich in der Datei /var/log/syslog. Wenn alles funktioniert, werden nach
einer Weile im Verzeichnis /etc/bind automatisch Journaldateien angelegt, bei mir die
db.renes.jnl und die db.192.168.0.jnl. Nach Bearbeiten der Zonendateien lösche ich die
Journaldatei. Bind bringt sonst Fehlermeldungen, die im syslog zu finden sind. Die Journaldatei
wird automatisch wieder angelegt.
Besser ist es, statt den ganzen DNS-Server neu zu starten, nur die neue Konfiguration einzulesen.
Das erreiche ich mit:
rndc reload
Linux-Datei-Server Samba installieren und konfigurieren
Quellen, die ich verwendet habe:
http://wiki.ubuntuusers.de/Samba_Server
http://wiki.ubuntuusers.de/Samba_Server_PDC
http://wiki.ubuntuusers.de/chmod
Die Installation mache ich mit:
aptitude install samba
Arbeitsgruppen-/Domain-Name festlegen: bei mir renes.xx
Damit die Home-Verzeichnisse der User nicht gegenseitig eingesehen werden können, muss ich die
Datei- und Verzeichnisrechte anpassen. Für Home-Verzeichnisse, die bereits existieren, mache ich
das auf der Konsole mit folgenden Befehlen:
© René Künzi, www.neotech.ch
10
Wie installiere ich ein Linux Server mit Debian GNU/Linux 6.0 "squeeze"
Letztes Update: 26.April 2013
(echo; echo "umask 027") | tee --append ~/.bash_profile >> ~/.profile
chmod -R o-rwx $HOME
chmod o+x $HOME
Für die Home-Verzeichnisse von Usern, die erst noch angelegt werden, kann ich das von
vornherein mit folgenden Befehlen auf der Konsole einrichten:
sed -ie 's/^umask.*$/umask 027/' /etc/profile
dpkg-reconfigure adduser
Dabei beantworte ich die Frage "Wünschen Sie systemweit lesbare Heimatverzeichnisse?" mit
"Nein“.
Bei mir soll es eine gemeinsame Gruppe "renes" geben, die auf eine gemeinsame Dateiablage,
bzw. Freigabe zugreifen soll.
Die Gruppe lege ich an mit:
groupadd renes
Jetzt lege ich die Benutzer an:
adduser rene
Der Gruppe renes den User rene hinzufügen:
addgroup rene renes
Verzeichnis und Freigabe anlegen
Ich lege das Verzeichnis /home/public für die gemeinsame Freigabe an. Das geht am einfachsten
mit dem Midnight Commander. Oder mit:
mkdir /home/public
Der Gruppe renes das Verzeichnis übereignen:
chgrp -R renes /home/public
Rechte auf dem Verzeichnis ändern:
chmod 770 -R /home/public
chmod -R g+srwx /home/public
Samba Konfigurationsdatei /etc/samba/smb.conf anpassen
Im Abschnitt [homes] muß
"writable = yes"
gesetzt werden. Sonst kann ich auf das persönliche Verzeichnis nicht schreiben.
Neue Freigabe einrichten durch hinzufügen des folgenden Abschnitts z.B. am Ende der Datei:
[Public]
comment = gemeinsame Ablage für Renes
writeable = yes
path = /home/public
valid users = renes
force directory mode = 770
force create mode = 770
force group = renes
oplocks = no
Ich will meine Samba-Freigaben in der Windows-Netzwerkumgebung "sehen“, und mache das mit
folgenden Einträgen:
os level = 100
© René Künzi, www.neotech.ch
11
Wie installiere ich ein Linux Server mit Debian GNU/Linux 7.0 "Wheezy" ?
Letztes Update: 26.April 2013
preferred master = yes
domain master = yes
local master = yes
Nun teste ich ob die Konfigurationsdatei in Ordnung ist mit:
testparm -v
Vergebe die Samba Benutzerpasswörter (Auf der Linuxconsole):
smbpasswd -a rene
Starte Samba neu:
/etc/init.d/samba restart
Zum Test kann ich jetzt in der Adreßzeile des Windows-Dateiexplorers \\debian eingeben. Es
sollten die Freigaben zu sehen sein.
Samba als Domaincontroller
Die Datei /etc/samba/smb.conf editiere ich wie folgt:
security = user
;invalid users = root
logon path =
os level = 100
preferred master = yes
domain master = yes
local master = yes
domain logons = yes
[netlogon]
comment = Network Logon Service
path = /home/samba/netlogon
guest ok = yes
writable = no
share modes = no
Der User root muß sich anmelden können, um PCs in die Domäne aufzunehmen.
Hinter "logon path =" gebe ich keinen Pfad an, weil mein Notebook keine servergespeicherten
Benutzerprofile haben soll.
Danach gehts auf der Konsole weiter:
smbpasswd -a root
useradd -s /bin/false nb$
smbpasswd -a -m nb$
mkdir -p /home/samba/netlogon
Erklärung:
• Dem Benutzer root wird ein Samba-Passwort vergeben.
•
Das Maschinenkonto für mein Notebook "nb" wird angelegt.
•
Das Maschinenkonto "nb" wird für Samba aktiviert und bekommt ein Passwort.
• Das Netlogon-Verzeichnis wird angelegt.
Nun kann das Notebook "nb" der Domäne hinzugefügt werden. Unter Win. über die Eigenschaften
des Arbeitsplatzes -> Computername -> ändern.
© René Künzi, www.neotech.ch
12
Wie installiere ich ein Linux Server mit Debian GNU/Linux 6.0 "squeeze"
Letztes Update: 26.April 2013
Linux-Druck-Server CUPS einrichten
Die Installation erfolgt mit dem Befehl:
aptitude install cupsys cupsys-bsd cups-driver-gutenprint foomatic-filters
Dann passe ich meine CUPS-Konfigurationsdatei /etc/cups/cupsd.conf wie folgt an:
Listen localhost:631
muß geändert werden in
Listen 192.168.0.10:631
<Location />
# ergänzen mit folgender Zeile:
Allow 192.168.0.0/24
</Location>
<Location /admin>
# ergänzen mit folgender Zeile:
Allow 192.168.0.0/24
</Location>
<Location /admin/conf>
# ergänzen mit folgender Zeile:
Allow 192.168.0.0/24
</Location>
Nach dem Speichern der Datei muß diese neu geladen werden:
/etc/init.d/cups reload
Jetzt kann ich in Firefox die CUPS Seite aufrufen mit: http://192.168.0.10:631
Unter "Neue Drucker gefunden" wird bereits mein Drucker angezeigt. Ich wähle "Diesen Drucker
hinzufügen". In der nachfolgenden Druckerliste wird mein Drucker nicht mehr zur Auswahl
angeboten. Da ich keinen kompatiblen, sondern den richtigen Druckertreiber möchte, habe ich mir
aus dem Internet die passende PPD Datei geladen und füge diese hinzu. Im folgenden
Konfigurationsmenü habe ich noch das Papierformat auf A4 eingestellt. Damit ist der Drucker auf
der Serverseite eingerichtet.
Jetzt passe ich noch die Samba Konfigurationsdatei /etc/samba/smb.conf an.
Ich muss nur das Kommentarzeichen auf folgender Zeile entfernen:
printing = cups
Nach einem
/etc/init.d/samba restart
steht der Drucker im Netz zur Verfügung.
Drucker auf dem PC/Laptop einrichten
Wenn beim Verbinden mit dem Drucker die Meldung kommt: „keinen Zugriff mangels erforderlicher
Rechte“, dann sind damit die Windows-Rechte gemeint, die nicht ausreichen einen neuen Drucker
einzurichten.
Dem kann ich mit temporären Admin-Rechten abhelfen. Ggf. ist dann noch der Druckertreiber,
durch Angabe des Installationspfades, zu installieren.
Wenn ich von Windows aus auf einen, über Samba freigegebenen Drucker drucken will, ist dabei
eine Authentifizierung erforderlich.
Habe ich vorher mindestens ein Netzlaufwerk verbunden, ist die Authentifizierung schon erfolgt
und somit kein Problem.
Drucken geht aber auch ohne Samba, über das Internet Printing Protocol (ipp).
© René Künzi, www.neotech.ch
13
Wie installiere ich ein Linux Server mit Debian GNU/Linux 7.0 "Wheezy" ?
Letztes Update: 26.April 2013
Dazu ist bei der Druckereinrichtung unter Windows die URL anzugeben.
Bei mir:
https://debian:631/printers/Brother
Bei meinem Linux-Client habe ich die Adresse so eingegeben:
ipp://debian:631/printers/Brother
Nach einer Authentifizierung fragt Cups an dieser Stelle nicht.
Sicherheit CUPS
Nach Einrichtung des Druckers ist der Zugang zum CUPS-Webinterface nicht mehr erforderlich. Aus
Gründen der Sicherheit habe ich deshalb den Eintrag
Listen localhost:631
wieder hergestellt.
Linux-Mail-Server Postfix installieren
Standardmäßig installiert Debian den Mail-Server Exim. Ich mag dieses Programm nicht sonderlich
und ersetze es deshalb durch Postfix. Das erledige ich vor der Installation von MySQL, weil sonst
bei dessen Installation diverse exim-Pakete mit installiert würden.
aptitude install postfix
Bei der Installation werden ein paar Fragen gestellt, die ich wie folgt beantwortet habe:
Postfix Configuration
Allgemeine Art der Konfiguration
"Internet mit Smarthost"
Wie lautet der E-Mail-Name Ihres Systems?
Vorschlag mit ENTER bestätigt.
Ihr SMTP Relay-Server: Vorschlag mit ENTER bestätigt.
Die weitere Konfiguration erfolgt später, wenn es um die Konfiguration des Mail-Servers geht.
MySQL-Server installieren
aptitude install mysql-server-5.0 mysql-client-5.0
/usr/bin/mysqladmin -u root password geheim
DerMySQL-Server ist in der Standardkonfiguration nur von localhost erreichbar, also z.B. für lokale
Webanwendungen.
Web-Server Apache2 mit PHP5 installieren
Installation
Die Installation des Apache-Webservers und PHP5 erfolgt mit:
aptitude install apache2-mpm-prefork libapache2-mod-php5 php-pear php5-mysql
DefaultCharset festlegen
Damit
z.B.
Umlaute
richtig
dargestellt
werden
entferne
/etc/apache2/apache2.conf das Kommentarzeichen in Zeile 446:
AddDefaultCharset ISO-8859-1
Server Side Includes aktivieren:
Damit SSI funktioniert muß ich lediglich einen symbolischen Link setzen:
cd /etc/apache2/mods-enabled
ln -s ../mods-available/include.load include.load
© René Künzi, www.neotech.ch
ich
in
der
Datei
14
Wie installiere ich ein Linux Server mit Debian GNU/Linux 6.0 "squeeze"
Letztes Update: 26.April 2013
Die Datei, die als SSI-Datei ausgeführt werden soll, also die index.shtml, muß ich das Recht als
ausführbare Datei erhalten (chmod +x index.shtml).
Damit die index.shtml auch als index-Datei ausgeführt
/etc/apache2/mods-available/dir.conf mit "index.shtml"
wird,
ergänze
ich
die
Datei
Eine Website anlegen:
Zum Test lege ich die Website "testsite" an:
Im DNS-Server muß ich für die Namensauflösung sorgen. Dafür bearbeite ich die Datei
/etc/bind/db.renes und ergänze sie mit dem Eintrag:
testsite A 192.168.0.10
Die reverse-Namensauflösung erfolgt über die Datei /etc/bind/db.192.168.2, die ich um
folgenden Eintrag erweitere:
105.2.168.192.in-addr.arpa. IN PTR testsite
Damit die Änderungen wirksam werden mache ich ein Neustart des DNS-Servers
Die Apache-Konfigurationsdatei /etc/apache2/sites-available/default ergänze ich am
Ende der Datei mit dem folgenden Eintrag:
<VirtualHost *>
DocumentRoot /var/www/testsite
ServerName testsite
</VirtualHost>
Für den Funktionstest reicht diese einfache Konfiguration aus.
Jetzt erstelle ich das Verzeichnis /var/www/testsite :
mkdir /var/www/testsite
Das geht noch einfacher mit dem MC.
Im eben erstellten Verzeichnis erstelle ich zwei Test-Dateien:
touch /var/www/testsite/index.html
touch /var/www/testsite/info.php
In die Datei index.html kommt erst mal ein beliebiger Text.
Die Datei info.php fülle ich jetzt noch mit etwas Code:
<?php
phpinfo();
?>
Damit die Dateien angezeigt werden können, muss ich noch die Dateirechte anpassen:
chmod 0644 /var/www/testsite/*
© René Künzi, www.neotech.ch
15
Wie installiere ich ein Linux Server mit Debian GNU/Linux 7.0 "Wheezy" ?
Letztes Update: 26.April 2013
Nach einem Neustart des Apache-Servers erfolgt mein Test, indem ich im Webbrowser meines PCs
die Testsite aufrufe.
Die index.html sollte automatisch angezeigt werden, nachdem in der Browseradressleiste
"testsite" aufgerufen wurde. Mit testsite/info.php bekomme ich die PHP-Konfiguration zu
sehen und damit die Bestätigung, daß PHP funktioniert.
Linux-Mail-Server Installieren und Konfigurieren
Die Howtos folgender Quelle war mir sehr hilfreich:
http://wiki.ubuntuusers.de/Postfix
Postfix konfigurieren
In der Datei /etc/aliases stehen die Alias-Namen und deren Zuweisung:
postmaster:renes
root:renes
Die Änderungen an dieser Datei werden wirksam, nachdem ich sie mit
newaliases
in die Datenbank geschrieben habe und mit
postfix reload
in Postfix neu eigelesen hat.
Die Postfix-Konfigurationsdatei /etc/postfix/main.cf ändere ich, sodass folgendes drin steht:
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
append_dot_mydomain = no
# Authentifizierung beim ISP
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl/smtp_auth
smtp_sasl_security_options = noanonymous
# Verschlüsselte Übertragung zum ISP:
smtp_tls_security_level = encrypt
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_tsl_CApath=/etc/ssl/certs
myhostname = debian.renes.xx
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination
=
debian.renes.xx,
localhost.renes.xx,
$mydomain
relayhost = Name_des_smtp-Servers_des_Providers
mynetworks = 127.0.0.0/8, 192.168.0.0/24
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
localhost,
neotech.ch,
Mein Internet-Service-Provider verlangt eine Absenderauthentifizierung für das Versenden von
Emails. Dafür ist SASL zuständig, das wie folgt installiert wird:
aptitude install libsasl2-modules
Als nächstes lege ich die Datei /etc/postfix/sasl/smtp_auth an:
touch /etc/postfix/sasl/smtp_auth
Der Dateiinhalt ist sinngemäß:
© René Künzi, www.neotech.ch
16
Wie installiere ich ein Linux Server mit Debian GNU/Linux 6.0 "squeeze"
Letztes Update: 26.April 2013
SMTP-Server Benutzername:Paßwort
z.B.:
mailout.example.com Benutzername:Geheim
Der Dateiinhalt muß jetzt noch in eine Datenbankdatei geschrieben werden. Das mache ich mit:
postmap /etc/postfix/sasl/smtp_auth
Dadurch sollte die folgende Datei angelegt werden: /etc/postfix/sasl/smtp_auth.db
Nach einem Neustart von Postfix (/etc/init.d/postfix restart) funktioniert der Emailversand.
Emails mit fetchmail abholen
Die Installation erfolgt mit:
aptitude install fetchmail
Die Konfigurationsdatei erzeuge ich mit:
touch /etc/fetchmailrc
und editiere diese Datei wie folgt (POP3-Server, Benutzername und das Paßwort sind natürlich zu
ersetzen.):
set daemon 300
set syslog
poll POP3-Server with proto POP3 auth password
user "Benutzername" there with password "geheim" is andreas here options sslproto
'' fetchall
Wenn ich meine Emails über eine verschlüsselte Verbindung abholen will, vorausgesetzt, der
Provider unterstützt das, sollte folgendes in der Konfigurationsdatei stehen:
set daemon 300
set syslog
poll POP3-Server with proto POP3 auth password
user "Benutzername" there with password "geheim" is andreas here options ssl
fetchall
Damit fetchmail als Dienst arbeitet und automatisch beim Systemstart gestartet wird, muss ich die
Datei /etc/default/fetchmail anpassen:
START_DAEMON=yes
Mit /etc/init.d/fetchmail start sollte alles laufen.
SASL-Authentifizierung der smtp-Clients gegenüber Postfix
Um ein offenes Relais zu vermeiden, also mein Postfix-Server Emails von jedem beliebigen Client
Mails annimmt, benötige ich eine Absenderauthentifizierung. Die gewählte Methode "PAM"
authentifiziert gegen die Benutzerdatenbank des Linux-Systems.
Zuerst ist die Installation eines weiteren Pakets erforderlich:
aptitude install sasl2-bin
Danach muss ich die Konfigurationsdatei /etc/default/saslauthd, wie folgt anpassen:
START=yes
MECHANISMS="pam"
MECH_OPTIONS=""
THREADS=5
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"
Das unter Options genannte Verzeichnis muß auch existieren und lege ich deshalb an:
mkdir -p /var/spool/postfix/var/run/saslauthd
© René Künzi, www.neotech.ch
17
Wie installiere ich ein Linux Server mit Debian GNU/Linux 7.0 "Wheezy" ?
Letztes Update: 26.April 2013
Ich habe noch folgende Datei erstellt:
touch /etc/postfix/sasl/smtpd.conf
mit folgendem Inhalt:
pwcheck_method: saslauthd
mech_list: plain login
Die Datei /etc/postfix/main.cf habe ich wie folgt angepaßt:
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
append_dot_mydomain = no
# Authentifizierung beim ISP
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl/smtp_auth
smtp_sasl_security_options = noanonymous
# Verschlüsselte Übertragung zum ISP:
smtp_tls_security_level = encrypt
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_tsl_CApath=/etc/ssl/certs
# Authentifizierung der smtp-Clients beim Postfix-Server
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain =
smtpd_recipient_restrictions
=
permit_mynetworks,
permit_sasl_authenticated,
check_recipient_maps, reject_unauth_destination, permit_auth_destination
myhostname = debian.renes.xx
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination
=
debian.renes.xx,
localhost.renes.xx,
$mydomain
relayhost = SMTP-Server beim ISP
mynetworks = 127.0.0.0/8, 192.168.0.0/24
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
sender_canonical_maps = hash:/etc/postfix/sender_canonical
home_mailbox = mails/
localhost,
neotech.ch,
Nach einem
/etc/init.d/saslauthd restart
/etc/init.d/postfix restart
funktioniert bei mir die sasl-Authentifizierung meines Mail-Clients gegenüber dem Postfix-Server.
IMAP-Server mit Dovecot
Die Installation des Dovecot-IMAP-Servers mache ich mit folgendem Befehl:
aptitude install dovecot-imapd
Danach finde ich die Konfigurationsdatei /etc/dovecot/dovecot.conf, die bei mir folgenden Inhalt
bekam:
base_dir = /var/run/dovecot/
© René Künzi, www.neotech.ch
18
Wie installiere ich ein Linux Server mit Debian GNU/Linux 6.0 "squeeze"
Letztes Update: 26.April 2013
protocols = imap imaps
listen = *
disable_plaintext_auth = yes
log_timestamp = "%Y-%m-%d %H:%M:%S "
ssl_cert_file = /etc/ssl/certs/dovecot.pem
ssl_key_file = /etc/ssl/private/dovecot.pem
login_dir = /var/run/dovecot/login
login_user = dovecot
mail_location = maildir:%h/mails
protocol imap {
}
auth default {
mechanisms = plain
passdb pam {
}
userdb passwd {
}
user = root
}
dict {
}
plugin {
}
Ich passe die Rechte an:
chmod 0750 /var/run/dovecot
Dovecot starte ich neu mit /etc/init.d/dovecot restart.
TLS Verschlüsselung
Bis jetzt habe ich eine verschlüsselte Verbindung zwischen IMAP-Clients und IMAP-Server Dovecot.
Versende ich Emails vom SMTP-Client (z.B. einem Windows XP-PC) zum Debian-Postfix-Server,
werden Benutzername und Kennwort unverschlüsselt übertragen. Das ändere ich jetzt.
Ich begebe mich in das Verzeichnis /etc/ssl/private.
Als nächstes erzeuge ich einen private Schlüssel smtpd.key:
openssl genrsa -out smtpd.key 2048
Den CSR (Certificate Signing Request) erstellen:
openssl req -new -key smtpd.key -out smtpd.csr
Hierbei werde ich nach den Zertifizierungsinformationen gefragt, die ich alle, bis auf den "Common
Name", ohne Eingabe mit Enter bestätigen kann. Der "Common Name" ist der FQDN des eigenen
Postfix-Servers, bei mir debian.renes.xx.
Jetzt erstelle ich das Zertifikat:
openssl x509 -req -days 4312 -in smtpd.csr -out smtpd.crt -signkey smtpd.key
© René Künzi, www.neotech.ch
19
Wie installiere ich ein Linux Server mit Debian GNU/Linux 7.0 "Wheezy" ?
Letztes Update: 26.April 2013
Nun muss ich Postfix für die Verwendung von TLS konfigurieren. Die Datei /etc/postfix/main.cf
habe ich wie folgt geändert:
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
append_dot_mydomain = no
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/private/smtpd.crt
smtpd_tls_key_file=/etc/ssl/private/smtpd.key
smtpd_use_tls = yes
smtpd_enforce_tls = no
smtpd_tls_auth_only = yes
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
# Authentifizierung beim ISP
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl/smtp_auth
smtp_sasl_security_options = noanonymous
# Verschlüsselte Übertragung zum ISP:
smtp_tls_security_level = encrypt
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_tsl_CApath=/etc/ssl/certs
# Authentifizierung der smtp-Clients beim Postfix-Server
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain =
smtpd_recipient_restrictions
=
permit_mynetworks,
permit_sasl_authenticated,
check_recipient_maps, reject_unauth_destination, permit_auth_destination
myhostname = debian.renes.xx
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination
=
debian.renes.xx,
localhost.renes.xx,
localhost,
neotech.ch,
$mydomain
relayhost = SMTP-Server beim ISP
mynetworks = 127.0.0.0/8, 192.168.0.0/24
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
sender_canonical_maps = hash:/etc/postfix/sender_canonical
home_mailbox = mails/
Nach den Änderungen an den Konfigurationsdateien starte ich Postfix und fetchmail neu.
Virenscanner installieren
Für mich kommt Antivir von Avira als Lösung in Frage. Eine gute Installationsanleitung finde ich
wie fast immer im Forum: http://wiki.ubuntu-forum.de/index.php/AntiVir.
Noch ein paar Links und Infos:
Die Antivir-Unix-Workstation-Version ich hier herunter laden.
Die Lizenzdatei für den privaten Gebrauch erhalte ich hier welche ich unbedingt zur Installation
benötige.
© René Künzi, www.neotech.ch
20
Wie installiere ich ein Linux Server mit Debian GNU/Linux 6.0 "squeeze"
Letztes Update: 26.April 2013
Eine deutschsprachige Dokumentation gibt es auch im Downloadbereich für den Antivir-Server.
SSH-Server für die Remoteadministration installieren
Für die Fernwartung des Servers installiere ich mir einen OpenSSH-Server. Tastatur und Maus sind
damit nicht mehr notwendig, können aber bei Bedarf über USB angeschlossen werden.
Die Installation erfolgt mit:
aptitude install openssh-server
Das war's schon. Ab sofort kann ich mich von Windows aus mit dem Programm "Putty" zum Server
verbinden.
Von meinem Linux-PC aus geht das mit Boardmitteln auf der Konsole:
rlogin -l andreas debian
oder
ssh -l andreas debian
Um die Sicherheit etwas zu erhöhen, habe ich noch die folgende Konfigurationsdatei bearbeitet:
/etc/ssh/sshd_config
Die Anmeldung mit dem User "root" ist ein generelles Risiko. Deshalb verbiete ich ihm den
Fernzugriff und schränke die zugelassenen User auf "rene" ein. Ausserdem lasse nur eine
gleichzeitige Verbindung zu:
PertmitRootLogin no
AllowUsers andreas
MaxStartups 1
Das Programm "denyhosts" durchsucht in regelmässigen Abständen die Logdatei /var/log/auth.log
um Einbruchsversuche aufzuspüren. Die so ermittelten Hosts trägt es in die Datei /etc/host.deny
ein. Ich hab es bei den Standardeinstellungen belassen. Die Installation erfolgt mit:
aptitude install denyhosts
Für meinen Linux-Server, der nicht direkt am Internet angeschlossen ist, reichen diese
Sicherheitsmaßnahmen aus.
Hier noch etwas Literatur:
http://wiki.ubuntuusers.de/SSH
Webmin installieren
Administration über Web-Frontend.
Die Installation ist auf der Webmin-Website gut beschrieben.
Zuerst installiere ich den Sicherheits-Schlüssel:
wget http://www.webmin.com/jcameron-key.asc
apt-key add jcameron-key.asc
Danach erweitere ich die Datei /etc/apt/sources.list mit folgender Zeile:
deb http://download.webmin.com/download/repository sarge contrib
Als Letztes gebe ich auf der Konsole folgendes ein:
apt-get update
apt-get install webmin
Der Aufruf von Webmin erfolgt im Webbrowser mit: https://debian:10000/
© René Künzi, www.neotech.ch
21
Wie installiere ich ein Linux Server mit Debian GNU/Linux 7.0 "Wheezy" ?
Letztes Update: 26.April 2013
Die Datensicherung
Hardware Raid Lösung
Da mein Server zwei HW Raid Controller hat habe ich die Datensicherung wie folgt gelöst.
Arbeitsverzeichnis inkl. Daten auf dem Server.
Backup auf dem Storage 24 Festplatten mit Raid 6
© René Künzi, www.neotech.ch

Documentos relacionados