Apache (inkl. FTP(S)) installieren

Apache2 inkl. PHP und Gedöns installieren:

apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils apache2-suexec libexpat1 ssl-cert
apt-get install php5 php5-common php5-curl php5-dev php5-gd php5-idn php5-imagick php5-mysql php5-xcache libapache2-mod-php5

Module aktivieren:

Apache2 suexec für CGI-Skripte, Apache2 SSL = SSL-Support (Grundlage für https) und Apache2 Rewrite = Rewrite-Support):

a2enmod suexec rewrite ssl actions include

Apache neustarten:

/etc/init.d/apache2 restart

MySQL und PHPMyAdmin installieren:

apt-get install mysql-server phpmyadmin

Konfiguration:

vi /etc/apache2/httpd.conf

Mit dem Inhalt:

ServerName localhost

<Directory "/var/www/htdocs">
  Options Indexes FollowSymLinks
  AllowOverride All
  Order allow,deny
  Allow from all
</Directory>

Eigentümer der Dateien im Ordner /var/www/htdocs/ muss der Nutzer www-data sein!

neues PhpmyAdmin-Paket downloaden:

wget .../phpMyAdmin-3.4.5-all-languages.tar.gz

altes phpmyadmin verschieben:

mv /usr/share/phpmyadmin /usr/share/phpmyadmin-old

phpmyadmin kopieren und entpacken

cp phpMyAdmin-3.4.5-all-languages.tar.gz /usr/share/
tar xfv phpMyAdmin-3.4.5-all-languages.tar.gz
mv phpMyAdmin-3.4.5-all-languages phpmyadmin

phpmyadmin konfigurieren:

mv /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
vi /usr/share/phpmyadmin/config.inc.php

Zeile mit blowfish secret bearbeiten:

$cfg['blowfish_secret'] = 'Ich bin ein geheimer key'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

Am Ende der Konfiguration noch die unnötigen Tabellen ausblenden, sowie mögliche Warnungen ausblenden:

/* unnoetige tabellen ausblenden */
$cfg['Servers'][$i]['hide_db'] = '(information_schema|phpmyadmin|mysql)';
$cfg['PmaNoRelation_DisableWarning'] = true;
$cfg['SuhosinDisableWarning'] = true;

FPT(S)-Zugang installieren:

ProFTP installieren:

apt-get install proftpd

Config anpassen:

vi /etc/proftpd/proftpd.conf

Folgende Konfiguration einfügen: (keine shell, nur zugriff auf home, es dürfen nur ftpuser sich per ftp anmelden):

RequireValidShell off
DefaultRoot ~ ftpuser
DenyGroup !ftpuser

FTP-Server neustarten:

/etc/init.d/proftpd restart

Neue Gruppe anlegen:

addgroup ftpuser

Neuen Benutzer anlegen:

adduser ftpklaus -shell /bin/false -home /var/www

ftpklaus zur Gruppe ftpuser hinzufügen:

adduser ftpklaus ftpuser

OPTIONAL für Nutzung von NETDrive:

adduser netdrive -shell /bin/false -home /mnt/

ftpklaus zur Gruppe ftpuser hinzufügen:

adduser netdrive ftpuser

FTPS einrichten

Überprüfen ob TLS vorhanden ist:

/usr/sbin/proftpd -l

Hier muss “mod_tls.c” auftauchen. Wenn nicht die neuste Version von ProFTP downloaden (hier die neuste Stable):

wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.3e.tar.gz
# entpacken
tar xfz proftpd-1.3.3e.tar.gz

Konfigurieren und Compilieren:

cd proftpd-1.3.3e
./configure --with-modules=mod_tls && make make install

Eigenes Zertifikat erstellen ( oder eins kaufen hohoho :D ):

cd /usr/local/etc
cd /usr/local/etc/ftpcert
mkdir ftpcert
openssl genrsa 1024 > host.key
chmod 400 host.key
openssl req -new -x509 -nodes -sha1 -days 365 -key host.key > host.cert

FTP-Server konfigurieren:

vi /usr/local/etc/proftpd.conf

FTP-Konfiguration einfügen:

TLSEngine on
TLSLog /var/log/proftpd/proftpd_tls.log
TLSProtocol TLSv1
TLSRequired off
TLSVerifyClient off
TLSRSACertificateFile /usr/local/etc/ftpcert/host.cert
TLSRSACertificateKeyFile /usr/local/etc/ftpcert/host.key

FTP-Server neustarten:

/etc/init.d/proftpd restart