SSL für alle htdocs-domains konfigurieren

Irgendwelche Probleme mit XAMPP für Linux? Dann ist hier genau der richtige Ort um nachzufragen.

SSL für alle htdocs-domains konfigurieren

Postby achim » 02. January 2009 18:04

Hallo,

ich habe gerade das neue openSuse-Linux 11.1 und das neu XAMPP 1.7 installiert. Die Firewall habe ich für http und https geöffnet. Alles läuft soweit prima. Eine SSL-Verbindung mit https://localhost/ klappt auch problemlos.

Mein Problem ist nun:
Wie kann ich die SSL-Funktion für alle Domains in htdocs aktivieren, damit sich Benutzer über eine sichere Verbindung mit ihrem Passwort anmelden können? Ich will kein neues SSL-Zertifikat erzeugen, sondern ganz einfach das bereits vorhandene SSL-Zertifikat verwenden. Thema ist nur, wie ich eine SSL-Funtion für alle meine htdocs-Domains konfigurieren kann, sonst nichts!

Die Datei
/opt/lampp/etc/extra/httpd-ssl.conf habe ich gefunden.
Ab etwa Zeile 78 gibt es eine globale Einstellung für vitual hosts. Wenn ich nach dieser Vorgabe einen weiteren Virtuelle Host einrichte, dann lässt sich Apache nicht mehr starten.

Ich habe mir auch "Das XAMPP Handbuch" gekauft, aber drin steht nur ab Seite 58 wie man ein SSL-Zertifikat erstellt, was aber hier nicht das Thema sein soll. Hier im Forum habe ich auch schon gesucht, aber keine Problemlösung gefunden.

Frage:
Wer kann mir bitte sagen was ich wo in welcher Datei nach welchem Muster für einen Muster-Virtual Host eintragen muss.

Ich bitte, nur wirklich zu meiner Frage zu posten. Postings zu warum und wieso und weshalb doch nicht und Für und Wider sind nicht gefragt. Ich danke für jeden echten sachdienlichen Tipp, der zu meiner Frage weiterhilft.

Vielen Dank!

Beste Grusse
Webcruiser
Explore Your Limits
achim
 
Posts: 85
Joined: 27. March 2004 08:48
Location: Berlin

Re: SSL für alle htdocs-domains konfigurieren

Postby Nobbie » 02. January 2009 21:47

>Thema ist nur, wie ich eine SSL-Funtion für alle meine htdocs-Domains konfigurieren kann, sonst nichts!

Das ist einfach zu beantworten: das geht nicht. Ein Zertifikat pro Domain, eins zu eins.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: SSL für alle htdocs-domains konfigurieren

Postby achim » 03. January 2009 07:51

Danke für das Posting.

Ich bin davon ausgegangen, dass man in der Datei /opt/lampp/etc/extra/httpd-ssl.conf die globale Einstellung einfach erweitern kann, indem man die htdocs-Domains dazukonfiguriert und mir dabei ein Fehler unterlaufen ist.

Die nächstbeste Möglichkeit wäre dann möglicherweise, dass bestehende Zertifikat zu kopieren und dann dem System bekanntzumachen, dass für die entsprechende htdocs-Domain jetzt SSL-Funktion möglich sein soll.

Wer kann mir bitte sagen was ich wo in welcher Datei nach welchem Muster für einen Virtual Host eintragen muss?

Vielen Dank!

mit besten Grüssen
Explore Your Limits
achim
 
Posts: 85
Joined: 27. March 2004 08:48
Location: Berlin

Re: SSL für alle htdocs-domains konfigurieren

Postby Nobbie » 03. January 2009 15:11

Die nächstbeste Möglichkeit wäre dann möglicherweise, dass bestehende Zertifikat zu kopieren und dann dem System bekanntzumachen, dass für die entsprechende htdocs-Domain jetzt SSL-Funktion möglich sein soll.


Ne, das wäre ja zu schön um wahr zu sein. In Zertifikaten (die ja der Sicherheit dienen) steht der Domainname drin, für welche sie gelten. Die VirtualHost Angaben sind nur für Apache der Hinweis, zu welchem Host welches Zertifikat gilt.

Aber man kann ein Zertifikat nicht einfach kopieren, die muss man ordnungsgemäß erstellen.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: SSL für alle htdocs-domains konfigurieren

Postby achim » 04. January 2009 08:35

Wer kann mir bitte sagen was ich wo in welcher Datei nach welchem Muster für einen Virtual Host eintragen muss?

Vielen Dank!

mit besten Grüssen
Explore Your Limits
achim
 
Posts: 85
Joined: 27. March 2004 08:48
Location: Berlin

Re: SSL für alle htdocs-domains konfigurieren

Postby glitzi85 » 05. January 2009 17:43

Wenn du unbedingt willst, so geht's:

Füge am Anfang

Code: Select all
NameVirtualHost *:443


in die httpd-ssl.conf ein, dann ändere diese Zeile:

Code: Select all
<VirtualHost _default_:443>

in diese:
Code: Select all
<VirtualHost *:443>


kopier den ganze VirtualHosts-Block und füg ihn hinten nochmal an. Darin dann einfach die Direktiven DocumentRoot und ServerName anpassen.

mfg glitzi
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Re: SSL für alle htdocs-domains konfigurieren

Postby achim » 06. January 2009 12:57

Hallo,

ich habe eine Konfiguration so eingetragen, wie ich es aus dem 3-Zeiler verstanden habe. In den ersten beiden Fällen ließ sich Apache nicht mehr starten. In zwei anderen Fällen gab es ein Systemabsturz, bzw. es blieb mir nichts anderes als den Rechner einfach abzuschalten.

Konkrete Beispiele und Muster sind immer die beste Wahl, statt eines mißverständlichen 3-Zeilers, geade in einem Forum. Platz hierfür gibt es ja genug.

Wer kann mir bitte KONKRET sagen was ich wo in welcher Datei nach welchem KONKRETEN Muster für einen Virtual Host eintragen muss?

Vielen Dank!

mit besten Grüssen
Explore Your Limits
achim
 
Posts: 85
Joined: 27. March 2004 08:48
Location: Berlin

Re: SSL für alle htdocs-domains konfigurieren

Postby Nobbie » 06. January 2009 13:08

>Konkrete Beispiele und Muster sind immer die beste Wahl

Code: Select all
#############################################################
# example config for SSL and Non-SSL hosts in the same config
# main server is an SSL one...
#

ServerName ssl.fictional.co     
ServerType standalone
ServerAdmin www@ssl.fictional.co
User www   
Group www   
Port 443
Listen 443
Listen 80
SSLVerifyClient 0
SSLVerifyDepth 10
SSLCertificateKeyFile /www/certs/ssl.fictional.co.key
SSLCertificateFile /www/certs/ssl.fictional.co.cert             
SSLCACertificateFile /www/certs/CA.cert             

#############################################################
# Note: The following directives are only required if session
# cacheing is enabled (the default from 1.17). To disable
# cacheing, make sure the following is set in apache_ssl.c
#
#define CACHE_SESSIONS          FALSE

SSLCacheServerPath /www/bin/gcache
SSLCacheServerPort /www/cache/ssl.fictional.co.cache.socket
SSLSessionCacheTimeout 300

# end conditional section

DocumentRoot /www/hosts/ssl.fictional.co/docs   
TransferLog /www/hosts/ssl.fictional.co/logs/access.log                 
SSLLogFile /www/hosts/ssl.fictional.co/logs/ssl.log                 
ErrorLog /www/hosts/ssl.fictional.co/logs/error.log                 
PidFile /www/logs/httpsd.pid       


# and a non-SSL one...

<VirtualHost www.fictional.co:80>     
SSLDisable
Port 80
DocumentRoot /www/hosts/www.fictional.co/docs   
TransferLog /www/hosts/www.fictional.co/logs/access.log
ErrorLog /www/hosts/www.fictional.co/logs/error.log
</VirtualHost>


# and another SSL one... (this one does client-cert
# authentication)

<VirtualHost another-ssl.fictional.co:443>
Port 443
SSLVerifyClient 2
SSLVerifyDepth 10
SSLCertificateKeyFile /www/certs/another-ssl.fictional.co.key
SSLCertificateFile /www/certs/another-ssl.fictional.co.cert 
SSLCACertificateFile /www/certs/another-CA.cert
DocumentRoot /www/hosts/another-ssl.fictional.co/docs   
TransferLog /www/hosts/another-ssl.fictional.co/logs/access.log
SSLLogFile /www/hosts/another-ssl.fictional.co/logs/ssl.log
ErrorLog /www/hosts/another-ssl.fictional.co/logs/error.log
</VirtualHost>


oder vielleicht auch so:

Code: Select all
#ssl.conf
LoadModule ssl_module modules/mod_ssl.so
Listen 443
#Leichte Beschleunigung bei der SSL Session Cache
SSLSessionCache dbm:/usr/local/apache2/logs/ssl_scache

<VirtualHost _default_:443>
  DocumentRoot "/usr/local/apache2/htdocs"
  ServerName 192.168.0.11:443
  ServerAdmin ServerAdmin@domain1.org
  ErrorLog /usr/local/apache2/logs/error_ssl_log
  TransferLog /usr/local/apache2/logs/access_ssl_log
  # SSL Einschalten
  SSLEngine on
  # Das Zertifikat für den Server
  SSLCertificateFile /usr/local/apache2/conf/server.crt
  # Die Schlüsseldatei für den Server
  SSLCertificateKeyFile /usr/local/apache2/conf/server.key
  <Files ~ "\.(cgi|shtml|phtml|php3?)$">
  # Bereitstellung der Standardvariablen für PHP, SSI und CGI
  SSLOptions +StdEnvVars
  </Files>
  <Directory "/usr/local/apache2/cgi-bin">
    # Bereitstellung der Standardvariablen für das CGI Verzeichnis
    SSLOptions +StdEnvVars
  </Directory>

  # Eine eigene SSL Logdatei
  CustomLog ssl_log "$t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x %b"
</VirtualHost>
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: SSL für alle htdocs-domains konfigurieren

Postby glitzi85 » 06. January 2009 19:40

Es geht nicht um den Platz sondern um's selber mitdenken. Hier nun also meine komplette httpd-ssl.conf. Natürlich musst du die Parameter für ServerName und DocumentRoot für beide VirtualHost-Blöcke noch anpassen.

Code: Select all
Listen 443

NameVirtualHost *:443

AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl    .crl

SSLPassPhraseDialog  builtin

SSLSessionCache         dbm:logs/ssl.scache
SSLSessionCacheTimeout  300

SSLMutex  default

<VirtualHost *:443>

    DocumentRoot "C:/xampp/htdocs"

    ServerName localhost:443
    ServerAdmin admin@localhost

    ErrorLog logs/error.log
    <IfModule log_config_module>
        CustomLog logs/access.log combined
    </IfModule>
    SSLEngine on
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
    SSLCertificateFile conf/ssl.crt/server.crt
    SSLCertificateKeyFile conf/ssl.key/server.key

    <FilesMatch "\.(cgi|shtml|phtml|php|php5|php4|php3)$">
        SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory "C:/xampp/apache/cgi-bin">
        SSLOptions +StdEnvVars
    </Directory>
    <IfModule setenvif_module>
        BrowserMatch ".*MSIE.*" \
                 nokeepalive ssl-unclean-shutdown \
                 downgrade-1.0 force-response-1.0
    </IfModule>
    <IfModule log_config_module>
        CustomLog logs/ssl_request.log \
                  "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
    </IfModule>
</VirtualHost>

<VirtualHost *:443>

    DocumentRoot "C:/xampp/htdocs"

    ServerName test:443
    ServerAdmin admin@localhost

    ErrorLog logs/error.log
    <IfModule log_config_module>
        CustomLog logs/access.log combined
    </IfModule>
    SSLEngine on
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
    SSLCertificateFile conf/ssl.crt/server.crt
    SSLCertificateKeyFile conf/ssl.key/server.key

    <FilesMatch "\.(cgi|shtml|phtml|php|php5|php4|php3)$">
        SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory "C:/xampp/apache/cgi-bin">
        SSLOptions +StdEnvVars
    </Directory>
    <IfModule setenvif_module>
        BrowserMatch ".*MSIE.*" \
                 nokeepalive ssl-unclean-shutdown \
                 downgrade-1.0 force-response-1.0
    </IfModule>
    <IfModule log_config_module>
        CustomLog logs/ssl_request.log \
                  "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
    </IfModule>
</VirtualHost>
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Re: SSL für alle htdocs-domains konfigurieren

Postby Nobbie » 06. January 2009 22:21

glitzi85 wrote:Es geht nicht um den Platz sondern um's selber mitdenken.


Oder sogar um das "selbst mal in die Doku schauen". Der aggressive Besserwisseraberansonstenbinichstinkendfaul-Tonfall nervt seit dem ersten Posting. Manche sind halt merkbefreit.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04


Return to XAMPP für Linux

Who is online

Users browsing this forum: No registered users and 23 guests