Page 1 of 2 12 LastLast
Results 1 to 10 of 18

Thread: Apache 2 - Besonderheiten mit open Suse

  1. #1

    Default Apache 2 - Besonderheiten mit open Suse

    Hallo zusammen,

    ich habe das Forum durchsucht und auch sonst im Internet geforstet, aber keine zufriedenstellende Information dazu bekommen, wie ich die Konfigurationsdateien so anpasse, das das System so läuft, wie ich mag.

    Mein 1. Problem betrifft PHP. Es wird mittels apache2handler ausgeführt, doch ich möchte es gerne als cgi ausgeführt sehen. Ich habe verschiedene Anleitungen im Netz gefunden, doch keine führt zu Erfolg. Ich habe mich bemüht alle Pfadangaben so anzupassen, dass sie auf die Suse-Installation zutreffen, aber dies hat mich bislang nicht weiter gebracht.
    Auch ist bei Suse ja die Konfiguration in viele Dateien aufgeteilt und ich bin mir nicht sicher, wo ich die Änderungen ab besten unterbringe.

    Grundlegend möchte ich, dass die Skripte im normalen htdocs-Verzeichnisbaum liegen können und eben als cgi ausgeführt werden. Dennoch sollen innerhalb von PHP variablen wie $_SEVER['Scriptname'] und $_GET normal funktionieren.

    Wie richte ich das ein?
    Welche Pakete brauche ich, welche nicht wirklich?


    Mein 2 Problem betrifft das aktiveren von SSL. Ich wüsste gerne welche Schritte ich der Reihe nach durchführen muss, damit alle Verzeichnisse auch mit SSL erreicht werden können.

    Bin für jede Hilfe oder Hinweise auf opensuse spezifische Anleitungen, dankbar.
    mit freundlichem Gruß,
    Heinrich Krebs

  2. #2
    Join Date
    Jun 2008
    Location
    Germany
    Posts
    301

    Default Re: Apache 2 - Besonderheiten mit open Suse

    Hallo,

    bei der Einrichtung von SSL kann ich Dir weiter helfen.

    1. Zertifikate generieren
    Zunächst brauchst Du Zertifikate. Eine Möglichkeit wäre eine eigene CA aufzubauen, oder mit gensslcert schnell ein Zertifikat zu generieren. Für die erstgenannte Variante gibt es ein gutes HowTo: OpenSUSE Linux: Creating Self-Signed SSL Certificates | OpenSUSE Linux Rants

    Am Ende sollte der Schlüssel des Zertifikats nach /etc/apache2/ssl.key/ kopiert werden (um einen automatischen Start von Apache zu ermöglichen ist dieser gegebenenfalls nicht durch ein Passwort geschützt) und das Zertifikat selber nach /etc/apache2/ssl.crt/ kopiert werden.

    2. Einrichten Apache
    Zuerst die Konfigurationsdatei unter /etc/sysconfig/apache2 anpassen. Hier die folgende Variable wie folgt anpassen:
    Code:
    APACHE_SERVER_FLAGS="SSL"
    In dieser Datei werden zudem auch noch Startup-Optionen sowie die Module festgelegt, die Apache laden soll.

    Dann unter /etc/apache2/vhosts.d/ das vhost-ssl.template nach vhost-ssl.conf kopieren und die Namen der Zertifikate anpassen. Zuletzt noch in der Datei /etc/apache2/listen.conf folgendes einfügen:
    Code:
    NameVirtualHost *:443
    Dann apache neu starten und SSL sollte funktionieren, sofern ich nichts vergessen habe

    Eine detaillierte Anleitung (auf Englisch) ist auch unter dem im Punkt 1 genannten Link zu finden.

    Hoffe das hilft schon mal weiter

  3. #3

    Default Re: Apache 2 - Besonderheiten mit open Suse

    Danke für die Antwort.
    Ich scheitere leider beim Zertifikate generieren bei dem Schritt:
    Code:
    openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt
    Denn ich bekomme eine Fehlermeldung zurück, die da lautet:
    Code:
    3082786440:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:696:Expecting: CERTIFICATE REQUEST

  4. #4

    Default Re: Apache 2 - Besonderheiten mit open Suse

    Ich kann auch in yast2 den mod_rewrite nicht für apache2 finden.
    Wie kann ich den den installieren ?

  5. #5
    Join Date
    Jan 2009
    Location
    Switzerland
    Posts
    1,529

    Default Re: Apache 2 - Besonderheiten mit open Suse

    Ich kann auch in yast2 den mod_rewrite nicht für apache2 finden.
    Wie kann ich den den installieren?
    Am einfachsten gleich mit deinem Lieblings-Editor im File /etc/sysconfig/apache2 bei der Variablen
    Code:
    APACHE_MODULES=" ... "
    rewrite hinzufügen. Dann den Indianer neu laden.
    Technology is 'stuff that doesn't work yet.' -- Bran Ferren

  6. #6

    Default Re: Apache 2 - Besonderheiten mit open Suse

    Vielen Dank, dass bringt mich schon mal ein Stück weiter....

    Mit dem SSL hatte ich aber trotz allem keinen Erfolg bislang.

  7. #7
    Join Date
    Jun 2008
    Location
    Germany
    Posts
    301

    Default Re: Apache 2 - Besonderheiten mit open Suse

    Quote Originally Posted by heinrich_k View Post
    Danke für die Antwort.
    Ich scheitere leider beim Zertifikate generieren bei dem Schritt:
    Code:
    openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt
    Denn ich bekomme eine Fehlermeldung zurück, die da lautet:
    Code:
    3082786440:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:696:Expecting: CERTIFICATE REQUEST
    Im ersten Schritt sollte man ein CA root key generieren:
    Code:
    openssl genrsa -des3 -out ca.key 4096
    Generating RSA private key, 4096 bit long modulus
    ............................................++
    .......................................................................................................................................................................................++
    e is 65537 (0x10001)
    Enter pass phrase for ca.key:
    Verifying - Enter pass phrase for ca.key:
    Wenn man den Schlüssel hat kann man das CA root Zertifikat erzeugen. Dieses steht quasi am Anfang der Certificate Authority und wird benutzt um alle weiteren Zertifikate zu signieren:
    Code:
    openssl req -new -x509 -days 3650 -key ca.key -out ca.crt
    Enter pass phrase for ca.key:
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) [AU]:DE
    State or Province Name (full name) [Some-State]:Irgendwo
    Locality Name (eg, city) []:
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:                  
    Organizational Unit Name (eg, section) []:
    Common Name (eg, YOUR name) []:www.mycoolca.de
    Email Address []:
    Wenn man das so erhaltene root Zertifikat beispielsweise in Firefox importiert, dann kann Firefox alle mit ihm signierten Unterzertifikate verifizieren.

    Nun im nächsten Schritt ist jetzt das eigentlich zu verwendende Zertifikat an der Reihe. In der Regel wird vom Antragsteller ein Certificaet Signing Request gestellt, d.h. man muss zuerst einen CSR generieren. Dazu braucht man wieder einen Schlüssel für den Server:

    Code:
    openssl genrsa -des3 -out server.key 4096
    Generating RSA private key, 4096 bit long modulus
    ..............................++
    .........................................++
    e is 65537 (0x10001)
    Enter pass phrase for server.key:
    Verifying - Enter pass phrase for server.key:
    Jetzt kann man das CSR erstellen, das mit dem neu erstellten Schlüssel signiert wird:
    Code:
    openssl req -new -key server.key -out server.csr
    Enter pass phrase for server.key:
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) [AU]:DE
    State or Province Name (full name) [Some-State]:Irgendwo
    Locality Name (eg, city) []:
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:MyCoolRootCA
    Organizational Unit Name (eg, section) []:
    Common Name (eg, YOUR name) []:www.meinewebadresse.de
    Email Address []:
    
    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:
    An optional company name []:
    Dieses CSR wird normalerweise an eine allgemein anerkannte Zertifizierungsstelle gesendet. In diesem Fall aber sind wir das ja Also muss das Zertifikat nun mit den Root Zertifikat signiert werden:
    Code:
    openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt
    Signature ok
    subject=/C=DE/ST=Irgendwo/O=MyCoolRootCA/CN=www.meinewebadresse.de
    Getting CA Private Key
    Enter pass phrase for ca.key:
    Das war jetzt zwar ein bisschen ausgeholt in die Erstellung einer eigenen CA, aber nun hat man die Zertifikate vorliegen

    Für die Benutzung im Apache kann der Schlüssel von der Passwortfreigabe befreit werden, ansonsten muss bei jedem Start das Passwort eingegeben werden:

    Code:
    openssl rsa -in server.key -out server.key.insecure
    Enter pass phrase for server.key:
    writing RSA key
    Der so erhaltene Schlüssel, das Zertifikat und das Root Zertifikat kann nun so in der Apache Konfiguration verwendet werden. Zu diesem Zweck kopiert man die Datei /etc/apache2/vhosts.d/vhost-ssl.template nach
    /etc/apache2/vhosts.d/vhost-ssl.conf, kopiert die Zertifikate und den Schlüssel an die entprechend vorgesehene Stelle unter /etc/apache2/ssl* (je nach Dateiendung) und editiert die /etc/apache2/vhosts.d/vhost-ssl.conf. Hierbei müssen dann das Schlüssel und die Zertifikate wie folgt eingebunden werden:

    Code:
    #   Server Certificate:
            #   Point SSLCertificateFile at a PEM encoded certificate.  If
            #   the certificate is encrypted, then you will be prompted for a
            #   pass phrase.  Note that a kill -HUP will prompt again.  Keep
            #   in mind that if you have both an RSA and a DSA certificate you
            #   can configure both in parallel (to also allow the use of DSA
            #   ciphers, etc.)
            SSLCertificateFile /etc/apache2/ssl.crt/server.crt
            #SSLCertificateFile /etc/apache2/ssl.crt/server-dsa.crt
    
            #   Server Private Key:
            #   If the key is not combined with the certificate, use this
            #   directive to point at the key file.  Keep in mind that if
            #   you've both a RSA and a DSA private key you can configure
            #   both in parallel (to also allow the use of DSA ciphers, etc.)
            SSLCertificateKeyFile /etc/apache2/ssl.key/server.key
            #SSLCertificateKeyFile /etc/apache2/ssl.key/server-dsa.key
    
            #   Server Certificate Chain:
            #   Point SSLCertificateChainFile at a file containing the
            #   concatenation of PEM encoded CA certificates which form the
            #   certificate chain for the server certificate. Alternatively
            #   the referenced file can be the same as SSLCertificateFile
            #   when the CA certificates are directly appended to the server
            #   certificate for convinience.
            SSLCertificateChainFile /etc/apache2/ssl.crt/ca.crt
    Wenn nun die restlichen Einstellungen wie bereits geschildert ebenfalls vorgenommen werden, dann sollte Apache mit SSL einsatzbereit sein

    Hoffe das hilft etwas weiter weiter

  8. #8

    Default Re: Apache 2 - Besonderheiten mit open Suse

    Ok, die Zertifikaterstellung hat geklappt.

    Wenn ich den Server mit https aufrufe erhalte ich jedoch den Fehler:
    ssl_error_rx_record_too_long

  9. #9
    Join Date
    Jun 2008
    Location
    Germany
    Posts
    301

    Default Re: Apache 2 - Besonderheiten mit open Suse

    Hallo,

    das ist schon einmal positiv. Es sieht so aus, als wäre ssl nicht richtig aktiviert beim Start. Bitte noch mal in die in der /etc/apache2/vhost-ssl.conf angegebenen logs durchsuchen. Eventuell könnte es an einem nicht entfernten Passwort des Schlüssels liegen, man sollte als Schlüssel dieseen server.key.insecure verwenden:

    Code:
    #   Server Private Key:
            #   If the key is not combined with the certificate, use this
            #   directive to point at the key file.  Keep in mind that if
            #   you've both a RSA and a DSA private key you can configure
            #   both in parallel (to also allow the use of DSA ciphers, etc.)
            SSLCertificateKeyFile /etc/apache2/ssl.key/server.key.insecure
    Es könnte es aber auch an etwas anderem liegen ... Die Logs sollten aber Aufschluss geben.

    Hoffe das hilft weiter

  10. #10

    Default Re: Apache 2 - Besonderheiten mit open Suse

    Ok, ist bin soweit, dass ich eigene Dateien in vhosts.de/ gestrichen habe und stattdessen alle vhosts in vhosts.d/ip-based_vhosts.conf eingetragen habe.
    Seitdem ist dieser Fehler weg, aber Firefox 6.0.1 meldet nun sec_error_bad_signature, obwohl ich das ca.crt wie angegeben in Firefox importiert habe.

    EDIT: Auch IE8 erlaubt die Verbindung nicht, ist allerdings hinsichtlich des Fehlers weniger aussagefreudig. Ich habe das Zertifikat vor dem Test auch in Windows importiert.

Page 1 of 2 12 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •