Manual de instalación de Chamilo 1.8.7.1 – V0.1.0 – Noviembre 2010
Índice 1nstalación del sistema o-erativo ........................................................................................................ 2nstalación módulos re9ueridos.......................................................................................................... 4:A;4:C% .................................................................................................................................... nstalación de Chamilo.......................................................................................................................< Con3i,uración de Virtual=ost.......................................................................................................... < Crear usuario de bases de datos......................................................................................................./ >esactivación de -ortal ori,inal ...................................................................................................... / nstalar bacu- de -ortal.................................................................................................................. 7 ?-cional@ >escar,ar versión modi3icada de Chamilo 1.8.7.1.........................................................7 ;estaurar base de datos....................................................................................................................7 ?-timi$aciones ................................................................................................................................8 ;e-artición de sesiones ............................................................................................................... 8 ;e-artición de 3icheros usuarios .................................................................................................8 nstalación de sistema de identi3icación &in,le &i,n ?n................................................................. %lave com5n &&?....................................................................................................................... Cron ............................................................................................................................................... 10 -timi$ación .................................................................................................................................... 10 ?-timi$ar la base de datos ............................................................................................................. 10 ?-timi$ar com-resión de datos trans3eridos ................................................................................. 10 /&e,uridad .......................................................................................................................................... 11 #aBar bases de datos.......................................................................................................................... 11 7;e3erencias ....................................................................................................................................... 11 8Aneo................................................................................................................................................ 11 4roceso ,lobal resumido ................................................................................................................ 11 4arches........................................................................................................................................... 12
Manual de instalación de Chamilo 1.8.7.1 – V0.1.0 – Noviembre 2010
1 Instalación del sistema operativo >uración D1h
– descar,ar Ebuntu &erver 10.0< %F&
ubuntudoGnload o Cent?& /./ instalar Ebuntu &erver 10.0< %F& Ho Cent?&I en servidor de videocon3erencia Hcrear un usuario cual9uieraI sin actuali$aciones automJticas sin nin,una -recon3i,uración de -a9uetes HdeBar lista vacKaI
2 Instalación módulos requeridos >uración D2h
PEAR/PECL 4:A; ( 4:C% son dos re-ositorios de módulos HetensionesI de 4=4. %a di3erencia entre los dos es 9ue 4:A; -ermite mJs licencias ( son librerKas -rinci-almente escritas en 4=4. 4:C% es mucho mJs estricto a nivel de licencias ( sus librerKas estJn -roveKdas ,eneralmente en 3ormato com-ilado" -or lo 9ue re9uieren de una reco-ilación de 4=4 mismo. 4ara instalar una librerKa 4:C%" es necesario tener el -a9uete -h-devel H-a9uete -ara desarrollo de 4=4I. :iste un a-licativo 4:A; en lKnea de comando 9ue -ermite descar,ar librerKas 4:A; como librerKas 4:C% e instalarlas" -ero la instalación de una librerKa 4:C% siem-re re9uiere reco-ilación" -or lo 9ue se iniciarJ un -roceso con el comando phpize" un comando dedicado a reco-ilar 4=4. – – – – – – –
sudo -s export http_proxy=http://192.168.100.50:3128/ rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-54.noarch.rpm rpm -qa |grep php yum install httpd php php-common php-pear php-gd php-mysql php-mcrypt phpldap php-xml yum install php-pear no funciona: php-devel php-gd php-json php-xcache (paquetes en CentOS dependientes de PHP 5.2 y 5.3 está instalado)
&ervidor M(&L% Hveri3icar si instaladoI@ - rpm -qa |grep mysql
>urante el -roceso de con3i,uración H9ue -arece a la -rimera de las ca-turas si,uientesI" tendrJ la necesidad de con3i,urar una cuenta M(&L% root. 4on,ale una contrasea se,ura. Contrasea de cuenta root M(&L%@ &i el servidor (a estJ instalado sin contrasea de root" lan$ar el si,uiente comando ( se,uir las instrucciones. –
Manual de instalación de Chamilo 1.8.7.1 – V0.1.0 – Noviembre 2010
– dar contrasea – 9uitar acceso anónimo – 9uitar acceso root a distancia – 9uitar base de datos de -rueba – re3rescar -ermisos
3 Instalación de Chamilo %a instalación del servidor A-ache deberKa haber creado una car-eta varGGGhtml dentro de la cual estaremos instalando a Chamilo.
Configuración de VirtualHost 4ara la instalación" es necesario crear un Virtual=ost de A-ache -ara tener directamente la E;% 3inal del cam-us. &e -uede ,enerar el Virtual=ost de A-ache al 3inal de la con3i,uración -rinci-al de A-ache. %a con3i,uración del Virtual=ost tambi+n -ermite modi3icar unos -arJmetros ,lobales de 4=4 solo a nivel de este Virtual=ost Hen caso de 9ue ha(an variosI. %as directivas -h-adminvalue retomadas en este eBem-lo con3i,uran -arJmetros 9ue no -odrJn ser alterados lue,o a trav+s de un scri-t 4=4 ni de un .htaccess.
– vim etchtt-dcon3htt-d.con3 NameVirtualHost *:80 ServerAdmin [email protected] DocumentRoot /var/www/html/chamilo/ ServerName lms.educallao.pe ErrorLog /var/log/httpd/lms.educallao.pe-error.log CustomLog /var/log/httpd/lms.educallao.pe-access.log combined DirectoryIndex index.php index.html Options Indexes FollowSymLinks AllowOverride All Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all Order allow,deny Allow from 192.168.100.29 php_admin_value display_errors On php_admin_value display_startup_errors On php_value post_max_size 100M php_value upload_max_filesize 100M php_value memory_limit 120M php_admin_value error_reporting 6135 php_value date.timezone 'America/New_York'
Manual de instalación de Chamilo 1.8.7.1 – V0.1.0 – Noviembre 2010
4ara activar el Virtual=ost" se re9uiere recar,ar la con3i,uración de A-ache@
– etcinit.dhtt-d reload ;evisar re3erencia de manual de instalación de Chamilo a9uK@ htt-@cam-us.chamilo.or,documentationinstallation,uidees:&.html :l caso -articular del -ortal de educallao Husando lms.educallao.-echamiloI re9uiere la creación de un scri-t de redirección html en la raK$ del sistema@ EduCallao <meta http-equiv="Refresh" content="0; URL=/chamilo">
Crear usuario de bases de datos :n el caso de recu-eración de datos" se tiene 9ue ,enerar un usuario id+ntico en el nuevo servidor de base de datos 9ue en la anterior. :n caso de haber usado root como usuario en el sistema ori,inal" se tiene imperativamente 9ue cambiar esta situación Hver a continuaciónI. 4ara esto" serJ necesario identi3icar el -re3iBo de bases de datos usado. – – – –
mysql -A -u root -p mysql> grant all privileges on `chamilo\_%`.* to 'chamilo'@'localhost' identified by 'chamilo1234567'; mysql> grant all privileges on `chamilo\_%`.* to 'chamilo'@'10.20.20.%' identified by 'chamilo1234567'; mysql> flush privileges;
Hconsiderando 10.20.20.10 como la dirección 4 donde se encuentra el servidor GebI
Desactivación de portal original Antes de iniciar la co-ia de bases de datos ( de archivos" es necesario baBar el -ortal de ori,en. >e no ser el caso" se -odrKan -erder modi3icaciones de 5ltimo minuto durante la co-ia misma Husuarios si,uiendo usando el sistemaI. 4ero antes de desactivarlo" una buena medida H9ue -osiblemente nos a(udarJ lue,oI es tomar una ca-tura de -antalla del -ortal" -ara ase,urarnos 9ue se vea i,ual al 3inal. 4ara OdesactivarP el -ortal inicial -ro-iamente durante la trans3erencia" se modi3ica el Virtual=ost -ara rediri,ir hacia una -J,ina es-ecK3ica con códi,o de nodis-onibilidad tem-oraria =FF4 02" con las si,uientes lKneas Hen htt-d.con3" antes de la -rimera directiva '>irector(*I. RewriteEngine on RewriteCond %{REMOTE_HOST} !^172\.16\.80\.85 RewriteCond %{REQUEST_URI} !^/302.html [NC] RewriteRule .* /302.html [R=302,L] :ste blo9ue usa el módulo ;eGrite de A-ache (" en orden de a-arición" hace lo si,uiente@ 1.
Activa el módulo ;eGrite H-or si a caso no es el caso ,lobalmenteI -ara el Virtual=ost corriente
Manual de instalación de Chamilo 1.8.7.1 – V0.1.0 – Noviembre 2010 2.
4re-ara las condiciones -ara usar la re,la H;eGrite;uleI de redirección" veri3icando si la -edida actual al servidor Geb viene de la dirección 4 172.1.80.8/ Hsi no es el caso" no a-licarJ la re,la de desvKo" ( deBarJ activo el sitio Geb" -ero im-edirJ a todas las otras direcciones 4 ver el sitio GebI
.
A,re,a una condición mJs" de 9ue si la -J,ina -edida no es O02.htmlP" entonces rediri,e la llamada hacia 02.html" 9ue contiene un mensaBe es-ecial -ara los usuarios HmantenimientoI.
<.
inalmente" si la -edida actual corres-ondió a una de las condiciones Hno viene de 172.1.80.8/ o no -ide 02.htmlI" rediri,e e3ectivamente la -edida hacia 02.html
:l archivo 02.html tiene 9ue ser colocado en la raK$. 4uede verse de la si,uiente 3orma@ Educallao - Campus Virtual <meta http-equiv="REFRESH" content="30;url=http://www.educallao.edu.pe"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Estimado usuario, estamos procedendio a un ligero cambio para optimizar la celeridad de respuesta de este campus. No se preocupe, ningun dato ha sido eliminado, y este portal estará en línea nuevamente dentro de muy poco. Presentamos nuestras sinceras disculpas por los inconvenientes causados.
&e tiene 9ue recar,ar la con3i,uración de A-ache -ara activar este cambio. &e -uede com-robar di rectamente car,ando cual9uier -J,ina del -ortal. &iem-re estaremos reenviados a la -J,ina 02.html.
Instalar backup de portal &e recu-era el bacu- del -ortal en 3ormato .tar.,$ o" si es demasiado am-lio" a trav+s de rs(nc" -or eBem-lo@ rsync -avz usuario-ssh@maquina-origen:/var/www/html/ /var/www/html/
Fras recu-erar los archivos" es necesario revisar 9ue los detalles de coneión a la base de datos asK como los de caminos en el sistema ( E;% son correctos -ara el nuevo sistema. 4ara esto" se veri3ica 9ue los datos de maininccon3con3i,uration.-h- Hdentro de la car-eta chamiloI son correctos. &i el servidor de correos estJ se-arado" veri3icar 9ue la nueva mJ9uina tambi+n tiene acceso a este servidor.
pcional! Descargar versión "odificada de C#a"ilo $%&%'%$ 4ara -oder a-licar las actuali$aciones res-ectivas de la versión 1.8.7.1 H-arches a-licados desde su -ublicaciónI" se descar,a la versión modi3icada" se eliminan las car-etas innecesarias ( se sobreescribe el códi,o eistente con ella. :ste -aso es o-cional" (a 9ue los errores de Chamilo se corri,en en las versiones -osteriores del so3tGare. &i tiene modi3icaciones -ro-ias en su -ortal" meBor no a-licar cie,amente los cambios. 4ara evitar sobreescribir diseos -osiblemente modi3icados anteriormente" se tiene 9ue veri3icar si el diseo actual ha sido modi3icado. :n este caso" se hace una co-ia baBo otra car-eta dentro de maincss – cd /tmp – wget http://www.dokeoscorp.com/ficheros/chamilo187yw.tgz – mv chamilo187yw.tgz /var/www/ – cd /var/www – tar zxf chamilo187yw.tgz – cd chamilo-1.8.7.1-stable/ – rm -rf main/upload/users main/inc/conf/ archive/ courses/ home/ searchdb/ –
tests/ mv chamilo-1.8.7.1-stable/* html/
Restaurar base de datos %a base de datos ori,inal se e-orta mJs 3Jcilmente desde el servidor ori,inal" con@ – –
Manual de instalación de Chamilo 1.8.7.1 – V0.1.0 – Noviembre 2010
–
mysql -u educallao -p
:n el caso de 9ue ha(a sido el usuario root en el sistema ori,inal" se tiene -rimero 9ue e-ortar una lista de3inida de bases de datos. 4ara tal e3ecto" se usa el -arJmetro OdatabasesP en lu,ar de Oall databasesP" se-arando las bases de datos -or es-acios. Ena ve$ la base restaurada" se veri3ica en el archivo de con3i,uración de Chamilo 9ue los -arJmetros sean los correctos.
pti"i(aciones
Repartición de sesiones :sta sección se -uede usar 5nicamente en el caso de 9ue las sesiones no se ,uarden en la base de datos. :n el caso de esta instalación" las sesiones se ,uardan en la base de datos" -or lo tanto esta sección 9ueda a tKtulo de in3ormación o-cional. A 3in de re-artir la car,a del sistema de 3icheros -ara muchos usuarios simultJneos ( de reducir el ries,o de ata9ue de sesiones -or coneión directa" se divide la car-eta de sesiones en 1 subcar-etas Hdivisión se,5n la -rimera letra del códi,o headecimal de sesiónI. :ste sistema se im-lementa en caso de tener muchos usuarios ( de no usar almacenamiento de sesiones en la base de datos. 4ara esto" se crea la car-eta varGGGsessions – – – –
mkdir /var/www/sessions/ chown -R httpd /var/www/sessions cd /var/www/sessions mkdir 0 1 2 3 4 5 6 7 8 9 a b c d e f
%os 3icheros de sesión del anterior servidor -ueden ser eliminados" no im-ortan. :l usuario sim-lemente tendrJ 9ue reiniciar su sesión al conectarse al Chamilo del nuevo servidor.
Repartición de ficheros usuarios >e la misma manera 9ue -ara las sesiones" se -ueden re-artir los 3icheros de usuarios entre 10 subcar-etas num+ricas. – –
>e ahK se tiene 9ue modi3icar la con3i,uración de Chamilo dentro de su inter3a$ ,rJ3ica. 4ara este e3ecto" introducimos una ece-ción en el Virtual=ost -ara autori$ar nuestra dirección 4 5nicamente Hasumiendo -ara el eBem-lo 9ue es 12.18.1.210I. – – –
vim /etc/httpd/httpd.conf RewriteCond %{REMOTE_HOST} !^192\.168\.1\.210 /etc/init.d/httpd reload
:sto deberKa -ermitir a nuestra dirección 5nicamente ver el cam-us ( hacer los cambios de -arJmetros -ara la re-artición de documentos.
Instalación de siste"a de identificación )ingle )ign n :l sistema de identi3icación &in,le &i,n ?n estJ basado en la eistencia de otro sistema 9ue -ermita veri3icar 9ue un lo,in estJ activo en el otro sistema. 4ara instalar el sistema" es necesario modi3icar la base de datos -ara aadir las si,uientes entradas@ INSERT INTO settings_current (variable, subkey, type, category, selected_value, title, comment, scope, subkeytext, access_url_changeable) VALUES ('sso_authentication',NULL,'radio','Security','false','EnableSSOTitle','EnableSS OComment',NULL,NULL,1), ('sso_authentication_domain',NULL,'textfield','Security','','SSOServerDomainTitl e','SSOServerDomainComment',NULL,NULL,1), ('sso_authentication_auth_uri',NULL,'textfield','Security','/? q=user','SSOServerAuthURITitle','SSOServerAuthURIComment',NULL,NULL,1), ('sso_authentication_unauth_uri',NULL,'textfield','Security','/? q=logout','SSOServerUnAuthURITitle','SSOServerUnAuthURIComment',NULL,NULL,1), ('sso_authentication_protocol',NULL,'radio','Security','http://','SSOServerProto colTitle','SSOServerProtocolComment',NULL,NULL,1), ('sso_authentication_subclass',NULL,'textfield','Security','','SSOServerSubclass Title','SSOServerSubclassComment',NULL,NULL,1); INSERT INTO settings_options (variable, value, display_text) VALUES ('sso_authentication', 'true', 'Yes'), ('sso_authentication', 'false', 'No'), ('sso_authentication_protocol', 'http://', 'http://'), ('sso_authentication_protocol', 'https://', 'https://');
Fambi+n es necesario modi3icar el archivo maininclocal.inc.-h- ( a,re,ar la car-eta mainauthsso tal como dis-onible en el archivo entre,ado con este documento. :stos 3icheros im-lementan el m+todo de identi3icación &in,le &i,n ?n -ro-io al Q;C. Llave común SSO
A 3ines de dar un nivel de se,uridad ace-table -ara la llave secreta com-artida de ci3rado de los datos trans3eridos entre el servidor de :ducallao ( Chamilo" se com-arte una llave en un 3ichero 1 #ee$Nest %atino &.A.C. Mira3lores – %ima – 4er5 6/1 1 71 /1 1 – in3o)bee$nest.com
Manual de instalación de Chamilo 1.8.7.1 – V0.1.0 – Noviembre 2010
varGGGhtmlchamilochamiloa-ie(a-ie(.tt Haccesible en htt-@lms.educallao.-echamilochamiloa-ie(a-ie(.ttI. :sta llave estJ -rote,ida contra accesos eternos a trav+s de un -arJmetro mJs del Virtual=ost Order allow,deny Allow from 192.168.100.29
>onde 192.168.100.29 es la dirección del servidor del -ortal educativo :ducallao. 4ara actuali$ar la llave de 3orma re,ular" se im-lementa un mecanismo de actuali$ación automJtica ( aleatoria a trav+s de un scri-t 4=4 ( una o-eración en C;?N. $ crontab -e 52 * * * * php /var/www/html/chamilo/chamilo/apikey/changekey.php
:l scri-t chan,ee(.-h- solo contiene lo si,uiente H( obviamente tiene 9ue ser ubicado como indicado en el cronI@
4ara eliminar el contenido de la car-eta archive/ de 3orma automJtica" se a,re,a un scri-t como indicado a continuación ( una lKnea dentro de la tareas cronoló,icas. – –
– –
vim /root/clean_chamilo.php
4 Optimización pti"i(ar la base de datos 4ara o-timi$ar la base de datos" se -ueden a,re,ar una serie de Kndices 9ue reducen el tiem-o de b5s9ueda de ciertos datos. Ver archivo o-timi$e.s9l entre,ado con este documento.
pti"i(ar co"presión de datos transferidos 4ara o-timi$ar el tiem-o de trans3erencia de una -J,ina" se -uede im-lementar la com-resión de los datos enviados con el -arJm+tro $lib.out-utcom-ression R ?n dentro de -h-.ini o del Virtual=ost. :n este caso usarlo con -h-value sin el sKmbolo ORP@ -h-adminvalue $lib.out-utcom-ression ?n 101 #ee$Nest %atino &.A.C. Mira3lores – %ima – 4er5 6/1 1 71 /1 1 – in3o)bee$nest.com
Manual de instalación de Chamilo 1.8.7.1 – V0.1.0 – Noviembre 2010
:sto com-rime los scri-ts 4=4. &in embar,o" -ara com-rimir C&&" =FM% ( imJ,enes" es necesario dar una con3i,uración mJs en el Virtual=ost@ SetOutputFilter DEFLATE
5 e!uridad %a se,uridad de Chamilo varKa mucho se,5n los detalles de im-lementación del servidor. &e considera 9ue no ha( se,uridad absoluta" ( recomendamos im-lementar =FF4& cuando sea -osible. =erramientas recientes -ermiten 3Jcilmente entrar a redes inalJmbricas sin ci3rado -ara robar las cuentas de usuarios. 4ensamos 9ue el dao -osible causado -or el robo de una cuenta de alumno es mu( limitado. &in embar,o" recomendamos aconseBar a sus usuarios Hen -articular docentes ( administradoresI no usar redes inalJmbricas abiertas. :l robo de una cuenta de este ti-o llevarKa se,uramente a ,randes molestias en el se,uimiento del -ro,reso del alumnado.
" #a$ar %ases de datos &e -ueden eliminar todas las bases de datos de una ve$ con unos comandos ordenados. 4ara recu-erar la lista de todas las bases de datos del usuario chamilo" se -uede eBecutar mysql -h192.168.100.32 -u chamilo -p -e "SHOW DATABASES;" > /tmp/list.txt vim /tmp/list.txt :%s/^/DROP DATABASE / :%s/$/;/ :wq mysql -h192.168.100.32 -u chamilo -p < /tmp/list.txt
' (ne)o Proceso global resu"ido 1. Con3i,urar Virtual=ost en nuevo servidor Hno olvidar el nivel de error T:N?FC:I 2. Con3i,urar cuenta base de datos en nuevo servidor . >esactivar -ortal ori,inal <. Frans3erir datos de varGGGhtmlchamilo hacia nuevo servidor con rs(nc /. A-licar los cambios -ara &&? Hlocal.inc.-h- ( mainauthssoI . =acer bacu- de base de datos" trans3erir ( restaurar en nuevo servidor de bases de datos 7. A-licar o-timi$aciones de base de datos 111 #ee$Nest %atino &.A.C. Mira3lores – %ima – 4er5 6/1 1 71 /1 1 – in3o)bee$nest.com
Manual de instalación de Chamilo 1.8.7.1 – V0.1.0 – Noviembre 2010
8. Aadir cam-os &&? en base de datos ( entrar datos correctos . Modi3icar maininccon3con3i,uration.-h- de Chamilo -ara re3leBar los cambios en accesos a bases de datos ( activar el almacen de sesiones en la base de datos H-arJmetro Ustore&essionn>b R trueI 10. ;e-artir las car-etas de usuarios en subcar-etas ( cambiar con3i,uración corres-ondiente en admin de Chamilo 11.Modi3icar -ermisos sobre car-etas -ara dar acceso en lectura a todos Husuario rootI ( acceso en escritura al usuario Geb HOa-ache@a-achePI sobre las car-etas im-ortantes Hcd /var/www/html/chamilo/ && chmod -R 0555 chamilo/ && chown -R apache:apache chamilo/ && chmod -R 0775 chamilo/archive/ chamilo/cor!e!/ chamilo/home/ chamilo/main/c!!/ chamilo/main/lan"/ chamilo/main/pload/!er!/ chamilo/main/de#alt$cor!e$docment!/ && chmod -R 0000 chamilo/main/in!tall/ && chmod -R 0555 chamilo/main/inc/con#/ && chown -R apache:apache !e!!ion!/ I 12. Mover contenidos de car-eta de courses a contenidoschamilocourses ( ,enerar vKnculo simbólico@ ln -! /contenido!$chamilo/cor!e!/ /var/www/html/chamilo/chamilo/cor!e!/ . :sto ,enerarJ un vKnculo simbólico Hdu-licación de entrada a la car-eta contenidoschamilocoursesI -ara 9ue se vea como varGGGhtmlchamilochamilocourses tambi+n – esto es una -ro-iedad del sistema o-erativo %inuI. :sto e3ectivamente burla el sistema en -ensar 9ue contenidoschamilocourses es varGGGhtmlchamilochamilocourses. 1. Modi3icar scri-ts maincoursehomecoursehome.-h- Hre9uire dirnameH%:I.W....maininc,lobal.inc.-h-WI ( maininclibaddcourse.lib.-h- -ara usar el directorio raK$ en duro Ho a-i,et-athH&Y&C?>:4AF=I -ara addcourseI. Ver el scri-t u-datehome.-h- -roveido con este documento. 1<.
Activar Virtual=ost de nuevo servidor
1/.
Cambiar los >N&
1.
4ruebas de -roducción
1. Conectarse con usuario %>A4 eistente de los dos lados 2. Conectarse con usuario %>A4 no eistente en Chamilo . Crear un curso ( entrar
Parc#es 4or el carJcter -articular de esta instalación de Chamilo" se a,re,aron una serie de modi3icaciones en los scri-ts de Chamilo. :stas modi3icaciones se adBuntan a las demJs -ersonali$aciones del -ortal como archivos adBuntos a este documento. Fichero
Descripción de cambios
chan,ee(.-h-
ichero de cambio de llave de autenti3icación
cleanchamilo.-h-
ichero de lim-ie$a automJtica de contenidos de la car-eta archive H-or ser eBecutado -or cronI
inde.-h-
Modi3icaciones menores -ara el -roceso de lo,out
u-datehome.-h-
ichero de actuali$ación de los 3icheros coursesXC?>Q?>:CE;&?inde.-h- -ara