MANUAL DE INSTALACIÓN Y MANTENIMIENTO
De Aplicaciones Web
Servidores PHP MySQL y ASP.NET
Fecha de última modificación Diciembre 5 de 2012
Ing. ANGEL MAURO AVELLANEDA BARRETO Ing. SAUL ALEXANDER HERNANDEZ ALBARRACIN
Contenido:
1. Aspectos Generales ...3
1.1. Sobre el presente documento...3
1.2. Alcance y aplicación. ...3
1.3. Derechos de autor...3
2. Requerimientos básicos. ...4
3. Configuración del servidor WEB PHP MySQL...5
3.1. Requerimientos. ...5
3.1.1. Capacidades y sistema operativo...5
3.1.2. php ...5
3.1.2.1. Ajustes de zona horaria. ...5
3.1.2.2. Ajustes para la subida de archivos...5
3.1.3. MySQL ...5
3.1.4. Otras consideraciones ...5
4. Configuración de un servidor WEB IIS (Para ASPX .NET 2010) ...6
4.1. Sobre la estructura...6
4.1.1. Preparando la base de datos...6
4.1.1.1. Acceso a la base de datos...6
4.1.1.2. Consideraciones en cuanto a la estructura de datos...6
4.1.2. Copias de la base de datos y backups. ...6
4.1.3. Restaurar la base de datos. ...6
4.1.4. Bases de datos para archivos...7
5. Sobre la base de datos. ...8
5.1. Sobre la estructura...8
5.1.1. Preparando la base de datos...8
5.1.2. Recomendaciones de seguridad en la base de datos. ...8
5.2. Posibles fallas. ...8
5.2.1. No es posible iniciar la auditoria para {año}...8
6. Configuración de las aplicaciones Web sobre IIS ...9
6.1. Aspectos Generales. ...9
6.1.1. Sobre el servidor Web. ...9
6.1.2. El sitio Web base. ...9
6.1.3. Los grupos de aplicaciones. ...9
6.1.4. Las aplicaciones. ...9
6.1.5. Runtime adicionales. ...9
6.2. Consideraciones de seguridad. ...9
7. Sobre los servidores Web... 10
7.1. Aspectos Generales. ... 10
7.2. Consideraciones de seguridad. ... 10
7.2.1. Evitar el listado de directorios. ... 10
7.2.2. Redirigir cuando la pagina no sea encontrada. ... 10
8. Información complementaria... 11
8.1. Sobre los archivos .htaccess... 11
9. Anexos. ... 12
CSS Ingenieros y Asociados S. A. S. http://www.cssingenieros.com 3 1. Aspectos Generales
1.1. Sobre el presente documento.
Este documento hace parte de la documentación y ayudas de la plataforma IDEAS, debe acompañarse del Manual de usuario de cada una de las aplicaciones que usted vaya a usar, Los aspectos no contemplados en este manual posiblemente hacen parte del manual de usuario de la aplicación que este usando, dichos manuales se recomiendan como lectura posterior a este documento.
1.2. Alcance y aplicación.
La plataforma IDEAS es un proyecto de CSS Ingenieros y Asociados S.A.S. que busca atender en forma integral a las necesidades de nuestros clientes, procuraremos ser lo más precisos posible en la forma más sencilla para que usted tenga la menor dificultad posible al momento de usar nuestra plataforma.
1.3. Derechos de autor.
CSS Ingenieros y Asociados S. A. S. http://www.cssingenieros.com 5 3. Configuración del servidor WEB PHP MySQL.
3.1. Requerimientos.
3.1.1. Capacidades y sistema operativo. 3.1.2. php
Los sistemas han sido optimizados para usar el interprete 5.3 de php o superior, es posible que cada servidor requiera ajustes en su archivo php.ini algunos de ellos son los siguientes:
3.1.2.1. Ajustes de zona horaria.
se requiere hacer los siguientes ajustes al archivo php.ini:
Parámetro Valor Motivo
date.timezone America/Bogota Contar con la fecha y hora adecuada aplicable a Colombia
3.1.2.2. Ajustes para la subida de archivos.
Comunmente los servidores web limitan la subida de archivos a un tamaño de 2Mb, si ud requiere ampliar el tamaño de los archivos que pueden ser subidos debe ajustar los siguientes valores:
Parámetro Valor Motivo
upload_max_filesize Tamaño máximo permitido para subir un archivo.
memory_limit Uso máximo de memoria para un script.
post_max_size
Tamaño máximo
Tamaño máximo permitido en una acción POST.
Además de estos valores en el php.ini es posible que tenga que cambiar el valor del campo MAX_FILE_SIZE en el archivopop.php que por defecto esta establecido a 4 Mb.
3.1.3. MySQL
Usamos bases de datos MySQL 5.0 o superior. 3.1.4. Otras consideraciones
4. Configuración de un servidor WEB IIS (Para ASPX .NET 2010) 4.1. Sobre la estructura.
4.1.1. Preparando la base de datos.
Si usted va a instalar una aplicación aspx de CSS Ingenieros necesitará una base de datos, normalmente SQL Server, recomendamos usar el motor de base de datos SQL Express 2008 el cual es de distribución gratuita y puede instalado descargándolo directamente del sitio de descargas de Microsoft.
4.1.1.1. Acceso a la base de datos.
Una vez tenga acceso al servidor base de datos usted deberá configurarlo para permitir autenticación de SQL Server, o autenticación mixta (deberá reiniciar el motor de base de datos)
Las aplicaciones CSS solo requieren un inicio de sesión a nivel de motor de base de datos, es decir un solo usuario de la base de datos, la información de login se debe incorporar en el archivo web.config en la seccion configuration - appsettings de cada una de las aplicaciones de la siguiente forma:
<add key="sServidor" value="SERVIDOR\SQLEXPRESS"/> <add key="sUserAdmon" value="USUARIO"/>
<add key="sPassAdmon" value="CLAVE"/> <add key="sDataBase" value="BASEDEDATOS"/>
4.1.1.2. Consideraciones en cuanto a la estructura de datos.
Debido a que las bases de datos pueden contener archivos adjuntos, normalmente se crean bases de datos auxiliares para contener estos archivos adjuntos, estas bases de datos pueden estar o bien en el mismo servidor o en un servidor alterno, el administrador del sistema puede definirlas.
Para definir una base de datos alterna, logeese en una de las aplicaciones y vaya a la pagina dbalterna.aspx (simplemente digítela en barra de dirección, no olvide dejar incluir toda la ruta base de la aplicación, ejemplo, la aplicación al logearse lo va a dirigir a http://suentidad/mercurio/panel.aspx para este caso cambie la palabra panel.aspx por dbalterna.aspx), y asegúrese que una de las bases de datos este marcada como activa.
4.1.2. Copias de la base de datos y backups.
Usted puede hacer copias de las bases de datos de dos formas:
1 – Directamente en el motor de base de datos, para ello acceda a Sql Server Management Express (normalmente en inicio -> programas -> Microsoft Sql Server 200x) una vez acceda al Management vaya a la opcion bases de datos, ubíquese sobre la base de datos que desea copiar, luego de clic derecho, Tareas -> Copia de seguridad, seguir las instrucciones)
2 – Desde el aplicativo en la opción herramientas, copia de seguridad (dar clic sobre el botón generar copia), esta opción requiere que se incorpore una opción en el archivo web.config en la seccion configuration – appsettings
<add key="sRutaBackup" value="RutaValida"/>
Un ejemplo de ruta válida sería “C:\copia_db\” debe asegurarse de que la ruta exista y sea accesible desde el servidor web, es decir que tenga permiso de escritura sobre la misma.
En caso de que esta opción no exista o no sea válida el sistema le enviará un mensaje de error: Comuníquese Con El Administrador Del Sistema: Error 97_1
4.1.3. Restaurar la base de datos.
En caso de que requiera restaurar la base de datos (generalmente por fallas en el servidor o reinstalacion del mismo) usted deberá contar con un archivo de copia de seguridad *.bak o los archivos originales de la base de datos *.mdf y *.ldf en el primer caso podrá restaurarla mediante la
CSS Ingenieros y Asociados S. A. S. http://www.cssingenieros.com 7 opción restaurar base de datos y en el segundo mediante la opción adjuntar base de datos en el Manager del SQL Express.
4.1.4. Bases de datos para archivos.
Cuando se agregan archivos adjuntos a las bases de datos estas tienden a crecer en forma acelerada, lo cual puede causar problemas de velocidad o acceso a la información, para evitar estas situaciones se pueden configurar bases de datos alternas para archivos las cuales deben contener solamente la tabla bas_T15, el script para la creación de la tabla es como sigue:
CREATE TABLE bas_T15ARCHIVOS (bas_T15CodArchivo BigInt IDENTITY NOT NULL, bas_T15Contenido Image NULL, bas_T15Nombre varchar(255) NULL)
GO
CREATE UNIQUE CLUSTERED INDEX bas_T15ARCHIVOSNDX ON bas_T15ARCHIVOS(bas_T15CodArchivo)
Una vez se crea la base de datos para archivos se debe configurar, lo cual puede hacer en la pagina dbalterna.aspx de la aplicación, tenga en cuenta que no existe un menú para acceder a esta pagina, por tanto deberá digitarla directamente en la barra de dirección de la aplicación, adicionalmente debe contar con permisos de administrador para poder guardar en este módulo.
5. Sobre la base de datos. 5.1. Sobre la estructura.
5.1.1. Preparando la base de datos.
Para hacer una instalacion de sistemas CSS en un servidor de un cliente, ud deberá poder acceder a un motor de datos, {normalmente MySQL}, los datos de acceso al servidor los debe registrar en el archivo conexion.php, una vez tenga conexión con el servidor requerirá contar con una base de datos, sobre la cual hará las siguientes operaciones:
1 – Verificar el juego de caracteres de la base de datos, el cual debe quedar en utf8_general_ci {sin mas consideraciones de idioma o región}.
2 – Ejecutar el upddb.php que debe estar en una carpeta de instalación. Importante: Puede darse el caso de que el servidor no tenga habilitada la librería ZIP, en cuyo caso aparecerá un error al intentar ejecutar las sentencias cargartabla, en este caso, debe procurar habilitar el soporte ZIP, pues ningún reporte en Excel funcionará, si no logra habilitar la librería zip, pero aún así desea instalar, debe invocar el upddb.php con el parámetro notablas=1 {de esta manera: http://servidor_cliente/carpetassitemas/instalar/upddb.php?notablas=1}
5.1.2. Recomendaciones de seguridad en la base de datos.
- Se recomienda tener mínimo dos usuarios MySQL, uno que contará solo con permisos de consulta, insersión, modificación y eliminación y otro usuarios con todos los permisos habilitados, el primero será el usuario que configuraremos para trabajo diario y el segundo el que se accede desde el upddb.php, esto para evitar que un usuario mal intencionado pueda borrar tablas.
- Se recomienda borrar la carpeta instalar luego de ejecutar el upddb.php, aunque puede resultar incomodo estar recordando los usuarios y contraseñas para acceder a la base de datos, puede crear varias carpetas con los archivos de conexión para cada servidor, eso evitará que un usuario malintencionado pueda tener acceso a toda la información de estructura de la base de datos.
5.2. Posibles fallas.
5.2.1. No es posible iniciar la auditoria para {año}.
Esta situación más que una falla es una restricción de seguridad para el usuario de trabajo de la base de datos, el cual no esta autorizado para acceder a la estructura de la base de datos, para solucionarlo acceda a la base de datos con un usuario que tenga permisos administrativos y ejecute la sentencia:
CREATE TABLE sys21auditoria{año} (sys21id int AUTO_INCREMENT PRIMARY KEY, sys21idistema int NULL, sys21codmodulo int NULL, sys21idtercero int NULL, sys21fecha varchar(10) NULL, sys21hora int NULL, sys21minuto int NULL, sys21segundo int NULL, sys21codaccion int NULL, sys21idregistro int NULL, sys21detalle Text NULL);
CSS Ingenieros y Asociados S. A. S. http://www.cssingenieros.com 9 6. Configuración de las aplicaciones Web sobre IIS
6.1. Aspectos Generales. 6.1.1. Sobre el servidor Web.
Si el servidor Web esta montado sobre Windows 2008 Server deberá instalar la caracteristica servidor Web, lo cual instalará por defecto el IIS (Internet Information Service) 7.
Si el servidor Web esta montado sobre Window 2003 Server deberá instalar en forma manual el IIS 6 y configurarlo para que acepte aplicaciones ASP.NET.
6.1.2. El sitio Web base.
El IIS instala por defecto un sitio Web base, para saber que nuestro servidor esta funcionando debemos ingresar mediante un navegador Web a la dirección http:\\localhost\ una vez nos responda podremos continuar con la instalación.
6.1.3. Los grupos de aplicaciones.
Los grupos de aplicaciones definen la forma como el servidor web se comunicará con el sistema operativo, esto tiene varias implicaciones entre ellas está el tipo de interprete aspx que utilizará, por defecto V2.0, sin embargo las aplicaciones de CSS requieren un interprete V4.0.
Recomendamos crear un grupo de aplicaciones por cada sistema que vaya a ser instalado, por ejemplo si se va a instalar la aplicación mercurio, se debería crear un grupo de aplicaciones de nombre Mercurio cuya version del NET Framework (Interprete) sea V4.0
6.1.4. Las aplicaciones.
Se recomienda crear una carpeta dentro del sitio Web base por cada una de las aplicaciones, luego de crear la carpeta se copian en ella todos los archivos de la aplicación (*.aspx) así como todas las subcarpetas que se entreguen con el instalador, una vez los archivos esten copiados entramos al panel de administrador de IIS y sobre la carpeta de la aplicación damos clic derecho convertir en aplicación, lo cual nos individualizará esta carpeta como una aplicación, para asociar la aplicación con el grupo de aplicaciones nos ubicamos sobre la aplicación (en el panel de administrador de IIS) y damos clic derecho y luego configuración avanzada, allí buscamos la opción grupo de aplicaciones y seleccionamos el adecuado.
6.1.5. Runtime adicionales.
Para que las aplicaciones funcionen en su totalidad es posible que requieran de runtime adicionales que debe instalar en su servidor, estos puede descargarlos directamente del centro de descargas de Microsoft o puede descargarlos de la replica que hacemos en nuestro sitio en la dirección http://www.cssingenieros.com/publicados/
Los runtime que puede necesitar son:
Microsoft Framework 3.5 Service Pack 1: Plataforma de trabajo base para .NET MSChart: Control para graficas.
Report editor Redistribuible: Componente en tiempo de ejecución del Report Editor (Nativo de .Net)
Cristal Reports Redistribuible: Componente en tiempo de ejecución de Cristal Reports. 6.2. Consideraciones de seguridad.
7. Sobre los servidores Web. 7.1. Aspectos Generales.
7.2. Consideraciones de seguridad.
Se debe tener especial cuidado con el tema de la seguridad en la Internet toda vez que nuestros contenidos quedaran expuestos a multitud de usuarios, muchos de ellos malintencionados que procurarán obtener información sobre nuestro servidor para de esa forma proceder a atacarlo máximo si en estos servidores se va a manejar información financiera, algunas de las recomendaciones de seguridad para los servidores Web son:
7.2.1. Evitar el listado de directorios.
CSS Ingenieros y Asociados S. A. S. http://www.cssingenieros.com 11 8. Información complementaria.
8.1. Sobre los archivos .htaccess
Los archivos .htaccess son utilizados por el servidor Web para tomar directivas personalizadas sobre como resolver algunas situaciones en el momento de servir paginas, para mayor información puede visitar los siguientes sitios Web.
http://www.enespanol.com.ar/2006/04/03/tutorial-de-htaccess/ http://mundogeek.net/archivos/2005/05/04/htaccess/
9. Anexos.