• No se han encontrado resultados

WEBGTVL Puesta a punto de los servidores Fedora Linux antes de su paso a producción

N/A
N/A
Protected

Academic year: 2021

Share "WEBGTVL Puesta a punto de los servidores Fedora Linux antes de su paso a producción"

Copied!
17
0
0

Texto completo

(1)

WEBGTVL

Puesta a punto de los servidores

Fedora Linux antes de su paso a

producción

(2)

Cliente

Proyecto WEBGTVL Fase I Fecha documento 03/08/09

Documento Puesta a punto de los servidores Fedora Linux antes de su paso a producción

Tipo de documento Informe

Fecha Agosto 2009

Autor IKT

(3)

Introducción ...4

Interfaz web para la administrador del servidor...5

Servidor Apache con codificación ISO-8859-1 ...7

Activación de NetWorking ... 7

Depuración de errores de programación PHP ...8

Instalación de librerías de acceso a MSSQL Server...10

Instalación de CURL ...11

Instalación de librerías de acceso a ORACLE ...12

MySQL: ...14

Conexiones a Postgre SQL ...15

Logs / mensajes del servidor ...16

(4)

Debido a las necesidades de los servicios suministrados por IKT, se han implantado en la red servidores de desarrollo y producción basados en plataforma Linux. Estos servidores están compuestos principalmente por:

• Sistema Operativo Fedora 10 • Apache

• PHP • MYSQL • PostgreSQL

• Librerías de acceso a MSSQL Server • Librerías de acceso a Oracle.

• Acceso a servicios web mediante CURL • Envió de correos mediante formularios web • Acceso FTP

• Acceso SSH • Acceso SAMBA

En este documento se describen las tareas principales a realizar una vez instalado un servidor. Estas tareas tienen las siguientes finalidades:

• Servidor Apache con codificación ISO-8859-1 • Depuración de errores de programación PHP • Instalación de librerías de acceso a MSSQL Server • Instalación de CURL

• Instalación de librerías de acceso a ORACLE

Para realizar todas las tareas que se describen a continuación, será necesario disponer de un usuario con permisos de administrador (root).

Antes de comenzar, asegurarse que la configuración de red está correcta

(5)

Para facilitar el mantenimiento del servidor por el usuario final, se ha instalado la herramienta Webmin, que permite

• Instalación y configuración de: o Apache

o PHP

o MySql o PostgreSQL

• Gestión de cuotas de disco y ancho de banda consumido • Instalación de paquetes para configuración de otro elementos.

Descarga de webmin

http://sourceforge.net/projects/webadmin/files/webmin/1.480/webmin-1.480-1.noarch.rpm/download

Instalación Sin descargarlo,

yum install webmin

Aunque si no funciona se descargará el rpm anterior, se situara en una carpeta accesible por el usuario y se ejecutará la siguiente instrucción

rpm -U webmin-1.480-1.noarch.rpm

Se instalará en la el directorio /etc/webmin/. El usuario root deberá tener permiso total en todos los ficheros de esta carpeta.

Una vez instalado, se podrá acceder a el a través del puerto 10000 por defecto, por lo que habrá que abrir la comunicación a través de ese puerto, en caso de que no lo esté, modificando el fichero iptables.

Abrir puerto 10000 en iptables. Fichero etc/sysconfig/iptables Añadir la siguiente línea

-A INOUT –m state –state NEW –m tcp -p tcp –dport 100000 –j ACCEPT Reiniciar iptables

/etc/init.d/iptables resatrt Reiniciar webmind

/etc/init.d/webmin restart

(6)

Una vez abiertos los puertos, habrá que indicar en webmin desde que IP se puede tener acceso a la interfaz de configuración. Para ello, en el fichero /etc/webmin/miniserv.conf habra que indicar al principio una línea de este modo

Allow= IP1 IP2 … IPN

http://doxfer.com/Webmin/WebminConfiguration#Restricting_access_to_Webmin

Recomendación: Para el cliente final, si desea dejar activo webmind, la conexión se debería hacer por ssh, mediante un cliente ssh gráfico y partir de ahí conectarse a http://127.0.0.1:10000 para que así webmin sólo permite conexiones locales y se eviten problemas de seguridad. En ese caso, la líena allow= sólo debería incluir la ip local 127.0.0.1.

Una vez hecho esto, se podrá acceder a webmin desde el navegador desde http://192.168.50.7:10000/

Indicando en el formulario de acceso el nombre de usuario y contraseña del usuario root de la máquina.

Antes de acceder hay que habilitar las ip desde las que se puede acceder y abrir el puerto 10000 Desinstalar webmin

(7)

Por defecto, Apache sirve páginas en codificación UTF-8. Si estuviéramos trabajando únicamente contra bases de datos MySQL y PostgreSQL no existiría ningún problema ya que se podría establecer que la codificación de los datos estuviera en la misma que Apache.

Si queremos que el servidor sea capaz de servir aplicaciones que se conecten a base de datos MSSQL Server que tiene establecida su codificación en ISO-8859-1. No podemos modificar la codificación de los servidores de base de datos porque afectaría a todas las aplicaciones que ya se están utilizando y la presentación de datos en pantalla sería incorrecta.

Para ello, hay que modificar el fichero de configuración de Apache. El fichero se encuentra en la ruta:

/etc/httpd/conf/httpd.conf

En este fichero hay que comentar (poniendo una almohadilla y espacio delante) la línea

AddDefaultCharset UTF-8 Y añadir en su lugar

AddDefaultCharset ISO-8859-1

A continuación se deben guardar los cambios y reiniciar el servidor Apache con el comando

Service httpd restart

Activación de NetWorking

Para que el servidor se pueda comunicar con otros (base de datos, correo…) habrá que activar un parámetro mediante la siguiente instrucción

setsebool -P httpd_can_network_connect=1

De forma que el demonio Apache httpd puede acceder vía peticiones http a otras máquinas

(8)

Para facilitar la depuración de código y mostrar los errores de programación, es conveniente activar la visualización de errores en pantalla desde la configuración de PHP.

Esta modificación solo se debe realizar en los servidores de desarrollo ya que si los mostramos en explotación estamos facilitando la tarea de atacar al servidor por usuarios malintencionados.

El fichero que hay que modificar es php.ini, situado en /etc/php.ini

En este fichero, habrá que localizar la configuración de error_reporting y Display_errors que se encuentran dentro del apartado Error handling and logging y dejarlos de la siguiente forma;

Error_reporting = E_ALL & E_STRICT & E_NOTICE Display_errors = On

Reiniciar apache

Service httpd restart

Constantes de tipos de error E_ERROR

Errores fatales en tiempo de ejecución. Estos indican errores de los que no es posible recuperarse, tales como problemas de asignación de memoria. Se detiene la ejecución del script. E_WARNING

Advertencias en tiempo de ejecución (errores no-fatales). La ejecución del script no se interrumpe.

E_PARSE

Errores de intérprete en tiempo de compilación. Esto tipo de errores deberían ser generados únicamente por el interprete.

E_NOTICE

Anotaciones en tiempo de ejecución. Indican que el script se ha topado con algo que puede indicar la presencia de un error, pero que también podría ocurrir en el curso normal de la ejecución de un script.

E_CORE_ERROR

Errores fatales que ocurren durante el arranque inicial de PHP. Es como un E_ERROR, excepto que es generado por el núcleo de PHP.

E_CORE_WARNING

(9)

Advertencias (errores no-fatales) que ocurren durante el arranque inicial de PHP. Es como un E_WARNING, excepto que es generado por el núcleo de PHP.

E_COMPILE_ERROR

Errores fatales en tiempo de compilación. Es como un E_ERROR, excepto que es generado por el Motor de Scripting de Zend.

E_COMPILE_WARNING

Advertencias en tiempo de compilación (errores no fatales). Es como un E_WARNING, excepto que es generado por el Motor de Scripting de Zend.

E_USER_ERROR

Mensaje de error generado por el usuario. Es como un E_ERROR, excepto que es generado desde código PHP usando la función trigger_error().

E_USER_WARNING

Mensaje de advertencia generado por el usuario. Es como un E_WARNING, excepto que es generado desde código PHP usando la función trigger_error().

E_USER_NOTICE

Anotación generada por el usuario. Es como un E_NOTICE, excepto que es generado desde código PHP usando la función trigger_error().

E_STRICT

Noticias de tiempo de ejecución. Habilite este valor para hacer que PHP sugiera cambios en su código que velarán por la mejor interoperabilidad y por mantener la compatibilidad de su código.

E_RECOVERABLE_ERROR

Error fatal atrapable. Indica que ocurrió un error probablemente peligroso, pero no ha dejado el Motor en un estado inutilizable. Si el error no es atrapado por un gestor definido por el usuario (vea también set_error_handler()), la aplicación aborta como si fuera un E_ERROR.

E_ALL

Todos los errores y advertencias, en la medida en que sean soportados, excepto por el nivel E_STRICT en PHP < 6.

(10)

Para realizar el acceso a servidores de datos MSSQL Server es necesario instalar una librería en php. Las instrucciones a ejecutar serán

Yum search php-mssql ‘ busca la extensión Yum install php-mssql ‘ instala la extensión Service httpd restart

(11)

Librerías necesarias para el acceso a servicios web

Yum install php-pear-Net-Curl Service httpd restart

(12)

Descargar los siguientes puntos de menú de esta web de Oracle. Hay que estar registrado para acceder a las descargas.

http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html Descargas a realizar:

Instant Client Package – Basic:

oracle-instantclient-basic-10.2.0.4-1.i386.rpm Instant Client Package – SDK:

oracle-instantclient-devel-10.2.0.4-1.i386.rpm

A continuación hay que poner esos dos paquetes en la carpeta etc del servidor

Cd /etc

Instalar los paquetes

rpm -ivh oracle-instantclient-basic-10.2.0.4-1.i386.rpm rpm -ivh oracle-instantclient-devel-10.2.0.4-1.i386.rpm

Instalar paquetes adicionales

yum -y install libaio gcc php-devel

Crear el siguiente fichero

cat /etc/profile.d/oracle.sh # oracle instantclient export LD_LIBRARY_PATH=/usr/lib/oracle/10.2.0.4/client/lib export ORACLE_HOME=/usr/lib/oracle/10.2.0.4/client/ Actualizar rutas source /etc/profile.d/oracle.sh Instalar oci8

(13)

pecl install oci8

‘Pulsar enter, en las opciones.

‘Nota: Si da error en la instalacion: pecl install oci8

‘Opcion 1-1, y escribir:

‘instantclient,/usr/lib/oracle/10.2.0.4/client/lib ‘o

‘instantclient,/usr/lib/oracle/10.2.0.4/client/

Crear el siguiente fichero

cat /etc/php.d/oci8.ini

; Enable oci8 extension module extension=oci8.so

Reiniciar apache

(14)

Arranque automático con el reinicio

/sbin/chkconfig --level 345 mysqld on

Cambio de contraseña de root dentro de la consola de MySql

[root@Biolan /]# mysql Mysql> use mysql

Mysql> update user set Password=PASSWORD('nuevo_password') where

user='root';

Mysql> flush privileges; Mysql> quit;

Acceso a consola mysql con la nueva contraseña

[root@Biolan /]# mysql –u root -p

(15)

Para que el servidor de aplicaciones pueda conectarse al servidor de PostgreSQL hay que indicarle a este último desde que equipos / redes acepta conexiónes. Para ello habrá que editar el fichero pg_hba.conf ubicado en /var/lib/pgsql/data y añadir la siguiente línea

Host all all ip de la máquina trust

(16)

En el directorio var/log/ se encuentra los logs se todos los servicios corriendo (que los tengan activado)

El más interesante es var/log/message, que es el visor de sucesos del sistema en general, en el que se muestra mucha información relacionada con el funcionamiento de la máquina.

(17)

Por consola ssh y a webmin, acceso con usuario root Usuario: root

Contraseña: **********

Sería conveniente crear un usuario administrador diferente de root para permitir el acceso al cliente.

Referencias

Documento similar

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan

Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción

dente: algunas decían que doña Leonor, &#34;con muy grand rescelo e miedo que avía del rey don Pedro que nueva- mente regnaba, e de la reyna doña María, su madre del dicho rey,

Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:

En nuestra opinión, las cuentas anuales de la Entidad Pública Empresarial Red.es correspondientes al ejercicio 2012 representan en todos los aspectos

La Intervención General de la Administración del Estado, a través de la Oficina Nacional de Auditoría, en uso de las competencias que le atribuye el artículo 168

La Intervención General de la Administración del Estado, a través de la Oficina Nacional de Auditoría, en uso de las competencias que le atribuye el artículo

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de