|
@@ -9,8 +9,133 @@
|
|
|
#################################################################
|
|
|
|
|
|
comprobarError() {
|
|
|
- # Mejora: tratar todos los mensajes de error desde aquí
|
|
|
- printf "SIN HACER...\n"
|
|
|
+ # comprobarError exitNum codeNum extraInfo
|
|
|
+ # 1xx: Servidor Web
|
|
|
+ # 2xx: Base de Datos
|
|
|
+ # 3xx: PHP
|
|
|
+ # 4xx: SSL/TLS
|
|
|
+ # 5xx: MediaWiki
|
|
|
+ # 6xx: Moodle
|
|
|
+ # 7xx: Actualizaciones automáticas
|
|
|
+ # 8xx: Dependencias
|
|
|
+ # 9xx: Servicios
|
|
|
+ type="ERROR"
|
|
|
+ exitNum=$1
|
|
|
+ codeNum=$2
|
|
|
+ extraInfo=$3
|
|
|
+ case $codeNum in
|
|
|
+ 1)
|
|
|
+ error="$type $codeNum:\tInstalación interrumpida por el usuario.\n"
|
|
|
+ ;;
|
|
|
+ 2)
|
|
|
+ error="$type $codeNum:\tError interno (seleción express).\n"
|
|
|
+ ;;
|
|
|
+ 3)
|
|
|
+ error="$type $codeNum:\tError interno (seleción avanzada).\n"
|
|
|
+ ;;
|
|
|
+ 100)
|
|
|
+ error="$type $codeNum:\tError interno (seleción del servidor web).\n"
|
|
|
+ ;;
|
|
|
+ 101)
|
|
|
+ error="\n$type $codeNum:\tError al instalar Apache2.\nDetalles:\n$extraInfo\n"
|
|
|
+ ;;
|
|
|
+ 102)
|
|
|
+ error="\n$type $codeNum:\tError al instalar Nginx.\nDetalles:\n$extraInfo\n"
|
|
|
+ ;;
|
|
|
+ 103)
|
|
|
+ error="\n$type $codeNum:\tError al nstalar repositorio 'epel-release'.\nDetalles:\n$extraInfo\n"
|
|
|
+ ;;
|
|
|
+ 104)
|
|
|
+ error="\n$type $codeNum:\tError interno (instalación Apache2).\n"
|
|
|
+ ;;
|
|
|
+ 105)
|
|
|
+ error="\n$type $codeNum:\tError interno (instalación Nginx).\n"
|
|
|
+ ;;
|
|
|
+ 200)
|
|
|
+ error="$type $codeNum:\tError interno (seleción de base de datos).\n"
|
|
|
+ ;;
|
|
|
+ 201)
|
|
|
+ error="\n$type $codeNum:\tError al instalar MySQL.\nDetalles:\n$extraInfo\n"
|
|
|
+ ;;
|
|
|
+ 202)
|
|
|
+ error="\n$type $codeNum:\tError al instalar MariaDB.\nDetalles:\n$extraInfo\n"
|
|
|
+ ;;
|
|
|
+ 203)
|
|
|
+ error="\n$type $codeNum:\tError interno (instalación MySQL).\n"
|
|
|
+ ;;
|
|
|
+ 204)
|
|
|
+ error="\n$type $codeNum:\tError interno (instalación MariaDB).\n"
|
|
|
+ ;;
|
|
|
+ 205)
|
|
|
+ error="\n$type $codeNum:\t$DIST no incluye MySQL en sus repositorios.\n"
|
|
|
+ ;;
|
|
|
+ 206)
|
|
|
+ type="WARNING"
|
|
|
+ error="$type $codeNum:\tUsuario 'root' ya dispone de contraseña.\n"
|
|
|
+ ;;
|
|
|
+ 207)
|
|
|
+ error="$type $codeNum:\tImposible cambiar la contraseña de 'root'.\n"
|
|
|
+ ;;
|
|
|
+ 208)
|
|
|
+ error="$type $codeNum:\tImposible desactivar acceso 'root' desde el exterior.\n"
|
|
|
+ ;;
|
|
|
+ 209)
|
|
|
+ error="$type $codeNum:\tImposible eliminar usuarios anónimos.\n"
|
|
|
+ ;;
|
|
|
+ 210)
|
|
|
+ type="WARNING"
|
|
|
+ error="$type $codeNum:\tImposible eliminar bases de datos de pruebas.\n"
|
|
|
+ ;;
|
|
|
+ 211)
|
|
|
+ type="WARNING"
|
|
|
+ error="$type $codeNum:\tImposible eliminar los permisos de las bases de datos de pruebas.\n"
|
|
|
+ ;;
|
|
|
+ 212)
|
|
|
+ error="$type $codeNum:\tImposible recargar base de datos.\n"
|
|
|
+ ;;
|
|
|
+ 801)
|
|
|
+ error="$type $codeNum:\t'whiptail' no instalado.\n"
|
|
|
+ ;;
|
|
|
+ 802)
|
|
|
+ error="$type $codeNum:\t'hostnamectl' no instalado.\n"
|
|
|
+ ;;
|
|
|
+ 803)
|
|
|
+ error="$type $codeNum:\t'apt-get' no instalado.\n"
|
|
|
+ ;;
|
|
|
+ 804)
|
|
|
+ error="$type $codeNum:\t'yum' no instalado.\n"
|
|
|
+ ;;
|
|
|
+ 805)
|
|
|
+ error="\n$type $codeNum:\tImposible actualizar repositorio\nDetalles:\n$extraInfo.\n"
|
|
|
+ ;;
|
|
|
+ 806)
|
|
|
+ error="$type $codeNum:\t'ufw' no instalado.\n"
|
|
|
+ ;;
|
|
|
+ 807)
|
|
|
+ error="$type $codeNum:\t'firewall-cmd' no instalado.\n"
|
|
|
+ ;;
|
|
|
+ 900)
|
|
|
+ error="$type $codeNum:\tError interno (habilitar servicio).\n"
|
|
|
+ ;;
|
|
|
+ 901)
|
|
|
+ error="$type $codeNum:\tImposible encender servicio '$extraInfo'.\n"
|
|
|
+ ;;
|
|
|
+ 902)
|
|
|
+ error="$type $codeNum:\tImposible habilitar servicio '$extraInfo' durante el arranque.\n"
|
|
|
+ ;;
|
|
|
+ *)
|
|
|
+ error="ERROR 13:\tError interno (comprobación de errores)\n"
|
|
|
+ exitNum=1
|
|
|
+ codeNum=13
|
|
|
+ ;;
|
|
|
+ esac
|
|
|
+ if [ $exitNum -ne 0 ];then
|
|
|
+ printf "$error"
|
|
|
+ if [ $type = "ERROR" ];then
|
|
|
+ exit $codeNum
|
|
|
+ fi
|
|
|
+ fi
|
|
|
+ unset error exitNum codeNum type
|
|
|
}
|
|
|
|
|
|
OSInfo() {
|
|
@@ -76,61 +201,35 @@ comprobarRoot() {
|
|
|
comprobarDependencias() {
|
|
|
# Comprobamos whiptail
|
|
|
which whiptail > /dev/null 2>&1
|
|
|
- if [ $? -ne 0 ];then
|
|
|
- printf "ERROR:\t'whiptail' no disponible.\n"
|
|
|
- exit 1
|
|
|
- fi
|
|
|
+ comprobarError $? 801
|
|
|
# Comprobamos hostnamectl
|
|
|
which hostnamectl > /dev/null 2>&1
|
|
|
- if [ $? -ne 0 ];then
|
|
|
- printf "ERROR:\t'hostnamectl' no disponible.\n"
|
|
|
- exit 1
|
|
|
- fi
|
|
|
+ comprobarError $? 802
|
|
|
if [ $debianOS = true ];then
|
|
|
# Comprobamos apt-get
|
|
|
which apt-get > /dev/null 2>&1
|
|
|
- if [ $? -ne 0 ]; then
|
|
|
- printf "ERROR:\t'apt-get' no está disponible.\n"
|
|
|
- exit 1
|
|
|
- fi
|
|
|
+ comprobarError $? 803
|
|
|
# Actualizamos base de datos del repositorio
|
|
|
printf "Actualizando repositorio APT..."
|
|
|
result=$(apt-get -q -y update)
|
|
|
- if [ $? -ne 0 ]; then
|
|
|
- printf "\nERROR:\tImposible actualizar repositorio.\n"
|
|
|
- printf "Detalles:\n$result\n"
|
|
|
- exit 1
|
|
|
- fi
|
|
|
+ comprobarError $? 805 $result
|
|
|
printf " OK.\n"
|
|
|
# Comprobamos Firewall (ufw)
|
|
|
which ufw > /dev/null 2>&1
|
|
|
- if [ $? -ne 0 ]; then
|
|
|
- printf "ERROR:\t'ufw' no disponible.\n"
|
|
|
- exit 1
|
|
|
- fi
|
|
|
+ comprobarError $? 806
|
|
|
fi
|
|
|
if [ $rhelOS = true ]; then
|
|
|
# Comprobamos yum
|
|
|
which yum > /dev/null 2>&1
|
|
|
- if [ $? -ne 0 ]; then
|
|
|
- printf "ERROR:\t'yum' no está disponible.\n"
|
|
|
- exit 1
|
|
|
- fi
|
|
|
+ comprobarError $? 804
|
|
|
# Actualizamos base de datos del repositorio
|
|
|
printf "Actualizando repositorio YUM..."
|
|
|
result=$(yum -y makecache 2>&1)
|
|
|
- if [ $? -ne 0 ]; then
|
|
|
- printf "\nERROR:\tImposible actualizar repositorio.\n"
|
|
|
- printf "Detalles:\n$result\n"
|
|
|
- exit 1
|
|
|
- fi
|
|
|
+ comprobarError $? 805 $result
|
|
|
printf " OK.\n"
|
|
|
# Comprobamos Firewall (firewall-cmd)
|
|
|
which firewall-cmd > /dev/null 2>&1
|
|
|
- if [ $? -ne 0 ]; then
|
|
|
- printf "ERROR:\t'firewall-cmd' no disponible.\n"
|
|
|
- exit 1
|
|
|
- fi
|
|
|
+ comprobarError $? 807
|
|
|
fi
|
|
|
}
|
|
|
|
|
@@ -162,10 +261,7 @@ mostrarBienvenida() {
|
|
|
exit 1
|
|
|
fi
|
|
|
whiptail --title "INSTALACION MEDIAWIKI" --yesno "Este script automatiza completamente la instalación de una wiki.\nPara ello instala un servidor LAMP, el software MediaWiki y lo configura todo.\n\nInformación del sistema:\nOS: $OS $DIST $REV\n$HDInfo" 20 70 --yes-button "Continuar" --no-button "Salir"
|
|
|
- if [ $? -ne 0 ]; then
|
|
|
- printf "ERROR:\tInstalación interrumpida por el usuario.\n"
|
|
|
- exit 2
|
|
|
- fi
|
|
|
+ comprobarError $? 1
|
|
|
}
|
|
|
|
|
|
mostrarExpress() {
|
|
@@ -173,10 +269,7 @@ mostrarExpress() {
|
|
|
"Express" "Instalación rápida" ON \
|
|
|
"Avanzada" "Permite escoger todas las opciones disponibles" OFF \
|
|
|
--ok-button "Continuar" --cancel-button "Salir" 3>&1 1>&2 2>&3)
|
|
|
- if [ $? -ne 0 ]; then
|
|
|
- printf "ERROR:\tInstalación interrumpida por el usuario.\n"
|
|
|
- exit 2
|
|
|
- fi
|
|
|
+ comprobarError $? 1
|
|
|
case $express in
|
|
|
Express)
|
|
|
instalacionExpress
|
|
@@ -186,8 +279,7 @@ mostrarExpress() {
|
|
|
mostrarAvanzada
|
|
|
;;
|
|
|
*)
|
|
|
- printf "ERROR:\tError interno (selección express).\n"
|
|
|
- exit 1
|
|
|
+ comprobarError 1 2
|
|
|
;;
|
|
|
esac
|
|
|
}
|
|
@@ -202,10 +294,7 @@ mostrarAvanzada() {
|
|
|
"Moodle" "Instalar campus virtual con Moodle" ON \
|
|
|
"Actualizaciones" "Programar actualizaciones automáticas" ON \
|
|
|
--ok-button "Continuar" --cancel-button "Salir" 3>&1 1>&2 2>&3)
|
|
|
- if [ $? -ne 0 ]; then
|
|
|
- printf "ERROR:\tInstalación interrumpida por el usuario.\n"
|
|
|
- exit 2
|
|
|
- fi
|
|
|
+ comprobarError $? 1
|
|
|
# Mejora: autodetección de componentes ya instalados
|
|
|
for i in $componentes; do
|
|
|
case $i in
|
|
@@ -231,8 +320,7 @@ mostrarAvanzada() {
|
|
|
actualizacionesOn=true
|
|
|
;;
|
|
|
*)
|
|
|
- printf "ERROR:\tError interno (selección de componentes).\n"
|
|
|
- exit 1
|
|
|
+ comprobarError 1 3
|
|
|
;;
|
|
|
esac
|
|
|
done
|
|
@@ -243,10 +331,7 @@ mostrarWebServer() {
|
|
|
"Apache" "Instalar el servidor web Apache2" ON \
|
|
|
"Nginx" "Instalar el servidor web Nginx" OFF \
|
|
|
--ok-button "Continuar" --cancel-button "Salir" 3>&1 1>&2 2>&3)
|
|
|
- if [ $? -ne 0 ]; then
|
|
|
- printf "ERROR:\tInstalación interrumpida por el usuario.\n"
|
|
|
- exit 2
|
|
|
- fi
|
|
|
+ comprobarError $? 1
|
|
|
case $webServer in
|
|
|
Apache)
|
|
|
apacheOn=true
|
|
@@ -255,8 +340,7 @@ mostrarWebServer() {
|
|
|
nginxOn=true
|
|
|
;;
|
|
|
*)
|
|
|
- printf "ERROR:\tError interno (selección de web server).\n"
|
|
|
- exit 1
|
|
|
+ comprobarError 1 100
|
|
|
;;
|
|
|
esac
|
|
|
# Otras opciones (FQDN)
|
|
@@ -278,49 +362,27 @@ establecerFQDN() {
|
|
|
instalarApache() {
|
|
|
if [ $debianOS = true ];then
|
|
|
result=$(apt-get -q -y install apache2 2>&1)
|
|
|
- if [ $? -ne 0 ]; then
|
|
|
- printf "\nERROR:\tError al instalar Apache2.\n"
|
|
|
- printf "Detalles:\n$result\n"
|
|
|
- exit 1
|
|
|
- fi
|
|
|
+ comprobarError $? 101 $result
|
|
|
elif [ $rhelOS = true ]; then
|
|
|
result=$(yum -y install httpd 2>&1)
|
|
|
- if [ $? -ne 0 ]; then
|
|
|
- printf "\nERROR:\tError al instalar Apache2.\n"
|
|
|
- printf "Detalles:\n$result\n"
|
|
|
- exit 1
|
|
|
- fi
|
|
|
+ comprobarError $? 101 $result
|
|
|
else
|
|
|
- printf "\nERROR:\tError interno (instalación Apache2).\n"
|
|
|
- exit 1
|
|
|
+ comprobarError 1 104
|
|
|
fi
|
|
|
}
|
|
|
|
|
|
instalarNginx() {
|
|
|
if [ $debianOS = true ];then
|
|
|
result=$(apt-get -q -y install nginx 2>&1)
|
|
|
- if [ $? -ne 0 ]; then
|
|
|
- printf "\nERROR:\tError al instalar Nginx.\n"
|
|
|
- printf "Detalles:\n$result\n"
|
|
|
- exit 1
|
|
|
- fi
|
|
|
+ comprobarError $? 102 $result
|
|
|
elif [ $rhelOS = true ]; then
|
|
|
# Hay que instalar primero otro repositorio
|
|
|
result=$(yum -y install epel-release)
|
|
|
- if [ $? -ne 0 ]; then
|
|
|
- printf "\nERROR:\tError al intalar repositorio 'epel-release'.\n"
|
|
|
- printf "Detalles:\n$result\n"
|
|
|
- exit 1
|
|
|
- fi
|
|
|
+ comprobarError $? 103 $result
|
|
|
result=$(yum -y install nginx 2>&1)
|
|
|
- if [ $? -ne 0 ]; then
|
|
|
- printf "\nERROR:\tError al instalar Nginx.\n"
|
|
|
- printf "Detalles:\n$result\n"
|
|
|
- exit 1
|
|
|
- fi
|
|
|
+ comprobarError $? 102 $result
|
|
|
else
|
|
|
- printf "\nERROR:\tError interno (instalación Nginx).\n"
|
|
|
- exit 1
|
|
|
+ comprobarError 1 105
|
|
|
fi
|
|
|
}
|
|
|
|
|
@@ -330,10 +392,7 @@ mostrarDatabase() {
|
|
|
"MySQL" "Instalar la base de datos MySQL (no uso comercial)" ON \
|
|
|
"MariaDB" "Instalar la base de datos MariaDB (fork de MySQL)" OFF \
|
|
|
--ok-button "Continuar" --cancel-button "Salir" 3>&1 1>&2 2>&3)
|
|
|
- if [ $? -ne 0 ]; then
|
|
|
- printf "ERROR:\tInstalación interrumpida por el usuario.\n"
|
|
|
- exit 2
|
|
|
- fi
|
|
|
+ comprobarError $? 1
|
|
|
case $database in
|
|
|
MySQL)
|
|
|
mySQLOn=true
|
|
@@ -342,20 +401,15 @@ mostrarDatabase() {
|
|
|
mariaDBOn=true
|
|
|
;;
|
|
|
*)
|
|
|
- printf "ERROR:\tError interno (selección de base de datos).\n"
|
|
|
- exit 1
|
|
|
+ comprobarError 1 200
|
|
|
;;
|
|
|
esac
|
|
|
elif [ $rhelOS = true ]; then
|
|
|
whiptail --title "BASE DE DATOS" --yesno "Para su distribucion $OS $DIST $REV, sólo está disponible la base de datos MariaDB." 20 70 --yes-button "Continuar" --no-button "Salir"
|
|
|
- if [ $? -ne 0 ]; then
|
|
|
- printf "ERROR:\tInstalación interrumpida por el usuario.\n"
|
|
|
- exit 2
|
|
|
- fi
|
|
|
+ comprobarError $? 1
|
|
|
mariaDBOn=true
|
|
|
else
|
|
|
- printf "ERROR:\tError interno (instalación Base de Datos).\n"
|
|
|
- exit 1
|
|
|
+ comprobarError 1 200
|
|
|
fi
|
|
|
# Otras opciones (contraseña)
|
|
|
leerSQLPasswd
|
|
@@ -367,15 +421,9 @@ leerSQLPasswd() {
|
|
|
# Leemos la contreseña (stdin) y confirmamos
|
|
|
while [ $control = false ]; do
|
|
|
sqlPasswd=$(whiptail --title "CONTRASEÑA SQL" --passwordbox "$error""Introduzca la contraseña para el usuario 'root' de la base de datos:" 20 70 --ok-button "Continuar" --nocancel 3>&1 1>&2 2>&3)
|
|
|
- if [ $? -ne 0 ]; then
|
|
|
- printf "ERROR:\tInstalación interrumpida por el usuario.\n"
|
|
|
- exit 2
|
|
|
- fi
|
|
|
+ comprobarError $? 1
|
|
|
sqlPasswd2=$(whiptail --title "CONTRASEÑA SQL" --passwordbox "Confirme la contraseña:" 20 70 --ok-button "Continuar" --nocancel 3>&1 1>&2 2>&3)
|
|
|
- if [ $? -ne 0 ];then
|
|
|
- printf "ERROR:\tInstalación interrumpida por el usuario.\n"
|
|
|
- exit 2
|
|
|
- fi
|
|
|
+ comprobarError $? 1
|
|
|
#printf "SQL Password 1: $sqlPasswd\n"
|
|
|
#printf "SQL Password 2: $sqlPasswd2\n"
|
|
|
if [ -z $sqlPasswd ] || [ -z $sqlPasswd2 ]; then
|
|
@@ -397,81 +445,50 @@ establecerSQLPasswd() {
|
|
|
if [ $? -eq 0 ];then
|
|
|
# Establecemos contraseña del usuario root
|
|
|
mysql -e "UPDATE mysql.user SET Password = PASSWORD('$sqlPasswd') WHERE User = 'root'" > /dev/null 2>&1
|
|
|
- if [ $? -ne 0 ];then
|
|
|
- printf "SQL ERROR:\tImposible de cambiar la contraseña de 'root'.\n"
|
|
|
- exit 3
|
|
|
- fi
|
|
|
+ comprobarError $? 207
|
|
|
# Desactivamos acceso root desde el exterior (solo localhost)
|
|
|
mysql -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1')" > /dev/null 2>&1
|
|
|
- if [ $? -ne 0 ];then
|
|
|
- printf "SQL ERROR:\tImposible desactivar acceso 'root' desde el exterior.\n"
|
|
|
- exit 3
|
|
|
- fi
|
|
|
+ comprobarError $? 208
|
|
|
# Eliminamos todos los usuarios anónimos
|
|
|
mysql -e "DELETE FROM mysql.user WHERE User=''" > /dev/null 2>&1
|
|
|
- if [ $? -ne 0 ];then
|
|
|
- printf "SQL ERROR:\tImposible eliminar usuarios anónimos.\n"
|
|
|
- exit 3
|
|
|
- fi
|
|
|
+ comprobarError $? 209
|
|
|
# Eliminamos bases de datos 'test'
|
|
|
mysql -e "DROP DATABASE IF EXISTS test" > /dev/null 2>&1
|
|
|
- if [ $? -ne 0 ];then
|
|
|
- printf "SQL WARNING:\tImposible eliminar bases de datos de pruebas.\n"
|
|
|
- fi
|
|
|
+ comprobarError $? 210
|
|
|
# Eliminamos privilegios de la base de datos 'test'
|
|
|
mysql -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%'" > /dev/null 2>&1
|
|
|
- if [ $? -ne 0 ];then
|
|
|
- printf "SQL WARNING:\tImposible eliminar los privilegios de la base de datos de pruebas.\n"
|
|
|
- fi
|
|
|
+ comprobarError $? 211
|
|
|
# Aplicamos los cambios
|
|
|
mysql -e "FLUSH PRIVILEGES" > /dev/null 2>&1
|
|
|
- if [ $? -ne 0 ];then
|
|
|
- printf "SQL ERROR:\tImposible recargar base de datos.\n"
|
|
|
- exit 3
|
|
|
- fi
|
|
|
+ comprobarError $? 212
|
|
|
else
|
|
|
- printf "WARNING:\tUsuario 'root' ya dispone de contraseña.\n"
|
|
|
+ comprobarError $? 206
|
|
|
fi
|
|
|
}
|
|
|
|
|
|
instalarMySQL() {
|
|
|
if [ $debianOS = true ];then
|
|
|
result=$(apt-get -q -y install mysql-server mysql-client 2>&1)
|
|
|
- if [ $? -ne 0 ]; then
|
|
|
- printf "\nERROR:\tError al instalar MySQL.\n"
|
|
|
- printf "Detalles:\n$result\n"
|
|
|
- exit 1
|
|
|
- fi
|
|
|
+ comprobarError $? 201 $result
|
|
|
elif [ $rhelOS = true ]; then
|
|
|
# MySQL no disponible en RHEL. 2 opciones:
|
|
|
# 1) Instalar un repositorio adicional
|
|
|
# 2) No instalar MySQL en distribuciones RHEL
|
|
|
- printf "\nERROR:\tRHEL no incluye MySQL en sus repositorios.\n"
|
|
|
- exit 1
|
|
|
+ comprobarError 1 205
|
|
|
else
|
|
|
- printf "\nERROR:\tError interno (instalación MySQL).\n"
|
|
|
- exit 1
|
|
|
+ comprobarError 1 203
|
|
|
fi
|
|
|
}
|
|
|
|
|
|
instalarMariaDB() {
|
|
|
if [ $debianOS = true ];then
|
|
|
result=$(apt-get -q -y install mariadb-server mariadb-client 2>&1)
|
|
|
- if [ $? -ne 0 ]; then
|
|
|
- printf "\nERROR:\tError al instalar MariaDB.\n"
|
|
|
- printf "Detalles:\n$result\n"
|
|
|
- exit 1
|
|
|
- fi
|
|
|
+ comprobarError $? 202 $result
|
|
|
elif [ $rhelOS = true ]; then
|
|
|
result=$(yum -y install mariadb-server mariadb 2>&1)
|
|
|
- if [ $? -ne 0 ]; then
|
|
|
- printf "\nERROR:\tError al instalar MariaDB.\n"
|
|
|
- printf "Detalles:\n$result\n"
|
|
|
- exit 1
|
|
|
- fi
|
|
|
+ comprobarError $? 202 $result
|
|
|
else
|
|
|
- printf "\nERROR:\tError interno (instalación MariaDB).\n"
|
|
|
- exit 1
|
|
|
+ comprobarError 1 204
|
|
|
fi
|
|
|
}
|
|
|
|
|
@@ -480,62 +497,42 @@ habilitarServicio() {
|
|
|
# Intentamos con systemctl (SystemD)
|
|
|
printf "Habilitando servicio $1"
|
|
|
if [ $# -le 0 ];then
|
|
|
- printf "\nERROR:\tError interno (habilitar servicio).\n"
|
|
|
- exit 1
|
|
|
+ comprobarError 1 900
|
|
|
fi
|
|
|
which systemctl > /dev/null 2>&1
|
|
|
if [ $? -eq 0 ]; then
|
|
|
printf " (SystemD)..."
|
|
|
systemctl start $1 > /dev/null 2>&1
|
|
|
- if [ $? -ne 0 ];then
|
|
|
- printf "\nERROR:\tImposible encender servicio '$1'.\n"
|
|
|
- exit 1
|
|
|
- fi
|
|
|
+ comprobarError $? 901 $1
|
|
|
systemctl enable $1 > /dev/null 2>&1
|
|
|
- if [ $? -ne 0 ];then
|
|
|
- printf "\nERROR:\tImposible habilitar servicio '$1' durante el arranque.\n"
|
|
|
- exit 1
|
|
|
- fi
|
|
|
+ comprobarError $? 902 $1
|
|
|
else
|
|
|
# Intentamos con service (Upstart)
|
|
|
which service > /dev/null 2>&1
|
|
|
if [ $? -eq 0 ]; then
|
|
|
printf " (Upstart)..."
|
|
|
service $1 start > /dev/null 2>&1
|
|
|
- if [ $? -ne 0 ];then
|
|
|
- printf "\nERROR:\tImposible encender el servicio '$1'.\n"
|
|
|
- exit 1
|
|
|
- fi
|
|
|
+ comprobarError $? 901 $1
|
|
|
else
|
|
|
# Intentamos con init.d (SystemV)
|
|
|
printf " (SystemV)..."
|
|
|
/etc/init.d/$1 start > /dev/null 2>&1
|
|
|
- if [ $? -ne 0 ]; then
|
|
|
- printf "\nERROR:\tImposible encender el servicio '$1'.\n"
|
|
|
- exit 1
|
|
|
- fi
|
|
|
+ comprobarError $? 901 $1
|
|
|
fi
|
|
|
# Intentamos habilitar en el arranque (Upstart)
|
|
|
which update-rc.d > /dev/null 2>&1
|
|
|
if [ $? -eq 0 ];then
|
|
|
update-rc.d $1 enable
|
|
|
- if [ $? -ne 0 ];then
|
|
|
- printf "\nERROR:\tImposible habilitar servicio '$1' durante el arranque.\n"
|
|
|
- exit 1
|
|
|
- fi
|
|
|
+ comprobarError $? 902 $1
|
|
|
else
|
|
|
# Intentamos habilitar en el arranque (SystemV)
|
|
|
which chkconfig > /dev/null 2>&1
|
|
|
if [ $? -eq 0 ];then
|
|
|
chkconfig $1 on
|
|
|
- if [ $? -ne 0 ];then
|
|
|
- printf "\nERROR:\tImposible habilitar servicio '$1' durante el arranque.\n"
|
|
|
- exit 1
|
|
|
- fi
|
|
|
+ comprobarError $? 902 $1
|
|
|
else
|
|
|
# ¿Qué mas opciones nos quedan?
|
|
|
- printf "\nERROR:\tImposible habilitar servicio '$1' durante el arranque.\n"
|
|
|
- exit 1
|
|
|
+ comprobarError 1 902 $1
|
|
|
fi
|
|
|
fi
|
|
|
fi
|