Przeglądaj źródła

Zastąpienie w instalatorze MySQL -> MariaDB

Mariusz Muszyński 8 lat temu
rodzic
commit
bd7da4790e
1 zmienionych plików z 40 dodań i 38 usunięć
  1. 40 38
      SE/superedit-INSTALL_SES_PROCESY_A.php

+ 40 - 38
SE/superedit-INSTALL_SES_PROCESY_A.php

@@ -82,7 +82,7 @@ function SSH_COMMAND_REMOTE_CREATE($username,$host,$password,$command) {
 //return '/opt/local/bin/sshpass -p '.$password.' ssh -o StrictHostKeyChecking=no '.$username.'@'.$host.' <<EOF
 return '/opt/local/bin/sshpass -p '.str_replace('!','\!',$password).' ssh -o StrictHostKeyChecking=no -o ConnectTimeout=99999 '.$username.'@'.$host.' -t <<EOF
 sudo -n su -
-declare PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/local/bin:/opt/local/lib/mysql55/bin/:/Applications/Server.app/Contents/ServerRoot/usr/sbin/
+declare PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/local/bin:/opt/local/lib/mariadb/bin/:/Applications/Server.app/Contents/ServerRoot/usr/sbin/
 
 '.$command.'
 
@@ -98,7 +98,7 @@ EOF';
 
 function execOnParallels($command) {
     $exec_command = 'ssh -o StrictHostKeyChecking=no -o ConnectTimeout=99999 arkadiuszbinder@parallels.biall-net.pl -t <<EOF
-        declare PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/local/bin:/opt/local/lib/mysql55/bin/:/Applications/Server.app/Contents/ServerRoot/usr/sbin/
+        declare PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/local/bin:/opt/local/lib/mariadb/bin/:/Applications/Server.app/Contents/ServerRoot/usr/sbin/
         '.$command.'
         EOF';
     $result = shell_exec($exec_command);
@@ -119,7 +119,8 @@ function INSTALL_GETCOMMANDS($ADMIN_USERNAME,$SERVER_ADDRESS_IP,$ADMIN_USERNAME_
  $cmd[]['rsh']=' pmset autorestart 1'; //automatyczny restart po awarii zasilania
  $cmd[]['rsh']='/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw '.substr($ADMIN_USERNAME_PASSWD,0,6).' -restart -agent -privs -all'; //wlaczenie vnc z haslem 6 liter hasla glownego
  $cmd[]['rsh']='/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -configure -users '.$ADMIN_USERNAME.' -allowAccessFor -specifiedUsers  -configure -restart -agent -privs -all'; //dostep do remote desktop dla glownego admina
-
+ $cmd[]['rsh']='grep "alias SE" /etc/bashrc || echo "alias SE=\'cd /Library/Server/Web/Data/Sites/Default/SE\'" >> /etc/bashrc || echo OK';
+ $cmd[]['rsh']='defaults write /Library/Preferences/com.apple.screensaver loginWindowIdleTime 0 || echo OK';
 
 // @2014-08 firewall konfiguracja dla OSX anchora org.procesy5 \'$'\n - newline if you want to use in sed in MAC
 //dodanie anchorow do filtrowania
@@ -605,7 +606,7 @@ function INSTALL_GETCOMMANDS_XSL_ENGINES($ADMIN_USERNAME,$SERVER_ADDRESS_IP,$ADM
 }
 
 function INSTALL_GETCOMMANDS_COMP_PORT($ADMIN_USERNAME,$SERVER_ADDRESS_IP,$ADMIN_USERNAME_PASSWD,$SERVER_MOUNT_POINT_ROOT,$SERVER_ADDRESS,$SERVER_ADDRESS_LDAP_DC,$SERVER_ADDRESS_SHORT,$INSTALL_ROOT,$REMOTE_FOLDER_ROOT,$ADMIN_USERNAME_L1,$ADMIN_USERNAME_L1_PASS,$ADMIN_USERNAME_DIRECTORY,$ADMIN_USERNAME_INITIAL_PASSWD,$BACKUP_USB_DEVICE,$SERVER_VERSION) {
-//komendy do stworzenia komponentu dot MYSQL
+//komendy do stworzenia komponentu dot MARIADB
  $cmd[]['rsh']='cat /etc/sudoers |grep "'.$ADMIN_USERNAME.' ALL = NOPASSWD: /usr/bin/su" || echo "'.$ADMIN_USERNAME.' ALL = NOPASSWD: /usr/bin/su
  " >> /etc/sudoers;
  cat /etc/sudoers |grep "'.$ADMIN_USERNAME.' ALL = NOPASSWD: /usr/bin/su"';
@@ -642,7 +643,7 @@ $cmd[]['rsh']='which mysqldump || exit 0 &&   echo "select 1+1;" | mysql -h127.0
 //ewentualna proba upgrejdowania instniejacego portu
 
 
-//TO MOVE TO INSTALL_GETCOMMANDS_COMP_PORT_MYSQL
+//TO MOVE TO INSTALL_GETCOMMANDS_COMP_PORT_MARIADB
 if($SERVER_VERSION=='10.9Maverick') $cmd[]['rsh']="gcc 2>&1 |grep 'no input files' || echo 'You should install console-tools manually in server  - type in console gcc'";
 //@2014-10 really needed??? if($SERVER_VERSION=='10.8MountainLion') $cmd[]['scp']=array('/Library/Server/Web/Data/Sites/Default/SE/se-dev-pl/stuff/xcode462_cltools_10_86938259a.dmg','/tmp/xcode462_cltools_10_86938259a.dmg');
 //@2014-10 really needed??? if($SERVER_VERSION=='10.8MountainLion') $cmd[]['rsh']='hdiutil mount /tmp/xcode462_cltools_10_86938259a.dmg -mountpoint /Volumes/xcodetools';
@@ -676,7 +677,7 @@ if($SERVER_VERSION=='10.9Maverick') $cmd[]['rsh']="gcc 2>&1 |grep 'no input file
 
 
  $cmd[]['rsh']='xcode-select --install && '.tell_user_gui_error('zainstaluj komponenty XCODE i ponow instalacje').' && exit 1 || echo PASSED'; //@2015-11-01 - TODO do wytestowania a.binder
- $cmd[]['rsh']='mysql_ver=`port installed active 2>/dev/null|grep mysql55-server|awk "{print $2}"|cut -d "." -f 3|cut -d "_" -f 1`; if [ -z "${mysql_ver}" ]; then echo PASSED; else [ ${mysql_ver} -lt 48 ] && '.tell_user_gui_error('Dokonaj ręcznej aktualizacji bazy mysql zgodnie z krokiem procesu 5390 i ponów instalację.').' && exit 1 || echo PASSED; fi';
+ $cmd[]['rsh']='mysql_ver=`port installed active 2>/dev/null|grep mariadb-server|awk "{print $2}"|cut -d "." -f 3|cut -d "_" -f 1`; if [ -z "${mysql_ver}" ]; then echo PASSED; else [ ${mysql_ver} -lt 48 ] && '.tell_user_gui_error('Dokonaj ręcznej aktualizacji bazy mysql zgodnie z krokiem procesu 5390 i ponów instalację.').' && exit 1 || echo PASSED; fi';
  $cmd[]['rsh']='port selfupdate || echo OK ';
  $cmd[]['rsh']='port upgrade outdated || echo "Nothing to upgrade"';
  $cmd[]['rsh']='port selfupdate';
@@ -725,13 +726,13 @@ $cmd[]['rsh']='serveradmin stop web && serveradmin start web';
 
 
 //@2015-10-25 bindera: problemy po upgrade portow z niedzialajacym mysql - skip-networking- wykonanie instrukcji czyszczacych ten problem
-	$cmd[]['rsh']='cat /opt/local/etc/mysql55/macports-default.cnf |grep "skip-networking" |grep -v "#" && (
-	sed -i.bak "s/skip-networking/#skip-networking/"  /opt/local/etc/mysql55/macports-default.cnf
+	$cmd[]['rsh']="cat /opt/local/etc/mariadb/my.cnf |grep '^!include /opt/local/etc/mariadb/macports-default.cnf' && (
+	sed -i.bak '!include /opt/local/etc/mariadb/macports-default.cnf/#!include /opt/local/etc/mariadb/macports-default.cnf/'  /opt/local/etc/mariadb/my.cnf
 	killall mysqld
-	) || echo OK';
+	) || echo OK";
 
 
-//EOF TO MOVE TO INSTALL_GETCOMMANDS_COMP_PORT_MYSQL
+//EOF TO MOVE TO INSTALL_GETCOMMANDS_COMP_PORT_MARIADB
  $cmd[]['rsh']='cat /etc/paths |grep "/opt/local/bin" || echo "/opt/local/bin" >>/etc/paths';
  $cmd[]['rsh']=' grep "/opt/local/bin" /etc/paths || echo "/opt/local/bin" >>/etc/paths'; //dodanie do sciezek
  $cmd[]['rsh']=" sed  -i.bak  \"s/PS1='\\\\\h:/PS1='\\\\\H:/g\" /etc/bashrc"; //zmiana wyswietlania kurosra hosta
@@ -1126,19 +1127,20 @@ return $cmd;
 
 
 
-function INSTALL_GETCOMMANDS_MYSQL55($ADMIN_USERNAME,$SERVER_ADDRESS_IP,$ADMIN_USERNAME_PASSWD,$SERVER_MOUNT_POINT_ROOT,$SERVER_ADDRESS,$SERVER_ADDRESS_LDAP_DC,$SERVER_ADDRESS_SHORT,$INSTALL_ROOT,$REMOTE_FOLDER_ROOT,$ADMIN_USERNAME_L1,$ADMIN_USERNAME_L1_PASS,$ADMIN_USERNAME_DIRECTORY,$ADMIN_USERNAME_INITIAL_PASSWD,$BACKUP_USB_DEVICE,$SERVER_VERSION) {
+function INSTALL_GETCOMMANDS_MARIADB($ADMIN_USERNAME,$SERVER_ADDRESS_IP,$ADMIN_USERNAME_PASSWD,$SERVER_MOUNT_POINT_ROOT,$SERVER_ADDRESS,$SERVER_ADDRESS_LDAP_DC,$SERVER_ADDRESS_SHORT,$INSTALL_ROOT,$REMOTE_FOLDER_ROOT,$ADMIN_USERNAME_L1,$ADMIN_USERNAME_L1_PASS,$ADMIN_USERNAME_DIRECTORY,$ADMIN_USERNAME_INITIAL_PASSWD,$BACKUP_USB_DEVICE,$SERVER_VERSION) {
 
-//! MYSQL SERVER INSTALACJA
- $cmd[]['rsh']='port -N install mysql55-server';
- $cmd[]['rsh']='sudo -u _mysql /opt/local/lib/mysql55/bin/mysql_install_db';
- $cmd[]['rsh']='sed -i.bak "s/<key>Disabled<\/key>/<key>Enabled<\/key>/"  /Library/LaunchDaemons/org.macports.mysql55-server.plist'; //zmieniam inita do launchctl aby sam z siebie sie odpalal
+//! MARIADB SERVER INSTALACJA
+ $cmd[]['rsh']='port installed 2 >/dev/null | grep "mysql.*server" && { '.tell_user_gui_error("Wykryto zainstalowany MySQL. Wymagany ręczne upgrade do MariaDB. Instalacja przerwana.").'; exit 1; }';
+ $cmd[]['rsh']='port -N install mariadb-server';
+ $cmd[]['rsh']='sudo -u _mysql /opt/local/lib/mariadb/bin/mysql_install_db';
+ $cmd[]['rsh']='sed -i.bak "s/<key>Disabled<\/key>/<key>Enabled<\/key>/"  /Library/LaunchDaemons/org.macports.mariadb-server.plist'; //zmieniam inita do launchctl aby sam z siebie sie odpalal
  $cmd[]['rsh']='echo "[client]
 default-character-set = latin2
 
 [mysql]
 #default-character-set = latin2
 
-[mysqld]
+[mariadb]
 log-error=/var/log/mysql.log
 #default-character-set = utf8
 collation-server = latin2_general_ci
@@ -1146,23 +1148,23 @@ init-connect=\'SET NAMES  latin2\'
 character-set-server =  latin2
 max_allowed_packet = 600M
 " > /etc/my.cnf';
- $cmd[]['rsh']='cat /opt/local/etc/mysql55/macports-default.cnf |grep "skip-networking" |grep -v "#" && sed -i.bak "s/skip-networking/#skip-networking/"  /opt/local/etc/mysql55/macports-default.cnf || echo OK';
+ $cmd[]['rsh']="cat /opt/local/etc/mariadb/my.cnf | grep '^!include /opt/local/etc/mariadb/macports-default.cnf' && sed -i.bak '!include /opt/local/etc/mariadb/macports-default.cnf/#!include /opt/local/etc/mariadb/macports-default.cnf/'  /opt/local/etc/mariadb/my.cnf || echo OK';
 //@2014-09-13 - to jest niepewne i raczej niedziala z LOWER CASE TABLES!
-//$cmd[]['rsh']='cat /opt/local/etc/mysql55/my.cnf | grep "lower_case_table_names = 0" || echo "
+//$cmd[]['rsh']='cat /opt/local/etc/mariadb/my.cnf | grep "lower_case_table_names = 0" || echo "
 // [mysqld]
 // lower_case_table_names = 0"  >> /opt/local/etc/mysql55/my.cnf';
- $cmd[]['rsh']='mkdir -p /opt/local/var/run/mysql5/';
- $cmd[]['rsh']='launchctl load -w /Library/LaunchDaemons/org.macports.mysql55-server.plist';
- $cmd[]['rsh']='echo "/opt/local/lib/mysql55/bin" >>/etc/paths';
+// $cmd[]['rsh']='mkdir -p /opt/local/var/run/mysql5/';
+ $cmd[]['rsh']='launchctl load -w /Library/LaunchDaemons/org.macports.mariadb-server.plist';
+ $cmd[]['rsh']='grep "mariadb" /etc/paths || echo "/opt/local/lib/mariadb/bin" >>/etc/paths';
  //@2013-10-03 tu jest bug : - recznie wyzwolona ta sama komenda ruszyła, a skrypt zwrócił error  - sprawdzam z zamiana wykrzyknikow w hasle!
- $cmd[]['rsh']='sleep 10 && mysql -h127.0.0.1 -uroot -p\''.$ADMIN_USERNAME_PASSWD.'\' -e \'select 1+1;\' || /opt/local/lib/mysql55/bin/mysqladmin password \''.$ADMIN_USERNAME_PASSWD.'\' ';
- $cmd[]['rsh']='[ -d /var/mysql ] || {
-  mkdir -p /var/mysql && [ -e /var/mysql/mysql.sock ] || ln -s /opt/local/var/run/mysql55/mysqld.sock /var/mysql/mysql.sock
-  }';
+ $cmd[]['rsh']='sleep 10 && mysql -h127.0.0.1 -uroot -p\''.$ADMIN_USERNAME_PASSWD.'\' -e \'select 1+1;\' || /opt/local/lib/mariadb/bin/mysqladmin password \''.$ADMIN_USERNAME_PASSWD.'\' ';
+// $cmd[]['rsh']='[ -d /var/mysql ] || {
+//  mkdir -p /var/mysql && [ -e /var/mysql/mysql.sock ] || ln -s /opt/local/var/run/mariadb/mysqld.sock /var/mysql/mysql.sock
+//  }';
 
 
- $cmd[]['rsh']='/opt/local/lib/mysql55/bin/mysql -h127.0.0.1 -uroot -p\''.$ADMIN_USERNAME_PASSWD.'\' -e "SET PASSWORD FOR \'root\'@\'localhost\' = PASSWORD(\''.$ADMIN_USERNAME_PASSWD.'\')" ';  //@2015-02-28 problem dlugosci hasla - musi byc tak ustawione
-//! MYSQL SERVER INSTALACJA EOF
+ $cmd[]['rsh']='/opt/local/lib/mariadb/bin/mysql -h127.0.0.1 -uroot -p\''.$ADMIN_USERNAME_PASSWD.'\' -e "SET PASSWORD FOR \'root\'@\'localhost\' = PASSWORD(\''.$ADMIN_USERNAME_PASSWD.'\')" ';  //@2015-02-28 problem dlugosci hasla - musi byc tak ustawione
+//! MARIADB SERVER INSTALACJA EOF
 
 
 
@@ -2065,7 +2067,7 @@ database=\"SES_USERS2\"
 
  //! inicjalizacja bazy SQIX_STRUCTURE_DB_SYNC
   $cmd[]['scp_root']=array(''.$INSTALL_ROOT.'/config/.config_base_structure_dump.sql','/Library/Server/Web/Data/Sites/Default/SE/config/');   //todo do przeniesienia wyzej - struktura musi byc wygenerowana
-  $cmd[]['rsh']='/opt/local/lib/mysql55/bin/mysql -h127.0.0.1 -uroot -p\''.$ADMIN_USERNAME_PASSWD.'\' '.$REMOTE_FOLDER_ROOT.' < /Library/Server/Web/Data/Sites/Default/SE/config/.config_base_structure_dump.sql'; //TODO powinno byc osobne miejsce do bazy i struktur bo kasuje to baze zamiast aktualizacji!
+  $cmd[]['rsh']='/opt/local/lib/mariadb/bin/mysql -h127.0.0.1 -uroot -p\''.$ADMIN_USERNAME_PASSWD.'\' '.$REMOTE_FOLDER_ROOT.' < /Library/Server/Web/Data/Sites/Default/SE/config/.config_base_structure_dump.sql'; //TODO powinno byc osobne miejsce do bazy i struktur bo kasuje to baze zamiast aktualizacji!
 
 // TODO @2014-06-16 sprawdzic dodawanie struktur DB_STRUCTURES_CREATE - czy jest potrzebne - imho TAK
  $cmd[]['rsh']='php -r"include(\'/Library/Server/Web/Data/Sites/Default/SE/superedit-DB_PROCEDURES_CREATE.php\') ; DB_PROCEDURES_CREATE(); " '.$SERVER_ADDRESS.' ';
@@ -2428,7 +2430,7 @@ function MAKE_PKG_COMPONENT($h,$installer_dir_tar,$installer_url,$installer_tmp,
     mkdir($installer_dir."/install.executed_ok",0777);
 
     echo "<br> I mkdir ".$installer_dir;
-    $ins_sh="#!/bin/sh \nshopt -s dotglob\n  echo 'instaluje i robie LS' >>/tmp/loginst \n ls >>/tmp/loginst \n declare PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/local/bin:/opt/local/lib/mysql55/bin/:/Applications/Server.app/Contents/ServerRoot/usr/sbin/\n \n";
+    $ins_sh="#!/bin/sh \nshopt -s dotglob\n  echo 'instaluje i robie LS' >>/tmp/loginst \n ls >>/tmp/loginst \n declare PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/local/bin:/opt/local/lib/mariadb/bin/:/Applications/Server.app/Contents/ServerRoot/usr/sbin/\n \n";
     foreach($cmd as $command_id=>$command) {
         if(isset($command['rsh'])) {
             //$exec=SSH_COMMAND_REMOTE_CREATE($h->ADMIN_USERNAME,$h->SERVER_ADDRESS_IP,$h->ADMIN_USERNAME_PASSWD,$command['rsh']);
@@ -2919,15 +2921,15 @@ function INSTALL_SES_PROCESY_A() {
                 $packages['pl.procesy5.INSTALL_GETCOMMANDS_XSL_ENGINES']['xml_choice']['description']='(install and update) Needed tools tools like saxon ';
                 $packages['pl.procesy5.INSTALL_GETCOMMANDS_XSL_ENGINES']['xml_choice']['start_selected']='true';
 
-		//! pakiet: INSTALL_GETCOMMANDS_MYSQL55
-		$packages['pl.procesy5.MYSQL55']['exit_file']=str_replace('.', '_', $h->ID.".MYSQL55_".$h->SERVER_ADDRESS); //czesc nazwy wynikowego pliku .pkg
-		$packages['pl.procesy5.MYSQL55']['installer_dir_name']=$h->ID.".MYSQL55_".$h->SERVER_ADDRESS; //nazwa katalogu w jakim jest przygotowywany pkg
-		$packages['pl.procesy5.MYSQL55']['installer_tmp']="/tmp/pl.procesy5_MYSQL55_".$h->ID.".".$h->SERVER_ADDRESS;  //miejsce do ktorego installer odpakuje wszystko instalator
-		$packages['pl.procesy5.MYSQL55']['CMD_FUNCTION']="INSTALL_GETCOMMANDS_MYSQL55"; //miejsce do ktorego installer odpakuje wszystko instalator
-		$packages['pl.procesy5.MYSQL55']['xml_choice']['visible']='true';
-		$packages['pl.procesy5.MYSQL55']['xml_choice']['title']='(I)Mysql-55';
-		$packages['pl.procesy5.MYSQL55']['xml_choice']['description']='(use for install only) Required Mysql55 database from MacPorts';
-		$packages['pl.procesy5.MYSQL55']['xml_choice']['start_selected']='true';
+		//! pakiet: INSTALL_GETCOMMANDS_MARIADB
+		$packages['pl.procesy5.MARIADB']['exit_file']=str_replace('.', '_', $h->ID.".MARIADB_".$h->SERVER_ADDRESS); //czesc nazwy wynikowego pliku .pkg
+		$packages['pl.procesy5.MARIADB']['installer_dir_name']=$h->ID.".MARIADB_".$h->SERVER_ADDRESS; //nazwa katalogu w jakim jest przygotowywany pkg
+		$packages['pl.procesy5.MARIADB']['installer_tmp']="/tmp/pl.procesy5_MARIADB_".$h->ID.".".$h->SERVER_ADDRESS;  //miejsce do ktorego installer odpakuje wszystko instalator
+		$packages['pl.procesy5.MARIADB']['CMD_FUNCTION']="INSTALL_GETCOMMANDS_MARIADB"; //miejsce do ktorego installer odpakuje wszystko instalator
+		$packages['pl.procesy5.MARIADB']['xml_choice']['visible']='true';
+		$packages['pl.procesy5.MARIADB']['xml_choice']['title']='(I)MariaDB';
+		$packages['pl.procesy5.MARIADB']['xml_choice']['description']='(use for install only) Required MariaDB database from MacPorts';
+		$packages['pl.procesy5.MARIADB']['xml_choice']['start_selected']='true';
 
 		//! pakiet: INSTALL_GETCOMMANDS_POSTGIS
 		$packages['pl.procesy5.POSTGIS']['exit_file']=str_replace('.', '_', $h->ID.".POSTGIS_".$h->SERVER_ADDRESS); //czesc nazwy wynikowego pliku .pkg