Si creas uno de firma propia puedes hacerlo desde la terminal con openssl genrsa -out server.key N
N es el numero de bits de la llave. Despues metes la llave en una peticion de firmado de un certificado:
openssl req -new -key server.key -out server.csr
Si te pide que le añadas datos a la peticion le pones contraseña, pais, provincia, ciudad, nombre de empresa, sector empresarial, url de la web y dirección de email.
La contraseña te la pedira cada vez que le hagas start a openssl, puedes dejarla en blanco para que no te de el coñazo. Solo acepta letras y numeros, no le metas espacios. Antes creo que se usaba para revocar certificados o algo así.
En el pais le metes las iniciales del pais estandar. Mira por los layouts de teclado si no te la sabes. Para españa es ES.
En la url no le metas protocolo, y te distingue entre
www.miweb.com y miweb.com
Por ultimo generas el certificado de SSL:
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Despues copias el certificado ssl y la llave en la ruta de apache /etc/ssl/certs y los renombras a:
ssl.crt y ssl.key
Habilitas el modulo de ssl en apache con:
a2enmod ssl
Despues editas el archivo del modulo ssl. En este ejemplo con nano:
nano /etc/apache2/sites-available/default-ssl
Y pegas dentro:
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerName www.miweb.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options -Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined
SSLEngine on
SSLCertificateKeyFile /etc/ssl/certs/ssl.key
SSLCertificateFile /etc/ssl/certs/ssl.crt
#SSLCACertificateFile /etc/ssl/certs/bundle.crt
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
# MSIE 7 and newer should be able to use keepalive
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
</VirtualHost>
</IfModule>
Guarda el archivo y escribe en la terminal:
a2ensite default-ssl
Y recarga el archivo con:
service apache2 reload
Listo. Puedes comprobar el certificado entrando en la url con el protocolo
https://www.miweb.comTe saltara el mensaje típico de que el certificado no es fiable debido a que es autofirmado y no está firmado por ningun certificador autorizado. Puedes comprar el certificado online si quieres y te lo mandan por correo tras recibir el pago. Se suelen expender varios tipos de certificados ssl distintos. Los basicos que te cubren un dominio. Los que te cubren un servidor. Los que te cubren la organizacion/empresa o las tarifas planas que te dan hosting, dominio, certificados, mantenimiento...
Los más básico no suelen pasar de 15-20€ y los más completos pasan de 100€. Eso ya depende de cada empresa certificadora.
Si lo vas a usar autofirmado añade una excepcion al navegador, recarga y ya te saldra el tipico candado. Le das click y te salen todos los datos del certificado.
PD: No conocia el OTRS. Para qué se suele utilizar? Qué version tienes? Para que caso concreto vas a utilizarlo? Me instalaré uno para ver que hace.