|
@@ -28,13 +28,13 @@ comprobarError() {
|
|
error="$type $codeNum:\tInstalación interrumpida por el usuario.\n"
|
|
error="$type $codeNum:\tInstalación interrumpida por el usuario.\n"
|
|
;;
|
|
;;
|
|
2)
|
|
2)
|
|
- error="$type $codeNum:\tError interno (seleción express).\n"
|
|
|
|
|
|
+ error="$type $codeNum:\tError interno (selección express).\n"
|
|
;;
|
|
;;
|
|
3)
|
|
3)
|
|
- error="$type $codeNum:\tError interno (seleción avanzada).\n"
|
|
|
|
|
|
+ error="$type $codeNum:\tError interno (selección avanzada).\n"
|
|
;;
|
|
;;
|
|
100)
|
|
100)
|
|
- error="$type $codeNum:\tError interno (seleción del servidor web).\n"
|
|
|
|
|
|
+ error="$type $codeNum:\tError interno (selección del servidor web).\n"
|
|
;;
|
|
;;
|
|
101)
|
|
101)
|
|
error="\n$type $codeNum:\tError al instalar Apache2.\nDetalles:\n$extraInfo\n"
|
|
error="\n$type $codeNum:\tError al instalar Apache2.\nDetalles:\n$extraInfo\n"
|
|
@@ -52,7 +52,7 @@ comprobarError() {
|
|
error="\n$type $codeNum:\tError interno (instalación Nginx).\n"
|
|
error="\n$type $codeNum:\tError interno (instalación Nginx).\n"
|
|
;;
|
|
;;
|
|
200)
|
|
200)
|
|
- error="$type $codeNum:\tError interno (seleción de base de datos).\n"
|
|
|
|
|
|
+ error="$type $codeNum:\tError interno (selección de base de datos).\n"
|
|
;;
|
|
;;
|
|
201)
|
|
201)
|
|
error="\n$type $codeNum:\tError al instalar MySQL.\nDetalles:\n$extraInfo\n"
|
|
error="\n$type $codeNum:\tError al instalar MySQL.\nDetalles:\n$extraInfo\n"
|
|
@@ -93,6 +93,21 @@ comprobarError() {
|
|
212)
|
|
212)
|
|
error="$type $codeNum:\tImposible recargar base de datos.\n"
|
|
error="$type $codeNum:\tImposible recargar base de datos.\n"
|
|
;;
|
|
;;
|
|
|
|
+ 300)
|
|
|
|
+ error="$type $codeNum:\tError interno (instalación PHP).\n"
|
|
|
|
+ ;;
|
|
|
|
+ 301)
|
|
|
|
+ error="$type $codeNum:\tError interno (Web Server no seleccionado).\n"
|
|
|
|
+ ;;
|
|
|
|
+ 302)
|
|
|
|
+ error="$type $codeNum:\tError al instalar PHP.\nDetalles:\n$extraInfo\n"
|
|
|
|
+ ;;
|
|
|
|
+ 303)
|
|
|
|
+ error="$type $codeNum:\tError al instalar Repositorio Remi.\nDetalles:\n$extraInfo\n"
|
|
|
|
+ ;;
|
|
|
|
+ 304)
|
|
|
|
+ error="$type $codeNum:\tSistema Operativo no compatible con PHP-7.2 ($OS $DIST $REV).\n"
|
|
|
|
+ ;;
|
|
800)
|
|
800)
|
|
error="$type $codeNum:\tEs necesario ser root ('sudo $0').\n"
|
|
error="$type $codeNum:\tEs necesario ser root ('sudo $0').\n"
|
|
;;
|
|
;;
|
|
@@ -153,6 +168,7 @@ OSInfo() {
|
|
DIST=$(grep ^NAME= /etc/os-release | cut -d = -f 2 | cut -d '"' -f 2)
|
|
DIST=$(grep ^NAME= /etc/os-release | cut -d = -f 2 | cut -d '"' -f 2)
|
|
REV=$(grep ^VERSION= /etc/os-release | cut -d = -f 2 | cut -d '"' -f 2)
|
|
REV=$(grep ^VERSION= /etc/os-release | cut -d = -f 2 | cut -d '"' -f 2)
|
|
ID_LIKE=$(grep ^ID_LIKE= /etc/os-release | cut -d = -f 2 | cut -d '"' -f 2)
|
|
ID_LIKE=$(grep ^ID_LIKE= /etc/os-release | cut -d = -f 2 | cut -d '"' -f 2)
|
|
|
|
+ VERSION=$(grep ^VERSION_ID= /etc/os-release | cut -d = -f 2 | cur -d '"' -f 2)
|
|
for i in $ID_LIKE; do
|
|
for i in $ID_LIKE; do
|
|
#printf "$i\n"
|
|
#printf "$i\n"
|
|
case $i in
|
|
case $i in
|
|
@@ -299,10 +315,12 @@ mostrarExpress() {
|
|
}
|
|
}
|
|
|
|
|
|
mostrarAvanzada() {
|
|
mostrarAvanzada() {
|
|
- componentes=$(whiptail --title "INSTALACION AVANZADA" --checklist "<ESPACIO>: seleccionar <TAB>: cambiar <FLECHAS>: moverse\n\nEscoge los componentes que quieres instalar:" $((ALTO * 9 / 10)) $((ANCHO * 9 / 10)) 7 \
|
|
|
|
- "WebServer" "Instalar servidor web http/https" ON \
|
|
|
|
- "Database" "Instalar una base de datos SQL" ON \
|
|
|
|
- "PHP" "Instala PHP7" ON \
|
|
|
|
|
|
+ componentes=$(whiptail --title "INSTALACION AVANZADA" --checklist "<ESPACIO>: seleccionar <TAB>: cambiar <FLECHAS>: moverse\n\nEscoge los componentes que quieres instalar:" $((ALTO * 9 / 10)) $((ANCHO * 9 / 10)) 6 \
|
|
|
|
+ "LAMP" "Linux + Apache + MySQL/MariaDB + PHP" ON \
|
|
|
|
+ "LEMP" "Linux + Nginx + MySQL/MariaDB + PHP" ON \
|
|
|
|
+# "WebServer" "Instalar servidor web http/https" ON \
|
|
|
|
+# "Database" "Instalar una base de datos SQL" ON \
|
|
|
|
+# "PHP" "Instala PHP7" ON \
|
|
"SSL/TLS" "Instalar certificados para activar HTTPS" ON \
|
|
"SSL/TLS" "Instalar certificados para activar HTTPS" ON \
|
|
"MediaWiki" "Instalar wiki con MediaWiki" ON \
|
|
"MediaWiki" "Instalar wiki con MediaWiki" ON \
|
|
"Moodle" "Instalar campus virtual con Moodle" ON \
|
|
"Moodle" "Instalar campus virtual con Moodle" ON \
|
|
@@ -312,18 +330,32 @@ mostrarAvanzada() {
|
|
# Mejora: autodetección de componentes ya instalados
|
|
# Mejora: autodetección de componentes ya instalados
|
|
for i in $componentes; do
|
|
for i in $componentes; do
|
|
case $i in
|
|
case $i in
|
|
- \"WebServer\")
|
|
|
|
- mostrarWebServer
|
|
|
|
- progresoTotal=$((progresoTotal + 2))
|
|
|
|
- ;;
|
|
|
|
- \"Database\")
|
|
|
|
|
|
+ \"LAMP\")
|
|
|
|
+ apacheOn=true
|
|
|
|
+ establecerFQDN
|
|
mostrarDatabase
|
|
mostrarDatabase
|
|
- progresoTotal=$((progresoTotal + 2))
|
|
|
|
|
|
+ phpOn=true
|
|
|
|
+ progresoTotal=$((progresoTotal + 6))
|
|
;;
|
|
;;
|
|
- \"PHP\")
|
|
|
|
|
|
+ \"LEMP\")
|
|
|
|
+ nginxOn=true
|
|
|
|
+ establecerFQDN
|
|
|
|
+ mostrarDatabase
|
|
phpOn=true
|
|
phpOn=true
|
|
- progresoTotal=$((progresoTotal + 2))
|
|
|
|
|
|
+ progresoTotal=$((progresoTotal + 6))
|
|
;;
|
|
;;
|
|
|
|
+# \"WebServer\")
|
|
|
|
+# mostrarWebServer
|
|
|
|
+# progresoTotal=$((progresoTotal + 2))
|
|
|
|
+# ;;
|
|
|
|
+# \"Database\")
|
|
|
|
+# mostrarDatabase
|
|
|
|
+# progresoTotal=$((progresoTotal + 2))
|
|
|
|
+# ;;
|
|
|
|
+# \"PHP\")
|
|
|
|
+# phpOn=true
|
|
|
|
+# progresoTotal=$((progresoTotal + 2))
|
|
|
|
+# ;;
|
|
\"SSL/TLS\")
|
|
\"SSL/TLS\")
|
|
# 2 Opciones: Let's Encrypt o Autofirmado
|
|
# 2 Opciones: Let's Encrypt o Autofirmado
|
|
progresoTotal=$((progresoTotal + 2))
|
|
progresoTotal=$((progresoTotal + 2))
|
|
@@ -349,6 +381,7 @@ mostrarAvanzada() {
|
|
}
|
|
}
|
|
|
|
|
|
mostrarWebServer() {
|
|
mostrarWebServer() {
|
|
|
|
+ # DEPRECATED
|
|
webServer=$(whiptail --title "SERVIDOR WEB" --radiolist "<ESPACIO>: seleccionar <TAB>: cambiar <FLECHAS>: moverse\n\nEscoge el servidor web que quieres usar:" $((ALTO * 9 / 10)) $((ANCHO * 9 / 10)) 2 \
|
|
webServer=$(whiptail --title "SERVIDOR WEB" --radiolist "<ESPACIO>: seleccionar <TAB>: cambiar <FLECHAS>: moverse\n\nEscoge el servidor web que quieres usar:" $((ALTO * 9 / 10)) $((ANCHO * 9 / 10)) 2 \
|
|
"Apache" "Instalar el servidor web Apache2" ON \
|
|
"Apache" "Instalar el servidor web Apache2" ON \
|
|
"Nginx" "Instalar el servidor web Nginx" OFF \
|
|
"Nginx" "Instalar el servidor web Nginx" OFF \
|
|
@@ -492,7 +525,7 @@ instalarMySQL() {
|
|
if [ $debianOS = true ];then
|
|
if [ $debianOS = true ];then
|
|
result=$(apt-get -q -y install mysql-server mysql-client 2>&1)
|
|
result=$(apt-get -q -y install mysql-server mysql-client 2>&1)
|
|
comprobarError $? 201 $result
|
|
comprobarError $? 201 $result
|
|
- elif [ $rhelOS = true ]; then
|
|
|
|
|
|
+ elif [ $rhelOS = true ];then
|
|
# MySQL no disponible en RHEL. 2 opciones:
|
|
# MySQL no disponible en RHEL. 2 opciones:
|
|
# 1) Instalar un repositorio adicional
|
|
# 1) Instalar un repositorio adicional
|
|
# 2) No instalar MySQL en distribuciones RHEL
|
|
# 2) No instalar MySQL en distribuciones RHEL
|
|
@@ -506,7 +539,7 @@ instalarMariaDB() {
|
|
if [ $debianOS = true ];then
|
|
if [ $debianOS = true ];then
|
|
result=$(apt-get -q -y install mariadb-server mariadb-client 2>&1)
|
|
result=$(apt-get -q -y install mariadb-server mariadb-client 2>&1)
|
|
comprobarError $? 202 $result
|
|
comprobarError $? 202 $result
|
|
- elif [ $rhelOS = true ]; then
|
|
|
|
|
|
+ elif [ $rhelOS = true ];then
|
|
result=$(yum -y install mariadb-server mariadb 2>&1)
|
|
result=$(yum -y install mariadb-server mariadb 2>&1)
|
|
comprobarError $? 202 $result
|
|
comprobarError $? 202 $result
|
|
else
|
|
else
|
|
@@ -514,6 +547,47 @@ instalarMariaDB() {
|
|
fi
|
|
fi
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+instalarPHP() {
|
|
|
|
+ # Instalamos PHP-7 de forma diferente si es junto a Apache o con Nginx
|
|
|
|
+ if [ $debianOS = true ];then
|
|
|
|
+ if [ $apacheOn = true ]; then
|
|
|
|
+ result=$(apt-get -q -y install php libapache2-mod-php php-mysql php-intl php-mbstring php-mcrypt openssl 2>&1)
|
|
|
|
+ comprobarError $? 302 $result
|
|
|
|
+ elif [ $nginxOn = true ];then
|
|
|
|
+ result=$(apt-get -q -y install php-fpm libapache2-mod-php php-mysql php-intl php-mbstring php-mcrypt openssl 2>&1)
|
|
|
|
+ comprobarError $? 302 $result
|
|
|
|
+ else
|
|
|
|
+ comprobarError 1 301
|
|
|
|
+ fi
|
|
|
|
+ elif [ $rhelOS = true ];then
|
|
|
|
+ # Necesitamos un repositorio adicional para PHP-7 (EPEL-RELEASE)
|
|
|
|
+ result=$(yum -y install epel-release)
|
|
|
|
+ comprobarError $? 103 $result
|
|
|
|
+ # Necesitamos un repositorio adicional para PHP-7 (REMI-RELEASE)
|
|
|
|
+ if [ $VERSION = "7" ];then
|
|
|
|
+ result=$(rpm -U http://rpms.famillecollet.com/enterprise/remi-release-7.rpm 2>&1)
|
|
|
|
+ comprobarError $? 303 $result
|
|
|
|
+ elif [ $VERSION = "6" ];then
|
|
|
|
+ result=$(rpm -U http://rpms.famillecollet.com/enterprise/remi-release-6.rpm 2>&1)
|
|
|
|
+ comprobarError $? 303 $result
|
|
|
|
+ else
|
|
|
|
+ comprobarError 1 304
|
|
|
|
+ fi
|
|
|
|
+ # Instalamos PHP-7.2
|
|
|
|
+ if [ $apacheOn = true ];then
|
|
|
|
+ result=$(yum -y install php72 php72-php-pecl-mysql php72-php-intl php72-php-mbstring php72-php-pecl-mcrypt openssl 2>&1)
|
|
|
|
+ comprobarError 1 302 $result
|
|
|
|
+ elif [ $nginxOn = true ];then
|
|
|
|
+ result=$(yum -y install php72 php72-php-fpm php72-php-pecl-mysql php72-php-intl php72-php-mbstring php72-php-pecl-mcrypt openssl 2>&1)
|
|
|
|
+ comprobarError $? 302 $result
|
|
|
|
+ else
|
|
|
|
+ comprobarError 1 301
|
|
|
|
+ fi
|
|
|
|
+ else
|
|
|
|
+ comprobarError 1 300
|
|
|
|
+ fi
|
|
|
|
+}
|
|
|
|
+
|
|
habilitarServicio() {
|
|
habilitarServicio() {
|
|
# Arrancamos y habilitamos el servicio (con SystemD, Upstart o SystemV)
|
|
# Arrancamos y habilitamos el servicio (con SystemD, Upstart o SystemV)
|
|
# Intentamos con systemctl (SystemD)
|
|
# Intentamos con systemctl (SystemD)
|
|
@@ -619,7 +693,7 @@ mostrarExpress
|
|
printf "Instalando PHP-7..."
|
|
printf "Instalando PHP-7..."
|
|
{
|
|
{
|
|
printf "%s\n" $((100 * progreso / progresoTotal))
|
|
printf "%s\n" $((100 * progreso / progresoTotal))
|
|
- sleep 2
|
|
|
|
|
|
+ instalarPHP
|
|
progreso=$((progreso + 1))
|
|
progreso=$((progreso + 1))
|
|
} > >(whiptail --gauge "Instalando PHP-7..." $((ALTO * 4 / 10)) $((ANCHO * 9 / 10)) $((100 * progreso / progresoTotal)))
|
|
} > >(whiptail --gauge "Instalando PHP-7..." $((ALTO * 4 / 10)) $((ANCHO * 9 / 10)) $((100 * progreso / progresoTotal)))
|
|
printf " OK.\n"
|
|
printf " OK.\n"
|