Opsætning af Apache OpenSSL - Ubuntu Server 12.04 LTS
Hej Linux-hjerner
Nu har jeg kigget på forskellige OpenSSL opsætninger på nettet, og er blevet mere forvirret end oplyst. Er der en på linuxin.dk, som vil komme med en kortfattet, enkel, forståelig og brugbar forklaring på opgaven?
Mvh,
Thomas
Nu har jeg kigget på forskellige OpenSSL opsætninger på nettet, og er blevet mere forvirret end oplyst. Er der en på linuxin.dk, som vil komme med en kortfattet, enkel, forståelig og brugbar forklaring på opgaven?
Mvh,
Thomas
Kommentarer4
Hej Thomas og velkommen
Download Apache fra httpd.apache.org (formentlig version 2.4.9).
cd ~
wget http://www.eng.lsu.edu/mirrors/apache//httpd/httpd-2.4.9.tar.gz
tar xvfz httpd-2.4.9.tar.gz
(OBS: linuxin laver et autolink i overstående. Det er ikke hensigten. Kommandoen skal skrives i terminalen, og det samme skal nedenstående kommandoer skrevet i boxene.
Vær sikker på at linket skrives således efter http:// for ikke at få en fejl:
www.eng.lsu.edu/mirrors/apache//httpd/httpd-2.4.9.tar.gz
tar xvfz httpd-2.4.9.tar.gz)
httpd-2.4.9.tar.gz gemmes i din home-folder.
-----
Installer Apache med SSL/TLS
cd httpd-2.4.9
./configure --help
For at installere et Apache-modul, vil du typisk bruge -enable-(modul-name). Eksempelvis for at installere SSL med Apache, er det -enable-ssl. For at installere ldap modul, er det -enable-ldap.
For at afinstallere eventuelle standardmoduler der kommer med Apache, vil du typisk bruge -disable-(modul-name). Foreksempel at deaktivere grundlæggende godkendelse i Apache, brug -disable-auth-basic
./configure --enable-ssl --enable-so
make
make install
Standard installeres Apache i /usr/local/apache2
-----
Åbn httpd.conf (findes i /usr/local/apache2/conf)
Medtag linjen: Include i httpd-ssl.conf
SSL certifikat og nøgle er nødvendige, før du starter Apache.
server.crt og server.key filerne nævnt i httpd-ssl.conf skal oprettes.
# egrep 'server.crt|server.key' httpd-ssl.conf
SSLCertificateFile "/usr/local/apache2/conf/server.crt"
SSLCertificateKeyFile "/usr/local/apache2/conf/server.key"
-----
Generer server.key med openssl.
cd ~
openssl genrsa -des3 -out server.key 1024
Opret et password (du skal oprette det nu)
Generer en certificate request file (server.csr) med den førnævnte server.key
openssl req -new -key server.key -out server.csr
Generer en self signed ssl certificate (server.crt) med de førnævnte server.key og server.csr filer.
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
-----
Kopier server.key og server.crt filerne til /usr/local/apache2/conf/
cd ~
cp server.key /usr/local/apache2/conf/
cp server.crt /usr/local/apache2/conf/
-----
Start apache og verificer SSL
/usr/local/apache2/bin/apachectl start
Skriv dit oprettede password
-----
Som standard kører Apache SSL på 443 port. Åbn en webbrowser, og kontroller at du kan få adgang
https://din-ip-adresse
Håber det besvarer dit spørgsmål.
Hvad vil du sætte op
For apache er ssl/https support som regel bygget ind i distroernes pakker hvis ikke som en separat pakke, og gennerelt skal du derfor ikke bekymre dig om hvad der skal installeres fra openssl, kun hvordan du fortæller apache hvilket certifikat der skal bruges til hvilken vhost osv.
Det andet punkt hvor openssl kan/skal bruges er ved certifikat generering og konvertering. Hvor der igen er et fornuftigt cli interface til openssl's mange funktioner.
Hvad er det helt precist du er strandet på?
Der er en lidt underligt tradition blandt web2.0 udviklere at glemme/ignorere de værktøjer en linux admin har til at løse dependency problemer fordi OSX ikke har den funktionalitet, hvilket ofte gør deres guides mere komplekse end de behøver værre. kompilering er f.eks. næsten aldrig relevant for en linux server.
Tak for de gode
Mvh, Thomas
Selv tak