Apache

SSL (https)

A special thing for getting Apache2 starting withaut user-interaction is also to store a decrypted key, since without Apache will ask at every start for the password…

mv /etc/ssl/private/station7_key.pem /etc/ssl/apache2/private/station7_secure-key.pem
openssl rsa -in /etc/ssl/private/station7_secure-key.pem -out /etc/ssl/apache2/private/station7_decrypted-key.pem


Enable mod_ssl and mod_rewrite in /etc/sysconfig/apache2:
Modify the APACHE_MODULES:

APACHE_MODULES="access actions alias auth auth_dbm autoindex cgi dir env expires include log_config mime negotiation \ 
rewrite setenvif suexec userdir php4 php5"

with the ssl-module:

APACHE_MODULES="access actions alias auth auth_dbm autoindex cgi dir env expires include log_config mime negotiation \ 
rewrite setenvif suexec userdir php4 php5 ssl"

and the APACHE_SERVER_FLAGS:

APACHE_SERVER_FLAGS="SSL"


Modify /etc/apache2/listener.conf:

Listen 80
<IfDefine SSL>
  <IfDefine !NOSSL>
      <IfModule mod_ssl.c>
          Listen 443
      </IfModule>
  </IfDefine>
</IfDefine>

# Use name-based virtual hosting
NameVirtualHost *:80
NameVirtualHost *:443

Create two virtual-host configurations:
/etc/apache2/vhosts.d/station7.conf:

<VirtualHost *:80>
  ServerAdmin hostmaster@example.com
  ServerName station7.example.com
  DocumentRoot /srv/www/htdocs/
  ErrorLog /var/log/apache2/station7_error.log
  CustomLog /var/log/apache2/station7_access.log combined
  ServerSignature On

  # This rule will redirect users from their original location, to the same location but using HTTPS.
  # i.e.  http://www.example.com/foo/ to https://www.example.com/foo/
  # enable mod_rewrite:
  RewriteEngine On

  # check if connection is not already https:
  RewriteCond %{HTTPS} !=on

  # force https:
  RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
</VirtualHost>

and /etc/apache2/vhosts.d/station7-ssl.conf:

<IfDefine SSL>
<IfDefine !NOSSL>

<VirtualHost *:443>
      DocumentRoot /srv/www/htdocs/
      ServerName station7.example.com:443
      ServerAdmin hostmaster@example.com
      ErrorLog /var/log/apache2/station7-ssl_error.log
      TransferLog /var/log/apache2/station7-ssl_access.log
      SSLEngine on
      SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
      SSLCertificateFile /etc/ssl/certs/station7_cert.pem
      SSLCertificateKeyFile /etc/ssl/private/station7_decrypted-key.pem
      <Files ~ "\.(cgi|shtml|phtml|php3?)$">
          SSLOptions +StdEnvVars
      </Files>
      <Directory "/srv/www/cgi-bin">
          SSLOptions +StdEnvVars
      </Directory>
      SetEnvIf User-Agent ".*MSIE.*" \
               nokeepalive ssl-unclean-shutdown \
               downgrade-1.0 force-response-1.0
      CustomLog /var/log/apache2/ssl_request.log   ssl_combined
</VirtualHost>

</IfDefine>
</IfDefine>



index