Skip to content

Cómo instalar VirtualPol: Paso a Paso

chaskarron edited this page May 5, 2013 · 22 revisions

Table of Contents

Configuración del servidor

1.- Instalar wamp server (aparecerá un aviso para descargar Microsoft Visual C++) http://www.wampserver.com/en/
2.- Durante la instalación preguntará qué explorador quieres usar, y después acepta el permiso del firewall.
3.- Si al iniciarse el icono de wamp aparece de color naranja seguir esta solución: http://www.viruzblog.com/2012/05/solucion-wampserver-icono-naranja.html
4.- Instalar GitHub: https://github.com/
5.- Entrar en el repositorio de VirtualPOL: https://github.com/JavierGonzalez/VirtualPol
6.- Pulsar en "Clone in Windows" para que se añada este repositorio a la aplicación de GitHub instalada. Si no quieres estar sincronizado con GitHub simplemente pulsa en el botón de descargar como ZIP.
7.- Accedemos al icono de wamp en verde > phpMyAdmin
NOTA: Podemos cambiar el idioma a español haciendo click derecho en el icono del WAMP de la barra de tareas y desplegando el menú de la casilla “language”.
8.- Acceder al menú Usuarios.
9.- Para cada usuario "root" debemos clickar en “editar los privilegios”, en la ventana que se abre debemos bajar hasta el campo “cambio de contraseña”, escribir la contraseña en los dos campos habilitados para ello y clickar en “continuar”.
10.- Si al refrescar la página (o volver a acceder a phpMyAdmin) os da el siguiente error:
#1045 - Access denied for user 'root'@'localhost' (using password: NO)
Hay que solucionarlo de la siguiente manera:

  1. Acceder a la carpeta de phpMyAdmin: C:\wamp\apps\phpmyadminX.X.X (las X serán el número de tu versión)
  2. Editar el archivo config.inc.php
  3. Buscar la línea $cfg['Servers'][$i]['password'] = '';
  4. Poner tu contraseña entre las comillas simples de después del "=".
  5. Guardar y volver a abrir la página de phpMyAdmin.
11.- Icono Wamp > MySQL > my.ini
12.- Buscar la línea #password = eliminar el "#" y poner la contraseña a continuación del "=".
13.- Copiar la copia de VirtualPOL que hemos descargado a la carpeta C:/wamp/www/virtualpol/, o bien desde el ZIP que hemos descargado o bien de la carpeta sincronizada con Github. En cualquier caso lo que hay que copiar es el contenido de la carpeta public_html.
14.- Para que no nos muestre el error de acceso 500 debemos activar los siguientes módulos de Apache, accediendo desde el icono de Wamp > Apache > Apache modules:
- rewrite_module
- ssl_module
- status_module
- headers_module
- expires_module
El resto de módulos hay que dejarlos tal y como están (sin desactivar ninguno). Cada vez que activas un módulo hay que esperar a que el icono de wamp se vuelva a poner verde.

Configuración del certificado SSL

  1. Descargar este archivo y descomprimir los tres archivos que contiene “libeay32.dll”, “openssl.exe” y “ssleay32.dll”.
  2. Detener los servicios: Icono Wamp > Stop All Services.
  3. Acceder a la carpeta C://wamp/bin/apache/apache2.X.XX/bin/ (Las X indican la versión).
  4. Buscar los tres archivos con el mismo nombre que los que hemos descomprimido y copiarlos a algún lugar seguro, o bien renombrarlos (con un guión delante, o un .old al final). Después necesitaremos recuperarlos.
  5. Copiar los tres archivos descomprimidos en la carpeta.
  6. Iniciar los servicios: Icono Wamp > Start All Services (Seguramente el icono aparezca en naranja).
  7. Ejecutamos el Símbolo de sistema (Windows+R > cmd).
  8. Escribimos cd C://wamp/bin/apache/apache2.X.XX/bin y pulsamos Enter (Hay que substituir las X por nuestra versión).
  9. Escribimos openssl genrsa -des3 -out server.key 1024 y pulsamos Enter.
  10. Si aparece un WARNING no pasa nada. Nos preguntará la contraseña dos veces. La escribiremos dos veces. Aunque no aparezca nada escrito, mientras pulsas las teclas se va escribiendo de forma invisible, así que es normal. Habrá aparecido algo como esto:
    WARNING: can't open config file: <br>/usr/local/ssl/openssl.cnf<br>Loading 'screen' into random state - done
    Generating RSA private key, 1024 bit long modulus
    ....++++++
    ........++++++
    unable to write 'random state'
    e is 65537 (0x10001)
    Enter pass phrase for server.key:
    Verifying - Enter pass phrase for server.key:
  11. Escribimos copy server.key server.key.org y pulsamos Enter.
  12. Escribimos openssl rsa -in server.key.org -out server.key y pulsamos Enter. Nos pedirá la contraseña así que la escribiremos (aunque no aparezcan letras cuando escribimos) y pulsamos Enter.
  13. Escribimos openssl req -new -x509 -nodes -sha1 -days 365 -key server.key -out server.crt -config C:\wamp\bin\apache\apache2.X.XX\conf\openssl.cnf y pulsamos Enter. IMPORTANTE: Cambiar las X.XX por la versión que tengamos.
  14. Nos pedirá una serie de datos que escribiremos (los podemos inventar). Si aparece un WARNING no pasa nada.
  15. No cerraremos la consola del Símbolo de sistema ya que la utilizaremos más tarde.
  16. En Windows accedemos a la carpeta C:/wamp/bin/apache/apache2.X.XX/conf/ y creamos dos nuevas carpetas con los nombres ssl.key y ssl.crt (Cambiar las X por la versión).
  17. Copiamos los archivos que se han generado de C:/wamp/bin/apache/apache2.X.XX/bin a las carpetas que acabamos de crear de manera que el archivo server.key quede en la carpeta ssl.key, y el archivo server.crt quede en la carpeta ssl.crt.
  18. Volvemos a restaurar los tres archivos originales que habíamos guardado: “libeay32.dll”, “openssl.exe” y “ssleay32.dll”.
  19. Icono Wamp > Restart All Services. Ahora aparecerá el icono en verde.

Configuración de archivos SSL

  1. Configurar APACHE: Icono Wamp > Apache > httpd.conf
  2. Descomentar las siguientes líneas eliminando el símbolo "#" de delante:
    LoadModule ssl_module modules/mod_ssl.so
    Include conf/extra/httpd-ssl.conf
  3. Comprobar que al final del archivo se encuentra el siguiente código y si no existe hay que escribirlo:
    <IfModule ssl_module>
    SSLRandomSeed startup builtin
    SSLRandomSeed connect builtin
    </ifmodule>
  4. Configurar PHP: Icono Wamp > PHP > php.ini
  5. Descomentar la línea siguiente eliminando el símbolo ";" de delante:
    extension=php_openssl.dll
  6. Acceder a la carpeta C:/wamp/bin/apache/apache2.X.XX/conf/extra/ (X según la versión) y editar el archivo http-ssl.conf con un editor de texto.
  7. Descomentar quitando la "#" la línea:
    SSLMutex default
  8. Buscar la línea <VirtualHost _default_:443> y modificar el código que viene a continuación de la siguiente manera:
    DocumentRoot "c:/wamp/www/"
    ServerName localhost:443
    ServerAdmin admin@example.com
    ErrorLog "c:/wamp/logs/error.log"
    TransferLog "c:/wamp/logs/access.log"
  9. Buscar la línea SSLCertificateFile y modificarla así:
    SSLCertificateFile "conf/ssl.crt/server.crt"
  10. Buscar la línea SSLCertificateKeyFile y modificarla así:
    SSLCertificateKeyFile "conf/ssl.key/server.key"
  11. Buscar el bloque que empieza por la etiqueta <Directory y modificar todo el bloque de la siguiente manera:
    <Directory "c:/wamp/www/">
    SSLOptions +StdEnvVars
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
    </directory>
  12. Buscar la línea CustomLog y modificarla así:
    CustomLog "c:/wamp/logs/ssl_request.log" \
  13. Volvemos a la ventana que teníamos abierta del Símbolo de sistema y escribimos el comando httpd -t y pulsamos Enter. Entonces aparecerá el mensaje "Syntax OK" si está todo bien.
  14. Ahora debemos agregar un servidor virtual con una IP distinta que también actúe en red local, para ello vamos a agregar lo siguiente al archivo.
    <VirtualHost 127.0.0.2:443>
    
        #   General setup for the virtual host
        DocumentRoot "c:/wamp/www/virtualpol/"
        ServerName www.virtualpol2.com:443
        ServerAdmin admin@virtualpol2.com
        ErrorLog "c:/wamp/logs/error_vp2.log"
        TransferLog "c:/wamp/logs/access_vp2.log"
    
        SSLEngine on
    
        SSLProtocol all -SSLv2
    
        SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
    
        SSLCertificateFile "conf/ssl.crt/server.crt"
    
        SSLCertificateKeyFile "conf/ssl.key/server.key"
    
        <FilesMatch "\.(cgi|shtml|phtml|php)$">
            SSLOptions +StdEnvVars
        </filesmatch>
        <Directory "c:/wamp/www/virtualpol/">
        SSLOptions +StdEnvVars
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
        </directory>
    
        BrowserMatch "MSIE [2-5]" \
            nokeepalive ssl-unclean-shutdown \
            downgrade-1.0 force-response-1.0
    
        CustomLog "c:/wamp/logs/ssl_request.log" \
            "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
    
    </virtualhost>

Modificación de archivos del servidor y BBDD

  1. Acceder a Icono Wamp > phpMyAdmin.
  2. Pulsar en la pestaña "Bases de Datos".
  3. Crear una nueva base de datos. Para ello escribir un nombre debajo de "Crear base de datos" por ejemplo "virtualpol" (no debe tener espacios). Y en Cotejamiento escoger "utf8-spanish_ci". Y pulsar "Crear".
  4. Seleccinamos la base de datos "virtualpol" creada pulsando sobre ella en el panel de la izquierda.
  5. A continuación pulsamos en la pestaña "Importar" e importamos el archivo "virtualpol.sql" pulsando "Seleccionar archivo". El archivo se encuentra en la carpeta "mysql" que hemos descomprimido del ZIP de Github, o bien que tenemos en la carpeta del proyecto de Github. Después pulsamos en Continuar.
  6. Volvemos a importar pero esta vez el archivo "virtualpol_dev_example.sql".
  7. Vamos a la carpeta del sitio C:/wamp/www/virtualpol/ y renombramos el archivo "config-pwd-sample.php" por "config-pwd.php".
  8. Abrimos el archivo "config-pwd.php" con un editor de texto.
  9. Buscamos las líneas:
    $mysql_db = '...';
    $mysql_user = '...';
    $mysql_pass = '...';
    y substituimos los tres puntos por los valores que se requieran:
    $mysql_db = 'virtualpol';
    $mysql_user = 'root';
    $mysql_pass = 'aquí va la contraseña que atribuimos al usuario root en el archivo my.ini';
  10. Abrimos el explorador y accedemos a la dirección https://127.0.0.1/virtualpol/
  11. Si aparece un aviso de que "El certificado de seguridad del sitio no es de confianza." pulsar en "Continuar de todos modos".

Configuración de los servidores virtuales

1.- Acceder a C:/Windows/System32/drivers/etc/
2.- Abrir con un editor de texto el archivo hosts.
3.- Eliminar, si existen, las líneas 127.0.0.1 localhost.
4.- Añadir:

    127.0.0.1 localhost
    127.0.0.2 www.virtualpol2.com
    127.0.0.2 15m.virtualpol2.com
    127.0.0.2 hispania.virtualpol2.com
    127.0.0.2 rssv.virtualpol2.com

5.- Guardar el archivo. Si no lo permite, guardarlo en otro lugar como en el escritorio y posteriormente reemplazar el original.
6.- Abrir el editor de texto y escribir las siguientes líneas:

    127.0.0.1 localhost #PRE
    127.0.0.2 www.virtualpol2.com #PRE
    127.0.0.2 15m.virtualpol2.com #PRE
    127.0.0.2 hispania.virtualpol2.com #PRE
    127.0.0.2 rssv.virtualpol2.com #PRE

7.- Guardar el archivo como lmhosts en la misma carpeta que el archivo hosts. Si no lo permite, guardarlo en otro lugar como en el escritorio y posteriormente copiarlo a la carpeta.
¡¡OJO!! el archivo lmhosts.sam que está en la carpeta es únicamente orientativo, se debe guardar el nuevo archivo como lmhosts sin ninguna extensión.

Configuración de los hosts virtuales en apache

1.- Activamos el módulo: Icono Wamp > Apache > Apache modules > vhost_alias_module
2.- Acceder a C:/wamp/bin/apache/apache2.X.XX/conf/extra/ (Cambiar X por la versión).
3.- Editar el archivo httpd-vhost.conf
4.- Comentar las siguientes líneas del archivo poniendo # delante de cada una de las líneas

    #<VirtualHost *:80>
    #    ServerAdmin webmaster@dummy-host.example.com
    #    DocumentRoot "c:/apache2/docs/dummy-host.example.com"
    #    ServerName dummy-host.example.com
    #    ServerAlias www.dummy-host.example.com
    #    ErrorLog "logs/dummy-host.example.com-error.log"
    #    CustomLog "logs/dummy-host.example.com-access.log" common
    #</virtualhost>
    #
    #<VirtualHost *:80>
    #    ServerAdmin webmaster@dummy-host2.example.com
    #    DocumentRoot "c:/apache2/docs/dummy-host2.example.com"
    #    ServerName dummy-host2.example.com
    #    ErrorLog "logs/dummy-host2.example.com-error.log"
    #    CustomLog "logs/dummy-host2.example.com-access.log" common
    #</virtualhost>

5.- AÑADIR LO SIGUIENTE:

    <VirtualHost *:80>
        ServerName localhost
        ServerAdmin admin@localhost
        DocumentRoot "c:/wamp/www/"
        <Directory "c:/wamp/www/">
            Options Indexes FollowSymLinks
            AllowOverride All
            Order allow,deny
            Allow from all
        </directory>
        ErrorLog "c:/wamp/logs/localhost_error_log"
        CustomLog "c:/wamp/logs/localhost_access_log" common
    </virtualhost>
    <VirtualHost *:80>
        ServerName www.virtualpol2.com:80
        ServerAdmin admin@virtualpol.com
        DocumentRoot "c:/wamp/www/virtualpol/"
        <Directory "c:/wamp/www/virtualpol/">
            Options Indexes FollowSymLinks
            AllowOverride All
            Order allow,deny
            Allow from all
        </directory>
        <IfModule dir_module>
            DirectoryIndex index.php index.php3 index.html index.htm
        </ifmodule>
        <FilesMatch "^/.ht">
            Order allow,deny
            Deny from all
            Satisfy All
        </filesmatch>
        ErrorLog "c:/wamp/logs/VirtualPolLocal-error.log"
        CustomLog "c:/wamp/logs/VirtualPolLocal-access.log" common
    </virtualhost>
    <VirtualHost *:80>
        ServerName 15m.virtualpol2.com:80
        ServerAdmin admin@virtualpol.com
        DocumentRoot "c:/wamp/www/virtualpol/"
        <Directory "c:/wamp/www/virtualpol/">
            Options Indexes FollowSymLinks
            AllowOverride All
            Order allow,deny
            Allow from all
        </directory>
        <IfModule dir_module>
            DirectoryIndex index.php index.php3 index.html index.htm
        </ifmodule>
        <FilesMatch "^/.ht">
            Order allow,deny
            Deny from all
            Satisfy All
        </filesmatch>
        ErrorLog "c:/wamp/logs/15m-error.log"
        CustomLog "c:/wamp/logs/15m-access.log" common
    </virtualhost>
    <VirtualHost *:80>
        ServerName hispania.virtualpol2.com:80
        ServerAdmin admin@virtualpol.com
        DocumentRoot "c:/wamp/www/virtualpol/"
        <Directory "c:/wamp/www/virtualpol/">
            Options Indexes FollowSymLinks
            AllowOverride All
            Order allow,deny
            Allow from all
        </directory>
        <IfModule dir_module>
            DirectoryIndex index.php index.php3 index.html index.htm
        </ifmodule>
        <FilesMatch "^/.ht">
            Order allow,deny
            Deny from all
            Satisfy All
        </filesmatch>
        ErrorLog "c:/wamp/logs/hispania-error.log"
        CustomLog "c:/wamp/logs/hispania-access.log" common
    </virtualhost>
    <VirtualHost *:80>
        ServerName rssv.virtualpol2.com:80
        ServerAdmin admin@virtualpol.com
        DocumentRoot "c:/wamp/www/virtualpol/"
        <Directory "c:/wamp/www/virtualpol/">
            Options Indexes FollowSymLinks
            AllowOverride All
            Order allow,deny
            Allow from all
        </directory>
        <IfModule dir_module>
            DirectoryIndex index.php index.php3 index.html index.htm
        </ifmodule>
        <FilesMatch "^/.ht">
            Order allow,deny
            Deny from all
            Satisfy All
        </filesmatch>
        ErrorLog "c:/wamp/logs/rssv-error.log"
        CustomLog "c:/wamp/logs/rssv-access.log" common
    </virtualhost>

NOTA: Los archivos de log, “ErrorLog” y “CustomLog” nos sirven para identificar de manera aislada los errores que se produzcan cada vez que accedemos al servidor. Para acceder a los registros de errores hay que entrar en la ruta “C:/wamp/logs/” y abrir el archivo que queremos ver con un bloc de notas. Dentro del archivo podemos ver los errores e identificarlos.
6.- Reiniciamos el servidor: Icono Wamp > Restart All Services
7.- Una vez el icono esté en verde de nuevo accedemos a https://www.virtualpol2.com para comprobar que ha funcionado.

Ultimando la configuración

1.- Debemos habilitar ciertas características de PHP si no están habilitadas, accedemos desde el icono del WAMP > Configuración de PHP > short open tag
2.- Deshabilitamos de la misma manera la opción display errors.
3.- Habilitamos la extensión gettext de PHP si no está habilitada, para ello, como siempre desde el icono del WAMP > PHP > Extensiones de PHP > php_gettext.
4.- Abrimos con un editor de texto el archivo config.php ubicado en la ruta c:/wamp/www/virtualpol/ y cambiamos la siguiente línea:

    define('DOMAIN', 'virtualpol.com');

dejándola así

    define('DOMAIN', 'virtualpol2.com');

con esto hacemos que ubique el dominio en red local en lugar de acceder al servidor de internet.

5.- Accedemos desde el navegador a las siguientes urls para comprobar que todo funciona:

    http://www.virtualpol2.com
    http://15m.virtualpol2.com
    http://hispania.virtualpol2.com
    http://rssv.virtualpol2.com
    https://www.virtualpol2.com
    https://15m.virtualpol2.com
    https://hispania.virtualpol2.com
    https://rssv.virtualpol2.com
Clone this wiki locally