|
Webserver Fragen zum Apache, MySQL-Einrichtung und was sonst noch mit WebServern zu tun hat |
|
Themen-Optionen | Ansicht |
11.05.2015, 19:25 | #1 | |||||||||||
König
Registriert seit: 06.09.2008
Ort: /dev/null
Beitr?ge: 1.988
Abgegebene Danke: 643
Erhielt 261 Danke für 28 Beiträge
Downloads: 68
Uploads: 0 Nachrichten: 11697 Renommee-Modifikator:
3552 |
Lighttpd & PHP5 und MySQL Unterstützung (Debian)
Ein kleines HowTo wie man Lighttpd & PHP5 inkl. MySQL Unterstürzung auf einen Debian Server installiert.
Hier gibt es schon eine ähnliche Anleitung, diese ist allerdings ziemlich schwammig und schlampig formuliert. Lighttpd ist ein Webserver der weit weniger Ressourcen benötigt als z.B. der Apache und ist so vor allem für sehr große Lasten oder sehr schwache Systeme gut geeignet. FastCGI ermöglicht beispielsweise das Ausführen von PHP Code. SCGI ergänzt Lighty um Ruby oder auch Python. Wir beschäftigen uns aber nur mit FastCGI, MYSQL und die Grundeinrichtung von Lighty. Lighttpd ist als Debian Paket verfügbar, daher können wir es wie folgt installieren: Code:
apt-get install lighttpd Lighttpd’s Standard Document Root ist /var/www , die Konfigurationsdatei ist /etc/lighttpd/lighttpd.conf. Wir können nun PHP5 in Lighttpd durch FastCGI wirksam werden lassen. Glücklicherweise bietet Debian ein FastCGI-aktiviertes PHP5 Paket, welches wir wie folgt installieren: Code:
apt-get install php5-cgi Um PHP5 in Lighttpd zu aktivieren, müssen wir php.ini (/etc/php5/cgi/php.ini) anpassen. Code:
vi /etc/php5/cgi/php.ini PHP-Code:
PHP-Code:
PHP-Code:
Code:
/etc/init.d/lighttpd restart Wir werden jetzt eine kleine PHP Datei (info.php) in diesem Verzeichnis erstellen und es in einem Browser aufrufen. Die Datei wird viele nützliche Informationen über die PHP Installation anzeigen wie zum Beispiel die installierte PHP Version. Code:
vi /var/www/info.php PHP-Code:
Nun rufen wir diese Datei (http://ip/info.php) in einem Browser auf : Es läuft PHP5 über FastCGI, wie man in der Server API Zeile sehen kann. Wenn Du weiter nach unten scrollst, siehst Du alle Module, die bereits in PHP5 aktiviert sind. MySQL ist dort nicht aufgelistet, was bedeutet, dass wir noch keine PHP5 Unterstützung haben. Weiter geht es mit dem MySQL-Server und Phpmyadmin Code:
apt-get install mysql-server phpmyadmin und es wird gefragt welcher Webserver für MySQL5 konfiguriert werden soll (wir wollen lighttpd ): Um MySQL Unterstützung in PHP zu beziehen, können wir das php5-mysql Paket installieren. Es ist ganz gut noch andere PHP5 Module zu installieren, da Du diese für Deine Projekte evt benötigen könntest. So kannst Du nach verfügbaren PHP5 Modulen suchen: Code:
apt-cache search php5 Code:
apt-get install php5 php5-mysql php5-curl php5-gd php5-idn php5-imagick php5-imap php5-mcrypt php5-memcache php5-xcache damit wir diese im /var/www/ aufrufen können geben wir folgendes ein... Code:
CD /var/www
Code:
ln -s /usr/share/phpmyadmin /var/www/phpmyadmin
Starte Lighttpd jetzt neu: Code:
/etc/init.d/lighttpd restart Du solltest dort viele neue Module finden, das MySQL Modul eingeschlossen: Nach dem alles läuft, könnt ihr die info.php wieder löschen und die Basis Installation von Lighttpd ist abgeschlossen. Wer möchte liest weiter und kümmert sich etwas um die Sicherheit seines Webservers. Hier ein paar Tipps. Ich gehe nicht auf jede einzelne Funktion ein, das würde den Thread mehr als sprengen, später kann ich aber gerne einen separaten Thread dafür erstellen, wo ich jedes einzelne PHP Modul beschreibe und drauf eingehe sofern gewünscht. Fangen wir mit der php.ini an (/etc/php5/cgi/php.ini) und ändern: Code:
expose_php = On <--- auf Off setzen! Code:
session.hash_function = 0 <--- auf 1 ändern! Code:
session.hash_bits_per_character = 4 <--- auf 6 ändern! suche Code:
disable_functions Code:
disable_functions = exec, system, passthru, shell_exec, escapeshellcmd, proc_open, proc_nice, ini_restore, popen, rename, chgrp, chown, highlight_file, show_source, chmod, phpinfo (Tracker-Stats Anzeige etc, aber das kann man alles wieder gut machen wenn man php beherrscht.) Nun gehen wir nach /etc/lighttpd/ und legen in lighttpd.conf einen Verzeichnisschutz an: Code:
nano /etc/lighttpd/lighttpd.conf
PHP-Code:
Wollt ihr nur ein Verzeichnis schützen, so genügt folgende Konfiguration: Beispiel PHPmyadmin in /var/www/ PHP-Code:
PHP-Code:
Die Datei kann natürlich auch anders heißen. Dazu muss die obere Konfiguration dann angepasst werden. Code:
nano /etc/lighttpd/passwd
Dort einfach nur User- und Passwortliste ausfüllen und den generierten Inhalt für die .htpasswd in unsere passwd Datei einfügen. Nun noch die lighttpd Konfigurationsdatei neuladen: Code:
/etc/init.d/lighttpd reload Erstelle ein Eigenes SSL Zertifikat Code:
CD /etc/lighttpd/
Code:
openssl req -new -x509 -keyout lighttpd.pem -out lighttpd.pem -days 365 -nodes Code:
chmod 400 /etc/lighttpd/lighttpd.pem PHP-Code:
Den ssl.cipher-list könnt ihr individuell anpassen: Für weitere Infos einfach HIER klicken. jetzt leiten wir alles von Port 80 (http) auf 443 (https) PHP-Code:
Füge recht weit mittig das hier ein Code:
evasive.max-conns-per-ip = 50 und Kontrolliere die Zugriffe pro IP die Minute. 404 Page Code:
server.error-handler-404 = "/404.php" Setze einen Server-Tag: Code:
server.tag = "My-Webserver" Verbiete Server Dir Listing: Code:
server.dir-listing = "disable" PHP-Code:
Code:
chmod 445 /home/domain PHP-Code:
Hier ein Beispiel: Modul aktivieren: Code:
"mod_redirect" PHP-Code:
Zum Schluss noch eine schöne aufgeräumte lighttpd.conf Bitte nicht vergessen eure Pfade anzupassen, diese werden von eurem abweichen! PHP-Code:
Haut euren Apache in den Müll und Testet lighttpd ruhig einmal, als Reserve Proxy ist er auch super einsetzbar. Rechtschreibfehler unterliegen der künstlerischen Freiheit! Peace.
__________________
Es ist kein Zeichen von Gesundheit, an eine von Grund auf kranke Gesellschaft gut angepasst zu sein. Ge?ndert von Thunder™ (11.05.2015 um 19:28 Uhr) |
|||||||||||
Folgende 10 Benutzer sagen Danke zu Thunder™ für den nützlichen Beitrag: | Bulli (12.05.2015), Cerberus (12.05.2015), Dean (11.05.2015), gotthummer (12.05.2015), Lex (11.05.2015), Othos (12.05.2015), pat (09.12.2015), Schwamm (11.05.2015), sultantonny (12.05.2015), Zero111 (11.05.2015) |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, G?ste: 1) | |
|
|