Ver código fonte

* configurarMoodle(): iniciando implementacion
* Añadir más módulos de php: php-curl, php-zip, php-soap, php-xmlrpc

Guzmán Castanedo Villalba 5 anos atrás
pai
commit
0840bc669e
1 arquivos alterados com 49 adições e 28 exclusões
  1. 49 28
      install

+ 49 - 28
install

@@ -145,6 +145,12 @@ comprobarError() {
 		601)
 			error="\n$type $codeNum:\tImposible descargar Moodle-3.5.1.\n"
 			;;
+		602)
+			error="\n$type $codeNum:\tImposible configurar Moodle-3.5.1.\n"
+			;;
+		603)
+			type="WARNING"
+			error="\n$type $codeNum:\tYa existe una copia configurada de Moodle en el dominio: '$extraInfo'."
 		800)
 			error="$type $codeNum:\tEs necesario ser root ('sudo $0').\n"
 			;;
@@ -958,11 +964,11 @@ 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-xml php-apcu php-gd 2>&1)
+			result=$(apt-get -q -y install php libapache2-mod-php php-mysql php-intl php-mbstring php-xml php-apcu php-gd php-curl php-zip php-soap php-xmlrpc 2>&1)
 			comprobarError $? 302 $result
 		elif [ $nginxOn = true ];then
 			phpFPMName="php7.2-fpm"
-			result=$(apt-get -q -y install php-fpm php-mysql php-intl php-mbstring php-xml php-apcu php-gd 2>&1)
+			result=$(apt-get -q -y install php-fpm php-mysql php-intl php-mbstring php-xml php-apcu php-gd php-curl php-zip php-soap php-xmlrpc 2>&1)
 			comprobarError $? 302 $result
 			deshabilitarServicio $phpFPMName
 		else
@@ -995,11 +1001,11 @@ instalarPHP() {
 		comprobarError $? 303 $result
 		# Instalamos PHP-7.2
 		if [ $apacheOn = true ];then
-			result=$(yum -y install php php-mysql php-intl php-mbstring php-mcrypt php-xml php-pecl-apcu php-gd 2>&1)
+			result=$(yum -y install php php-mysql php-intl php-mbstring php-mcrypt php-xml php-pecl-apcu php-gd php-pear-Net-Curl php-pecl-zip php-soap php-xmlrpc 2>&1)
 			comprobarError $? 302 $result
 		elif [ $nginxOn = true ];then
 			phpFPMName="php-fpm"
-			result=$(yum -y install php php-fpm php-mysql php-intl php-mbstring php-mcrypt php-xml php-pecl-apcu php-gd 2>&1)
+			result=$(yum -y install php php-fpm php-mysql php-intl php-mbstring php-mcrypt php-xml php-pecl-apcu php-gd php-pear-Net-Curl php-pecl-zip php-soap php-xmlrpc 2>&1)
 			comprobarError $? 302 $result
 			deshabilitarServicio $phpFPMName
 		else
@@ -1283,9 +1289,9 @@ descargarMediaWiki() {
 
 configurarMediaWiki() {
 	# Configuramos MediaWiki
-	# Copiamos archivos y permisos
 	if [ ! -f /var/www/$dominioMediaWiki/LocalSettings.php ];then
-		cp -R ./var/mediawiki-1.31.0/ /var/www/$dominioMediaWiki
+		# Copiamos archivos
+		cp -fR ./var/mediawiki-1.31.0/ /var/www/$dominioMediaWiki
 		comprobarError $? 502
 		# Configuramos LocalSettings.php (y crea la base de datos por nosotros)
 		nombreDBMW=$(echo $dominioMediaWiki | sed -e 's/\./_/g')
@@ -1329,27 +1335,6 @@ configurarMediaWiki() {
 	fi
 }
 
-crearDBMediaWiki() {
-	# DEPRECATED: Borrar
-	# Creamos una base de datos para MediaWiki
-	dbDir="./etc/db"
-	if [ ! -d $dbDir ];then
-		mkdir $dbDir 2>/dev/null
-		comprobarError $? 503
-	fi
-	dbFile=$dbDir"/mediawiki.sql"
-	nombreDBMW=$(echo $dominioMediaWiki | sed -e 's/\./_/g')
-	userDBMW=$(echo $dominioMediaWiki | sed -e 's/\./_/g')
-	echo -en "CREATE DATABASE IF NOT EXISTS $nombreDBMW;\n" > $dbFile
-	echo -en "GRANT ALL PRIVILEGES ON $nombreDBMW.* TO '$userDBMW'@'localhost' IDENTIFIED BY '$sqlPasswd';\n" >> $dbFile
-	mysql -u root --password=$sqlPasswd < $dbFile
-	control=$?
-	rm -f $dbFile 2>/dev/null
-	comprobarError $? 503
-	comprobarError $control 503
-	unset control dbFile
-}
-
 descargarMoodle() {
 	# Descargar la versión 1.31.0 de MediaWiki
 	if [ ! -d ./var ];then
@@ -1362,6 +1347,42 @@ descargarMoodle() {
 	#echo -en " OK.\n" | tee -a $logFile
 }
 
+configurarMoodle() {
+	# Configurar Moodle
+	if [ ! -f /var/www/$dominioMoodle/config.php ];then
+		# Copiamos archivos
+		cp -fR ./var/moodle/ /var/www/$dominioMoodle
+		comprobarError $? 602
+		# Crear carperta de datos (no online)
+		# Creamos Base de Datos
+		nombreDBMo=$(echo $dominioMoodle | sed -e 's/\./_/g')
+		userDBMo=$(echo $dominioMoodle | sed -e 's/\./_/g')
+		crearDBMoodle
+		# Actualizamos permisos
+		chown -R $webServerUser:$webServerGroup /var/www/$dominioMoodle
+	else
+		comprobarError 1 603 $dominioMoodle
+	fi
+}
+
+crearDBMoodle() {
+	# Creamos una base de datos para Moodle
+	dbDir="./etc/db"
+	if [ ! -d $dbDir ];then
+		mkdir $dbDir 2>/dev/null
+		comprobarError $? 503
+	fi
+	dbFile=$dbDir"/moodle.sql"
+	echo -en "CREATE DATABASE IF NOT EXISTS $nombreDBMo DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\n" > $dbFile
+	echo -en "GRANT ALL PRIVILEGES ON $nombreDBMo.* TO '$userDBMo'@'localhost' IDENTIFIED BY '$sqlPasswd';\n" >> $dbFile
+	mysql -u root --password=$sqlPasswd < $dbFile
+	control=$?
+	rm -f $dbFile 2>/dev/null
+	comprobarError $? 503
+	comprobarError $control 503
+	unset control dbFile dbDir
+}
+
 # Comprobación del sistema e inicialización
 inicializarVariables
 comprobarRoot
@@ -1526,7 +1547,7 @@ mostrarExpress
 		echo -en "Configurando Moodle..." | tee -a $logFile
 #		{
 #			echo -en "%s\n" $((100 * progreso / progresoTotal))
-			sleep 2
+			#configurarMoodle
 			progreso=$((progreso + 1))
 #		} > >(whiptail --gauge "Configurando Moodle..." $((ALTO * 4 / 10)) $((ANCHO * 9 / 10)) $((100 * progreso / progresoTotal)))
 		echo -en " OK.\n" | tee -a $logFile