PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache 2.0.54 mit OpenSSL kompilieren



samitra
19.09.05, 19:46
Hallo an alle,

ich habe folgendes Problem. Ich möchte gerne den Apache mit SSL unterstützung kompilieren. Deswegen habe ich mir den Source von OpenSSL (0.97f) downgeloadet und ins Verzeichnis /app/openssl-0.97f installiert.

Wenn ich den Apache mit den Parametern --enable-ssl und --with-ssl=/app/openssl-0.97f kompiliere geht das noch gut. Wenn ich dann make ausführe bringt er mir folgende Fehlermeldung.

modules/ssl/.libs/mod_ssl.a(ssl_engine_kernel.o)(.text+0xacd): In function `ssl_hook_Access':
/app/temp/httpd-2.0.54/modules/ssl/ssl_engine_kernel.c:626: undefined reference to `X509_STORE_CTX_set_depth'
collect2: ld returned 1 exit status
make[1]: *** [httpd] Error 1
make[1]: Leaving directory `/app/temp/httpd-2.0.54'
make: *** [all-recursive] Error 1

Hat jemand eine Idee was ich falsch mache?

Ich wäre euch dankbar wenn Ihr mir Hilft da ich jetzt schon über drei Tage daran sitze und mir fällt nichts mehr ein.

Ich danke euch allen.

Gruß Samitra

drcux
19.09.05, 20:37
nicht nur downloaden und irgendwo hinkopieren, auch installieren

xanlosch
19.09.05, 20:40
Hast du auch den Lib-Pfad der OpenSSL-Installation in die /etc/ld.so.conf übernommen und ein "ldconfig" ausgeführt ?

samitra
19.09.05, 21:01
Hast du auch den Lib-Pfad der OpenSSL-Installation in die /etc/ld.so.conf übernommen und ein "ldconfig" ausgeführt ?


Hallo,

ja habe ich ausgefürht. Habe "echo /app/openssl-0.97f/lib >> /etc/ld.so.conf" und danach "ldconfig" ausgefürht. Hat aber nichts gebracht. Es kommt die selbe Fehlermeldung.

samitra
19.09.05, 21:04
nicht nur downloaden und irgendwo hinkopieren, auch installieren

Was soll man den mehr machen außer config --prefix=/app/openssl-0.9.7f --openssldir=/app/openssl-0.9.7f und danach make && make install ?
Außer noch die ld.so.conf anpassen!

xanlosch
19.09.05, 21:16
Kannst du von der Fehlermeldung vielleicht noch etwas mehr posten und nicht nur die bisherigen Zeilen ? Vielleicht steht weiter oben / eher noch ein anderer Fehler.

Nachdem installieren hast du die Zertifikate auch noch installiert ?

cp -v -r certs /app/openssl-0.9.7g

P.S.: Ich nehm noch beim config-Aufruf die Option "shared" hinzu, damit auch die dynamischen Libs gebaut werden und nicht nur die statischen.

samitra
19.09.05, 21:29
Kannst du von der Fehlermeldung vielleicht noch etwas mehr posten und nicht nur die bisherigen Zeilen ? Vielleicht steht weiter oben / eher noch ein anderer Fehler.

Nachdem installieren hast du die Zertifikate auch noch installiert ?

cp -v -r certs /app/openssl-0.9.7g

P.S.: Ich nehm noch beim config-Aufruf die Option "shared" hinzu, damit auch die dynamischen Libs gebaut werden und nicht nur die statischen.


Habe jetzt die Zertifikate in das Verzeichnis von OpenSSL kopiert. Hatte aber keine Wirkung. Ich hatte es auch schon mal mit der shared option versucht.

Leider kann ich Dir nicht mehr posten (Fehlermeldung), da er keine andere Fehlermeldung bringt außer:

modules/ssl/.libs/mod_ssl.a(ssl_engine_kernel.o)(.text+0xacd): In function `ssl_hook_Access':
/app/temp/httpd-2.0.54/modules/ssl/ssl_engine_kernel.c:626: undefined reference to `X509_STORE_CTX_set_depth'
collect2: ld returned 1 exit status
make[1]: *** [httpd] Error 1
make[1]: Leaving directory `/app/temp/httpd-2.0.54'
make: *** [all-recursive] Error 1

xanlosch
19.09.05, 21:34
Wenn das nicht klappt, dann bin ich überfragt :(

Warum nimmst du eigentlich nicht die Pakete deiner Distribution für OpenSSL und Apache ?

samitra
19.09.05, 21:40
Ich dank Dir für deine Hilfe. Ich möchte ungern auf die Pakete die ich auf CD habe zurückgreifen, da meistens neuere im Internet zu verfügung stehen. Außerdem sehe ich das als Übung für mich an, um mehr von dem Betriebssystem zuverstehen und zuerlernen und lernen kann man immer was neues.

Gruß Samitra

xanlosch
19.09.05, 21:46
Hast du zufälligerweise auf deinen System noch die OpenSSL-Bibliothek installiert ? Wenn ja, dann kann es zu einem Konflikt kommen, da zuerst die Systembibliothek genommen wird (wird zuerst beim Linken gefunden) und nicht die nachträglich installierte.

Entweder du deinstallierst die von deinem System (könnte dein System instabil machen) oder du aktualisierst diese (Irgendwo gibt es immer für das eigene System die neuesten Bibliotheken schon fertig übersetzt).

Edit: Wenn du mehr hinter dein System steigen willst, dann wäre vielleicht ein guter Einstieg (wenn auch nicht gerade einfach), dass Linux From Scratch (http://www.linuxfromscratch.org) Projekt. Dort hab ich recht viel gelernt, wie man selber sein Wunsch-Software-System zusammenbaut.

samitra
19.09.05, 21:54
Edit: Wenn du mehr hinter dein System steigen willst, dann wäre vielleicht ein guter Einstieg (wenn auch nicht gerade einfach), dass Linux From Scratch (http://www.linuxfromscratch.org) Projekt. Dort hab ich recht viel gelernt, wie man selber sein Wunsch-Software-System zusammenbaut.[/QUOTE]


Ja danke werde ich mir mal ansehen. Was die möglichen doppelten OpenSSL Versionen angeht, da sehe ich immer als erstes nach, sicher ist sicher ;) .

xanlosch
19.09.05, 22:01
Entweder hab ich dich gerade falsch verstanden, dann sorry, aber ich seh das so:

Du hast unter /usr/lib die OpenSSL-Bibliotheken deines Systems installiert und unter /app/openssl-0.9.7g/lib die neuen. In der /etc/ld.so.conf steht zuerst (wenn auch nicht direkt sichtbar) /lib, /usr/lib und dann die weiteren Einträge, also auch irgendwann das /app/openssl-0.9.7g/lib.

Wenn nun ein Programm gelinkt wird, schaut der Linker in der obigen Reihenfolge nach (also /lib, /usr/lib, ..., /app/openssl-0.9.7g, ...). Findet er eine Bibliothek, die scheinbar passt, dann versucht er mit dieser den Link-Vorgang auszuführen. Kommt es dabei zu Fehlern (nicht gefundene Symbole wie bei dir), dann wird die Fehlermeldung erzeugt und das war es dann. Zu deiner neu installierten Bibliothek kommt er erst gar nicht.

Es gibt zwar Wege, die Suchreihenfolge zu beeinflussen, nur sind die erstens nicht einfach und zweitens können sie zu heftigen Problemen führen und sollten nur bedacht angewand werden.

samitra
20.09.05, 08:15
Du hast unter /usr/lib die OpenSSL-Bibliotheken deines Systems installiert und unter /app/openssl-0.9.7g/lib die neuen. In der /etc/ld.so.conf steht zuerst (wenn auch nicht direkt sichtbar) /lib, /usr/lib und dann die weiteren Einträge, also auch irgendwann das /app/openssl-0.9.7g/lib.


Hallo,

du hast es etwas falsch Verstanden. Ich habe unter /app das OpenSSL 0.97f in das Verzeichnis /openssl-0.97f installiert also /app/openssl-0.97f. Es existieren keine weiteren OpenSSL inistallationen auf dem System. Das Verzeichnis der OpenSSL Bibliotheken, habe ich in der ld.so.conf bekannt gegeben und danach ein ldconf durchgeführt. Trotzdem bricht die Apache installation beim make mit der Fehlermeldung, die ich weiter oben gepostet habe ab. Ich habe die letzten zwei Tage im Internet nach einer Lösung gesucht aber nichts gefunden. Auch in den Dokus von Apache oder OpenSSL habe ich nichts gefunden. Eigentlich sollte es Funktionieren, tut es aber nicht und weiß nicht mehr weiter.

Habe gestern MySQL mit OpenSSL untersützung erfolgreich kompiliert und installiert. Also an OpenSSL kann es nicht liegen.

Gruß Samitra