Sie befinden sich hier:  Artikel  / Debian Linux  / Installieren Debian Root 

Debian Server einrichten - Debian Sarge

In diesem Howto geht es darum einen Debian Server einrichten zu können per copy & paste.
Ein Debian Server ist etwas auf das man sich verlassen kann!

Anmerkung: Ein neues Howto Installation Debian Etch Server / Debian 4.0


KOMMENTARE LESEN / SCHREIBEN
Zuletzt bearbeitet am 07.06.2007
Tags: debian server einrichten, sarge
Webserver, ftp server

Vorbemerkung zum Tutorial "Debian Server einrichten"

Wenn Sie keinen Netdirekt Server verwenden können Sie diesem Howto auch folgen, aber die ersten Schritte einfach überspringen.

Was wollen wir eigentlich hiermit: Einen Apache2 inklusive Php-Unterstützung, MySQL-Datenbanken (+ PhpMyAdmin) und rel. sicheren FTP-Zugang.


Erste Schritte bzw. Image einspielen und Standardimage somit löschen:

Per SSH auf Rescue-konsole --> newimage --> 3 Sarge minimal --> go --> Passwort --> reboot



Vorbereitungen zu Debian Server einrichten

#Anmeldung Admin/ root
Root Server ~# su
#Quellen/ Paketlisten von APT aktualisieren
Root Server ~# apt-get update
#System auf aktuellen Stand bringen
Root Server ~# apt-get upgrade

Benutzer anlegen für Debian Server:
Root Server ~# adduser
#anstatt 'useradd -m' fragt sie 'adduser' alles notwendige (am wichtigsten ist das Feld Full Name)
#mit "usermod" können den Benutzer problemlo später modifizieren

Debian SSHd anpassen: (wichtig vorher MUSS neuer Benutzer angelegt werden!)
Root Server ~# mcedit /etc/ssh/sshd_config
# 'PermitRootLogin no' von YES auf NO

Debian Server - Apache2 Installation

#Install Apache2 mit Php und Anbindung an Mysql-Server; des Weiteren Phpmyadmin zur Verwaltung der Datenbank und GD-Support für Apache zwecks grafik-verarbeitenden Scripten wie CMS-Systemen (bsp. EXPONENT)

Linux Webserver ~# apt-get install apache2-mpm-prefork libapache2-mod-perl2 libapache2-mod-php4 mysql-client-4.1 mysql-server-4.1 libmysqlclient10 libmysqlclient12 libmysqlclient14 php4 php4-cgi php4-cli php4-pear php4-mysql phpmyadmin php4-gd libgd2

#Anmerkung: 'prefork' ist nicht die schnellste aber kompatibelste Version in Sachen PHP im Vgl. zu 'apache2-mpm-worker'
# Phpmyadmin muss noch konfiguriert (https) und abgesichert (.htaccess) werden! Darauf gehe ich zunächst nicht ein.

#Funktionstest:
#http://IP oder http://localhost bei lokaler Installation

Troubelshooting (nur der Vollständigkeit halber):

Php und MySQL:
#Install MySQL-Server
Linux Webserver ~# apt-get install mysql-server-4.1

#Install PHPMyadmin
Linux Webserver ~# apt-get install phpmyadmin

#Install
Linux Webserver ~# apt-get install php4-gd libgd2

Anpassungen von MySQL:
#MySQL-Passwort für root setzen!!!
Linux Webserver ~# mysql -u root mysql
Linux Webserver ~# mysql> UPDATE user SET Password=PASSWORD('neues_passwort') WHERE user='root';
Linux Webserver ~# mysql> FLUSH PRIVILEGES;

Linux Webserver~# mysql -u root -p

#Passworttest über PhpMyAdmin: http://IP/phpmyadmin; Benutzer:root und Passwort:PASSWORT

Toubelshooting Anpassung der Mysqlanbindung an den Indianer
#Php.ini anpassen
Linux Webserver ~# mcedit /etc/php4/apache2/php.ini

#Auskommentieren 'extension=mysql.so'
# Anpassung 'memory_limit = 16'
# und 'upload_max_filesize = 20' setzen (so dass später im CMS auch größere Daten hochgeladen werden können)


Debian Server - Virtuelle Hosts für Apache2

#Auskommentieren von
Debian Webserver ~# mcedit /etc/apache2/sites-available/default

#'RedirectMatch ^/$ /apache2-default/ im vhost unter /etc/apache2/sites-available/'
#einfach eine Raute davor (=Auskommentieren; Kommentieren = Raute weg nehemen), dann wird nicht vom localhost bzw. Ihrer IP auf localhost/default-apache umgeleitet

Debian Server - Namensbasierten virtuelle Host anlegen

#Sie haben eine Domain und diese zeigt auf die IP dieses Servers, dann können wir schnell für Erreichbarkeit sorgen
Linux Webserver ~#mcedit /etc/apache2/sites-available/MeineDomainDE

#Anmerkung der Name ist irrelevant nur der Inhalt ist wichtig
#Inhalt:
----
<VirtualHost * >
ServerAdmin EMAIL
ServerName www.Domain.DE
ServerAlias Domain.DE w.Domain.DE ww.Domain.DE
DocumentRoot /var/www/PFAD/ZUR/WEBSEITE
<Directory //var/www/PFAD/ZUR/WEBSEITE>
Order Deny,Allow
Allow from all
# Don't show indexes for directories
Options -Indexes
</Directory>
</VirtualHost>
---
#F2 für speichern und F10 für schließen und fertig
#Aktivieren bzw. versymlinken des virtuellen Hosts
Linux Webserver ~# a2ensite MeineDomainDE
Linux Webserver ~# /etc/init.d/apache2 reload

#Anmerkung löschen sie nicht den default oder setzen sie die Seite nicht an erste Stelle (Reihenfolge abhänig von Reihenfolge der verlinkung; nicht nach Alphabet)

#Neustart Debian Apache und fertig
Linux Webserver ~# /etc/init.d/apache2 restart
#und fertig ist ihr Vhost
Anzeige

Debian Server - Namensbasierten virtuelle Host mit SSL-Verschlüsselung also https

# Zertifikat erstellen
Debian Server ~# apache2-ssl-certificate -days 365
#-days gibt die Gültigkeitsdauer an
#alle Fragen können nach belieben beantwortet werden, aber Rechnername/ Domain muss mit Vhost übereinstimmen bsp. IP oder Domain

#SSl-Modul aktivieren
Debian Server  ~# a2enmod ssl

#Vhost mit SSL erstellen
Debian Server  ~# cp /etc/apache2/sites-available/default /etc/apache2/sites-available/default-ssl
Debian Server  ~# mcdit etc/apache2/sites-available/default-ssl
#Inhalt:
----
NameVirtualHost *:443
<VirtualHost *:443>
# SSL (START)
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
SSLCertificateKeyFile /etc/apache2/ssl/ZERTIFIKATSNAME.0
SSLProtocol all
SSLCipherSuite HIGH:MEDIUM
# 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/PFAD/ZUR/WEBSEITE
<Directory //var/www/PFAD/ZUR/WEBSEITE>
Order Deny,Allow
Allow from all
# Don't show indexes for directories
Options -Indexes
</Directory>
</VirtualHost>
---
#
Eintragen des SSLCertificateKeyFile /etc/apache2/ssl/ZUFALLSNAME.0
Debian Server ~# ls -l /etc/apache2/ssl/
# Der Name der datei die mit xxx.0 endet muss im vHost ergänzt werden.

#Apache den Ports noch mitteilen auf den er horchen soll
Debian Server  ~# mcedit /etc/apache2/ports.conf
#Inhalt:
----
Listen 80
Listen 443
----
# Default-SSL aktivieren
Debian Server  ~# a2ensite default-ssl

#Apache Neustart
Debian Server  ~# apache2ctl restart


Debian FTP Server

#Install
Debian Server ~# apt-get install proftpd

#Gruppen
Debian Server ~# addgroup ftpprouser #uneingeschränkter user
Debian Server ~# addgroup ftpuser #eingesckränkter user

#Möglichkeit Anmeldung an System unterbinden und NUR FTP-Anmeldung für bestimmte Benutzer erlauben
#Vorbereitung
#Shell ohne Anmeldung über SSH o.ä. kopieren
Debian Server ~# cp /bin/false /bin/ftp
Debian Server ~# echo "/bin/ftp" >> /etc/shells

#Ftp-User
Debian Server ~# useradd USERNAME #legt nur den Usernamen an sonst nichts
Debian Server ~# usermod -G ftpuser USERNAME#chroot ungleich ftpprouser siehe später proftpd.conf
Debian Server ~# usermod -d /HOME/ERZEICHNIS USERNAME
Debian Server  ~# usermod -s /bin/ftp USERNAME#keine Anmeldung an System

#Ftp-User per Hand gruppen zuordnen; eigentlich unnötig (dieser Schritt kann bei simpler Konfiguration übersprungen werden)
Debian Server ~# mcedit /etc/group
---Beispiel:
...
ftpprouser:x:1004:user1
ftpuser:x:1005:user2
---

#Proftpd-Config anpassen
Debian 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 über mount --bind nicht über Symlinks "herein verfachtet" werden; im Anschluss ein Beispiel

DefaultRoot ~ ftpuser
# Login nur von Mitgliedern der Gruppe ftpuser erlauben
<Limit LOGIN>
DenyGroup !ftpuser !ftpprouser
</Limit>
# Root-Login verbieten und gültige Shell verlangen (in /etc/shells)
<Global>
RootLogin off
RequireValidShell on
</Global>
# Speed erhoehen
UseReverseDNS off
IdentLookups off
----
#Ftp neustart
Debian Server ~# /etc/init.d/proftpd restart

Chrootet FTP-Benutzern oder Gruppen Verzeichnisse außerhalb des Homeverzeichnisses

#Bsp. für ein Verzeichnis von User2
# Ein Verzeichnis von User1 --> User2
# Verzeichnis bei User2 erstellen in dem die Daten landen sollen
Debian Server  ~# mkdir /home/USER2/OrdnerTestVonUser1/
# Verzeichnis mounten; mount --bind /Ursprungsverzeichnis /Zielverzeichnis
Debian Server  ~# mount --bind /home/USER1/OrdnerTest/ /home/USER2/OrdnerTestVonUser1/
#Anmerkung:
# über 'mount' kann man alle Mountpunte ich anzeigen lassen und über 'umount' löschen
# nach Neustart sind alle Mountpunkte weg, falls sie konsitent sein sollen sie einfach in die /etc/fstab eintragen
Social Bookmarks
Navigation

< Vorherige Seite  |  Ebene hoch  |  Oberste Ebene  |  Nächste Seite>
weitere Artikel:
Windows XP in Vista 2.0 ODER
.. wie erhalte ich die neuen Funktionen von Vista unter XP? (Vista Anleitung 1)
.. wie erhalte ich die die Oberfläche von Vista unter Windows XP? (Vista Anleitung 2)
.. 3D Desktop Software für Windows XP Desktop (Vista Anleitung 3)
Debian Linux Server remote mit FreeNX + NoMachines
Howto Installation Debian Sarge Server
Howto Installation Debian Etch Server
Sammlung Linux Konsolenbefehle
Howto: Konsolennutzung von Bittorrent unter Linux (Server)
Videotutorial: Windows Vista zum Test in einer VMWare installieren
Howto Installation und Benutzung Torrentflux
Anleitung zum manuellen und automatischen Backup einer MySQL -Datenbank
Anleitung Installation Typo3 unter Debian Etch
Mozilla Firefox extensions addons

Neue Artikel


Wiki Software Vergleich -Dokuwiki Mediawiki Moinmoin Pmwiki Socialtext TWiki
Vergleich Webhosting Anbieter
Webshop eröffnen - Webshop Vergleich 1&1 1blu Host Europe Strato
PC fernsteuern – Anwendungsfelder & Einsatzgebiete
Remote Control Software + Dienste
TestDisk - Software um gelöschte Partition wiederherstellen zu können
Gelöschte Dateien wiederherstellen
Windows Server 2008 und Servercore
Online Video-Konferenz
Leise PC-Systeme
Dateiverschlüsselung
VPN Einrichtung und VPN Konfiguration unter Windows Vista
Google
 
Vorteile: GoogleUpdater sorgt für aktuelle Versionen aller Progamme!
Alle Programme sind jederzeit optional wählbar bzw. abwählbar!
Kommentare (Verstoss melden)

Kommentar schreibenKommentar schreiben
Kommentar von: StiFFa am 26.04.2007
Einfach nur gut!
Ich weiss garnicht, wie oft deine Page mir schon weitergeholfen hat! Die Tutorials von dir sind einfach einsame ... SPITZE! THX!!
Kommentar von: Christian am 15.03.2007
Hallo Tim, absolut geil gemacht - und vor allem verständlich auch für Dummis! Vielen herzlichen Dank!
Antworten.:
Antwort von: Tim Bormann am 29.03.2007
Antwort:
:-) Debian Linux rockt!
Kommentar von: Coksnuss am 13.02.2007
Klasse Tutorial!...
Schade das es nicht mit MySQL5 und PHP5 beschrieben ist...
Antworten.:
Antwort von: Tim Bormann am 17.02.2007
Antwort:
Kommt in Debian 4.0 Etch Tutorial :-)
Kommentar von: Stefan am 31.01.2007
DANKE!
Vielen vielen Dank für das "an-die-Hand-nehmen"! Mal wieder viel gelernt! Beim Erstellen der default-ssl fehlt noch der Zusatz, was man bei SSLCertificateKeyFile eintragen muss. Lösung: ls -l /etc/apache2/ssl/ Dort tauchen zwei Dateien auf - die zweite hat einen Zufallsnamen mit Endung .O In die default-ssl kommt also: SSLCertificateKeyFile /etc/apache2/ssl/ZUFALLSNAME.O Dann bin ich noch einmal beim FTP-Einrichten gestolpert. Beim zuweisen des Home-Verzeichnisses meines FTP-Users, so hat's dann funktioniert: usermod -d /home/USERNAME USERNAME Jetzt motzt ProFTPd noch: ProFTPd warning: cannot start neither in standalone nor in inetd/xinetd mode. Check your configuration. ???
Antworten.:
Antwort von: Tim Bormann am 20.02.2007
Antwort: DANKE!
Hi Stefan,danke für die Ergänzungen. Hatte jeweils Flüchtigkeitsfehler drin. Hab es verbessert. Gruss Tim
bottom
Impressum Suche Sitemap Login
Website powered by
EXPONENT CMS