Diferencia entre revisiones de «Instalando Moodle en distribuciones basadas en Debian»

De MoodleDocs
m (tidy up)
m (tidy up)
Línea 228: Línea 228:
  ...
  ...


<p>Una vez que se haya completado exitosamente, el ''script'' de instalación inicia al demonio del servidor (''server daemon''). Revíselo al llamar a la página de prueba tal como se describeen la tabla inferior. Usted debería de obtener la página de 'Si Funciona' (''It works'').  
<p>Una vez que se haya completado exitosamente, el ''script'' de instalación inicia al demonio del servidor (''server daemon''). Revíselo al llamar a la página de prueba tal como se describe en la tabla inferior. Usted debería de obtener la página de 'Si Funciona' (''It works'').  


{| class="nicetable"
{| class="nicetable"
Línea 244: Línea 244:
Por defecto, Apache muestra el contenido de /var/www/, a lo que Apache llama el 'DocumentRoot'. Esto y todos los demás parámetros de configuración de Apache se encuentran en /etc/apache2/. Vea la documentación relevante en http://httpd.apache.org/docs/.</p>
Por defecto, Apache muestra el contenido de /var/www/, a lo que Apache llama el 'DocumentRoot'. Esto y todos los demás parámetros de configuración de Apache se encuentran en /etc/apache2/. Vea la documentación relevante en http://httpd.apache.org/docs/.</p>


<p>Si Usted quiere reinicar el servidor web en el futuro, Usted puede hacerlo al reiniciar el ''script'' de arranque(''boot script''):</p>
<p>Si Usted quiere reiniciar el servidor web en el futuro, Usted puede hacerlo al reiniciar el ''script'' de arranque (''boot script''):</p>
  # <b>/etc/init.d/apache2 restart</b>
  # <b>/etc/init.d/apache2 restart</b>


Línea 256: Línea 256:
  Configurando mysql-server ...
  Configurando mysql-server ...


Pruebew el éxito al ingresar con el cliente de MySQL:
Pruebe el éxito al ingresar con el cliente de MySQL:
  # <b>mysql -u root -p</b>
  # <b>mysql -u root -p</b>
  Enter password: <b>XXXXXX</b>
  Enter password: <b>XXXXXX</b>
Línea 275: Línea 275:


<p>Pruebe el éxito al solicitar phpinfo. Para esto Usted tiene que crear una página en webroot que contenga solamente una llamada a  phpinfo() y visitarla en el navegador:</p>
<p>Pruebe el éxito al solicitar phpinfo. Para esto Usted tiene que crear una página en webroot que contenga solamente una llamada a  phpinfo() y visitarla en el navegador:</p>
  # <b><var>editor</var> /var/www/moodle/phpinfo.php</b>  ; <var>editor</var> any text editor: <b>nano</b>, <b>vi</b>, ...
  # <b><var>editor</var> /var/www/moodle/phpinfo.php</b>  ; <var>editor</var> cualquier editor de texto: <b>nano</b>, <b>vi</b>, ...
  ; añada solamente la línea inferior, guárdela y sálgase.
  ; añada solamente la línea inferior, guárdela y sálgase.
  <b><?php phpinfo(); ?></b>  
  <b><?php phpinfo(); ?></b>  
Línea 285: Línea 285:
! Internet
! Internet
|-
|-
| width="33%" | Visit <nowiki>http://localhost/moodle/phpinfo.php</nowiki> in the same computer.
| width="33%" | Visite <nowiki>http://localhost/moodle/phpinfo.php</nowiki> en la misma computadora.
| width="33%" | Visit <nowiki>http://the.ip.address/moodle/phpinfo.php</nowiki> from any computer in the LAN.
| width="33%" | Visite <nowiki>http://la.dirección.ip/moodle/phpinfo.php</nowiki> desde cualquier computadora en la  LAN.
| Visit <nowiki>http://dnsname.of.server/moodle/phpinfo.php</nowiki> from any computer in the Internet.
| Visite <nowiki>http://nombredns.del.servidor/moodle/phpinfo.php</nowiki> desde cualquier computadora en Internet.
|}
|}
<caption>Tabla 5. Revisando phpinfo</caption>
<caption>Tabla 5. Revisando phpinfo</caption>


Recuerde eliminar este archivo una vez que haya concluido la instalación. Proporciona demasiada información a los intrusos potenciales! Más tarde, el administrador de Moodle tiene acceso a esta información al visitar <nowiki>http://su.servidor/moodle/admin/phpinfo.php</nowiki>.
Recuerde eliminar este archivo una vez que haya concluido la instalación. ¡Proporciona demasiada información a los intrusos potenciales! Más tarde, el administrador de Moodle tiene acceso a esta información al visitar <nowiki>http://su.servidor/moodle/admin/phpinfo.php</nowiki>.


  # <b>rm /var/www/moodle/phpinfo.php</b>              ; ¡ phpinfo() les proporciona información a los intrusos!                 
  # <b>rm /var/www/moodle/phpinfo.php</b>              ; ¡ phpinfo() les proporciona información a los intrusos!                 
Línea 338: Línea 338:
  # <b>wget <var><nowiki>http://download.moodle.org/download.php/direct/moodle/moodle-latest.tgz</nowiki></var></b> ; la más reciente versiónen desarrollo
  # <b>wget <var><nowiki>http://download.moodle.org/download.php/direct/moodle/moodle-latest.tgz</nowiki></var></b> ; la más reciente versiónen desarrollo


<p>Las versiones de arriba son solamente una muestra tomada del sitio oficial de descargas en http://download.moodle.org/. Refiérase a esa página para más detalles. Tome nota de que los archivos reales sonbucados de forma transparente desde sourceforge.net.</p>
<p>Las versiones de arriba son solamente una muestra tomada del sitio oficial de descargas en http://download.moodle.org/. Refiérase a esa página para más detalles. Tome nota de que los archivos reales son buscados de forma transparente desde sourceforge.net.</p>


  ; Descomprima (''Untar'') el archivo a /var/www/moodle
  ; Descomprima (''Untar'') el archivo a /var/www/moodle
Línea 345: Línea 345:
<p><b>Descargar mediante git</b></p>
<p><b>Descargar mediante git</b></p>


<p>Git permite numerosas formas de organizar su repositorio local. El ejemplo inferior muestra el mínimo indispensable que Usted necesita conseguir del "upstream", del repositorio en git.moodle.org.</p>
<p>Git permite numerosas formas de organizar su repositorio local. El ejemplo inferior muestra el mínimo indispensable que Usted necesita conseguir del ''upstream'', del repositorio en git.moodle.org.</p>


  # <b>apt-get install git</b> ; instale git si no lo había hecho anteriormente
  # <b>apt-get install git</b> ; instale git si no lo había hecho anteriormente
  # <b>cd /var/www</b>        ; cambie a DocumentRoot
  # <b>cd /var/www</b>        ; cambie a DocumentRoot
  ; En el comando inferior use MOODLE_19_STABLE, MOODLE_20_STABLE, etc. enlugar de <var>BRANCH_TAG</var>
  ; En el comando inferior use MOODLE_19_STABLE, MOODLE_20_STABLE, etc. en lugar de <var>BRANCH_TAG</var>
  # <b>git clone -b <var>BRANCH_TAG</var> <nowiki>git://git.moodle.org/moodle.git</nowiki></b>
  # <b>git clone -b <var>BRANCH_TAG</var> <nowiki>git://git.moodle.org/moodle.git</nowiki></b>
  Cloning into moodle...
  Cloning into moodle...
Línea 389: Línea 389:
! Internet
! Internet
|-
|-
| width="33%" | Visit <nowiki>http://localhost/moodle</nowiki> desde un navegador dentro de la computadora
| width="33%" | Visite <nowiki>http://localhost/moodle</nowiki> desde un navegador dentro de la computadora
| width="33%" | Desde cualquier computadora en la LAN, llame a  <nowiki>http://la.dirección.IP/moodle/</nowiki>
| width="33%" | Desde cualquier computadora en la LAN, llame a  <nowiki>http://la.dirección.IP/moodle/</nowiki>
| Desde cualquier computadora en Internet, llame a <nowiki>http://dnsname.of.server/moodle/</nowiki>
| Desde cualquier computadora en Internet, llame a <nowiki>http://dnsname.of.server/moodle/</nowiki>
Línea 422: Línea 422:
  $CFG->dataroot  = '/var/moodledata';
  $CFG->dataroot  = '/var/moodledata';


Note: MySQL changed the syntax of CREATE TABLE in version 5.5. Instead of TYPE=MyISAM (or InnoDB) now you have write ENGINE=MyISAM. http://dev.mysql.com/doc/refman/5.5/en/myisam-storage-engine.html Moodle 1.6 crashed due to this. The needed changes are recorded in this patch. [???]
Nota: MySQL cambió la sintaxis para CREATE TABLE en la versión 5.5. En lugar de TYPE=MyISAM (o InnoDB) ahora Usted escribirá ENGINE=MyISAM. http://dev.mysql.com/doc/refman/5.5/en/myisam-storage-engine.html Moodle 1.6 se cayó debido a esto. Los cambio snecesarios están grabados en un parche. [???]


Felicitaciones! NAhora Usted es el propietario de un brillante sitio Moodle! No se le olvide asegurar el directorio moodle y config.php:
Felicitaciones ! Ahora Usted es el propietario de un brillante sitio Moodle! No se le olvide asegurar el directorio moodle y config.php:


  # <b>chown root /var/www/moodle</b>
  # <b>chown root /var/www/moodle</b>
Línea 431: Línea 431:


<h3>Configurar cron</h3>
<h3>Configurar cron</h3>
<p>El ''script'' de  cron.ini tiene que correrse regularmewnte para que Moodle termine sus tareas pendientes, tales como mandiar publicaciones def foros por Email. Usted podría añadir una línea a '' roots crontab''.</p>
<p>El ''script'' de  cron.ini tiene que correrse regularmente para que Moodle termine sus tareas pendientes, tales como mandar publicaciones de foros por Email. Usted podría añadir una línea a '' roots crontab''.</p>
   
   
  # <b>crontab -e</b>
  # <b>crontab -e</b>
Línea 445: Línea 445:
  dbconfig-common javascript-common libjs-mootools libmcrypt4 php5-mcrypt ...
  dbconfig-common javascript-common libjs-mootools libmcrypt4 php5-mcrypt ...
  ...
  ...
  Web server tpara reconfigurarse automáticamente:
  Web server para reconfigurarse automáticamente:
   [*] apache2              ; select Apache
   [*] apache2              ; select Apache
   [ ] lighttpd
   [ ] lighttpd
Línea 457: Línea 457:
! Internet
! Internet
|-
|-
| width="33%" | w3m <nowiki>http://localhost/phpmyadmin/</nowiki>
| width="33%" | Desde <nowiki>http://localhost/phpmyadmin/</nowiki>
| width="33%" | From any computer in the LAN, call <nowiki>http://the.ip.address/phpmyadmin/</nowiki>
| width="33%" | Desde cualquier computadora en la LAN, llame a <nowiki>http://la.dirección.IP/phpmyadmin/</nowiki>
| From any computer in the Internet, call <nowiki>http://dnsname.of.server/phpmyadmin/</nowiki>
| Desde cualquier computadora enInternet, llame a <nowiki>http://nombredns.del.servidor/phpmyadmin/</nowiki>
|}
|}
<caption>Table 7. Call phpMySQL</caption>
<caption>Tabla 7. LLamar a phpMySQL</caption>


<h2>Apéndice</h2>
<h2>Apéndice</h2>

Revisión del 02:16 19 feb 2014

Nota: Pendiente de Traducir. ¡Anímese a traducir esta página!.     ( y otras páginas pendientes)


Introducción

Alcance

  • Este artículo documenta cómo instalar Moodle en Linux Debian y en distribuciones basadas en Debian, específicamente Debian 6.0 “Squeeze” y Ubuntu Server 12.04 LTS. Las mismas instrucciones deberían de ser aplicables para muchas otras derivaciones de Debian y Ubuntu.
  • Estas instrucciones son genéricas para todas las versiones actualmente (febrero 2013) mantenidas de Moodle (1.9, 2.2, 2.3 y 2.4 en enero del 2013). Inclusive la versión 1.6 funciona con ligeras modificaciones (vea debajo).

  • Se describen tres tipos de instalación posibles; la PC sola independiente (que no requiere red) y dos instalaciones para red: 'solamente LAN' y para 'Internet', se explican en forma diferenciada en este artículo. Están puestas en la tabla inferior:
    PC únicamente solo LAN Internet
    Usted instala Moodle en su computadora basada en Debian, de forma que solamente sea accesible desde adentro de dicha computadora. Esta configuración es ideal para probar Moodle y desarrollar cursos, aun y cuando la computadora no estuviera conectada a Internet.

    Desde luego, durante la instalación y más adelante para las actualizaciones si necesitará acceso a Internet.

    Se asume que su computadora corre una interfaz gráfica como Gnome, KDE, XFCE, etc.

    La computadora con Moodle está dentro de una red privada, por ejemplo una LAN o VPN, y Moodle solamente es accesible para las computadoras dentro de dicha red privada.

    Con esta configuración, un equipo puede desarrollar cursos en colaboración, o correr Modle para una institución (una escuela), siempre que todos los usuarios estén dentro de la misma red privada.

    Aquí también, el servidor necesita acceso a Internet durante la instalación y las actualizaciones.

    El servidor Moodle es accesible desde Internet. La máquina tiene, o una IP pública, o es accesible desde afuera mediante port­forwarding. Idealmente, la computadora también tiene un nombre DNS.
    Tabla 1. Discusión de los tres arreglos de red
  • Por favor, tome nota de que el mantenimiento del servidor, incluyendo las actualizaciones, los respaldos, benchmarking, tuning, hardening, etc. no son parte de esta documentación.

Advertencia

  • El Internet se ha vuelto un terreno rudo. Usted no debe de dejar una máquina conectada a él, especialmente una que tenga una IP pública, a menos que comprenda bastante acerca de seguridad. Este artículo solamente cubre la configuración por defecto, sin ninguna precaución de seguridad especial. ¡Está advertido!
  • No hay sustituto para pensar cuidadosamente. La mayoría de las instrucciones (comandos) son auto-explicatorios. Si Usted tiene dudas, invierta tiempo en estudiar y adquirir conocimientos. ¡Estas instrucciones no son 'Mantras' que Usted pueda copiar y pegar a su línea de comandos y ejecutar ciegamente! Si hace eso, en el mejor de los casos obtendrá un mensaje de error. ¡En el peor caso, podría suceder cualquier cosa!

Tipografía y convenciones

Los diálogos de la línea de comandos están tipografiados en un tipo de letra mono, como en este ejemplo:

; Obtener la hora actual
$ date
Son Feb 30 09:50:00 CET 2012

La primera línea es, por supuesto, un comentario. En la segunda línea Usted solamente ha escrito 'date' y obtuvo la respuesta mostrada en la tercera línea. Los comandos (instrucciones) que Usted escribirá están puestos en negritas - la respuesta está en un tipo regular.

En ocasiones, parte de los comandos serán únicos para su configuración particular. Están puestos en tipo cursiva. En el ejemplo debajo 'username' es un nombre_de_usuario existente en su sistema (Unix).

$ last username
username    pts/0        172.18.222.53    Thu Feb  31 22:49 - 03:01  (04:11)
[...]

El intérprete de comandos indica que está listo al imprimir el command prompt, que comunmente llamamos solamente 'prompt'. El prompt estándar para un usuario no-privilegiado es el signo de $ - mientras que el símbolo de gato (hash) (#) indica al superusuario. ¡Ojo: No escriba el prompt!

Los diferentes intérpretes tienen diferentes prompts y hablan diferentes idiomas(¡!). Por ejemplo, la herramienta para línea de comandos de MySQL imprime 'mysql>'

mysql>  SELECT now();
+---------------------+
| NOW()               |
+---------------------+
| 2012-02-31 09:50:00 |

La configuración requiere de privilegios de superusuario

Todos los comandos en esta página son ejecutados con privilegios de superusuario. En Debian Usted ingresa (login) como el superusuario de Unix llamado 'root'. Después, todos los comandos que Usted escriba, automáticamente tendrán los máximos privilegios.

Debian GNU/Linux 6.0 host tty1
host login: root
Password: [password_for_root]  (not shown)
(message of the day)
root@host: ~#

La convención en Ubuntu es que Usted ingresa (log in) como un usuario no-privilegiado y tiene que anteponerle a los comandos que necesiten privilegios de superusuario la palabra 'sudo' (do as superuser = hazle como superusuario). Por ejemplo:

Ubuntu 12.04.3 LTS host tty1
host login: user
Password: [password_for_user]
$ reboot
reboot: must be superuser.
$ sudo reboot
[sudo] password for user: [password_for_user]
... The system is going down for reboot NOW!

El añadirle sudo a todos y cada uno de los comandos en una larga lista de comandos se vuelve tedioso. Por lo tanto, en este artículo asumiremos que el usuario no privilegiado ha adoptado una concha (shell) privilegiada al ejecutar 'sudo -i'. De aquí en adelante no hay necesidad del 'sudo'.

$ sudo -i
[sudo] password for user: [password_for_user]
# reboot
... The system is going down for reboot NOW!

Historia de las versiones de esta página de documentación en idioma inglés:

  • V 0.1 2012-02-10 (ratna) First draft, the OS and structure
  • V 0.2 2012-02-11 (ratna) Apache, more on type, table structure for network configs
  • V 0.3 2012-02-14 (ratna) MySQL, tar, CVS
  • V 0.4 2012-02-25 (ratna) Ubuntu 10.04, MySQL, Moodle 1.6.9, 1.9.16 finished
  • V 0.5 2012-03-01 (ratna) Basic LAMP ready. ToDo lighttpd, phpMyAdmin, PostgreSQL
  • V 0.6 2012-04-10 (ratna) phpMyAdmin, basic git
  • V 0.7 2012-04-15 (ratna) lighttpd, PostgreSQL removed
  • V 0.8 2012-04-30 (ratna) Ubuntu 12.04 LTS tested
  • V 0.9 2012-05-21 (ratna) Intro broken into subsections
  • V 0.91 2012-07-11 (ratna) Corrections to the intro
  • V 0.92 2012-08-27 (ratna) Get the code via git expanded
  • V 0.93 2012-11-10 (ratna) Ubuntu 12.04, MySQL 5.5
  • V 0.94 2013-01-04 (ratna) Get code, transparently from sourceforge.net
  • V 0.95 2013-01-05 (ratna) CVS servers vanishing
  • V 0.96 2013-02-07 (ratna) CVS servers gone!

Instalar Linux

Instalar el software del sistema

Hay muchas formas de instalar Linux. Usually one boots the computer initially from an external media and then transfer the operating system into an internal 'drive'. This guide summarizes the steps during an installation from a CD-ROM or an USB memory stick into an internal hard disk. For more details refer to the documentation of your distribution.

Importante:

  • Haga una instalación mínima: aun no le ponga componentes de servidor
  • Si va a instalar un servidor, no le ponga una interfaz gráfica de usuario (GUI).Para un servidor, se recomienda encarecidamente que obtenga una distribución para servidor, las que no tienen una interfaz gráfica (GUI). En el caso de Debian, la instalación básica no instala GUI - y en el caso de Ubuntu, la edición de servidor por defecto no instala GUI.
Debian 6.0 Ubuntu Server 12.04 LTS
  1. Boot from CD-1, in the Installer boot menu select 'Install' (not 'Graphical Install')
  2. Language for the installation process. It will also be the default language for the installed system.
  3. Location
  4. default locale, most likely en_US.UTF-8
  5. Keymap
  6. (Needs some time to detect hardware, load modules, try to configure the network via DHCP) Hostname
  7. Domain name. If proper server with DNS, enter your domain.
  8. Set a root password
  9. Set an account for a for a non-privileged user
  10. Partition disks: Guided or manual
  11. Finish partitioning, write the changes to disk.
  12. (Takes time to copy software)
  13. Configure the network mirror. Choose one closest to you. If your network has a HTTP-Proxy enter next or leave empty.
  14. Checking repositories, configuring apt, scanning the mirror...
  15. Important: In the final "Software selection", accept the default 'Standard system utilities" - don't tick anything else. This is the minimal installation mentioned above.
  16. Install Grub, in the boot sector: Yes
  17. Installation complete. Continue to reboot the new system.
  18. Boots through Grub
  19. Login as root
  20. Edit /etc/apt/sources.list to comment the line 'deb cddom: Official ...CD Binary .../ squeeze main'. Otherwise software update wants to read the CD all the time.
  1. Boot the machine from a bootable CD or memory stick
  2. Select the language of the boot screen
  3. The boot screen appears, select 'Install Ubuntu Server'
  4. Choose the language for the installation process (this will also be the default language of the final system)
  5. Choose the country where the machine is located
  6. Origin of the keyboard
  7. Keyboard layout
  8. Enter the host a name. We'll call it simply hostname
  9. Select the time zone where the computer is located
  10. Partition disks. The simplest variation would be 'Guided - user entire disk'
  11. Choose the correct disk, confirm writing the partition table to the disk
  12. "Installing the base system ..." (takes a couple of minutes)
  13. You are supposed to create a non-privileged user. Set a password - and don't forget those!
  14. Encrypting home partition: No
  15. HTTP-Proxy: Very likely to be none (empty). Your network administrator should tell you otherwise
  16. How do you want to manage upgrades? You are free, 'Install security updates automatically' won't be bad idea
  17. Software selection: In the list 'Software selection', select only 'OpenSSH server' - nothing else! (This is the 'minimal' installation mentioned above.)
  18. Further software will be copied..., 'Install the GRUB boot loader to the master boot record?' Yes
  19. Install finishes. Before rebooting requests you to remove the install media!

Tabla 2. Diálogo durante la instalación de Linux

Configurar la red

PC únicamente solo LAN Internet
Usted solamente necesitará el 'localhost'. Por lo tanto, el archivo /etc/network/interfaces será:
auto lo
iface lo inet loopback

El archivo /etc/hosts definirá el localhost y un hostname

127.0.0.1        localhost
127.0.1.1        hostname
En una LAN Usted necesitará una dirección IP address, muy probablemente una dirección privada. Su archivo /etc/network/interfaces será así:
auto lo
iface lo inet loopback

auto interface
iface interface inet static
  address the.ip.address
  netmask your.net.mask

y su /etc/hosts definirá:

127.0.0.1         localhost
the.ip.address    hostname

Si la LAN tiene configurado DNS, Usted necesita poner su dirección IP en /etc/resolv.conf:

nameserver ip.address.of.nameserver

Si la LAn tiene un gateway hacia Internet, al añadirlo al archivo de interfaces su computadora puede conectarse alinternet, por ejemplo, para buscar actualizaciones. Vea el ejemplo en la siguiente columna.

Si la computadora está en Internet, también tendrá un 'gateway' y acceso a un servidor de nombre de dominio. Vea que el nombre de su servidor esté resolviéndose aprpiadamente en el Internet. (al hacer un ping a suserver.su.dominio debería de mostrarse su direción IP correcta, etc.) Para más detalles consulte a su provedor del alojamiento o al administrador de su red.
auto lo
iface lo inet loopback

auto interface
iface interface inet static
  address the.ip.address
  netmask your.net.mask
  gateway your.gateway

and your /etc/hosts will contain your domain name:

127.0.0.1       localhost
the.ip.address  hostname.your.domain  hostname

and the resolver, /etc/resolv.conf, should be complete:

nameserver ip.address.of.nameserver 

Tabla 3. Configuraciones de Red

Actualizar el software del sistema

# apt-get update           ; actualiza la lista de paquetes
# apt-get upgrade          ; remplaza (upgrade) los paquetes obsoletos

Instalar Apache

# apt-get install apache2          ; el 'meta package' apache2 busca muchos
                                   ; paquetes tales como ...
... apachd2-mpm-worker apache2-utils apache2-bin apache2-common ...
...

Una vez que se haya completado exitosamente, el script de instalación inicia al demonio del servidor (server daemon). Revíselo al llamar a la página de prueba tal como se describe en la tabla inferior. Usted debería de obtener la página de 'Si Funciona' (It works).

PC únicamente solo LAN Internet
Visite la URL http://localhost/ en un navegador en su computadora desde otra computadora en la LAN visite http://la dirección.ip/ en un navegador desde cualquier computadora en Internet, visite el sitio http://el.nombre.dns/

Tabla 4. Probando la instalación de Apache Por defecto, Apache muestra el contenido de /var/www/, a lo que Apache llama el 'DocumentRoot'. Esto y todos los demás parámetros de configuración de Apache se encuentran en /etc/apache2/. Vea la documentación relevante en http://httpd.apache.org/docs/.

Si Usted quiere reiniciar el servidor web en el futuro, Usted puede hacerlo al reiniciar el script de arranque (boot script):

# /etc/init.d/apache2 restart

Instalar MySQL

# apt-get instalar mysql-server
mysql-client-5.1 mysql-common mysql-server mysql-server-5.1 mysql-server-core-5.1
...
Nueva contraseña para el usuario "root" de MySQL:
[       ]    ; ¡ no la vaya a olvidar!
Configurando mysql-server ...

Pruebe el éxito al ingresar con el cliente de MySQL:

# mysql -u root -p
Enter password: XXXXXX
...
mysql>                    ; Usted debería de poder ingresar exitosamente

Instalar PHP

Núcleo de PHP (PHP Core)

# apt-get instalar php5
... apache2-mpm-prefork libapache2-mod-php5 php5-common
...
Los siguientes paquetes serán REMOVIDOS:
 apache2-mpm-worker
...
# /etc/init.d/apache2 restart   ; reiniciar al servidor web para que registre los cambios

Pruebe el éxito al solicitar phpinfo. Para esto Usted tiene que crear una página en webroot que contenga solamente una llamada a phpinfo() y visitarla en el navegador:

# editor /var/www/moodle/phpinfo.php   ; editor cualquier editor de texto: nano, vi, ...
; añada solamente la línea inferior, guárdela y sálgase.
<?php phpinfo(); ?> 
PC únicamente solo LAN Internet
Visite http://localhost/moodle/phpinfo.php en la misma computadora. Visite http://la.dirección.ip/moodle/phpinfo.php desde cualquier computadora en la LAN. Visite http://nombredns.del.servidor/moodle/phpinfo.php desde cualquier computadora en Internet.

Tabla 5. Revisando phpinfo Recuerde eliminar este archivo una vez que haya concluido la instalación. ¡Proporciona demasiada información a los intrusos potenciales! Más tarde, el administrador de Moodle tiene acceso a esta información al visitar http://su.servidor/moodle/admin/phpinfo.php. # rm /var/www/moodle/phpinfo.php  ; ¡ phpinfo() les proporciona información a los intrusos!

Módulos de PHP

; Todas las versiones de Moodle necesitan los siguientes dos módulos
# apt-get install php5-gd php5-mysql 
; Desde la versión 2.0 Moodle necesita los siguientes módulos adicionales 
# apt-get install php5-curl php5-xmlrpc php5-intl

Usted necesita reiniciar Apache para que registre los nuevos módulos:

# /etc/init.d/apache2 restart

Si Usted necesitara cambiar la configuración de los módulos PHP para Apache2, el archivo de configuración es /etc/php5/apache2/php.ini.

PHP CLI (Interfaz por Línea de Comando)

# apt-get install php5-cli             ; possiblemente solamente Ubuntu requiera esto, en Debian viene conel núcleo

Usted puede revisar la versión del intérprete de PHP con:

# /usr/bin/php -v
PHP 5.3.3-7+squeeze8 with Suhosin-Patch (cli) ...

Tome nota de que el archivo de configuración para el PHP CLI (CLI=Command Line Interfase = Intefaz por Línea de Comando) es /etc/php5/cli/php.ini.

Instalar Moodle

Obtener el código

Mediante descarga del archivo tar

; Obenga el archivo que necesita:
# wget http://download.moodle.org/download.php/direct/stable16/moodle-1.6.9.tgz
# wget http://download.moodle.org/download.php/direct/stable17/moodle-1.7.7.tgz
# wget http://download.moodle.org/download.php/direct/stable18/moodle-1.8.14.tgz
# wget http://download.moodle.org/download.php/direct/stable19/moodle-latest-19.tgz
# wget http://download.moodle.org/download.php/direct/stable20/moodle-latest-20.tgz
# wget http://download.moodle.org/download.php/direct/stable21/moodle-latest-21.tgz
# wget http://download.moodle.org/download.php/direct/stable22/moodle-latest-22.tgz
# wget http://download.moodle.org/download.php/direct/stable23/moodle-latest-23.tgz
# wget http://download.moodle.org/download.php/direct/stable24/moodle-latest-24.tgz
# wget http://download.moodle.org/download.php/direct/stable24/moodle-latest-25.tgz
# wget http://download.moodle.org/download.php/direct/stable24/moodle-latest-26.tgz
# wget http://download.moodle.org/download.php/direct/moodle/moodle-latest.tgz ; la más reciente versiónen desarrollo

Las versiones de arriba son solamente una muestra tomada del sitio oficial de descargas en http://download.moodle.org/. Refiérase a esa página para más detalles. Tome nota de que los archivos reales son buscados de forma transparente desde sourceforge.net.

; Descomprima (Untar) el archivo a /var/www/moodle
# tar xzvf moodle-whatever.tgz -C /var/www 

Descargar mediante git

Git permite numerosas formas de organizar su repositorio local. El ejemplo inferior muestra el mínimo indispensable que Usted necesita conseguir del upstream, del repositorio en git.moodle.org.

# apt-get install git ; instale git si no lo había hecho anteriormente
# cd /var/www         ; cambie a DocumentRoot
; En el comando inferior use MOODLE_19_STABLE, MOODLE_20_STABLE, etc. en lugar de BRANCH_TAG
# git clone -b BRANCH_TAG git://git.moodle.org/moodle.git
Cloning into moodle...
..., done 

Para más detalles, vea: https://docs.moodle.org/en/Git_for_Administrators.

Configurar el directorio moodledata

# mkdir /var/moodledata         ; Esto NO puede estar debajo de la Raíz de Docuemntos de Apache  /var/www
# chown www-data /var/moodledata  ; El servidor Apache necesita tener permisos de escritura en moodledata

Crear una BasedeDatos y un usuario

# mysql -p
Enter password:
mysql> CREATE DATABASE dbname DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
query OK, 1 row affected (0.03 sec)
mysql> GRANT ALL PRIVILEGES ON dbname.* TO 'dbuser'@'localhost' IDENTIFIED BY 'dbpass';
Query OK, 0 rows affected (0.00 sec)
mysql> exit

Revisar la rectitud al acceder a la BasedeDatos como dbuser:

# mysql -u dbuser -p
Enter password: [dbpass]
mysql> use dbname;
...
Database changed

Correr el script de instalación

Antes de iniciar el script de instalación, haga que el directorio de moodle sea escribible para el servidor web. Esto es necesario para permitirle al instalador que cree el archivo de configuración 'config.php'.

# chown www-data /var/www/moodle

Iniciar mediante el navegador de Internet

PC únicamente solo LAN Internet
Visite http://localhost/moodle desde un navegador dentro de la computadora Desde cualquier computadora en la LAN, llame a http://la.dirección.IP/moodle/ Desde cualquier computadora en Internet, llame a http://dnsname.of.server/moodle/

Tabla 6. Iniciar mediante el navegador

Alternativamente correr el script PHP CLI

# php /var/www/moodle/admin/cli/install.php

El procedimiento de instalación es auto-explicatorio. Los parámetros importantes a recordar son:

Web address: http://localhost/moodle o http://the.ip.address/moodle o http://dnsname.of.server/moodle
Moodle Directory: /var/www/moodle
Data Directory: /var/moodledata
Type: Improved MySQL (native mysqli)
Database host: localhost
Database name: dbname
Database user: dbuser
Database password: dbpassword

Estos parámetros son escritos a config.php, como en este ejemplo:

$CFG->dbtype    = 'mysqli';           // 'pgsql', 'mysqli', 'mssql' or 'oci'
$CFG->dblibrary = 'native';           // 'native' only at the moment
$CFG->dbhost    = 'localhost';        // eg 'localhost' or 'db.isp.com' or IP
$CFG->dbname    = 'dbname';           // database name, eg moodle
$CFG->dbuser    = 'dbuser';           // your database username
$CFG->dbpass    = 'dbpasssword';      // your database password
...
$CFG->wwwroot   = 'http://localhost/moodle'; // or http://the.ip.address/moodle or http://dnsname.of.server/moodle
$CFG->dataroot  = '/var/moodledata';

Nota: MySQL cambió la sintaxis para CREATE TABLE en la versión 5.5. En lugar de TYPE=MyISAM (o InnoDB) ahora Usted escribirá ENGINE=MyISAM. http://dev.mysql.com/doc/refman/5.5/en/myisam-storage-engine.html Moodle 1.6 se cayó debido a esto. Los cambio snecesarios están grabados en un parche. [???]

Felicitaciones ! Ahora Usted es el propietario de un brillante sitio Moodle! No se le olvide asegurar el directorio moodle y config.php:

# chown root /var/www/moodle
# chown root:root /var/www/moodle/config.php
# chmod 644 /var/www/moodle/config.php

Configurar cron

El script de cron.ini tiene que correrse regularmente para que Moodle termine sus tareas pendientes, tales como mandar publicaciones de foros por Email. Usted podría añadir una línea a roots crontab.

# crontab -e
; añadir solamente una línea similar a la siguiente, guardarlo y salir.
*/15 * * * *        /usr/bin/php /var/www/moodle/admin/cron.php      ; para Moodle 1.x
*/15 * * * *        /usr/bin/php /var/www/moodle/admin/cli/cron.php  ; para Moodle 2.x

Vea https://docs.moodle.org/en/Cron_with_Unix_or_Linux para más detalles.

Opcionalmente instalar phpMyAdmin

# apt-get install phpmyadmin
dbconfig-common javascript-common libjs-mootools libmcrypt4 php5-mcrypt ...
...
Web server para reconfigurarse automáticamente:
  [*] apache2              ; select Apache
  [ ] lighttpd
Configure database with dbconfig-common? Yes
Enter MySQL root password;
PC únicamente solo LAN Internet
Desde http://localhost/phpmyadmin/ Desde cualquier computadora en la LAN, llame a http://la.dirección.IP/phpmyadmin/ Desde cualquier computadora enInternet, llame a http://nombredns.del.servidor/phpmyadmin/

Tabla 7. LLamar a phpMySQL

Apéndice

Enlaces externos

Tomado de la versión del 7 de febrero del 2013 de [1]