[Windows Server 2012 R2] Implementación de Moodle 3.2.2

Hola Comunidad;
Bueno, hoy en el trabajo me solicitaron que se implemente una Aula Virtual y que mejor que hacerlo con Moodle sobre Windows Server 2012 R2 + IIS 8.5 + PHP 5.6.30 + SQL Server 2012 SP1, por lo que hoy les mostraré como realizar lo indicado.

2017-03-14_10-34-37.png

Antes de comenzar con la publicación, se esta deduciendo que tiene al menos conocimientos básicos sobre el proceso de instalación pero de todas formas intentaré hacerlo paso a paso.

 

Instalación de IIS

Para instalar el IIS debemos de ingresar a Server Manager/Manage/Add Roles and Features, en Before you begin clic en Next.

2017-03-14_10-34-37.png

Clic en Role-based or feature-based installation y clic en Next.

2017-03-14_10-34-43.png

Seleccionamos nuestro servidor al cual vamos a instalar y hacemos clic en Next.

2017-03-14_10-35-04.png

Luego en Server Roles buscamos Web Server (IIS) y lo seleccionamos.

2017-03-14_10-35-27.png

Nos aparecerá otro cuadro de dialogo donde nos indicará que se agregarán dichas características, solo hacemos clic en Add Features.

2017-03-14_10-35-38.png

Después de ello recién podremos dar clic en Next.

2017-03-14_14-03-36.png

En Features por el momento no seleccionamos nada, clic en Next.

2017-03-14_10-35-52.png

Ahora nos aparecerá unas notas rápidas acerca del rol que vamos a instalar Web Server Role (IIS) solo clic en Next.

2017-03-14_10-36-03.png

Ahora en Role Services solo vamos a seleccionar el CGI, buscamos la categoría Application Development, seleccionamos CGI y clic en Next.

2017-03-14_10-37-55.png

Seleccionamos el check de Restart the destination server automatically if required (nos aparecerá un mensaje solo debemos de presionar en el botón YES) y clic en Install.

2017-03-14_10-38-58.png

Luego nos empezará a cargar la instalación, esperamos hasta que finalice y presionamos Close.

2017-03-14_10-42-08.png

Ahora buscamos el Internet Information Services Manager, ingresamos y verificamos que con ello ya se encuentra el IIS 8.5 instalado correctamente.

2017-03-14_10-44-10.png

Instalación de PHP 5.6.30

Cuando se usa IIS con CGI se tiene que descargar la versión Non-Thread Safe (NTS)  el enlace se encuentra aquí:

Como estamos usando Windows Server 2012 R2 se entiende que estamos usando un procesador de 64 Bits (x64) pero lastimosamente el soporte PARA X64 EN 5.6.30 ES EXPERIMENTAL (Aunque funciona muy estable pero no nos vamos a arriesgar) así que vamos a descargar VC11 x86 Non Thread Safe (NTS) que es de 32 Bits, lo guardamos en un lugar de nuestro servidor porque después vamos a descomprimir.

2017-03-14_15-38-33.png

Ahora, al estar usando VC11 (del PHP) se necesita el Visual C++ Redistributable for Visual Studio 2012 que se puede descargar desde el siguiente link (obviamente debemos de descargar también el de 32 bits o x86 porque es la versión del PHP):

Comenzamos la instalación aceptando los términos y haciendo clic en el botón Install.

2017-03-14_16-47-42.png

Esperamos unos segundos hasta que comience la instalación.

2017-03-14_16-55-58.png

Cuando la misma culmine nos mostrará el mensaje de Setup Successful y presionamos el botón de Close

2017-03-14_16-56-24.png

Ahora, uno de las costumbres que tengo es crear una carpeta llamada PHP en la unidad C:/

2017-03-14_15-35-23.png

Descomprimimos el contenido en C:/PHP/

2017-03-14_15-47-07.png

Luego buscamos el archivo: php.ini-production:

2017-03-14_15-58-09.png

Solo tenemos que renombrar como php.ini y presionamos enter (nos aparecerá un mensaje donde solo debemos de hacer clic en YES).

2017-03-14_15-59-01.png

Quedando de la siguiente manera:

2017-03-14_16-00-56.png

Ahora descargamos el PHP Manager for IIS desde el siguiente enlace:

Aunque la versión es para el IIS 7 funciona muy bien en IIS 8.5 (descargamos la versión x64).

Luego de haber descargado dicha versión debemos de activar la características .NET Framework 3.5 (PHP Manager funciona con .NET Framework 2.0), para ello nos dirigimos a Features y seleccionamos lo marcado en la imagen, luego seleccionamos y clic en Next.

2017-03-14_16-14-24.png

Luego, seleccionamos Restart the destination server automatically if required y hacemos clic en Specify an alternate source path.

2017-03-14_16-17-04.png

Colocamos la ruta donde se encuentra la carpeta SXS, recomiendo que usen el mismo disco o imagen de instalación, en mi caso el dispositivo óptico tiene por letra D, luego de especificar la ruta clic en OK.

2017-03-14_16-19-57.png

Presionamos Install y comenzará el proceso que dura unos 5 a 10 minutos.

2017-03-14_16-22-47.png

Luego que finalice la instalación solo debemos de hacer clic en Close.

2017-03-14_16-37-45.png

Ahora ejecutamos el instalador del PHP Manager 1.2 y hacemos clic en Next.

2017-03-14_16-39-09.png

Aceptamos los términos y clic en Next.

2017-03-14_16-39-47.png

Esperamos que termine la instalación.

2017-03-14_16-40-38.png

Después que finalice la misma presionamos Close.

2017-03-14_16-41-19.png

Ingresamos al Internet Information Services (IIS) Manager, Seleccionamos la conexión (Home) e ingresamos a PHP Manager.

2017-03-14_16-43-34.png

Luego clic en Register new PHP version.

2017-03-14_16-44-33.png

Especificamos la ruta donde tenemos el PHP, en nuestro caso lo hemos hecho en C:\PHP\ y seleccionamos PHP-CGI y clic en OK.

2017-03-14_16-45-41.png

Verificaremos que la versión ha sido detectada correctamente que en este caso es la 5.6.30.

2017-03-14_16-46-37.png

Para chequear que se ejecute correctamente, hacemos clic en Check phpinfo() y seleccionamos las conexiones por defecto y presionamos OK y esperamos unos segundos.

2017-03-14_16-58-43.png

nos cargará el output del PHP, con esto ya tenemos instalado el PHP 5.6.30.

2017-03-14_16-59-49.png

Instalación SQL Server 2012 Standard

Bien, ya tenemos el IIS 8.5 y el PHP 5.6.30 solo nos faltaría instalar el Motor de Base de Datos, como nuestra empresa tiene licencias disponibles para SQL Server 2012 la instalación es similar a una publicación que ya he realizado:

https://elcegu.wordpress.com/2015/05/26/instalacion-de-sql-server-2014-sp1-database-engine-services-analysis-services-reporting-services-and-integration-services/

Pero como yo se que te cansas ir a otro enlace lo haré nuevamente (omitiendo ciertas cosas que son básicas).

Ingresamos a la instalación y nos dirigimos a Installation, clic en New SQL Server stand-alone installation or add features to an existing installation.

2017-03-14_18-38-53.png

Esperamos a que termine la comprobación del sistema hasta que todo se encuentre Passed, luego clic en OK.

2017-03-14_18-39-38.png

Ingresamos nuestra código de producto y clic en Next:

2017-03-14_19-01-12.png

Aceptamos los términos de licencia y clic en Next.

2017-03-14_19-01-49.png

Se recomienda que se descarguen las actualizaciones listadas, así que dejemos el check marcado y clic en Next.

2017-03-14_19-02-43.png

Esperamos a que todas las tareas se completen.

2017-03-14_19-03-27.png

Nos cargará una ventana donde nuevamente verifica la configuración de nuestro sistema, por lo que debemos de esperar y luego que todo este en Passed, clic en Next.

2017-03-14_19-06-39.png

Dejamos seleccionado la opción SQL Server Feature Installation y clic en Next.

2017-03-14_19-17-57.png

Seleccionamos la característica Database Engine Services.

2017-03-14_19-20-26.png

Seleccionamos el Management Tools – Basic y también el Complete, ahora presionamos Next.

2017-03-14_19-21-05.png

Se verificara las reglas de instalación, luego que todo este bien solo nos queda hacer clic en Next.

2017-03-14_19-23-43.png

Dejamos el check en Default instance y presionamos en Next.

2017-03-14_19-24-16.png

Nos indicara un Review sobre el espacio que se usara, clic en Next.

2017-03-14_19-25-52.png

En Server Configuration lo único que vamos a cambiar es la Collation a SQL_Latin1_General_CP1_CI_AS y clic en Next.

2017-03-14_19-26-51.png

Seleccionamos el Modo Mixto (Mixed Mode) y especificamos una clave (está sera la clave del sa), luego hacemos clic en Add Current User para agregar nuestro usuario con el que estamos realizando la instalación (Siempre usar cuentas que tengan un estándar como DBA o UsuarioDBA).

2017-03-14_19-28-50.png

Luego nos vamos a Data Directories donde especificamos las rutas donde se guardaran tanto los MDFs, LDFs y Backups, es una buena practica tenerla separadas en una carpeta donde el acceso no sea tedioso y fácil de llegar, después de ello clic en Next.

2017-03-14_19-31-29.png

En Error Reporting no especificamos nada solo hacemos clic en Next.

2017-03-14_19-32-39.png

Nuevamente verificara las reglas de instalación, esperamos a que todo este en Passed y clic en Next.

2017-03-14_19-33-10.png

Nos mostrará un texto el cual es el resumen de todo lo que se instalará. Solo debemos de hacer clic en Install.

2017-03-14_19-33-39.png

Ahora solo nos queda esperar hasta que termine la instalación.

2017-03-14_19-34-15.png

Cuando finalice nos mostrará si todas las características se han instalado correctamente, para este caso solo nos queda en hacer clic en Close.

2017-03-14_19-52-44.png

Cuando termine la instalación nos dirigiremos al Microsoft SQL Server Management Studio, luego en Connect to Server en la opción de Server Type debe de estar seleccionado Database Engine, en Server Name siempre sera el nombre del equipo y en Authentication es el modo el cual ingresaremos (Modo Windows o SQL) como para el presente ejemplo que sera Windows Authentication (nos fijamos que no se puede ingresar usuario y clave ya que las mismas son del inicio sesión de Windows), clic en Connect.

2017-03-14_19-55-32.png

Esperamos que termine de validar nuestras credenciales, esto con el fin de poder verificar la conexión.

2017-03-14_20-00-45.png

Ahora vamos a crear un usuario para la instalación del Moodle y que sera también parte de los administradores de la Base de Datos, para ello Nos dirigimos a Security/Logins y hacemos clic secundario en Logins y clic en New Login…

2017-03-15_09-28-39.png

Escribimos un nombre de usuario en Login Name cambiamos el modo de autenticación a SQL Server authentication y especificamos una clave, de preferencia contenga números, letras y caracteres especiales, luego solo nos debemos de asegurar que Enforce password policy esté seleccionado y nos dirigimos a Server Roles.

2017-03-15_09-33-41.png

Seleccionamos el check de sysadmin y presionamos OK para que crear el usuario.

2017-03-15_09-35-28.png

Ahora verificamos que efectivamente el usuario se ha creado.

2017-03-15_09-41-47.png

Verificamos ingresando nuevamente al servidor pero esta vez cambiando el modo de autenticación a SQL Server Authentication, escribimos las credenciales que hemos usado para crear el usuario y presionamos Connect.

2017-03-15_10-08-56.png

Ahora debemos de verificar la cuenta que el usuario con el que hemos iniciado sesión es Moodle.

2017-03-15_10-09-59.png

Ahora debemos de crear una base de datos llamada AulaVirtual, para ello clic secundario en Databases y clic en New Database…

2017-03-15_11-04-26.png

Colocamos el nombre de la base de datos en este caso es AulaVirtual y clic en OK.

2017-03-15_11-04-46.png

Verificamos que la base de datos se haya creado.

2017-03-15_11-05-21.png

Ahora vamos a descargar el Microsoft ODBC Driver 11 for SQL Server (el de 64 Bits) del siguiente enlace:

Empezamos con la instalación, clic en Next.

2017-03-15_11-02-34.png

Aceptamos los términos de la licencia y clic en Next.

2017-03-15_11-02-39.png

No modificamos nada, dejar tal cual esta solo debemos de hacer clic en Next.

2017-03-15_11-02-49.png

Clic en Install.

2017-03-15_11-03-09.png

Esperamos que termine la instalación para hacer clic en Finish.

2017-03-15_11-03-23.png

Bien hasta aquí ya tenemos instalado el SQL Server 2012, IIS 8.5 y PHP 5.6.30, así mismo ya tenemos el nombre de usuario, contraseña y el nombre de la base de datos ya creadas por lo que ahora vamos a realizar las configuraciones necesarias para la instalación del Moodle.

Instalación del Driver de SQL Server para PHP 5.6.30

Lo que debemos de hacer es descargar el Microsoft Drivers for PHP for SQL Server desde la web oficial de Microsoft:

Lo cual debemos de descargar SQLSRV32.EXE que cuenta con los archivos necesarios para nuestra versión de PHP que es la 5.6.30, luego de haber descargado se tiene que descomprimir (no mostraré dicha parte porque yo se que sabes descomprimir) con el mismo instalador, así que colócalo en una ruta donde puedas acceder rápido a ella y abre la documentación que tiene por nombre SQLSRV_Readme.

La misma documentación nos indica que versión de PHP es compatible con determinada DLL, en nuestro caso la versión es 5.6 y es Non Thread Safe (NTS) por lo cual lo marcado con rectángulo son las DLL que vamos a usar.

2017-03-14_20-15-35.png

Copiamos dichos DLL.

2017-03-14_20-19-44.png

Lo pegamos en C:\PHP\ext (Carpeta Extensiones):

2017-03-14_20-21-10.png

Y luego de ello nos dirigimos al PHP Manager del IIS y presionamos en Enable or disable an extension.

2017-03-14_20-22-06.png

Seleccionamos la DLL que hemos copiado (una a la vez) y clic en Enable.

2017-03-14_20-23-42.png

Lo mismo se hace con la otra DLL que faltaría quedando nuestras extensiones en el grupo de Enabled por se visualizara de la siguiente manera.

2017-03-14_20-25-23.png

Luego nos dirigimos al Inicio y presionamos en Restart.

2017-03-14_20-26-52.png

Para verificar que esta correcto debemos de ejecutar el phpinfo para ver los componentes habilitados, en este caso se visualiza el PDO SQLSRV.

2017-03-14_20-29-23.png

Configurar PHP.INI

Ahora, nos dirigimos a la carpeta PHP y abrimos PHP.INI con un Notepad 

2017-03-14_20-36-38.png

Buscamos memory_limit que tendrá un valor de 1024M (1GB de mi servidor).

2017-03-14_20-38-42.png

Buscamos upload_max_filesize que tendrá un valor de 30M

2017-03-14_20-43-36.png

Buscamos post_max_size que tendra un valor de  30M

2017-03-14_20-45-14.png

Buscamos max_execution_time y lo cambiamos por 600

2017-03-14_20-51-48.png

Buscamos max_input_time y lo cambiamos por 120

2017-03-14_20-54-21.png

Con ello guardamos y reiniciamos el servidor del IIS desde el Home.

2017-03-14_20-55-36.png

Instalación de Moodle.

Voy a crear una carpeta llamada PUBLICACIONES, luego nos dirigimos a las propiedades de la carpeta y me voy a la pestaña Security, en ella voy a agregar a Everyone como Full Control.

2017-03-14_20-57-16.png

Luego, descargamos la ultima versión estable del Moodle que para este caso es la 3.2.2:

2017-03-14_20-59-15.png

Y lo descomprimimos en la raíz de la carpeta de PUBLICACIONES.

2017-03-14_21-02-41.png

Luego nos dirigimos al IIS, y en Sites removemos el Default Web Site haciendo clic secundario sobre la misma y haciendo clic en Remove.

2017-03-14_21-04-06.png

Nos aparecerá un mensaje donde solo debemos de hacer clic en YES, después de ello hacemos clic secundario en Sites y clic en Add Website…

2017-03-14_21-06-17.png

Escogemos un nombre para el nuevo sitio e indicamos la ruta donde se encuentra todos los archivos web del Moodle que en este caso es la ruta D:\PUBLICACIONES\moodle, luego presionamos OK (No cambiamos el puerto de comunicación porque se entiende que sera por el 80 por defecto).

2017-03-14_21-07-49.png

Después se visualizará un nuevo sitio llamado Moodle y solo hacemos clic en Browse para que pueda cargar en el navegador.

2017-03-14_21-10-23.png

Esperamos un momento y nos fijamos que el URL es http://localhost/install.php, nos cargará la pantalla de instalación para lo cual cambiamos el idioma que en mi caso es Español y presionamos en el botón Siguiente.

2017-03-15_09-15-29.png

Aquí solo debemos de tener en cuenta que se creará una nueva carpeta llamada Moodledata en la raíz de PUBLICACIONESclic en Siguiente.

2017-03-15_09-16-43.png

Luego, en tipo seleccionamos el conector de SQL Server Microsoft y clic en Siguiente.

2017-03-15_09-25-28.png

Luego en Host de la Base de Datos colocamos el nombre de la PC (borrar el localhost), en Nombre de la Base de Datos colocamos el nombre de la Base que hemos creado en pasos anteriores (AulaVirtual), en Usuario de la Base de Datos colocamos el usuario que hemos creado con los pasos anteriores (moodle). en Contraseña de la Base de Datos colocamos la clave que hemos colocado al usuario moodle creado en pasos anteriores, luego clic en Siguiente.

2017-03-15_10-11-42.png

Luego, indicará un Copyright donde solo debemos de hacer clic en Continuar.

2017-03-15_11-05-27.png

Luego nos aparecerá las siguientes dos revisiones que se deben de realizar, para ello les voy a indicar como.

2017-03-15_11-06-57.png

 

Para el caso del php_extension intl solo debemos de dirigirnos al PHP Manager y activar la extension php_intl.dll (esto ya sabes como se hace).

2017-03-15_11-07-35.png

Para el caso de opcache.enable debemos de copiar lo siguiente:

 

[opcache]
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption = 128
opcache.max_accelerated_files = 8000
opcache.interned_strings_buffer=8
opcache.revalidate_freq = 2
opcache.use_cwd = 1
opcache.validate_timestamps = 1
opcache.save_comments = 1
opcache.enable_file_override = 0
opcache.mmap_base = 0x20000000
opcache.fast_shutdown=1

[ExtensionList]
zend_extension=php_opcache.dll

Y pegarlo en el PHP.INI de la siguiente manera:

2017-03-15_12-03-28.png

Lo guardamos y reiniciamos el Home del IIS, volvemos a refrescar la pagina del Moodle desde el navegador y visualizaremos que todo esta OK (en color verde), clic en Continuar.

2017-03-15_12-04-21.png

Esperamos un momento mientras que el proceso continua hasta que nos aparezca algo similar a la imagen, solo debemos de hacer clic en Continuar.

2017-03-15_12-06-44.png

Bien, ahora tenemos que colocarlo un nombre de usuario al administrador del sitio, en mi caso sera admin, también debemos de colocar una clave que tenga al menos 8 caracteres donde se incluya una mayúscula, minúscula, caracteres especiales y algún numero, no olvidar colocar el nombre, apellido y correo del administrador del sitio.

2017-03-15_12-09-44.png

Solo debemos de hacer clic en Actualizar información Personal.

2017-03-15_12-10-03.png

Colocamos un nombre de al sitio web así como una descripción, lo importante es especificar un correo de salida de no-reply, y solo le damos clic en Guardar Cambios.

2017-03-15_12-10-36.png

Solo tendremos que esperar un momento mas para que nos llegue a cargar nuestro Tablero.

2017-03-15_12-13-52.png

Con eso seria todo, ya esta nuestro Moodle instalado en un ambiente de Windows.

Muchas Gracias!

 

 

8 comentarios en “[Windows Server 2012 R2] Implementación de Moodle 3.2.2

  1. Magnífico tutorial.
    Me ha sido de extraordinaria ayuda.

    Hay un par de cambios en las últimas versiones pero este documento cubre el 95% del proceso de instalación.

    Muchísimas gracias.

    Me gusta

  2. Muy completa tu explicación felicidades(me hubiera ahorrado dolores de cabeza si lo hubiera viso meses atrás), una duda tengo montado mi moodle en un servidor virtual y esta funcionando a la perfección el problema es que no puede enviar correos de forma automática y ya configure con varias cuentas la configuración en moodle y sigue sin funcionar.

    Bueno mi duda es ¿Al servidor donde instalo php, IIS y demás, hay que hacerle otra configuración adicional para los correos?

    Saludos

    Me gusta

Deja un comentario