[[PageOutline(2)]] = Manual de instalación de websafiERP = Este documento consigna las instrucciones para la configuración e instalación de la solución '''Websafi ERP'''. Se asume que se ha adquirido el producto y que se tienen archivos comprimidos con el contenido de cada uno de los módulos de la solución. == Requerimientos del servidor para la instalación == El servidor donde se instalará la aplicación debe tener lo siguiente, para su correcto funcionamiento: 1. Servidor web [http://www.apache.org/dyn/closer.cgi Apache] 1. Módulo de apache para ejecución de [http://www.php.net/downloads.php PHP] 5 o superior 1. [http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html ORACLE Instant Client] 1. [http://php.net/manual/en/book.oci8.php Driver oci para php] 1. Driver dbase para php == Instalación esquema Base de Datos == Los requerimientos del motor de bases de datos son los siguientes: * Motor de Base de datos: versión 9i [http://www.oracle.com/technetwork/indexes/downloads/index.html ORACLE] Una vez creada la instancia, es necesario realizar la importación del esquema de la base de datos. Existen 2 modalidades dependiendo de cómo se quiera hacer la importación: * A través de una imagen tipo "dump" * A través de los scripts de creación de la vase de datos El DBA que administre el motor de bases de datos ORACLE instalado, podrá hacer uso de alguno de estos archivos de la forma en que mejor se ajuste a los procedimientos de su orgacinzación. Aún así, se sugieren los siguientes métodos: === Método "dump" === Asumiento que se tiene el archivo del "dump" de la base de datos, cuyo nombre es "websafiERP.dmp", y asumiendo también que se está en un computador con sistema operativo linux, se ejecutan las siguientes instrucciones: {{{ /bin$ export ORACLE_SID=websafiERP /bin$ ./imp usuario/password file=websafiERP.dmp full=y; }}} Donde es el sitio donde oracle está instalado. === Método Script SQL === Para ejecutar el script SQL se puede hacer uso de la herramienta de predilección del DBA: * [http://download.oracle.com/docs/cd/B25329_01/doc/appdev.102/b25108/xedev_sqlplus.htm A través de sqlPlus] * [http://www.oracle.com/technetwork/developer-tools/sql-developer/overview/index.html A través de SQLDeveloper] * [http://www.google.com.co/search?q=Database+query+tool A través de algún gestor de bases de datos] Debe asegurarse de ejecutar el script dentro la instancia de la base de datos deseada y dentro del esquema deseado. == Conceptos para el desarrollo de la instalación == [http://es.wikipedia.org/wiki/Archivo_hosts host] = Ubicación [http://es.wikipedia.org/wiki/Localhost localhost] = Ubicación local [http://es.wikipedia.org/wiki/Puerto_de_red port] = Puerto de conexión Para el desarrollo se manejan términos según los siguientes criterios: * Ubicación, ruta y/o directorio como ''root''. * Carpeta, componente y/o módulo como ''módulo''. == Mapa de la aplicación == La aplicación websafiERP esta compuesta por los módulos ''presupuesto'', ''tesorería'', ''comisiones'', '' contabilidad'' y ''bienvenida''. El modulo de ''bienvenida'', se encarga de la parte de aunenticación y administración de usuarios, perfiles y credenciales para los demás módulos. === Carpetas dentro de la aplicación === Para cada uno de los módulos, se describe una organización de carpetas. Cada una de las cuales se encarga de una funcion especifica dentro del módulo al que pertenece. [[Image(CarpetasProyecto.png)]] En '''config''' se encuentran los archivos de configuración de la aplicación, '''databases.yml''' contiene la configuración de la coneción a la base de datos. [[Image(conf.png)]] == Configuración del Servidor Web == Con la instalación del apache se crea una carpeta /var/www en Ubuntu, para Rethat /var/www/html y en windows :\Apache\Apache2, vamos a llamar '''wwwroot''' a la ubicación de aplicaciones web para la instalación apache que se tenga. Para crear la conexión al aplicativo se debe crear un enlace al proyecto(''''''), esto aplica únicamente para instalaciones '''linux''': Ejecutaremos algunos comandos de php para limpiar algunos archivos y revisar que todo esté funcionando. estos comandos se ejecutan dentro del directorio del proyecto(''''''). 1. Entrar a la carpeta del proyecto: {{{ cd }}} 1. Limpiar cache; comando: {{{ php symfony cc }}} 1. Dar permisos a la carpeta(para esto debe ubicarse en el directorio del proyecto) del proyecto; comando: {{{ chmod -R 777 . }}} 1. Utilice el mismo comando para dar permiso a la carpeta de symfony, ubicada en /lib/vendor del proyecto: {{{ cd /lib/vendor/symfony }}} 1. Crear enlace hacia la carpeta del proyecto. {{{ cd <'''wwwroot'''> }}} Entrar a la carpeta '''root''': {{{ cd }}} Crear link: {{{ sudo ln -s /web }}} ---- Se debe implementar esta configuración para cada módulo del proyecto. ---- == Instalación de componentes cliente == Actualmente solo el aplicativo de contabilidad cuenta con un componente de este tipo. Asumimos de nuevo que se encuentra en '''linux''': 1. Entra al directorio raiz segun sistema operativo, como en el paso anterior para crear el link, ejemplo en '''linux''': {{{ cd <'''wwwroot'''> }}} 1. Crear link que apunte a la carpeta war que se encuentra en la carpeta del proyecto: {{{ sudo ln -s }}} 1. Dar permisos a la carpeta (resultado de la descompresión), ubicándose por consola en la carpeta y ejecutando el comando: {{{ chmod -R 777 . }}} == Configuración de la conexión a la base de datos == Para la configuración de la base de datos de la aplicación es necesario modificar el archivo databases.yml. En este archivo se configuran los parametros de conexión de la base de datos, la ruta de este archivo en cada modulo es: [nombre_modulo] / config / databases.yml Se deben cambiar los datos de acuerdo a la conexion de la base de datos: '''Módulo presupuesto''' {{{ all: presup: class: sfDoctrineDatabase param: dsn: 'oracle:dbname=//[ host ]:[ port ]/ [ instancia ];charset=AL32UTF8' username: [usuario de la base de datos] password: [contraseña para el usuario en la base de datos] }}} '''Módulo tesorería''' {{{ all: doctrine: class: sfDoctrineDatabase param: dsn: 'oracle:dbname=//[ host ]:[ port ]/ [ instancia ];charset=AL32UTF8' username: [usuario de la base de datos] password: [contraseña para el usuario en la base de datos] }}} '''Módulo comisiones''' {{{ all: propel: class: sfPropelDatabase param: phptype: oracle host: database: [nombre de la instancia de la base de datos] username: [usuario de la base de datos] password: [contraseña para el usuario en la base de datos] host: [servidor en el que se encuentra la base de datos ] }}} '''Módulo contabilidad''' {{{ all: doctrine: class: sfDoctrineDatabase param: dsn: 'oracle:dbname=//[ host ]:[ port ]/ [ instancia ];charset=AL32UTF8' username: [usuario de la base de datos] password: [contraseña para el usuario en la base de datos] }}} == Referencias == Para mas información puede referirse a las siguientes paginas: * [http://www.symfony-project.org/jobeet/1_4/Doctrine/es/] * [http://www.symfony.es/documentacion/instalacion/] * [http://www.desarrolloweb.com/manuales/41/]