cane
28.03.06, 09:43
Hallo @all,
ich bin dabei diverse eigene und fremde Präsenzen von diversen Webspace-Anbietern auf einen Rootserver zu migrieren.
Dazu habe ich mir folgende Hardware besorgt:
2 x PIII 1000 MHz
1024 MB RAM
2 x 18 GB SCSI als RAID1
100 Mbit Internetanbindung
Als Distribution verwende ich ein hardened-gentoo inklusive grsecurity und Pax. Alternative wäre ein hardened Debian (Adamantix) gewesen, die aktuelleren Pakete von Gentoo haben mich aber überzeugt, ich weiß das einige aus Sicherheitsgründen lieber Binärdistributionen auf Servern fahren, denke aber das mein hardened.gentoo auch so sicherer ist als 90 % der Rootserver die am Netz hängen ;)
Als Webserver wird apache2 verwendet werden.
Zu meinen Fragen:
1. PHP
Ich möchte mod_php nicht verwenden da dort alle Scripts als Uer apache ausgeführt werden. mod_suphp macht das nicht, ist aber nicht sehr performant. Deswegen möchte ich mod_fastcgi verwenden:
Ich suchte nach Alternativen und entdeckte mod_fastcgi. Dieses verbindet die Sicherheit von PHP-CGI und die Performance von mod_php. Es führt ebenfalls PHP Files mit dem User aus, den man im vHost des Apache eingestellt hat, wie suphp, und spawnt beim Starten eine beliebige Anzahl PHP-FCGI Prozesse, die dann fest im Speicher bleiben, und somit nicht bei jedem Request neu gestartet werden müssen, ähnlich wie mod_php. Die Performance ist erstaunlich, im Vergleich zu mod_php zwar immer noch etwas langsamer, aber im Vergleich zu suphp wesentlich besser. Außerdem ist mod_fastcgi threadsafe, wodurch man hier das apache2-mpm-worker benutzen kann, und somit statischen Inhalten nochmals einen gewaltigen Geschwindigkeitsschub verpasst. Desweiteren entdeckte ich bei der Installation sehr viele praktische Features, die einem das Leben sehr einfach machen. Jeder vHost hat einen eigenen User, jeder vHost hat eine eigene php.ini. Ja, jeder vHost könnte sogar sein eigenes PHP-Binary haben. Doch es geht noch individueller, denn jeder einzelne vHost kann beliebig viele verschiedene PHP-Versionen mit unterschiedlichen .php* Endungen benutzen. Man kann die Anzahl der festen Prozesse für jeden vHost beliebig festlegen, man kann stark besuchten Seiten so mehr Prozesse zur Verfügung stellen, als weniger besuchten Seiten. Außerdem kann man bei Bedarf die Priorität der PHP-Prozesse eines Users mittels nice verstellen. So kann man zum Beispiel einem unwichtigen User eine niedrigere Priorität geben, damit wichtigen Usern immer noch genügend CPU-Ressourcen zur Verfügung stehen, falls ein PHP Script Amok läuft oder der Server überlastet ist. Zudem kann man so verhindern, dass, wenn ein GameServer auf der gleichen Maschine wie der WebServer läuft, bei dem GameServer sogenannte Lags durch Web-Zugriffe entstehen. Nachteil von mod_fastcgi ist allerdings eine recht komplexe Konfiguration.
Quelle mit mehr netten Infos: http://www.debianhowto.de/de:howtos:sarge:apache2_php-fcgi
Würdet ihr auch mod_fastcgi verwenden - wenn nicht warum?
2. Email (MTA)
Hier möchte ich aus Performance- und auch Sicherheitsgründen qmail verwenden. Alternativen wie Postfix werden zwar schneller weiterentwickelt, momentan fält mir aber nichts ein was in meiner Konfiguration gegen Qmail sprechen würde.
3. Email (MDA /Webmail)
Hier überlege ich noch. Ich möchte POP3S und IMAPS anbieten, zusätzlich Webmail. Momentan finde ich Courier-IMAP und dazu horde/IMP als Webmailer gut geeignet. Habt ihr andere / bessere Ideen?
4. Datenbanken
Ich würde lieber pgsql als mysql nutzen, die gängigen CMS wie Joomla könen a auch auf PGSQL laufen. Ich denke trotzdem das einige Webanwendungen Probleme machen werden (vielleicht wegen mySQL spezifischen Befehlen?) - wie seht ihr das?
Würde mich über Kommentare, Anregungen, kurze Auflistung eurer Config oder jegliche Kritik freuen!
mfg
cane
ich bin dabei diverse eigene und fremde Präsenzen von diversen Webspace-Anbietern auf einen Rootserver zu migrieren.
Dazu habe ich mir folgende Hardware besorgt:
2 x PIII 1000 MHz
1024 MB RAM
2 x 18 GB SCSI als RAID1
100 Mbit Internetanbindung
Als Distribution verwende ich ein hardened-gentoo inklusive grsecurity und Pax. Alternative wäre ein hardened Debian (Adamantix) gewesen, die aktuelleren Pakete von Gentoo haben mich aber überzeugt, ich weiß das einige aus Sicherheitsgründen lieber Binärdistributionen auf Servern fahren, denke aber das mein hardened.gentoo auch so sicherer ist als 90 % der Rootserver die am Netz hängen ;)
Als Webserver wird apache2 verwendet werden.
Zu meinen Fragen:
1. PHP
Ich möchte mod_php nicht verwenden da dort alle Scripts als Uer apache ausgeführt werden. mod_suphp macht das nicht, ist aber nicht sehr performant. Deswegen möchte ich mod_fastcgi verwenden:
Ich suchte nach Alternativen und entdeckte mod_fastcgi. Dieses verbindet die Sicherheit von PHP-CGI und die Performance von mod_php. Es führt ebenfalls PHP Files mit dem User aus, den man im vHost des Apache eingestellt hat, wie suphp, und spawnt beim Starten eine beliebige Anzahl PHP-FCGI Prozesse, die dann fest im Speicher bleiben, und somit nicht bei jedem Request neu gestartet werden müssen, ähnlich wie mod_php. Die Performance ist erstaunlich, im Vergleich zu mod_php zwar immer noch etwas langsamer, aber im Vergleich zu suphp wesentlich besser. Außerdem ist mod_fastcgi threadsafe, wodurch man hier das apache2-mpm-worker benutzen kann, und somit statischen Inhalten nochmals einen gewaltigen Geschwindigkeitsschub verpasst. Desweiteren entdeckte ich bei der Installation sehr viele praktische Features, die einem das Leben sehr einfach machen. Jeder vHost hat einen eigenen User, jeder vHost hat eine eigene php.ini. Ja, jeder vHost könnte sogar sein eigenes PHP-Binary haben. Doch es geht noch individueller, denn jeder einzelne vHost kann beliebig viele verschiedene PHP-Versionen mit unterschiedlichen .php* Endungen benutzen. Man kann die Anzahl der festen Prozesse für jeden vHost beliebig festlegen, man kann stark besuchten Seiten so mehr Prozesse zur Verfügung stellen, als weniger besuchten Seiten. Außerdem kann man bei Bedarf die Priorität der PHP-Prozesse eines Users mittels nice verstellen. So kann man zum Beispiel einem unwichtigen User eine niedrigere Priorität geben, damit wichtigen Usern immer noch genügend CPU-Ressourcen zur Verfügung stehen, falls ein PHP Script Amok läuft oder der Server überlastet ist. Zudem kann man so verhindern, dass, wenn ein GameServer auf der gleichen Maschine wie der WebServer läuft, bei dem GameServer sogenannte Lags durch Web-Zugriffe entstehen. Nachteil von mod_fastcgi ist allerdings eine recht komplexe Konfiguration.
Quelle mit mehr netten Infos: http://www.debianhowto.de/de:howtos:sarge:apache2_php-fcgi
Würdet ihr auch mod_fastcgi verwenden - wenn nicht warum?
2. Email (MTA)
Hier möchte ich aus Performance- und auch Sicherheitsgründen qmail verwenden. Alternativen wie Postfix werden zwar schneller weiterentwickelt, momentan fält mir aber nichts ein was in meiner Konfiguration gegen Qmail sprechen würde.
3. Email (MDA /Webmail)
Hier überlege ich noch. Ich möchte POP3S und IMAPS anbieten, zusätzlich Webmail. Momentan finde ich Courier-IMAP und dazu horde/IMP als Webmailer gut geeignet. Habt ihr andere / bessere Ideen?
4. Datenbanken
Ich würde lieber pgsql als mysql nutzen, die gängigen CMS wie Joomla könen a auch auf PGSQL laufen. Ich denke trotzdem das einige Webanwendungen Probleme machen werden (vielleicht wegen mySQL spezifischen Befehlen?) - wie seht ihr das?
Würde mich über Kommentare, Anregungen, kurze Auflistung eurer Config oder jegliche Kritik freuen!
mfg
cane