sábado, 19 de enero de 2013

Instalación de OpenCA en CentOS 6.3

Buenas tardes a tod@s!

En esta ocasión os traigo como instalar OpenCA sobre CentOS 6.3 para tener vuestra entidad certificadora privada, y digo privada por que de poco os va a servir "en mundo abierto" a no ser que paguéis los cánones estipulados para que tal o tal empresa diga que sois una entidad certificadora de confianza....

En mi caso usare CentOS 6.3  32b sobre una VM (en VirtualBox).

Pasos previos


  • Editamos el archivo "/etc/selinux/config" => #nano /etc/selinux/config
    • Este archivo es el encargado nativo de la seguridad en este sistema.
    • Cambiamos el parámetro "SELINUX=enforcing" por "SELINUX=disable"
  • Instalamos unos paquetes (desde la terminal y como superusuario):
    • #yum install gcc openssl mysql-server mysql-client4 perl libauthen-sasl-perl libdbd-mysql-perl libberkeleydb-perl wget mod_ssl make
    • *Aconsejo comprobar con "dpkg -l nombredelpaquete" para comprobar si está o no instalado.
Creación de la base de datos

  • Ejecutamos el siguiente comando para que el mysql se inicie automáticamente con el sistema:
    • #chkconfig mysqld on
  • Nos conectamos al mysql:
    • #mysql -u root -p
    • Nos preguntará la password del root que introducimos anteriormente en la instalación de mysql.
  • Creamos una nueva base de datos:
    • mysql> create database openca;
  • Damos permisos a la base de datos:
    • mysql> grant all privileges on openca.* openca@localhost identified by 'openca';
  • Hacemos un "Reload" sobre la tabla de privilegios:
    • mysql> flush privileges;



Instalación de OpenCa Tools y su posterior compilado

  • Descargamos el paquete de la web de OpenCA y lo descomprimimos y desempaquetamos (en un directorio que no sea "/root" , ya que sino arrastraremos problemas de permisos.
  • Movemos la carpeta resultante a "/opt" con la utilidad "mv" (recuerdo que lo estamos haciendo desde la terminal) si tienes dudas de como usarlo escribe en la terminal "man mv".
  • Ejecutamos los siguientes comandos dentro de la carpeta del OpenCA "/opt/openca.....":
    • #./configure
    • #make clean
    • #make
    • #make install
Instalación de OpenCAPKI y su posterior compilado

  • Descargamos el paquete de la web de OpenCA y lo descomprimimos y desempaquetamos (en un directorio que no sea "/root" , ya que sino arrastraremos problemas de permisos.
  • Movemos la carpeta resultante a "/opt" con la utilidad "mv" (recuerdo que lo estamos haciendo desde la terminal) si tienes dudas de como usarlo escribe en la terminal "man mv".
  • Creamos el script dentro de la carpeta:
    • #nano script.sh
                    ./configure --prefix=/opt/openca-base-1.1.1 \
                    --with-ca-organization="Nombre de tu organizacion" \
                    --with-httpd-fs-prefix=/var/www/ \
                    --with-httpd-main-dir=pki \
                    --with-db-name=openca \
                    --with-db-host=localhost \
                    --with-db-user=openca \
                    --with-db-passwd=openca \
                    --with-db-type=mysql \
                    --with-db-port=3306 \
                    --with-service-mail-account="tuemail@gmail.com"


  • Ejecutamos los siguientes comandos dentro de la carpeta:
    • #make
    • #make clean
    • #make install-offline
    • #make install-online
  • Creamos un enlace simbólico para que el servicio se arranque automáticamente:
    • #ln -s /opt/openca-base-1.1.1/etc/init.d/openca /etc/init.d/openca
  • Descargamos los siguientes fixes:
    • #wget http://ftp.openca.org/openca-base/fixes/v1.1.1/err_user_unknown/User.pm
    • #wget http://ftp.openca.org/openca-base/fixes/v1.1.1/err_user_unknown/initServer 
    • #mv User.pm lib/openca/perl_modules/perl5/OpenCA/User.pm
    • #mv initServer lib/openca/functions/initServer
    • #/etc/init.d/httpd start
    • #/etc/init.d/openca restart
Generamos la clave de privacidad publica:
  • #openssl genrsa -des3 -out clave.key
Peticion del certificado:
  • #openssl req -new -key clave.key -out peticion.csr
Creamos el certificado:
  • #openssl x509 -req -days 365 -sha256 -in peticion.csr -signkey clave.key -out certificado.crt
Movemos los archivos de creado del certificado al directorio de Apache (propietario Apache)
  • #mv certificado.crt peticion.csr clave.key /etc/httpd

Directorio contenedora de la web

  • #ls /var/www/
    •  cgi-bin html error icons

Accedemos desde el navegador a "https://localhost/pki/ca"

  • Login: "admin"/password que pusiste





Saludos!

4 comentarios:

  1. Podrias, enviarme los archivos fixes(User.pm y InitServer), no los encuentro en ninguna pagina

    ResponderEliminar
  2. Alguien tiene los archivos User.ini y initServer no los encuentro en ningun lado.

    Gracias

    ResponderEliminar
  3. Hi, http://ftp.openca.org/openca-base/fixes/v1.1.1/err_user_unknown/User.pm and
    http://ftp.openca.org/openca-base/fixes/v1.1.1/err_user_unknown/initServer are die
    You can share me a link you or a way to fix it
    Thanks you very much.I install openca on centos 5.5 but I has a error
    OpenCA Error: Server is not online or does not accept requests (/opt/openca/var/openca/tmp/openca_socket - /opt/openca/var/openca/tmp/openca_socket). 0
    Can you help me?What your mail which I contact.

    ResponderEliminar
  4. Dear Phuong,

    I have error same you. I don't know to fix them how. If you have solution with it, please share to help me!
    My email: nguyendokhanh@gmail.com

    Thanks
    KhanhND

    ResponderEliminar