Explorar el Código

* establecerSQLPasswd(): añadir otro método para cambiar Password
* configurarMediaWiki(): comprobar si ya existe una configuración anterior

Guzmán Castanedo Villalba hace 6 años
padre
commit
2875e52c09
Se han modificado 1 ficheros con 43 adiciones y 37 borrados
  1. 43 37
      install

+ 43 - 37
install

@@ -139,7 +139,8 @@ comprobarError() {
 			error="\n$type $codeNum:\tImposible configurar MediaWiki-1.31.0.\n"
 			;;
 		503)
-			error="\n$type $codeNum:\tImposible configurar Base de Datos para MediaWiki-1.31.0.\n"
+			type="WARNING"
+			error="\n$type $codeNum:\tYa existe una copia configurada de MediaWiki en el dominio: '$extraInfo'."
 			;;
 		601)
 			error="\n$type $codeNum:\tImposible descargar Moodle-3.5.1.\n"
@@ -855,7 +856,11 @@ establecerSQLPasswd() {
 	if [ $? -eq 0 ];then
 		# Establecemos contraseña del usuario root (y desactivamos posibles plugins para forzar login por contraseña)
 		mysql -e "UPDATE mysql.user SET plugin = '', Password = PASSWORD('$sqlPasswd') WHERE User = 'root'" >> $logFile 2>&1
-		comprobarError $? 207
+		if [ $? -ne 0 ];then
+			# Lo intentamos de otra forma (para versiones modernas de mysql)
+			mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '$sqlPasswd'" >> $logFile 2>&1
+			comprobarError $? 207
+		fi
 		# 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')" >> $logFile 2>&1
 		comprobarError $? 208
@@ -1215,50 +1220,51 @@ descargarMediaWiki() {
 	if [ ! -d ./var ];then
 		comprobarError 1 5 "./var"
 	fi
-	#echo -en "Descargando MediaWiki-1.31.0..." | tee -a $logFile
-	#curl -o "./var/mediawiki-1.31.0.tar.gz" "https://releases.wikimedia.org/mediawiki/1.31/mediawiki-1.31.0.tar.gz" >> $logFile 2>&1
 	curl "https://releases.wikimedia.org/mediawiki/1.31/mediawiki-1.31.0.tar.gz" 2>/dev/null | tar -xz -C "./var/"
 	comprobarError $? 501
-	#echo -en " Ok.\n" | tee -a $logFile
 }
 
 configurarMediaWiki() {
 	# Configuramos MediaWiki
 	# Copiamos archivos y permisos
-	cp -R ./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')
-	userDBMW=$(echo $dominioMediaWiki | sed -e 's/\./_/g')
-	php /var/www/$dominioMediaWiki/maintenance/install.php --dbname=$nombreDBMW --dbserver="localhost" --installdbuser=root --installdbpass=$sqlPasswd --dbuser=$userDBMW --dbpass=$sqlPasswd --scriptpath="" --lang=es --pass=$passwdMediaWiki "$nombreMediaWiki" "admin" >> $logFile 2>&1
-	comprobarError $? 502
-	# Configuraciones adicionales
-	sed -i '/$wgEnableEmail =/c\$wgEnableEmail = false;' /var/www/$dominioMediaWiki/LocalSettings.php
-	comprobarError $? 502
-	sed -i '/$wgEnableUploads =/c\$wgEnableUploads = true;' /var/www/$dominioMediaWiki/LocalSettings.php
-	comprobarError $? 502
-	echo -en "\$wgArticlePath = \"/wiki/\$1\";\n" >> /var/www/$dominioMediaWiki/LocalSettings.php
-	echo -en "\$wgUsePathInfo = true;\n" >> /var/www/$dominioMediaWiki/LocalSettings.php
-	echo -en "\$wgGroupPermissions['*']['createaccount'] = false;\n" >> /var/www/$dominioMediaWiki/LocalSettings.php
-	echo -en "\$wgGroupPermissions['*']['edit'] = true;\n" >> /var/www/$dominioMediaWiki/LocalSettings.php
-	echo -en "\$wgGroupPermissions['*']['read'] = true;\n" >> /var/www/$dominioMediaWiki/LocalSettings.php
-	# Actualizamos permisos
-	chown -R $webServerUser:$webServerGroup /var/www/$dominioMediaWiki
-	comprobarError $? 502
-	# Configuramos VirtualHost
-	if [ $nginxOn = true ];then
-		if [ $sslOn = true ];then
-			virtualHost="./etc/nginx/sites-available/mediawiki-ssl.conf"
-		else
-			virtualHost="./etc/nginx/sites-available/mediawiki.conf"
-		fi
-		if [ ! -f $virtualHost ];then
+	if [ ! -f /var/www/$dominioMediaWiki/LocalSettings.php ];then
+		cp -R ./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')
+		userDBMW=$(echo $dominioMediaWiki | sed -e 's/\./_/g')
+		php /var/www/$dominioMediaWiki/maintenance/install.php --dbname=$nombreDBMW --dbserver="localhost" --installdbuser=root --installdbpass=$sqlPasswd --dbuser=$userDBMW --dbpass=$sqlPasswd --scriptpath="" --lang=es --pass=$passwdMediaWiki "$nombreMediaWiki" "admin" >> $logFile 2>&1
+		comprobarError $? 502
+		# Configuraciones adicionales
+		sed -i '/$wgEnableEmail =/c\$wgEnableEmail = false;' /var/www/$dominioMediaWiki/LocalSettings.php
+		comprobarError $? 502
+		sed -i '/$wgEnableUploads =/c\$wgEnableUploads = true;' /var/www/$dominioMediaWiki/LocalSettings.php
+		comprobarError $? 502
+		echo -en "\$wgArticlePath = \"/wiki/\$1\";\n" >> /var/www/$dominioMediaWiki/LocalSettings.php
+		echo -en "\$wgUsePathInfo = true;\n" >> /var/www/$dominioMediaWiki/LocalSettings.php
+		echo -en "\$wgGroupPermissions['*']['createaccount'] = false;\n" >> /var/www/$dominioMediaWiki/LocalSettings.php
+		echo -en "\$wgGroupPermissions['*']['edit'] = true;\n" >> /var/www/$dominioMediaWiki/LocalSettings.php
+		echo -en "\$wgGroupPermissions['*']['read'] = true;\n" >> /var/www/$dominioMediaWiki/LocalSettings.php
+		# Actualizamos permisos
+		chown -R $webServerUser:$webServerGroup /var/www/$dominioMediaWiki
+		comprobarError $? 502
+		# Configuramos VirtualHost
+		if [ $nginxOn = true ];then
+			if [ $sslOn = true ];then
+				virtualHost="./etc/nginx/sites-available/mediawiki-ssl.conf"
+			else
+				virtualHost="./etc/nginx/sites-available/mediawiki.conf"
+			fi
+			if [ ! -f $virtualHost ];then
+				comprobarError $? 502
+			fi
 			comprobarError $? 502
 		fi
-		comprobarError $? 502
+		instalarVirtualHost "/etc/$webServerName/" $dominioMediaWiki $virtualHost
+		unset virtualHost socket
+	else
+		comprobarError 1 503 $dominioMediaWiki
 	fi
-	instalarVirtualHost "/etc/$webServerName/" $dominioMediaWiki $virtualHost
-	unset virtualHost socket
 }
 
 crearDBMediaWiki() {
@@ -1289,7 +1295,7 @@ descargarMoodle() {
 	fi
 	#echo -en "Descargando Moodle-3.5-1..." | tee -a $logFile
 	#curl -o "./var/moodle-3.5.1.tgz" "https://download.moodle.org/download.php/direct/stable35/moodle-latest-35.tgz" >> $logFile 2>&1
-	curl "https://download.moodle.org/download.php/direct/stable35/moodle-latest-35.tgz" 2>$logFile | tar -xz -C "./var/"
+	curl "https://download.moodle.org/download.php/direct/stable35/moodle-latest-35.tgz" 2>/dev/null | tar -xz -C "./var/"
 	comprobarError $? 501
 	#echo -en " OK.\n" | tee -a $logFile
 }