Introducción
Los objetivos del proyecto OMI es servir como una plataforma para el aprendizaje de cómo se construyen los lenguajes de programación. Esto lo hace mediante el estudio de un intérprete propio del proyecto, desarrollado desde cero y con características de los lenguajes actuales. Para facilitar toda esta información el proyecto OMI pone a disposición del usuario una serie de herramientas que ayudan al aprendizaje, así mismo como toda la información relativa al proyecto.El sistema OMI pretende ser un sistema distribuido con una alta disponibilidad y de fácil acceso. Es por ello que todas las herramientas y recursos del proyecto son ofrecida vía online y pueden ser accedidas desde cualquier navegador o dispositivo.
La implantación del sistema OMI comprende la configuración del dominio, del servidor web y del sistema intérprete.
Requisitos previos
Para el correcto funcionamiento de la plataforma se precisa de un equipo con alta disponibilidad que hará de servidor web. Este equipo tendrá una una distribución GNU/Linux Debian o derivada.
Inventario de componentes
Hardware
- Virtualizacion:
- VPS
- RAM:
- 2 GiB
- CPU:
- 8 núcleos
Software
- Sistema Operativo:
- Debian 7
- Interprete:
- OMI 1.0
- Nombre de dominio:
- Bind 9
- Web:
- Apache 2.2
- Interprete web:
- PHP 5.4
- Plataforma:
- omi-project 1.0
Procedimiento de intalación
Se procede con la instalación de los paquetes necesarios
apt-get install apache2 php5 bind9 autoconf automake build-essential libreadline-dev libboost-regex-dev
Se configura la zona del dominio y los registros asociados al mismo.
; Zone file for omi-project.com $TTL 14400 omi-project.com. 14400 IN SOA ns.omi-project.com. omi-project.com. ( 10000000001 86400 7200 3600000 86400 ) omi-project.com. 14400 IN NS ns1.omi-project.com. omi-project.com. 14400 IN NS ns2.omi-project.com. omi-project.com. 14400 IN A $IP$ localhost 14400 IN A 127.0.0.1 omi-project.com. 14400 IN MX 10 mail omi-project.com. 14400 IN TXT "v=spf1 mx ptr ip4:$IP$ mx:mail.omi-project.com +all" omi-project.com. 14400 IN SPF "v=spf1 mx ptr ip4:$IP$ mx:mail.omi-project.com +all" mail 14400 IN A $IP$ www 14400 IN CNAME omi-project.com. ftp 14400 IN A $IP$ ns 14400 IN A $IP$ ns1 14400 IN A $IP$ ns2 14400 IN A $IP$ admin 14400 IN A $IP$ _adsp._domainkey.omi-project.com. IN TXT "dkim=all; atps=y; asl=omi-project;"
Descarga y compilación del proyecto OMI.
wget /download/code/omi_1.0.tar.gz tar -xzvf omi_1.0.tar.gz cd omi_1.0.tar.gz ./configure JSON=1 SERVER=1 make make install make clean
Configuración del servidor web Apache. Se define un nuevo host virtual
<VirtualHost *:80>
ServerAdmin admin@omi-project.com
ServerName omi-project.com
DocumentRoot $PATH$
ErrorLog $PATH$/error.log
TransferLog $PATH$/access.log
<Directory $PATH$ >
Require all granted
AllowOverride all
</Directory>
<IfModule php5_module>
php_flag session.cookie_httponly on
</IfModule>
<IfModule mod_headers.c>
Header always append X-Frame-Options SAMEORIGIN
Header set Server "securesauce http/html processor"
Header unset X-Powered-By
</IfModule>
</VirtualHost>
Se ha de mover la web al directorio de producción y dar los permisos de acceso correspondientes
mv OMI_1.0/web $PATH$ chown -R omi:www-data $PATH$ chmod -R 750 $PATH$
Para finalizar se han de reiniciar los servicios.
service omi restart service apache2 restart service bind9 restart
Pruebas de implantación
Para comprobar que la implantación se ha llevado a cabo correctamente se puede llevar a cabo un chequeo de las pruebas automáticas. Para ello:cd OMI_1.0 make check
También se puede acceder a las distintas secciones de la web. Navegando por los distintos páginas y comprobando la disponibilidad de los recursos.
Para comprobar que el servidor OMI se encuentra funcionando correctamente se puede usar el cliente runTree y comprobar que el código fuente enviado se interpreta correctamente.
Procedimientos de operación y nivel de servicio
Para comprobar el correcto funcionamiento del sistema en cuanto a rendimiento y disponibilidad se puede usar un navegador web y las herramientas de desarrollo que la mayoría de estos tienen integradas. También se puede automatizar un chequeo de disponibilidad desde una maquina tercera o la propia máquinaLa web OMI no guarda ningún dato del usuario ni de los proceso asociados por lo que no es necesario hacer back-ups periódicos.
Es posible chequear errores en el servicio web mediante el log $PATH$/error.log. También es posible chequear las transferencias de datos y las peticiones atendidas en el fichero $PATH$/access.log.
