Diese Werbeeinblendung erscheint nach 5 Minuten Idletime.
- Werbung - weiter auf Codershell surfen.
How-To's » Linux Webserver Apache2 mit VirtualHost und SSL/HTTPS
Seiten:  1 
[ Sie müssen angemeldet sein, um einen Beitrag zu verfassen. ]
Geschrieben von take (Moderator) am 01.06.2008 um 20:57 Uhr.
Beiträge: 613 / #1722

Kontakt: Mailen | WWW

Ausgangssituation: Mittels VirtualHosts mehrere Subdomains versch. Webpräsenzen zuweißen. Via .htaccess den Zugriff auf einen Unterordner Namens „secure“ beschränken und für eine Subdomain eine sichere Verbindung via SSL einrichten.

Konfigurationsdateien:
Debian: /etc/apache2/sites-available/.... für VirtualHosts etc.
RedHat: /etc/httpd/conf/httpd.conf

→ Bei RedHat basierenden Systemen liegt leider alles in einer einzelnen Datei, was die Übersicht ziehmlich beschränkt. Das HowTo wird sich mit RedHat basierenden Systemen befassen, eine spätere Anpassung an Debian ist möglich.

In meinem Beispiel gibt es die 4 Subdomains:
verkauf.take.local # Seite der Verkaufsabteilung
support.take.local # Seite des Supportes
www.take.local # Hauptseite
ssl.take.local # SSL Seite
(Weiterführend von dem Samba HowTo)

Als erstes sollten wir also in unserem Windows DNS Server 4 neue A-Records für die 4 Subdomains anlegen. Alle 4 auf die IP Adresse „192.168.1.231“.

Für diese Seiten legen wir nun 2 neue Ordner an:
mkdir /var/www/support && mkdir /var/www/verkauf

VirtualHost für non-SSL:
CODE
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
NameVirtualHost 192.168.1.231:80 
<VirtualHost 192.168.1.231:80> 
    ServerName verkauf.take.local 
    DocumentRoot /var/www/verkauf 
    <Directory /var/www/verkauf> 
        Options None 
        AllowOverride All 
        Order allow,deny 
        Allow from all 
    </Directory> 
</VirtualHost> 
<VirtualHost 192.168.1.231:80> 
    ServerName support.take.local 
    DocumentRoot /var/www/support 
    <Directory /var/www/support> 
        Options None 
        AllowOverride All 
        Order allow,deny 
        Allow from all 
    </Directory> 
</VirtualHost> 
<VirtualHost 192.168.1.231:80> 
    ServerName www.take.local 
    DocumentRoot /var/www/html 
    <Directory /var/www/html> 
        Options None 
        AllowOverride All 
        Order allow,deny 
        Allow from all 
    </Directory> 
</VirtualHost>


Passwortgeschützten Bereich für /var/www/html/secure erstellen

→ AllowOverride All in httpd.conf!

Zitat von .htaccess
AuthType Basic
AuthName Secured
AuthUserFile /var/www/apache-passwords
Require user take eric


Passwort Datei erstellen
/usr/bin/htpasswd -c /var/www/apache-passwords take # Erstellt die o.g. Passwort Datei
/usr/bin/htpasswd /var/www/apache-passwords eric # -c weglassen, da schon vorhanden


SSL-Verbindung
Die günstigste Variante ist ein selbsterstelltes Zertifikat und genau dieses werden wir jetzt erstellen.

openssl genrsa -des3 -rand /var/log/messages:/var/log/smb:/var/log/mysql.log -out take.key 1024
→ Passwort eingeben

[root@unix01 ~]# openssl req -new -key take.key -out take.csr
Zitat von output
Enter pass phrase for take.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) [GB]E
State or Province Name (full name) [Berkshire]:Sachsen
Locality Name (eg, city) [Newbury]:Kesselsdorf
Organization Name (eg, company) [My Company Ltd]:Take AG
Organizational Unit Name (eg, section) []:TAG
Common Name (eg, your name or your server\'s hostname) []:ssl.take.local
Email Address []:root@take.local

Please enter the following \'extra\' attributes
to be sent with your certificate request
A challenge password []:takey
An optional company name []:  


[root@unix01 ~]# openssl x509 -req -days 30 -in take.csr -signkey take.key -out take.crt
Zitat von output
Signature ok
subject=/C=DE/ST=Sachsen/L=Kesselsdorf/O=Take AG/OU=TAG/CN=ssl.take.local/emailAddress=root@take.local
Getting Private key
Enter pass phrase for take.key:


Nun haben wir unser eigenes Zertifikat erzeugt. Das kopieren wir nun in /etc/httpd/conf.d/

CODE
1.
2.
3.
4.
[root@unix01 ~]# cp take.key /etc/httpd/conf.d/ 
[root@unix01 ~]# cp take.crt /etc/httpd/conf.d/ 



Nun müssen wir -nurnoch- die Datei /etc/httpd/conf.d/ssl.conf Anpassen:

Im Grunde kann das meiste bleiben, ich schreibe hier nur die Veränderungen auf:
/etc/httpd/conf.d/ssl.conf
CODE
1.
2.
3.
4.
5.
6.
ca. Zeile 84: DocumentRoot „/var/www/ssl“
ca. Zeile 85: ServerName ssl.take.local
ca. Zeile 112: SSLCertificateFile /etc/httpd/conf.d/take.crt
ca. Zeile 120: SSLCertificateKeyFile /etc/httpd/conf.d/take.key


Dannach muss der Apache2 neugestartet werden (reload geht in diesem Fall nicht!). Die Passwortabfrage sollte nicht weiter abschrecken, Passwort eingeben und weiter geht’s..

Nun können wir via „https://ssl.take.local“ auf unsere SSL Verbindung zugreifen.

MySQL mit phpMyAdmin

MySQL User „root“ ein Passwort setzen:
mysqladmin -u root password \'takey\'

→ password \'takey\' ist das neue Passwort, wird also im Klartext übergeben.

Neuste phpMyAdmin Version von www.phpmyadmin.net herrunterladen und entpacken (ggf. in phpmyadmin/phpMyAdmin umbenennen).

Nun öffnen wir die „config.sample.inc.php“ und editieren diese folgendermaßen:
CODE
1.
2.
3.
$cfg[\'blowfish_secret\'] = \'IrgendEtwasSinnfreies059689256\';


Der Rest kann so gelassen werden. Die Konfigurationsdatei umbenennen in „config.inc.php“.

Nun kann man sich via www.take.local/phpMyAdmin in sein MySQL System einloggen.

Download der Anleitung: Linux_Webserver_Apache2.zip (Size: 307.94 KByte)

Viele Grüße

"Jeder, der andere kritisiert, muss eine Alternative haben, die er ihnen anbieten kann." - Mo Ti


wong itdel.iciode.blinklisttechnoratigoogleblinkbitsyahooyiggblogmarksfurlspurlwebnewsstumbleupondigg itma.gnolia.comco.mments Zitieren Beitrag melden
[ Sie müssen angemeldet sein, um einen Beitrag zu verfassen. ]
Seiten:  1 
Login / Account
E-Mail Adresse:

Passwort:



Passwort zurücksetzen
Werbung