[[PageOutline(2)]] = Manual de instalación de websafiERP = Manual para la configuración e instalación del aplicativo websafiERP. Para la instalación del aplicativo websafiERP se asume que posee el archivo con el contenido del proyecto, debe descomprimir el archivo en algún directorio del equipo. == 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 == * Motor de Base de datos: versión 9i [http://www.oracle.com/technetwork/indexes/downloads/index.html ORACLE] * Instancia Base de Datos: * usuario: * Contraseña: < contraseña de ingreso a la base de datos> 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 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 desde 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 proyecto''. * Carpeta, componente y/o módulo como ''modulo''. == 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 autentificar y administrar usuarios, perfiles y credenciales para los demás módulos. '''Carpetas dentro de la aplicación''' Para cada uno de los modulos, se describe una organización de carpetas. Cada una de las cuales se encarga de una funcion especifica dentro del modulo al que pertenece. [[Image(CarpetasProyecto.png)]] '''apps''' => Se encuentran los modulos que contienen la vista y la logica de la aplicación [[Image(apps.png)]] '''config''' => Se encuentran los archivos de configuración de la aplicación * databases.yml: contiene la configuración de la base de datos * schema.yml: contiene el esquema generado por symfony para los datos [[Image(conf.png)]] '''lib''' => Contiene el modelo y los formularios, generados para la base de datos [[Image(lib.png)]] '''web''' => Contiene las carpetas para los archivos subidos dentro de la aplicación [[Image(web.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 en el disco duro, para crear la conexión al aplicativo se debe crear un link al proyecto, esto aplica únicamente para instalaciones '''linux''': Se referencia esta carpeta, para la descripción de los pasos como ''''''. Los comandos de symfony 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 dentro de la carpeta root, como usuario administrador, ingresa a la consola de sistema operativo. Entra al directorio raiz: {{{ cd / }}} 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 var/www }}} 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/]