Sigue los siguientes 6 pasos:
1.Sistema Operativo Ubuntu.
1.1.Descargar la versión 7.10 del sitio web oficial (www.ubuntu.com).
1.2.Instalarlo en una partición de al menos 10Gb y memoria swap de al menos 1006Mb*.
2.Servidor Apache.
2.1.Instalar Apache desde el gestor de paquetes Synaptic o con el comando siguiente: sudo apt-get install apache2.
3.Servidor Oracle.
3.1.Dado que Ubuntu se basa en la distribución Debian Linux, necesitamos descargar el paquete .deb de Oracle. Concretamente, descargaremos la versión 10g Release 2 (10.2.0.1) Express Edition (Universal)** del servidor Oracle (no el cliente). Podemos hacerlo en http://www.oracle.com/technology/software/products/database/xe/htdocs/102xelinsoft.html. 3.2.Una vez descargado, simplemente con doble click sobre el paquete, el gestor de paquetes Synaptec se encargará de la instalación.
3.3.Ya instalado, ejecutamos el siguiente comando para la configurar Oracle: sudo /etc/init.doracle-xe. Podemos dejar los valores por defecto, siendo además los más usados por otras aplicaciones que puedan comunicarse con la BD. Estos valores por defecto son: puerto 8080 para HTTP, puerto 1521 para el Listener y contraseña vacía para los usuarios SYS y SYSTEM.
4.Usuario Oracle para Moodle.
Desde cualquier interfaz para lanzar sentencias SQL (por ejemplo, http://127.0.0.1:8080/apex) autenticado como usuario SYS o SYSTEM, creamos el espacio de tablas y usuario que asignaremos a la sesión de Moodle con las siguientes cuatro sentencias:
4.1.create tablespace
datafile ''
size 50m
autoextend on
next 10m
maxsize 100m;
4.2.create user identified by ;
grant connect, resource to;
grant create view to;
grant create trigger to;
4.3.alter user
identified by
default tablespace;
4.4.alter user default role all;
Instanciando los campos entre '<' y '>', podríamos usar los siguientes valores:
'<'espacio_tablas'>': tablespace_moodle
'<'path del fichero de datos .dbf'>': /home/usuarioubuntu/xe_moodle_01.dbf
'<'usuario'>': usuario_moodle
'<'clave_usuario'>': usuario_modle
5.Librería OCI8.
Moodle utiliza la librería en PHP ADOdb (Database Abstraction Library for PHP and Python) para poder integrarlo con cualquier sistema gestor de bases de datos. Esta librería, a su vez, utiliza otras de enlace dinámico que permiten comunicarse con la base de datos resolviendo las funciones concretas que utiliza cada gestor en tiempo de ejecución. Para nuestro caso en concreto, donde queremos comunicar Moodle con una BD Oracle, necesitamos la librería de enlace dinámico denominada OCI8 (Oracle Call Interface).
La librería OCI8 la instalamos en el sistema siguiendo los siguientes pasos:
5.1.Definimos las siguientes variables de entorno en el fichero /etc/environment:
ORACLE_HOME="/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/"
ORACLE_SID="XE"
ORATAB="/etc/oratab"
ORACLE_BASE=$ORACLE_HOME
ORACLE_HOME_LISTENER=$ORACLE_HOME
En caso de haber instalado Oracle en un directorio distinto al indicado o haber llamado de otra forma al SID, personalizar las variables respectivas correspondientes.
5.2.Reiniciar el sistema para que las variables de entorno queden registradas***.
5.3.Descargamos los códigos fuente de PHP5 para poder generar la librería:
sudo apt-get install php-pear php5-dev php5-cli
5.4.Generamos la librería, es decir, el fichero “oci8.so”:
pecl install oci8
Este fichero se generará en el directorio /usr/lib/php5/20060613+lfs.
5.5.Modificamos los ficheros “php.ini” para empezar a utiliar la librería:
echo “extension=oci8.so” >> /etc/php5/apache2/php.ini
echo “extension=oci8.so” >> /etc/php5/cli/php.ini
5.6.Modificamos el script de Apache para que éste utilice las variables de entorno creadas en el paso 5.1. Concretamente, modificamos el fichero /etc/init.d/apache2 ampliando la cadena que se asigna a la variable “ENV”:
ENV=” ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/ LD_LIBRARY_PATH=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/ ORACLE_SID=XE"
5.7.Reiniciamos Apache para que considere los cambios en los dos últimos pasos: sudo /etc/init.d/apache2 restart
5.8.Una forma de comprobar la correcta instalación de la librería consiste en lanzar la función “phpinfo()” en una página PHP local. Así, los parámetros de la configuración de OCI8 deben ser:
default_prefetch => 10 => 10
max_persistent => -1 => -1
old_oci_close_semantics => 0 => 0
persistent_timeout => -1 => -1
ping_interval => 60 => 60
provileged_connect => Off => Off
statement_cache_size => 20 => 20
5.9.Además, puede comprobar la comunicación con la BD creada para Moodle con este código de prueba también desde un script PHP local:
";
}
OCILogoff($conn);
?>
6.Moodle.
6.1.Descargamos la versión 1.8.5+ que es la más estable hasta ahora. Lo hacemos desde la web oficial descargando el paquete .tgz: http://download.moodle.org/download.php/stable18/moodle-weekly-18.tgz
6.2.Lo descomprimimos en el directorio de Apache /var/www.
6.3.Comenzamos la instalación desde el navegador con la URL http://127.0.0.1/moodle.
6.4.El desarrollo de la instalación es muy intuitivo, por lo que solamente comentamos el paso para la selección de la BD. Debe indicarse cuidadosamente los siguientes parámetros de configuración:
SSID (por defecto “XE”).
Usuario (si hemos seguido el ejemplo del paso 4, el usuario será “usuario_moodle”).
Contraseña (si hemos seguido el ejemplo del paso 4, el usuario será “usuario_moodle”).
Prefijo de las tablas (solo permite 2 caracteres, por ejemplo podemos indica “m_”).
* En caso de haber instalado Ubuntu sobre una partición swap de menos de 1006Mb, Oracle no podrá se instalado. En este caso, para aumentar su tamaño sigue los siguientes pasos:
1.Redimensionar la partición desde cualquier aplicación que permita modificar particiones. Por ejemplo, tenemos la aplicación Gparted ejecutable desde el CD de Ubuntu.
2.Una vez redimensionada la partición, si en el paso dedicado a la instalación de Oracle nos encontramos con el problema de éste no reconoce la partición swap modificada, entonces es que hay un problema de correspondencia entre la partición que busca Oracle y la que hemos modificado. Esto se soluciona cambiando el UUID de la partición swap por el identificador que se espera encontrar. Para ello sigamos los siguientes pasos:
2.1.Si Oracle busca una partición swap identificada como sdaX, generamos su UUID para posteriormente utilizarlo: sudo vol_id -u /etc/sdaX.
2.2.Una vez conocido el UUID, identificamos la particińo swap en el fichero /etc/fstab: sudo nano /etc/fstab.
2.3.Reemplazamos el identificador de dicha partición por el que Oracle espera encontrar (sdaX). Por ejemplo, si Oracle espera /dev/sda2 y en el fichero se identifica como /dev/sda5, cambiamos el 5 por el 2.
2.4.Por último, reemplazamos también su UUID por el generado en el paso 2.1. Por ejemplo, UUID=ca7e8e6a-1d94-4397-80c7-65c062c6e1d5 lo sustituimos por el generado UUID=9c44d435-de59-4655-96ef-8d8e908606be.
2.5.Reiniciamos Ubuntu para que los cambios queden reconocidos por este.
2.6.Si queremos comprobar si se han realizado los cambios, ejecutamos: sudo fdisk -l
1.1.Descargar la versión 7.10 del sitio web oficial (www.ubuntu.com).
1.2.Instalarlo en una partición de al menos 10Gb y memoria swap de al menos 1006Mb*.
2.Servidor Apache.
2.1.Instalar Apache desde el gestor de paquetes Synaptic o con el comando siguiente: sudo apt-get install apache2.
3.Servidor Oracle.
3.1.Dado que Ubuntu se basa en la distribución Debian Linux, necesitamos descargar el paquete .deb de Oracle. Concretamente, descargaremos la versión 10g Release 2 (10.2.0.1) Express Edition (Universal)** del servidor Oracle (no el cliente). Podemos hacerlo en http://www.oracle.com/technology/software/products/database/xe/htdocs/102xelinsoft.html. 3.2.Una vez descargado, simplemente con doble click sobre el paquete, el gestor de paquetes Synaptec se encargará de la instalación.
3.3.Ya instalado, ejecutamos el siguiente comando para la configurar Oracle: sudo /etc/init.doracle-xe. Podemos dejar los valores por defecto, siendo además los más usados por otras aplicaciones que puedan comunicarse con la BD. Estos valores por defecto son: puerto 8080 para HTTP, puerto 1521 para el Listener y contraseña vacía para los usuarios SYS y SYSTEM.
4.Usuario Oracle para Moodle.
Desde cualquier interfaz para lanzar sentencias SQL (por ejemplo, http://127.0.0.1:8080/apex) autenticado como usuario SYS o SYSTEM, creamos el espacio de tablas y usuario que asignaremos a la sesión de Moodle con las siguientes cuatro sentencias:
4.1.create tablespace
datafile '
size 50m
autoextend on
next 10m
maxsize 100m;
4.2.create user
grant connect, resource to
grant create view to
grant create trigger to
4.3.alter user
identified by
default tablespace
4.4.alter user
Instanciando los campos entre '<' y '>', podríamos usar los siguientes valores:
'<'espacio_tablas'>': tablespace_moodle
'<'path del fichero de datos .dbf'>': /home/usuarioubuntu/xe_moodle_01.dbf
'<'usuario'>': usuario_moodle
'<'clave_usuario'>': usuario_modle
5.Librería OCI8.
Moodle utiliza la librería en PHP ADOdb (Database Abstraction Library for PHP and Python) para poder integrarlo con cualquier sistema gestor de bases de datos. Esta librería, a su vez, utiliza otras de enlace dinámico que permiten comunicarse con la base de datos resolviendo las funciones concretas que utiliza cada gestor en tiempo de ejecución. Para nuestro caso en concreto, donde queremos comunicar Moodle con una BD Oracle, necesitamos la librería de enlace dinámico denominada OCI8 (Oracle Call Interface).
La librería OCI8 la instalamos en el sistema siguiendo los siguientes pasos:
5.1.Definimos las siguientes variables de entorno en el fichero /etc/environment:
ORACLE_HOME="/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/"
ORACLE_SID="XE"
ORATAB="/etc/oratab"
ORACLE_BASE=$ORACLE_HOME
ORACLE_HOME_LISTENER=$ORACLE_HOME
En caso de haber instalado Oracle en un directorio distinto al indicado o haber llamado de otra forma al SID, personalizar las variables respectivas correspondientes.
5.2.Reiniciar el sistema para que las variables de entorno queden registradas***.
5.3.Descargamos los códigos fuente de PHP5 para poder generar la librería:
sudo apt-get install php-pear php5-dev php5-cli
5.4.Generamos la librería, es decir, el fichero “oci8.so”:
pecl install oci8
Este fichero se generará en el directorio /usr/lib/php5/20060613+lfs.
5.5.Modificamos los ficheros “php.ini” para empezar a utiliar la librería:
echo “extension=oci8.so” >> /etc/php5/apache2/php.ini
echo “extension=oci8.so” >> /etc/php5/cli/php.ini
5.6.Modificamos el script de Apache para que éste utilice las variables de entorno creadas en el paso 5.1. Concretamente, modificamos el fichero /etc/init.d/apache2 ampliando la cadena que se asigna a la variable “ENV”:
ENV=”
5.7.Reiniciamos Apache para que considere los cambios en los dos últimos pasos: sudo /etc/init.d/apache2 restart
5.8.Una forma de comprobar la correcta instalación de la librería consiste en lanzar la función “phpinfo()” en una página PHP local. Así, los parámetros de la configuración de OCI8 deben ser:
default_prefetch => 10 => 10
max_persistent => -1 => -1
old_oci_close_semantics => 0 => 0
persistent_timeout => -1 => -1
ping_interval => 60 => 60
provileged_connect => Off => Off
statement_cache_size => 20 => 20
5.9.Además, puede comprobar la comunicación con la BD creada para Moodle con este código de prueba también desde un script PHP local:
";
}
OCILogoff($conn);
?>
6.Moodle.
6.1.Descargamos la versión 1.8.5+ que es la más estable hasta ahora. Lo hacemos desde la web oficial descargando el paquete .tgz: http://download.moodle.org/download.php/stable18/moodle-weekly-18.tgz
6.2.Lo descomprimimos en el directorio de Apache /var/www.
6.3.Comenzamos la instalación desde el navegador con la URL http://127.0.0.1/moodle.
6.4.El desarrollo de la instalación es muy intuitivo, por lo que solamente comentamos el paso para la selección de la BD. Debe indicarse cuidadosamente los siguientes parámetros de configuración:
SSID (por defecto “XE”).
Usuario (si hemos seguido el ejemplo del paso 4, el usuario será “usuario_moodle”).
Contraseña (si hemos seguido el ejemplo del paso 4, el usuario será “usuario_moodle”).
Prefijo de las tablas (solo permite 2 caracteres, por ejemplo podemos indica “m_”).
* En caso de haber instalado Ubuntu sobre una partición swap de menos de 1006Mb, Oracle no podrá se instalado. En este caso, para aumentar su tamaño sigue los siguientes pasos:
1.Redimensionar la partición desde cualquier aplicación que permita modificar particiones. Por ejemplo, tenemos la aplicación Gparted ejecutable desde el CD de Ubuntu.
2.Una vez redimensionada la partición, si en el paso dedicado a la instalación de Oracle nos encontramos con el problema de éste no reconoce la partición swap modificada, entonces es que hay un problema de correspondencia entre la partición que busca Oracle y la que hemos modificado. Esto se soluciona cambiando el UUID de la partición swap por el identificador que se espera encontrar. Para ello sigamos los siguientes pasos:
2.1.Si Oracle busca una partición swap identificada como sdaX, generamos su UUID para posteriormente utilizarlo: sudo vol_id -u /etc/sdaX.
2.2.Una vez conocido el UUID, identificamos la particińo swap en el fichero /etc/fstab: sudo nano /etc/fstab.
2.3.Reemplazamos el identificador de dicha partición por el que Oracle espera encontrar (sdaX). Por ejemplo, si Oracle espera /dev/sda2 y en el fichero se identifica como /dev/sda5, cambiamos el 5 por el 2.
2.4.Por último, reemplazamos también su UUID por el generado en el paso 2.1. Por ejemplo, UUID=ca7e8e6a-1d94-4397-80c7-65c062c6e1d5 lo sustituimos por el generado UUID=9c44d435-de59-4655-96ef-8d8e908606be.
2.5.Reiniciamos Ubuntu para que los cambios queden reconocidos por este.
2.6.Si queremos comprobar si se han realizado los cambios, ejecutamos: sudo fdisk -l
** La versión Universal es imprescindible e insustituible por ninguna otra versión. Esto es así porque con esta versión las bases de datos utilizarán el juego de caracteres AL32UTF8 que es el que Moodle exige como requisito para su instalación. En caso de estar utilizando una BD con un juego de caracteres diferente (por ejemplo, WE8MSWIN1252), podrá adaptarse al juego exigido de estas tres formas:
1.Modificando el juego de caracteres. Esto es costoso porque implica seguir los siguientes paso:
1.1.Crear una nueva BD con el juego de caracteres AL32UTF8 que hará de backup de la existente.
1.2.Trasladar el contenido de la original a la nueva.
1.3.Eliminar el contenido de la original y cambiar el juego de caracteres.
1.4.Trasladar desde la BD de backup de nuevo a la original ya modificada.
2.Creando una nueva BD. Esto es menos costoso que la forma anterior pero el hecho de crear una nueva BD implica la dedicación de procesos y recursos físicos (disco duro y memoria RAM) a esta nueva. Lo que llega a relentizar el funcionamiento del servidor considerablemente.
3.Utilizando PHP como traductor. Existe una variable de entorno llamada “NLS_LANG” que se utiliza para que PHP se encargue de hacer las conversiones desde la BD hacia la página PHP en el navegador. De esta forma, el juego de caracteres indicado en la variable será al que se traduzcan los caracteres que se lean en la BD para ser tratados desde la página PHP o, en nuestro caso, cualquier página de Moodle. Sin embargo, esta forma de resolver nuestro problema es tan cómoda como inútil dado que su funcionamiento no está garantizado.
*** Si en lugar de trabajar sobre el fichero /etc/environment, lo hacemos desde un terminal utilizando “export=”, las variables no serán visibles globalmente sino solo desde cualquier aplicación lanzada desde el mismo terminal. Es decir, con el comando “export” la variable solo es visible dentro de la sesión correspondiente al terminal por sus procesos hijo. Una vez cerrado el terminal, la variable definida dejará de existir.
1.Modificando el juego de caracteres. Esto es costoso porque implica seguir los siguientes paso:
1.1.Crear una nueva BD con el juego de caracteres AL32UTF8 que hará de backup de la existente.
1.2.Trasladar el contenido de la original a la nueva.
1.3.Eliminar el contenido de la original y cambiar el juego de caracteres.
1.4.Trasladar desde la BD de backup de nuevo a la original ya modificada.
2.Creando una nueva BD. Esto es menos costoso que la forma anterior pero el hecho de crear una nueva BD implica la dedicación de procesos y recursos físicos (disco duro y memoria RAM) a esta nueva. Lo que llega a relentizar el funcionamiento del servidor considerablemente.
3.Utilizando PHP como traductor. Existe una variable de entorno llamada “NLS_LANG” que se utiliza para que PHP se encargue de hacer las conversiones desde la BD hacia la página PHP en el navegador. De esta forma, el juego de caracteres indicado en la variable será al que se traduzcan los caracteres que se lean en la BD para ser tratados desde la página PHP o, en nuestro caso, cualquier página de Moodle. Sin embargo, esta forma de resolver nuestro problema es tan cómoda como inútil dado que su funcionamiento no está garantizado.
*** Si en lugar de trabajar sobre el fichero /etc/environment, lo hacemos desde un terminal utilizando “export
2 comentarios:
hola.. queria pedirte ayuda para modificar el formulario de registro de usuarios..en moodle de modo que agregando un checkbox se y con el archivo editadvanced.php se a posible mandar un correo de notificacion de alta a un usuario determinado ...la funcion para madar el correo ya la integre solo que no se como manipular las variables o la forma en que usando este $mform->addElement('advcheckbox', 'notificacion', 'Notificación'); en moodle puedo complementar mi funcion...
if(si la casilla esta seleccionada)
{
mandar correo usua rio especifico..
}
//te agradeceria mucho tu ayuda...
espero que puedas ayudarme.. gracias
Hola,
para perfilar la solución, me gustaría que me aclararas qué es exáctamente lo que buscas: ¿deseas que el usuario que acabe de registrarse reciba un mail de confirmación solo en caso de que él mismo haya marcado un checkbox en el formulario?
Espero tu respuesta.
Publicar un comentario
Cualquier duda la responderé lo antes posible.