mod_security und Apache 1.3

Benedikt

Well-Known Member
Hi,
Hab folgendes Problem:

Ich kompiliere meinen Apache mit folgendem Befehl:
Code:
./configure --with-apache=../apache_1.3.37 
--with-ssl=../openssl-0.9.8e --enable-module=ssl 
--enable-shared=ssl --prefix=/usr/local/apache 
--disable-module=all --server-uid=apache --server-gid=apache 
--enable-module=access --enable-module=log_config 
--enable-module=dir --enable-module=mime 
--enable-module=auth --activate-module=src/modules/extra/mod_security 
--enable-module=security --activate-module=src/modules/php5/libphp5.a 
--enable-module=so --enable-module=rewrite --enable-shared=rewrite 
--enable-module=negotiation --enable-shared=negotiation 
--enable-module=cgi --enable-shared=cgi --enable-module=alias 
--enable-shared=alias --enable-module=digest --enable-shared=digest 
--enable-module=expires --enable-shared=expires --enable-module=unique_id 
--enable-shared=unique_id --enable-module=setenvif --enable-shared=setenvif
make, make install.

Er arbeitet alles ohne Probleme ab, aber wenn ich den Apache dann starten will, sagt er mir, dass er die Datei mod_security.so nicht finden kann. Sie ist auch nicht vorhanden. Nur die mod_security.c und mod_security.o

Ist es wichtig in welcher Reihenfolge ich die Parameter angebe? Die Datei mod_security.c ist im Ordner src/modules/extra vorhanden.

Hat jemand nen Tipp?
 
1. Welches Betriebssystem?

2. Warum benutzt du nicht Ports oder noch besser Packages?

auf bald
oenone
 
Sorry, FreeBSD 6.0

Die Packages nehm ich nicht, da ich gerade beim Apache gerne eigene Anpassungen vornehmen will. Und ob ich etz die Ports oder die Quellen von Apache nehme ist in meinen Augen ziemlich wurscht, oder?
 
Nein, der Unterschied ist gewaltig. Und wenn du nicht die Ports verwendest, wird dir hier auch wahrscheinlich niemand weiterhelfen. Auch mod_security ist in den Ports.
 
ja.. vorschlag: pass den apache-port deinen bedürfnissen an (z.b. andere configure-parameter) und probiers damit. wenns nicht geht, gib hier ne fehlerbeschreibung an (diff zum original-port + kompletten output des befehls, der fehler gab)

auf bald
oenone
 
Wenn du nichts außergewöhnliches machen willst, musst du dem Port wahrscheinlich nur einige Flags übergeben, oder die in der make.conf eintragen.
 
Also ich würde den Apache gerne in eine Chroot sperren, aber irgendwie macht er es nicht so wie ich mir das erwarte.

Folgende Flags habe ich ins Makefile eingetragen:

Code:
CONFIGURE_ARGS+=--enable-module=ssl \
                --enable-shared=ssl \
                --prefix=/usr/local/apache \
                --disable-module=all \
                --server-uid=apache \
                --server-gid=apache \
                --enable-module=access \
                --enable-module=log_config \
                --enable-module=dir \
                --enable-module=mime \
                --enable-module=auth \
                --enable-module=so \
                --enable-module=rewrite \
                --enable-shared=rewrite \
                --enable-module=negotiation \
                --enable-shared=negotiation \
                --enable-module=cgi \
                --enable-shared=cgi \
                --enable-module=alias \
                --enable-shared=alias \
                --enable-module=digest \
                --enable-shared=digest \
                --enable-module=ssl \
                --enable-module=expires \
                --enable-shared=expires \
                --enable-module=unique_id \
                --enable-shared=unique_id \
                --enable-module=setenvif \
                --enable-shared=setenvif \
                --with-perl=${PERL} \
                --with-layout=FreeBSD \
                ${SUEXEC_CONF}

Komisch ist, dass ich ssl zweimal aktivieren muss, sonst bricht er mit nem Fehler ab. Ich komme mit den Ports nicht so klar, das WiKi hat mir auch nicht zu sehr helfen können...

Mein Gesamtziel:
mySQL mit Apache-SSL mit bestimmten Modulen, PHP5 und ruby gechrootet laufen lassen. Habe bisher nur Anleitungen u.ä. mit Hilfe von Sourcen gefunden.
 
Meine Empfehlung wäre Apache aus den Ports in eine Jail zu installieren. Das ist das übliche Vorgehen unter FreeBSD. An den Port Makefiles rumzubasteln macht für mich auch keinen Sinn. Die Anforderungen die du hier genannt hast geben zumindest keinen Hinweis darauf, dass das nötig wäre.

Wenn du Probleme mit den Ports hast, stell eine Frage dazu. "Damit komme ich nicht klar" ist leider zu unspezifisch um dir weiterzuhelfen. Meine Kristallkugel ist mal wieder in Reparatur. ;)
 
Dass ich mit "damit komme ich nicht klar" keine Aufklärung kriege ist schon klar, war auch nicht so gedacht ;-)

Ich hab das eh in einer Jail laufen, wollte es aber zusätzlich chrooten. Aber ich probier es mal nur mit Ports und bissl Rumspielen. Vielleicht klappts ja.
 
Hallo!

Ich hab das eh in einer Jail laufen, wollte es aber zusätzlich chrooten.
Das ist dann aber ziemlich sinnfrei doppelt gemoppelt. Wenn jemand den eingesperrten Apachen meuchelt, dann ist es ohnehin am Einfachsten, die ganze Jail aus dem letzen sauberen Backup zu holen, die Löcher zu stopfen und wieder online zu gehen.

HTH & Ciao.
Markus Mann
];-)
 
Schon, aber so kann ich den Apache vom SQL-Server trennen. Hat er den Apache, hat er nicht den SQL-Server.

Ist das wirklich so sinnfrei?
 
Schon, aber so kann ich den Apache vom SQL-Server trennen. Hat er den Apache, hat er nicht den SQL-Server.

Ist das wirklich so sinnfrei?
Ja, das ist sinnfrei. Wie wärs mit einem Jail für den Apachen, einem zweiten für die Datenbank, Kommunikation über das Loopback-Device? Kostet keinen Cent extra.
 
Hm, gute Idee. Ich hab nur keine Ahnung wie ich das mit dem Loopback-Device machen kann.

Bei mir lauschen die Dienste eh auf ner lokalen IP. Muss ich dann bei PHP-Skript bspw. die IP der Jail angeben statt "localhost", oder?
 
Zuletzt bearbeitet:
So, hab es mal über die Ports installiert, allerdings habe ich nun folgendes Problem:
Habe meine httpd.conf angepasst:

Code:
DELETED

apachectl configtest sagt "Syntax ok", apachectl startssl oder auch nur apachectl start sagen allerdings "/usr/local/sbin/apachectl startssl: httpd could not be started"

Das ganze ist ein FreeBSD 6.0 mit Apache 1.3.37+mod_ssl.
Kann mir wer nen Tipp geben woran es liegt? Ich mach auch gerne ein neues Topic auf, wenn es hier nicht reingehört.
 
Zuletzt bearbeitet:
Hab jetzt noch ein Problem:

Wenn ich PHP über die Ports installieren will, erhalte ich den Fehler:
Code:
"/usr/ports/Mk/bsd.port.mk", line 1479: Could not find /usr/ports/Mk/bsd.gnome.mk
"/usr/ports/Mk/bsd.port.mk", line 1954: Could not find /usr/ports/Mk/bsd.autotools.mk
"/usr/ports/Mk/bsd.port.mk", line 1958: Could not find /usr/ports/Mk/bsd.gnome.mk
"/usr/ports/Mk/bsd.port.mk", line 2281: Could not find bsd.sites.mk
make: fatal errors encountered -- cannot continue

Wenn ich es mit pkg_add -r php5 mache, dann finde ich nicht das benötigte Apache-Modul.

Kann mir da jemand helfen?
 
Hab jetzt noch ein Problem:

Wenn ich PHP über die Ports installieren will, erhalte ich den Fehler:
Code:
"/usr/ports/Mk/bsd.port.mk", line 1479: Could not find /usr/ports/Mk/bsd.gnome.mk
"/usr/ports/Mk/bsd.port.mk", line 1954: Could not find /usr/ports/Mk/bsd.autotools.mk
"/usr/ports/Mk/bsd.port.mk", line 1958: Could not find /usr/ports/Mk/bsd.gnome.mk
"/usr/ports/Mk/bsd.port.mk", line 2281: Could not find bsd.sites.mk
make: fatal errors encountered -- cannot continue
Da fehlen Dateien. Bei mir sieht's so aus:
Code:
[cs@Parallels ~]$ uname -a
FreeBSD Parallels.local 6.2-STABLE [B]FreeBSD 6.2-STABLE[/B] #2: Sat Mar  3 20:41:49 CET 2007     cs@Parallels.local:/usr/obj/usr/src/sys/GENERIC  i386
[cs@Parallels ~]$ ls /usr/ports/Mk/
bsd.apache.mk       [B]bsd.gnome.mk[/B]        bsd.linux-rpm.mk    bsd.php.mk          bsd.port.subdir.mk  bsd.sites.mk
[B]bsd.autotools.mk[/B]    bsd.gnustep.mk      bsd.local.mk        bsd.port.mk         bsd.python.mk       bsd.tcl.mk
bsd.database.mk     bsd.gstreamer.mk    bsd.lua.mk          bsd.port.options.mk bsd.ruby.mk         bsd.wx.mk
bsd.emacs.mk        bsd.java.mk         bsd.mail.mk         bsd.port.post.mk    bsd.scons.mk
bsd.gcc.mk          bsd.kde.mk          bsd.openssl.mk      bsd.port.pre.mk     bsd.sdl.mk
Tritt Deinen Ports-Tree in die Tonne und nutze portsnap, um einen neuen zu installieren.
 
Zurück
Oben