apache2-sslの設定してたけど自己証明書をつくるスクリプトが無かったりしてめんどくさかったり

http://d.hatena.ne.jp/ore_de_work/20070115/1168867266

a2enmod ssl
echo "Listen 443" >> /etc/apache2/ports.conf
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl
vi /etc/apache2/sites-available/ssl

NameVirtualHost *:443
<VirtualHost *:443>
        ServerAdmin webmaster@localhost

        SSLEngine On
        SSLCertificateFile /etc/apache2/ssl/apache.pem

        DocumentRoot /var/www/
        <Directory />

a2ensite ssl

if /usr/sbin/apache2-ssl-certificate: No such file or directory then ..
cat > /usr/sbin/apache2-ssl-certificate

#!/bin/sh

export RANDFILE=/dev/random
openssl req $@ -config /etc/ssl/openssl.cnf \
  -new -x509 -nodes -out /etc/apache2/ssl/apache.pem \
  -keyout /etc/apache2/ssl/apache.pem

and run ..
mkdir -p /etc/apache2/ssl
sh /usr/sbin/apache2-ssl-certificate -days 365

sh /etc/init.d/apache2 force-reload

Keywords→

  • don't forget if changed
    • sh /etc/init.d/apache2 force-reload
  • you can check log if error or no-boot
    • cat /var/log/apache2/error.log

Tips→
if you have config

SSLEngine On
SSLCertificateFile /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key

then You can edit like this.

SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem

.pem is crt+key