1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

HowTo Ubuntu / Debian: Apache2 SSL einrichten (HTTPS Webservice)

Dieses Thema im Forum "Oscam Konfigurationen" wurde erstellt von giftstaub, 9. November 2011.

  1. giftstaub
    Offline

    giftstaub VIP

    Registriert:
    28. Januar 2010
    Beiträge:
    1.699
    Zustimmungen:
    1.656
    Punkte für Erfolge:
    113
    Ort:
    Ruhrpott
    Der einfachere Weg als SSL-Page ist SSH, wer es dennoch einrichten möchte bzw. benötigt hier ein kleines HowTo.

    HTTP verschlüsseln - SSL Page, HTTPS einrichten (Portforwarding 443):

    1. OpenSSL installieren:

    Code:
    apt-get install openssl
    
    

    2. Zertifikat erstellen:

    Code:
    openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem -keyout /etc/apache2/apache.pem
    

    ACHTUNG: Der CN-Name der abgefragt wird muss zum URL im Browser passen die später für den externen Zugriff verwendet wird.
    In den meisten Fällen wird das "meinserver.dyndns.com" sein...

    3. Recht setzen:

    Code:
    chmod 600 /etc/apache2/apache.pem
    

    4. Anpassen Apache2 Config:

    Nun wechslen wir ins Apacheverzeichnis:

    Code:
    cd /etc/apache2/sites-available
    
    

    Wir fertigen eine Kopie der vorhandenen Default-Konfiguration an, die ist dann unsere SSL-Konfiguration.
    Code:
    cp -f /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl
    

    Nun öffnen wir die neue SSL-Konfiguration, passen den Port von 80 auf 443 an, und fügen die notwendigen SSL-Configzeilen ein:

    Code:
    nano /etc/apache2/sites-available/ssl
    
    

    Der Inhalt sollte dann so aussehen: (Siehe Zeile-1 (Port), und Absatz ab Zeile 16 !!)

    Code:
    <VirtualHost [COLOR=#ff0000][B]*:443[/B][/COLOR]>
        ServerAdmin webmaster@localhost
        
        DocumentRoot /var/www/
        <Directory />
            Options FollowSymLinks
            AllowOverride None
        </Directory>
        <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
        </Directory>
    
    [COLOR=#ff0000][B]    #   SSL Engine Switch:
        #   Enable/Disable SSL for this virtual host.
        SSLEngine on
        SSLCertificateFile /etc/apache2/apache.pem[/B][/COLOR]
    
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
        </Directory>
    
        ErrorLog /var/log/apache2/error.log
    
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
    
        CustomLog /var/log/apache2/access.log combined
    
        Alias /doc/ "/usr/share/doc/"
        <Directory "/usr/share/doc/">
            Options Indexes MultiViews FollowSymLinks
            AllowOverride None
            Order deny,allow
            Deny from all
            Allow from 127.0.0.0/255.0.0.0 ::1/128
        </Directory>
    
    </VirtualHost>

    SSL aktivieren:

    Code:
    a2enmod ssl
    
    

    Nun öffnen wir die ports.conf und passen den Port von 80 auf 443 an

    Code:
    nano /etc/apache2/ports.conf

    Der Inhalt sollte dann so aussehen:

    Code:
    # If you just change the port or add more ports here, you will likely also
    # have to change the VirtualHost statement in
    # /etc/apache2/sites-enabled/000-default
    # This is also true if you have upgraded from before 2.2.9-3 (i.e. from
    # Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
    # README.Debian.gz
    
    NameVirtualHost [COLOR=#ff0000][B]*:443[/B][/COLOR]
    Listen 80
    
    <IfModule mod_ssl.c>
        # If you add NameVirtualHost *:443 here, you will also have to change
        # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
        # to <VirtualHost *:443>
        # Server Name Indication for SSL named virtual hosts is currently not
        # supported by MSIE on Windows XP.
        Listen 443
    </IfModule>
    
    <IfModule mod_gnutls.c>
        Listen 443
    </IfModule>

    Nun stellen wir mit Hilfe von Webmin die SSL Optionen für unseren Apache Webserver ein.

    1. Wir rufen nun folgende Seite im Browser auf.

    Code:
    https://IP-Des_Servers:10000

    2. Wir Melden uns mit unseren root und dem dazugehörigen Passwort an!

    3. Wir klicken nun auf Server, Apache Webserver und wählen dort den Virtueller Server aus!

    Den Anhang 46076 betrachten

    4. Ganz unten unter Details des Virtuellen Servers siehe Bild, stellen wir den Port auf 443 ein und klicken auf Speichern.

    Den Anhang 46074 betrachten

    5. Nun Wiederholen wir Punkt 3 und klicken auf SSL-Optionen und stellen das genau so ein wie auf dem Bild zu sehen und klicken auf Speichern..

    Den Anhang 46075 betrachten

    Jetzt Starten wir Apache2 Neu und schauen ob alles ohne Fehler Restartet wird.

    Apache2 Restart:

    Code:
    /etc/init.d/apache2 restart
    
    

    Nun geben wir im Browser folgendes ein:

    Code:
    [COLOR=#008000][B]https[/B][/COLOR]://IP-Des_Servers

    Jetzt sollte das so wie auf dem Bild aussehen dann habt ihr alles Richtig gemacht.

    Den Anhang 46077 betrachten

    Ein Aufruf mit http://IP-Des_Servers ist nicht Möglich und sollte wie auf dem Bild mit einer Fehlermeldung beantwortet werden.

    Den Anhang 46078 betrachten

    Da es sich um ein selbst erstelltes, und kein offiziell ausgestelltes (von offiz. Zertifizierungsstelle) handelt, muss das Zertifikat dann im Browser importiert/installiert werden. Damit es als gültig anerkannt wird MUSS der CN (Common Name) übereinstimmen ! Wenn dann alles stimmt und im Browser importiert ist, darf beim Aufruf von "https://servername.dyndns.com" keine Zertifikatswarnung mehr erscheinen. Wenn erfolgreich eingerichtet, kann Forwarding zu Tcp80 geschlossen, und Tcp443 geöffnet werden, die Page ist dann nur mehr per HTTPS erreichbar !

    Viel Spaß beim Testen :emoticon-0105-wink:

    Wer noch kein Webmin auf sein Server Installiert hat der kann das mit diesen HowTo nach holen

    Dieser Link ist nur für Mitglieder!!! Jetzt kostenlos Registrieren ?

    .
     
    #1
    cyberbit, miccele777, irosaurus und 5 anderen gefällt das.

Diese Seite empfehlen