{"id":22,"date":"2007-04-12T11:59:50","date_gmt":"2007-04-12T09:59:50","guid":{"rendered":"http:\/\/www.instruyete.org\/?p=22"},"modified":"2007-04-12T11:59:50","modified_gmt":"2007-04-12T09:59:50","slug":"apache-20-auf-solaris-10","status":"publish","type":"post","link":"https:\/\/www.instruyete.org\/?p=22","title":{"rendered":"Apache 2.0 auf Solaris 10"},"content":{"rendered":"<p>Im Rahmen einer Solaris 10 Installation kann auch der HTTP Server Apache2 installiert werden. Wer allerdings WebDAV mit LDAP-Authentifizierung ben\u00f6tigt, der wird entt\u00e4uscht werden. Das seit Version 2.0.41 zum Lieferumfang geh\u00f6rende <strong>mod_auth_ldap<\/strong> Modul ist nicht dabei.<br \/>\n<em>In diesem Fall hilft nur ein manuelles \u00dcbersetzen des Apache Webservers.<\/em><\/p>\n<p>Das Kommando<\/p>\n<pre>pkginfo | grep apch<\/pre>\n<p>ergibt, dass zwei Pakete installiert wurden:<\/p>\n<ul>\n<li>SUNWapch2u (usr)<\/li>\n<li>SUNWapch2r (root)<\/li>\n<\/ul>\n<p>Ein<\/p>\n<pre>pkgchk -l SUNWapch2u | grep Pathname<\/pre>\n<p>ergibt dass der <em>usr-Anteil<\/em> von Apache nach <em>\/usr\/apache2<\/em> installiert wurde. Der <em>root-Anteil<\/em> wurde respektive nach <em>\/etc\/apache2<\/em> und <em>\/var\/apache2<\/em> installiert. Theoretische k\u00f6nnte man diese Apache2 Installation auf dem Rechner belassen und zus\u00e4tzlich eine nach <em>\/usr\/local<\/em> installieren &#8211; der \u00dcbersicht wegen habe ich aber diese Pakete entfernt, habe aber zwei Dateien aus den Paketen nach <em>\/tmp<\/em> kopiert.<\/p>\n<ul>\n<li>\/lib\/svc\/method\/http-apache2<\/li>\n<li>\/var\/svc\/manifest\/network\/http-apache2.xml<\/li>\n<ul>Die zweite Datei ist das <strong>SMF<\/strong> Manifest welches das erste Skript zum Starten\/Stoppen des Daemons ben\u00f6tigt.Jetzt kann&#8217;s losgehen. Als Vorraussetzungen m\u00fcssen einige SMC Pakete von <a target=\"_blank\" href=\"http:\/\/mail-archives.apache.org\/mod_mbox\/httpd-users-de\/200611.mbox\/%3CC8B16503DFC45B48BAB2BD327D71D9F4A0903B@QEO00226.de.t-online.corp%3E\">hier<\/a>.Danach den aktuellen tarball herunterladen und auspacken. Es folgt der configure Schritt<\/p>\n<pre>.\/configure --prefix=\/usr\/local\/apache2 --enable-mods-shared=all\n--enable-ssl=shared --enable-ssl --with-ssl=\/usr\/local\/ssl\n--enable-proxy --enable-proxy-connect --enable-proxy-ftp\n--enable-proxy-http --enable-ldap --enable-auth-ldap<\/pre>\n<p>Bei meiner, unabsichtlich unvollst\u00e4ndigen, Installation lief dies sofort auf einen Fehler:<\/p>\n<pre>Checking for C compiler default output file...\nconfigure: error: C compiler cannot create executables<\/pre>\n<p>Das Problem ist, dass der von Sunfreeware installierte gcc Compiler <strong>alle<\/strong> SUNW Entwicklerpakete ben\u00f6tigt, die normalerweise nach <em>\/usr\/ccs<\/em> installiert werden, siehe dazu folgenden <a target=\"_blank\" title=\"C Compiler cannot create executables\" href=\"http:\/\/www.brandonhutchinson.com\/c_compiler_cannot_create_executables.html\">Kommentar<\/a>. Erg\u00e4nzend muss noch erw\u00e4hnt werden dass nat\u00fcrlich <strong>PATH<\/strong> und <strong>LD_LIBRARY_PATH<\/strong> f\u00fcr den make Vorgang um die Entwicklerpfade erg\u00e4nzt werden m\u00fcssen.<br \/>\nDanach lief der configure Schritt ohne Probleme, aber make blieb nach einiger Zeit h\u00e4ngen:<\/p>\n<pre>util_ldap.c:43:2 #error mod_ldap requires APR-util to have\nLDAP support built in<\/pre>\n<p>Das Problem ist hier dass die <strong>APR<\/strong> (Apache Portable Runtime) entweder schon auf dem Rechner war (bei mir durch svn) oder zuvor durch den autoconfigure Schritt ohne LDAP Support erstellt wurde.<br \/>\nDaher m\u00fcssen folgende Schritte durchgef\u00fchrt werden:<\/p>\n<ol>\n<li>APR mit LDAP erstellen (bspw. nach \/usr\/local\/apache2-apr)<\/li>\n<li>APR-util mit LDAP erstellen (ins gleiche Verzeichnis)<\/li>\n<li>Apache2 gegen diese APR linken<\/li>\n<\/ol>\n<p>Auch diese Schritte sind <a target=\"_blank\" title=\"Apache Mailinglist\" href=\"http:\/\/mail-archives.apache.org\/mod_mbox\/httpd-users-de\/200611.mbox\/%3CC8B16503DFC45B48BAB2BD327D71D9F4A0903B@QEO00226.de.t-online.corp%3E\">nochmals hier (Apache Mailinglist)<\/a> erkl\u00e4rt.<br \/>\nDiese Schritte f\u00fchrten dann endlich zu einem Apache2 Webserver unter <em>\/usr\/local\/apache2<\/em><\/p>\n<p>Man k\u00f6nnte den Webserver jetzt schon durch das Startscript <strong>apachectl<\/strong> <em>in \/usr\/local\/apache2\/bin<\/em> starten, jedoch sollten wir die zwei am Anfang nach \/tmp kopierten Files anpassen, zur\u00fcckkopieren und unseren Apache2 \u00fcber das Solaris10 eigene Service Management Facility starten. Im einzelnen war dies<\/p>\n<ul>im Skript <em>\/lib\/svc\/method\/http-apache2<\/em> die Pfade anpassen und ein switch <strong>restart<\/strong> einf\u00fcgen<\/ul>\n<ul>in <em>\/var\/svc\/manifest\/network\/http-apache2.xml<\/em> den Namen im Abschnitt <em>service_bundle<\/em> auf &#8222;http-apache2&#8220; \u00e4ndern und einen Abschnitt &#8222;restart&#8220; einf\u00fchren<\/ul>\n<\/ul>\n<p>Abschliessend wird dass Manifest gepr\u00fcft, in das <em>SMF Repository<\/em> eingef\u00fcgt und der Dienst gestartet. Die Kommandos lauten<\/p>\n<pre>svccfg validate http-apache2.xml<\/pre>\n<pre>svccfg import http-apache2.xml<\/pre>\n<pre>svcadm enable svc:\/network\/http:apache2<\/pre>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Im Rahmen einer Solaris 10 Installation kann auch der HTTP Server Apache2 installiert werden. Wer allerdings WebDAV mit LDAP-Authentifizierung ben\u00f6tigt, der wird entt\u00e4uscht werden. Das seit Version 2.0.41 zum Lieferumfang geh\u00f6rende mod_auth_ldap Modul ist nicht dabei. In diesem Fall hilft nur ein manuelles \u00dcbersetzen des Apache Webservers. Das Kommando pkginfo | grep apch ergibt, dass &hellip; <a href=\"https:\/\/www.instruyete.org\/?p=22\" class=\"more-link\"><span class=\"screen-reader-text\">Apache 2.0 auf Solaris 10<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,7],"tags":[],"class_list":["post-22","post","type-post","status-publish","format-standard","hentry","category-solaris","category-unix"],"_links":{"self":[{"href":"https:\/\/www.instruyete.org\/index.php?rest_route=\/wp\/v2\/posts\/22","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.instruyete.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.instruyete.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.instruyete.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.instruyete.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=22"}],"version-history":[{"count":0,"href":"https:\/\/www.instruyete.org\/index.php?rest_route=\/wp\/v2\/posts\/22\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.instruyete.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=22"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.instruyete.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=22"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.instruyete.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=22"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}