Linux en Espanol
 
Script Apache (tema #24114)
Publicar nuevo tema  Responder al tema    Foros de discusión -> Programación
Autor Mensaje
co_1
Forista
Registrado: 2011-11-09
Mensajes: 2

Publicado: 2011-11-09 16:01:35    Asunto: Script Apache

Buenas compa?eros.

Estoy empezando en la programaci?n y me han planteado el siguiente ejercicio:

Tengo que comprobar que el servidor apache esta corriendo. La primera comprobaci?n que hago es si el servidor esta instalado en el sistema o no, luego una vez se si esta instalado paso a ver si hay alg?n proceso en ejecuci?n, en el caso de que haya alg?n proceso en ejecuci?n supone que todo funciona correctamente, por lo tanto se termina el an?lisis. En el caso de que no haya procesos en ejecuci?n es s?ntoma de que el servidor esta parado. Por lo tanto paso a intentar encender el servicio. Vuelvo a comprobar si hay procesos corriendo, si en este caso si que tenemos hemos terminado i funciona todo correctamente. en el caso de que no hubiera se mandara un correo electr?nico al administrador del sistema.

La verdad es que llevo apenas unos dias con esto del bash scripting, y ando muy perdido ya que no tengo conocimientos de programaci?n, por ahora lo que tengo es lo siguiente:

[code:1:5ce2163a03]

#!/bin/sh


# Comprovamos que apache esta instal?lado en nuestro sistema

if [ `ls /etc/init.d | grep apache` ]
then
echo " El servidor apache esta instalado en nuestro sistema"

# Ahora comprovamos si hay algun proceso en ejecuci?n

if [ `ps -e | grep -i apache2` ]
then
echo " El servidor esta instalado i tiene procesos en ejecuci?n por lo tanto todo funciona correctamente"
else

# En este caso es sintoma de que el servidor esta parado.

echo " El servidor esta instalado, pero parece que no este en marcha a continuaci?n se arrancara. "

`/etc/init.d/apache2 start`

# En este caso repito la instrucci?n, se que no es un buen mecanismo pero nose como realizar-lo.

if [ `ps -e | grep -i apache2` ]
then
echo " El servidor apache esta corriendo correctamente "
exit; 1
else
echo " Hay un error al iniciar apache, este sera reportado al administrador"

# En este passo me quedo bloqueado ya que nose ni como captar el mensaje de error ni como enviar-lo por correo
# buscando informaci?n, obtengo la siguiente instruccion la qual nose como interpretar.

$error | mail *@gmail.com ;uuencode archivo.tar.gz | mail *@gmail.com



fi

# En el caso que en la primera comprovacion detectara que no esta instalado apache saldriamos.

else
echo " El servidor apache no esta instalat al nostre sistema, per a instalarlo tens que
introduir la seguent instrucci?: sudo apt-get install apache2 "
exit; 2


fi

[/code:1:5ce2163a03]

Bien una vez compruebo que nada me funciona, empiezo a hacer pruebas, la primera que hago es la siguiente:

[code:1:5ce2163a03]
if [ `ls /etc/init.d | grep apache` ]
then
echo " El servidor apache esta instalat al nostre sistema"

# Comprovamos si tiene algun proceso en ejecuci?n

if [ `ps -e | grep -i apache2` ]
then
echo " El servidor te procesos en ejecuci?n, funciona correctamente"
exit;1
else

# Intento iniciar apache al ver que no tiene ningun proceso en ejecuci?n

echo " El servidor esta instalado, pero parece que no este en marcha a continuaci?n se arrancara "

`/etc/init.d/apache2`

fi
fi
[/code:1:5ce2163a03]

Y el resultado que obtengo al ejecutar el script es el siguiente:

[code:1:5ce2163a03]

apache2: bad user name ${APACHE_RUN_USER}
./proves: 4: 2516: not found
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName

[/code:1:5ce2163a03]

La verdad es que no me aclaro demasiado, si no os importa corregirme y as? aprendo, agradezco mucho vuestra ayuda.

Saludos
rafaxdrake
Forista


Registrado: 2004-02-21
Mensajes: 3928

Publicado: 2011-11-09 16:31:13    Asunto:

El script parece que va bien, ya que intenta arrancar apache. El problema es que el apache no te arranca porque lo tienes mal configurado. En una terminal en modo root ejecuta:

/etc/init.d/apache2 start

y f?jate si el error que te da es el mismo que te da tu script.
co_1
Forista
Registrado: 2011-11-09
Mensajes: 2

Publicado: 2011-11-09 20:17:54    Asunto:

Gracias por tu respuesta,

no cuando inicio apache desde consola, no me da ese error, eso es lo que mas confuso me tiene :roll:

Saludos!





La marca registrada Linux (R) se usa siguiendo la sublicensia obtenida del "Linux Mark Institute",
el LICENCIATARIO exclusivo de Linus Torvalds, propietario de la marca en EEUU y otros países
The registered trademark Linux (R) is used pursuant to a sublicense from the Linux Mark Institute,
the exclusive LICENSEE of Linus Torvalds, owner of the mark in the U.S. and other countries