Apache (inkl. FTP(S)) installieren
Kleine Anleitung zum Aufsetzen eines Apache-Webservers und Einrichten vom FTP-Dienst.
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