Nach der Installation über die Ports via Portsnap fetch/extract/folter/schießmichtot und einer langen Zeit der Compilierung und des Wartens auf Weihnachten und das nächste Jahr, kurz gesagt ca 4-6 Stunden später war die Compilierung von Apache mit den PHP Extensions endlich beendet. Unter BSD installiere ich absolut alles und jedes Modul über den Quellcode. Die Tuningmöglichkeiten sind immens, auch wenn VW-Golf Fahrer jetzt nicht unbedingt anfangen sollten, einen BSD-Server mit Leichtlauföl 0W-40 oder dem Rennsportöl 10W40 zu verwechseln.
Anyway ich sitze also hier und stelle mal wieder fest, dass sich der Apache mittels apachectl start nicht starten lässt. Ein Blog, äh Blick in die httpd.conf des Quadcore-Servers zeigt eine große Anzahl aktivierter Apache-Module.
Einer der größten Vorteile von FreeBSD sind die ganzen Features, die man bei der Compilierung von Apache aktivieren kann. Nachteil: Otto-Normalrennfahrer kann das System nicht administrieren. Dafür habe ich ein paar Bücher geschrieben, ich glaube 7 Stück, aber das setzt voraus dass man diese auch noch lesen müsste. Dafür haben wir bestimmt keine Zeit. Eines der Bücher werde ich am Ende des Artikels einfach mal kurz vorstellen. Ich verlege meine Bücher übrigends selbst was den Vorteil hat, dass man nicht “bitte bitte” machen muss bei den Verlegern. Geld kann man mit Fachbüchern auch keines verdienen, vermute ich mal. In den USA sind Drehbuch-Autoren auf die Straße gegangen, weil sie zu wenig Geld verdienen. Das hat jetzt auch ziemlich viel mit unserer Problematik zu tun.
Wir verzichten also auf Gebrüll und Bluthochdruck. Das kommt nicht gut an bei der Hauskatze. Wenn man sich außerdem noch gegen Grippe impfen lässt und schon wieder vom Thema abkommt, wird das nie was.
Einen Absturz später, als die Katze bei dem Versuch eine Motte zu fangen das Stromkabel aus der Wand gerissen hat und wir uns darüber freuen, dass das Filesystem des BSD Servers gehalten hat, geht es weiter.
LoadModule php5_module libexec/apache22/libphp5.so
wird zu
#LoadModule php5_module libexec/apache22/libphp5.so
geändert. Dann starten wir Apache neu (apachectl start) und prüfen den http Prozess (ps ax|grep http). Wenn dieser nicht erscheint, liegt das Problem an irgend einem Apache-Modul.
In Elspe gibt es übrigends irgendwelche Indianer-Shows, die früher Pierre Briece gemacht hat. Muss wohl recht bekannt gewesen sein. Heutzutage scheint ein Apache nur noch ein Kampfhubschrauber oder ein Webserver zu sein. Es ist erstaunlich, wie sich die Zeiten ändern.
Damit Sie mal eine Vorstellung davon haben, was der Webserver alles einlädt – eine kleine Liste als Auszug.
LoadModule authn_file_module libexec/apache22/mod_authn_file.so
LoadModule authn_dbm_module libexec/apache22/mod_authn_dbm.so
LoadModule authn_anon_module libexec/apache22/mod_authn_anon.so
LoadModule authn_dbd_module libexec/apache22/mod_authn_dbd.so
LoadModule authn_default_module libexec/apache22/mod_authn_default.so
LoadModule authn_alias_module libexec/apache22/mod_authn_alias.so
LoadModule authz_host_module libexec/apache22/mod_authz_host.so
LoadModule authz_groupfile_module libexec/apache22/mod_authz_groupfile.so
LoadModule authz_user_module libexec/apache22/mod_authz_user.so
LoadModule authz_dbm_module libexec/apache22/mod_authz_dbm.so
LoadModule authz_owner_module libexec/apache22/mod_authz_owner.so
LoadModule authz_default_module libexec/apache22/mod_authz_default.so
LoadModule auth_basic_module libexec/apache22/mod_auth_basic.so
LoadModule auth_digest_module libexec/apache22/mod_auth_digest.so
LoadModule file_cache_module libexec/apache22/mod_file_cache.so
LoadModule cache_module libexec/apache22/mod_cache.so
LoadModule disk_cache_module libexec/apache22/mod_disk_cache.so
LoadModule mem_cache_module libexec/apache22/mod_mem_cache.so
LoadModule dbd_module libexec/apache22/mod_dbd.so
LoadModule dumpio_module libexec/apache22/mod_dumpio.so
LoadModule include_module libexec/apache22/mod_include.so
LoadModule filter_module libexec/apache22/mod_filter.so
LoadModule charset_lite_module libexec/apache22/mod_charset_lite.so
LoadModule deflate_module libexec/apache22/mod_deflate.so
LoadModule log_config_module libexec/apache22/mod_log_config.so
LoadModule log_forensic_module libexec/apache22/mod_log_forensic.so
LoadModule logio_module libexec/apache22/mod_logio.so
LoadModule env_module libexec/apache22/mod_env.so
LoadModule mime_magic_module libexec/apache22/mod_mime_magic.so
LoadModule cern_meta_module libexec/apache22/mod_cern_meta.so
LoadModule expires_module libexec/apache22/mod_expires.so
LoadModule headers_module libexec/apache22/mod_headers.so
LoadModule usertrack_module libexec/apache22/mod_usertrack.so
Im Gegensatz zu CentOS – ein sehr gutes Betriebssystem, können wir hier noch viel mehr tweaken, cheaten und hacken. Counterstriker werden wach. Counterstrike ist eines der bekanntesten Computerspiele unserer Zeit, ich selbst bin dort ebenfalls anzutreffen – manchmal.
Ich habe eine Reihe von Extensions deaktiviert:
#LoadModule proxy_module libexec/apache22/mod_proxy.so
#LoadModule proxy_connect_module libexec/apache22/mod_proxy_connect.so
#LoadModule proxy_ftp_module libexec/apache22/mod_proxy_ftp.so
#LoadModule proxy_http_module libexec/apache22/mod_proxy_http.so
#LoadModule proxy_balancer_module libexec/apache22/mod_proxy_balancer.so
#LoadModule ssl_module libexec/apache22/mod_ssl.so
#LoadModule optional_hook_export_module libexec/apache22/mod_optional_hook_export.so
#LoadModule optional_hook_import_module libexec/apache22/mod_optional_hook_import.so
#LoadModule optional_fn_import_module libexec/apache22/mod_optional_fn_import.so
#LoadModule optional_fn_export_module libexec/apache22/mod_optional_fn_export.so
Wenn ich jetzt gemein wäre, würde ich sagen mod_ssl bringt eh fast nichs mehr, denn gemäß Signaturgesetz hat der Staat jederzeit Zugriff auf die verschlüsselten SSL Verbindungen. Wenn man das Root-Zertifikat für einen Server jedoch selbst erstellt, statt auch noch dafür GELD auszugeben ist man auf der sicheren Seite – verrückte Welt.
Checkliste wenn der Apache nach der Compilierung nicht startet:
PHP5 Modul deaktivieren und den Start testen. Kippen Sie kein Öl in den Rechner, wenn die Software nicht starten sollte. Nein, auch kein Speiseöl. Das teure 0w40 auch nicht! Das brauchen wir noch für die Nordschleife.
Alle LoadModule-Anweisungen die man nicht kennt, einkommentieren
Alle bekannten Load-Module Anweisungen die man kennt, einkommentieren und sich dann wundern, selbst wenn der Fehler beseitigt ist, dass Apache garnicht mehr starten KANN.
Nachdem man sich also gewundert hat, aktiviert man wieder ein Modul nach dem anderen. Dann wundert man sich, dass es schon dunkel draußen ist.
Wer mehr über diesen ganzen Kram erfahren möchte, darf sich mein Buch dazu kaufen:
http://www.lulu.com/content/hardcover-buch/x-itec-press-linuxbsd-band-2-serverdienste/820681