Przeglądaj źródła

Instalator update

Piotr Labudda 11 lat temu
rodzic
commit
514483a6e7
2 zmienionych plików z 247 dodań i 81 usunięć
  1. 1 1
      SE/VERSION
  2. 246 80
      SE/superedit-INSTALL_SES_PROCESY_A.php

+ 1 - 1
SE/VERSION

@@ -1 +1 @@
-3.9.9-9
+3.9.9-10

+ 246 - 80
SE/superedit-INSTALL_SES_PROCESY_A.php

@@ -10,7 +10,7 @@
 // NIE TRZEBA SKRYPT SCIAGA - zainstalowane oprgoramowanie MACPORTS
 // TRZEBA W SERVERADMIN RECZNIE ODPALIC OPEN_DIRECTORY!!! - trzeba dobrze ustawic hostname, bo jest uid=diradmin,cn=users,dc=193,dc=34,dc=3,dc=100
 
-echo "<h2>Pamiętaj o konieczności udostępnienia dostępu do bazy SQL na port 3306 [administrator] dla instalowanego serwera dla serwera se.dev.webone.pl (stara sowa), bo inaczej nie zainstaluje się baza danych</h2>";
+echo "<h2>(W przypadku instalacji zdalnej) Pamiętaj o konieczności udostępnienia dostępu do bazy SQL na port 3306 [administrator] dla instalowanego serwera dla serwera se.dev.webone.pl (stara sowa), bo inaczej nie zainstaluje się baza danych</h2>";
 
 
 // powyższe instaluje się tak : 
@@ -45,6 +45,22 @@ echo "<h2>Pamiętaj o konieczności udostępnienia dostępu do bazy SQL na port
 
 
 
+class INSTALL_SES_PROCESY_A {
+	//make option for sgencoder (several domains)  --domain '.$h->SERVER_ADDRESS_SHORT.' -r *.php
+	function get_same_domains_for_install($SERVER_ADDRESS_SHORT) {
+	 	if(strlen($SERVER_ADDRESS_SHORT)==0) die('Error with server address short'); 
+		$res=DB::query("select SERVER_ADDRESS_IP from SES_PROCESY5_A where SERVER_ADDRESS_SHORT='".$SERVER_ADDRESS_SHORT."'");
+		while($h=DB::fetch($res)) {
+			$res2=DB::query("select SERVER_ADDRESS_SHORT from SES_PROCESY5_A where SERVER_ADDRESS_IP='".$h->SERVER_ADDRESS_IP."'");
+			while($h2=DB::fetch($res2)) {
+			 	$domain[]=' --domain '.$h2->SERVER_ADDRESS_SHORT;
+			}
+		}
+		return implode(' ', $domain);
+	}
+}
+
+
 
 function SSH_COMMAND_REMOTE_CREATE($username,$host,$password,$command) {
 
@@ -82,6 +98,19 @@ function INSTALL_GETCOMMANDS($ADMIN_USERNAME,$SERVER_ADDRESS_IP,$ADMIN_USERNAME_
  $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
 
+
+// @2014-08 firewall konfiguracja dla OSX anchora org.procesy5 \'$'\n - newline if you want to use in sed in MAC
+//dodanie anchorow do filtrowania
+
+/* $cmd[]['rsh']='sed -i ".bak" -e \'s/^load anchor "com.apple" from "\/etc\/pf.anchors\/com.apple"/load anchor "org.procesy5" from "/etc/pf.anchors/org.procesy5"
+load anchor "com.apple" from "\/etc\/pf.anchors\/com.apple"/g\' /etc/pf.conf';
+ $cmd[]['rsh']='sed -i ".bak" -e \'s/^anchor "com.apple/*"/anchor "org.procesy5"
+anchor "org.procesy5/*"
+anchor "com.apple/*"/g\' /etc/pf.conf';
+*/
+//todo zrobienie odpowiedniego pliku /etc/pf.anchors/org.procesy5
+
+
 //! deinsalacja ewentualnie zainstalowanego systemu dla reinstalacji
 // $cmd[]['rsh']='echo DEINSTALACJA_EWENTUALNIE_ZAINSTALOWANEG_SYSTEMU';
 // $cmd[]['rsh']='ls /Library/Server/Web/Data/Sites/Default/ |grep -i OfflineIMAP  && rm -R /Library/Server/Web/Data/Sites/Default/OfflineIMAP* || echo PASSED';
@@ -529,6 +558,10 @@ $cmd[]['rsh']='cat /etc/sudoers |grep "_www ALL = NOPASSWD: /usr/sbin/createhome
  " >> /etc/sudoers;
  cat /etc/sudoers |grep "_www ALL = NOPASSWD: /usr/sbin/createhomedir"';
 
+$cmd[]['rsh']='cat /etc/sudoers |grep "_www ALL = NOPASSWD: /sbin/pfctl" || echo "_www ALL = NOPASSWD: /sbin/pfctl
+ " >> /etc/sudoers;
+ cat /etc/sudoers |grep "_www ALL = NOPASSWD: /sbin/pfctl"';
+
 // $cmd[]['rsh']='echo \\\\\$UID';
 // $cmd[]['rsh']='echo "Uruchamiam zdalna procedure instalacji SE " |wall ';
  $cmd[]['rsh']='launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist'; //wyszukowanie plikow
@@ -536,29 +569,43 @@ $cmd[]['rsh']='cat /etc/sudoers |grep "_www ALL = NOPASSWD: /usr/sbin/createhome
 
 //TO MOVE TO INSTALL_GETCOMMANDS_COMP_PORT_MYSQL
 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'";
-if($SERVER_VERSION=='10.8MountainLion') $cmd[]['scp']=array('/Library/Server/Web/Data/Sites/Default/SE/se-dev/stuff/xcode462_cltools_10_86938259a.dmg','/tmp/xcode462_cltools_10_86938259a.dmg');
-if($SERVER_VERSION=='10.8MountainLion') $cmd[]['rsh']='hdiutil mount /tmp/xcode462_cltools_10_86938259a.dmg -mountpoint /Volumes/xcodetools';
-if($SERVER_VERSION=='10.8MountainLion') $cmd[]['rsh']='installer -package /Volumes/xcodetools/Com* -target "/" -verbose';//  $cmd[]['rsh']='installer -package /Volumes/xcodetools/Com* -target "'.$SERVER_MOUNT_POINT_ROOT.'" -verbose';
-if($SERVER_VERSION=='10.8MountainLion')  $cmd[]['scp']=array('/Library/Server/Web/Data/Sites/Default/SE/se-dev/stuff/MacPorts-2.2.0-10.8-MountainLion.pkg','/tmp/MacPorts-2.2.0-10.8-MountainLion.pkg');
-if($SERVER_VERSION=='10.9Maverick')  $cmd[]['rsh']=' gcc -v || { '.tell_user_gui_error("You should run installer again after successfully finished Console Utils / Uruchom ponownie instalacje po pozytywnym zainstalowaniu Console Utils").'
+//@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';
+//@2014-10 really needed??? if($SERVER_VERSION=='10.8MountainLion') $cmd[]['rsh']='installer -package /Volumes/xcodetools/Com* -target "/" -verbose';//  $cmd[]['rsh']='installer -package /Volumes/xcodetools/Com* -target "'.$SERVER_MOUNT_POINT_ROOT.'" -verbose';
+	if($SERVER_VERSION=='10.8MountainLion') {
+		$cmd[]['scp']=array('/Library/Server/Web/Data/Sites/Default/SE/se-dev-pl/stuff/MacPorts-2.2.0-10.8-MountainLion.pkg','/tmp/MacPorts-2.2.0-10.8-MountainLion.pkg');
+		$cmd[]['rsh']='installer -package /tmp/MacPorts-2.2.0-10.8-MountainLion.pkg -target "/" -verbose';//  $cmd[]['rsh']='installer -package /tmp/MacPorts-2.2.0-10.8-MountainLion.pkg -target "'.$SERVER_MOUNT_POINT_ROOT.'" -verbose';
+
+		$cmd[]['rsh']=' gcc -v || { '.tell_user_gui_error("You should run installer again after successfully finished Console Utils / Uruchom ponownie instalacje po pozytywnym zainstalowaniu Console Utils").'
  exit 1
  } ';
+ 	} else if($SERVER_VERSION=='10.10Yosemite') {
+ 	 	 $cmd[]['scp']=array('/Library/Server/Web/Data/Sites/Default/SE/se-dev-pl/stuff/MacPorts-2.3.2-10.10-Yosemite.pkg','/tmp/MacPorts-2.3.2-10.10-Yosemite.pkg');
+	 	 $cmd[]['rsh']='installer -package /tmp/MacPorts-2.3.2-10.10-Yosemite.pkg -target "/" -verbose';
 
-if($SERVER_VERSION=='10.9Maverick')  $cmd[]['scp']=array('/Library/Server/Web/Data/Sites/Default/SE/se-dev-pl/stuff/MacPorts-2.2.1-10.9-Mavericks.pkg','/tmp/MacPorts-2.2.1-10.9-Mavericks.pkg');
-if($SERVER_VERSION=='10.8MountainLion') $cmd[]['rsh']='installer -package /tmp/MacPorts-2.2.0-10.8-MountainLion.pkg -target "/" -verbose';//  $cmd[]['rsh']='installer -package /tmp/MacPorts-2.2.0-10.8-MountainLion.pkg -target "'.$SERVER_MOUNT_POINT_ROOT.'" -verbose';
-if($SERVER_VERSION=='10.9Maverick') $cmd[]['rsh']='installer -package /tmp/MacPorts-2.2.1-10.9-Mavericks.pkg -target "/" -verbose
+ 	} else {
 
-';//  $cmd[]['rsh']='installer -package /tmp/MacPorts-2.2.0-10.8-MountainLion.pkg -target "'.$SERVER_MOUNT_POINT_ROOT.'" -verbose';
+	 	 $cmd[]['scp']=array('/Library/Server/Web/Data/Sites/Default/SE/se-dev-pl/stuff/MacPorts-2.3.2-10.9-Mavericks.pkg','/tmp/MacPorts-2.3.2-10.9-Mavericks.pkg');
+	 	 $cmd[]['rsh']='installer -package /tmp/MacPorts-2.3.2-10.9-Mavericks.pkg -target "/" -verbose
 
+';//  $cmd[]['rsh']='installer -package /tmp/MacPorts-2.2.0-10.8-MountainLion.pkg -target "'.$SERVER_MOUNT_POINT_ROOT.'" -verbose';
+	}
 
 if($SERVER_VERSION=='10.9Maverick') $cmd[]['scp']=array('/Applications/SourceGuardian.app/Contents/Loaders/Mac\ OS\ X/ixed.5.4.dar','/usr/lib/php/extensions/no-debug-non-zts-20100525/');//  $cmd[]['rsh']='installer -package /tmp/MacPorts-2.2.0-10.8-MountainLion.pkg -target "'.$SERVER_MOUNT_POINT_ROOT.'" -verbose';
 if($SERVER_VERSION=='10.9Maverick') $cmd[]['rsh']='cat /etc/php.ini |grep "extension=ixed.5.4.dar" || echo "\nextension=ixed.5.4.dar\n" >> /etc/php.ini';
+
+if($SERVER_VERSION=='10.10Yosemite') $cmd[]['scp']=array('/Applications/SourceGuardian.app/Contents/Loaders/Mac\ OS\ X/ixed.5.5.dar','/usr/lib/php/extensions/no-debug-non-zts-20121212/');//  $cmd[]['rsh']='installer -package /tmp/MacPorts-2.2.0-10.8-MountainLion.pkg -target "'.$SERVER_MOUNT_POINT_ROOT.'" -verbose';
+if($SERVER_VERSION=='10.10Yosemite') $cmd[]['rsh']='cat /etc/php.ini |grep "extension=ixed.5.5.dar" || echo "\nextension=ixed.5.5.dar\n" >> /etc/php.ini';
+
+
 //EOF TO MOVE TO INSTALL_GETCOMMANDS_COMP_PORT_MYSQL
  $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
  $cmd[]['rsh']='which wget || port install wget';
  $cmd[]['rsh']='which joe || port install joe';
+ $cmd[]['rsh']='which gnutar || port install gnutar';
+ $cmd[]['rsh']='ln -s /opt/local/bin/gnutar /usr/sbin/gnutar || echo PASSED';
 
  return $cmd; 
 
@@ -616,10 +663,8 @@ $cmd[]['rsh']='hdiutil unmount /Volumes/PostgreSQL';
 $cmd[]['rsh']='cd /usr/local/pgsql/data';
 $cmd[]['rsh']='sudo -u _postgres /usr/local/pgsql/bin/initdb -U postgres -D /usr/local/pgsql/data --encoding=UTF8 --locale=C || echo PASSED';
 $cmd[]['rsh']='sed -i ".bak" "s/.*listen_address.*#/listen_addresses = \'0.0.0.0\'            #/g" /usr/local/pgsql/data/pg_hba.conf';
+
 $cmd[]['rsh']='grep "host    all             all             0.0.0.0/0            md5"  /usr/local/pgsql/data/pg_hba.conf  || echo \'host    all             all             0.0.0.0/0            md5\' >> /usr/local/pgsql/data/pg_hba.conf';
-$cmd[]['scp_root']=array($INSTALL_ROOT.'/stuff/postgis/org.postgresql.postgres.plist','/Library/LaunchDaemons/org.postgresql.postgres.plist');
-$cmd[]['rsh']='launchctl load /Library/LaunchDaemons/org.postgresql.postgres.plist';
-$cmd[]['rsh']='launchctl start org.postgresql.postgres';
 
 $cmd[]['scp_root']=array($INSTALL_ROOT.'/stuff/postgis/GDAL_Complete-1.11.dmg','/tmp/GDAL_Complete-1.11.dmg');
 $cmd[]['rsh']='hdiutil mount /tmp/GDAL_Complete-1.11.dmg -mountpoint /Volumes/GDAL_Complete';
@@ -637,8 +682,9 @@ $cmd[]['rsh']='hdiutil mount /tmp/JavaForOSX2014-001.dmg -mountpoint /Volumes/Ja
 $cmd[]['rsh']='installer -package "/Volumes/JavaForOSX/JavaForOSX.pkg" -target "/" -verbose';
 $cmd[]['rsh']='hdiutil unmount /Volumes/JavaForOSX';
 
-$cmd[]['rsh']='sudo -u _postgres /usr/local/pgsql/bin/createdb -U postgres -O "'.$ADMIN_USERNAME.'" "'.$REMOTE_FOLDER_ROOT.'" || echo PASSED'; 
 $cmd[]['rsh']='/usr/local/pgsql/bin/psql -U postgres -c "create user root with password \''.$ADMIN_USERNAME_PASSWD.'\'" || echo PASSED';
+
+$cmd[]['rsh']='sudo -u _postgres /usr/local/pgsql/bin/createdb -U postgres -O "root" "'.$REMOTE_FOLDER_ROOT.'" || echo PASSED'; 
 $cmd[]['rsh']='/usr/local/pgsql/bin/psql -U postgres -d "'.$REMOTE_FOLDER_ROOT.'" -c "CREATE EXTENSION postgis;" || echo PASSED';
 $cmd[]['rsh']='/usr/local/pgsql/bin/psql -U postgres -d "'.$REMOTE_FOLDER_ROOT.'" -c "CREATE EXTENSION postgis_topology;" || echo PASSED';
 $cmd[]['rsh']='/usr/local/pgsql/bin/psql -U postgres -d "'.$REMOTE_FOLDER_ROOT.'" -c "CREATE EXTENSION fuzzystrmatch;" || echo PASSED';
@@ -650,8 +696,12 @@ $cmd[]['rsh']='mkdir -p /Library/Server/Web/Data/Sites/Default/pg';
 $cmd[]['scp_root']=array($INSTALL_ROOT.'/stuff/postgis/phpPgAdmin-5.1.zip','/Library/Server/Web/Data/Sites/Default/pg/phpPgAdmin-5.1.zip');
 $cmd[]['rsh']='unzip -o /Library/Server/Web/Data/Sites/Default/pg/phpPgAdmin-5.1.zip -d /Library/Server/Web/Data/Sites/Default/pg';
 $cmd[]['rsh']='mv /Library/Server/Web/Data/Sites/Default/pg/phpPgAdmin-5.1/* /Library/Server/Web/Data/Sites/Default/pg';
-$cmd[]['rsh']='sed -i.bak "s/\\\'extra_login_security\\\'\]\.*=.*true/\\\'extra_login_security\\\'\]\ =\ false/" /Library/Server/Web/Data/Sites/Default/pg/conf/config.inc.php';
+$cmd[]['rsh']='sed -i.bak "s/\\\'extra_login_security\\\'\].*=.*true/\\\'extra_login_security\\\'\]\ =\ false/" /Library/Server/Web/Data/Sites/Default/pg/conf/config.inc.php';
+
 
+$cmd[]['scp_root']=array($INSTALL_ROOT.'/stuff/postgis/org.postgresql.postgres.plist','/Library/LaunchDaemons/org.postgresql.postgres.plist');
+$cmd[]['rsh']='launchctl load /Library/LaunchDaemons/org.postgresql.postgres.plist';
+$cmd[]['rsh']='launchctl start org.postgresql.postgres';
 
 //PGADMIN - to nie pg phpmyadmin!
 //$cmd[]['rsh']='port install wxWidgets-3.0';
@@ -686,8 +736,13 @@ log-error=/var/log/mysql.log
 collation-server = latin2_general_ci
 init-connect=\'SET NAMES  latin2\'
 character-set-server =  latin2
+max_allowed_packet = 600M
 " > /etc/my.cnf';
  $cmd[]['rsh']='sed -i.bak "s/skip-networking/#skip-networking/"  /opt/local/etc/mysql55/macports-default.cnf';
+//@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 "
+ [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';
@@ -699,7 +754,6 @@ character-set-server =  latin2
  $cmd[]['rsh']='/opt/local/lib/mysql55/bin/mysql -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']='which mysqladmin && mysqladmin  -f -uroot -p'.$ADMIN_USERNAME_PASSWD.' drop '.$REMOTE_FOLDER_ROOT.' || echo PASSED ';
 
 
 return $cmd;
@@ -990,30 +1044,103 @@ return $cmd;
  
 
 function INSTALL_GETCOMMANDS_SE($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) {
- $cmd[]['rsh']='test -d /Library/Server/Web/Data/Sites/Default/SE/ && rm -R /Library/Server/Web/Data/Sites/Default/SE || echo PASSED';
+//@2014-09 sqix: po co kasowac - to niebezpieczne?! $cmd[]['rsh']='test -d /Library/Server/Web/Data/Sites/Default/SE/ && rm -R /Library/Server/Web/Data/Sites/Default/SE || echo PASSED';
  //!!! Instalacja i generowanie konfiga - kopiowanie
-  $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/SE'; //zalozenie katalogow
-
+  $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/SE || echo PASSED '; //zalozenie katalogow
+  $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/'.$REMOTE_FOLDER_ROOT.' || echo PASSED '; //zalozenie katalogow
 
   $cmd[]['scp_root']=array($INSTALL_ROOT.'/budynki*','/Library/Server/Web/Data/Sites/Default/SE/');
   $cmd[]['scp_root']=array($INSTALL_ROOT.'/favicon.ico','/Library/Server/Web/Data/Sites/Default/SE/');
   $cmd[]['scp_root']=array($INSTALL_ROOT.'/icon','/Library/Server/Web/Data/Sites/Default/SE/');
+  $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/index* || echo PASSED';
   $cmd[]['scp_root']=array($INSTALL_ROOT.'/index*','/Library/Server/Web/Data/Sites/Default/SE/');  
+  $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/odt2xhtml* || echo PASSED';
   $cmd[]['scp_root']=array($INSTALL_ROOT.'/odt2xhtml*','/Library/Server/Web/Data/Sites/Default/SE/');  
+  $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/procesy5* || echo PASSED';
   $cmd[]['scp_root']=array($INSTALL_ROOT.'/procesy5*','/Library/Server/Web/Data/Sites/Default/SE/');  
+  $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/przypomnij.php || echo PASSED';
+  $cmd[]['scp_root']=array($INSTALL_ROOT.'/przypomnij.php','/Library/Server/Web/Data/Sites/Default/SE/');  
+  $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/se-lib || echo PASSED';
   $cmd[]['scp_root']=array($INSTALL_ROOT.'/se-lib','/Library/Server/Web/Data/Sites/Default/SE/');  
+  $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/session-expire.php || echo PASSED';
   $cmd[]['scp_root']=array($INSTALL_ROOT.'/session-expire.php','/Library/Server/Web/Data/Sites/Default/SE/');  
+  $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/stuff || echo PASSED';
   $cmd[]['scp_root']=array($INSTALL_ROOT.'/stuff','/Library/Server/Web/Data/Sites/Default/SE/');  
+    $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/superedit* || echo PASSED';
   $cmd[]['scp_root']=array($INSTALL_ROOT.'/superedit*','/Library/Server/Web/Data/Sites/Default/SE/');  
   $cmd[]['scp_root']=array($INSTALL_ROOT.'/webdav','/Library/Server/Web/Data/Sites/Default/SE/');  
-  $cmd[]['rsh']='mkdir /Library/Server/Web/Data/Sites/Default/SE/config';
+  $cmd[]['rsh']='mkdir -p /Library/Server/Web/Data/Sites/Default/SE/config';
+  $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/.config_base_structure.php || echo PASSED'; 
+  $cmd[]['scp_root']=array(''.$INSTALL_ROOT.'/.config_base_structure.php','/Library/Server/Web/Data/Sites/Default/SE/');   //todo do przeniesienia wyzej - struktura musi byc wygenerowana
+
+  
   $cmd[]['scp_root']=array($INSTALL_ROOT.'/config/.cnf--column_init*','/Library/Server/Web/Data/Sites/Default/SE/config/');  
   $cmd[]['scp_root']=array($INSTALL_ROOT.'/config/.cnf--external_ids.ini.php*','/Library/Server/Web/Data/Sites/Default/SE/config/');  
-  $cmd[]['scp_root']=array($INSTALL_ROOT.'/config/.cnf--external_ids.ini.php*','/Library/Server/Web/Data/Sites/Default/SE/config/');  
   $cmd[]['scp_root']=array($INSTALL_ROOT.'/.config.php','/Library/Server/Web/Data/Sites/Default/SE/');  
+    $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/procesy || echo PASSED';
   $cmd[]['scp_root']=array($INSTALL_ROOT.'/procesy','/Library/Server/Web/Data/Sites/Default/SE/');  
+    $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/bash_sync_perms.php || echo PASSED';
   $cmd[]['scp_root']=array($INSTALL_ROOT.'/bash_sync_perms.php','/Library/Server/Web/Data/Sites/Default/SE/');
 
+
+
+ /* $cmd[]['rsh']='echo "<?php header(\'Location: https://'.$SERVER_ADDRESS.'/SE\'); ?>" > /Library/Server/Web/Data/Sites/Default/index.php';  // TODO @2014-08-11   
+   */ 
+    $cmd[]['rsh']='echo "<?php header(\'Location: https://\'.\$_SERVER[\'SERVER_NAME\'].\'/SE\');?>" > /Library/Server/Web/Data/Sites/Default/index.php'; 
+
+//$cmd[]['rsh']='uruchomic na serwerze open directory i dodac tam konta roota';
+//$cmd[]['rsh']='skonfigurowac poczte i wlaczyc';
+//$cmd[]['rsh']='skonfigurowac pliki i wlaczyc - razem ze skanami';
+//$cmd[]['rsh']='uruchomic i skonfiugorowac kalendarze (haslo do wysylki poczty musi dzialac i byc konto takie dodane)';
+ $cmd[]['rsh']='sed -i.bak "s/short_open_tag = Off/short_open_tag = On/"  /etc/php.ini '; 
+ $cmd[]['rsh']='sed -i.bak "s/memory_limit =.*/memory_limit = 428M/"  /etc/php.ini '; 
+ $cmd[]['rsh']='sed -i.bak "s/session.gc_maxlifetime =.*/session.gc_maxlifetime = 3600/"  /etc/php.ini '; 
+ $cmd[]['rsh']='sed -i.bak "s/upload_max_filesize =.*/upload_max_filesize = 120M/"  /etc/php.ini '; 
+ $cmd[]['rsh']='sed -i.bak "s/allow_url_include = Off/allow_url_include = On/"  /etc/php.ini'; 
+
+$cmd[]['rsh']='serveradmin settings web:defaultSite:enableServerSideIncludes = yes';
+$cmd[]['rsh']='serveradmin settings web:defaultSite:allowAllOverrides = yes';
+
+$cmd[]['rsh']='serveradmin start web';
+
+
+
+
+$cmd[]['rsh']=' php /Library/Server/Web/Data/Sites/Default/SE/bash_sync_perms.php '.$SERVER_ADDRESS.' addToLaunchctl';
+$cmd[]['rsh']=' launchctl load /Library/LaunchDaemons/pl.biallnet.sync_perms.'.$SERVER_ADDRESS.'.php.plist';
+
+
+
+//odpalenie jabbera dla skroconej domeny servera:
+$cmd[]['rsh']=' test -n "'.$SERVER_ADDRESS_SHORT.'" && serveradmin settings jabber:hostsCommaDelimitedString = "'.$SERVER_ADDRESS.','.$SERVER_ADDRESS_SHORT.'"';
+//odpalenie jabbera::::
+$cmd[]['rsh']=' serveradmin start jabber';
+//odpalenie poczty  dla skroconej domeny servera:
+$cmd[]['rsh']=' test -n "'.$SERVER_ADDRESS_SHORT.'" && serveradmin settings mail:postfix:virtual_domains:_array_index:0 = "'.$SERVER_ADDRESS_SHORT.'"';
+//odpalenie poczty::::
+//$cmd[]['rsh']=' serveradmin settings mail:postfix:message_size_limit_enabled = no'; //wylaczenie limitu poczty
+$cmd[]['rsh']=' serveradmin settings mail:postfix:message_size_limit = 90485760 ' ; //limit 90 mega
+$cmd[]['rsh']=' serveradmin start mail'; 
+//TODO need to reedit MainConf for virtual domains in  /Library/Server/Mail/Config/postfix/main.cf (add hash:)
+// virtual_alias_domains = $virtual_alias_maps hash:/Library/Server/Mail/Config/postfix/virtual_domains
+
+$cmd[]['rsh']=' serveradmin start calendar';
+
+return $cmd;
+}
+
+
+function INSTALL_GETCOMMANDS_SE_DB_DOMAIN_UNINSTALL($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) {
+//always before install mysql (if option to use)
+
+
+return $cmd;
+
+}
+
+function INSTALL_GETCOMMANDS_SE_DB_DOMAIN($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) {
+//after always should be run INSTALL_GETCOMMANDS_SE
+  $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/SE || echo PASSED '; //zalozenie katalogow
   //! .cnf--default_db
   $cmd[]['rsh']=' echo ";<?php
 ;die(); // For further security
@@ -1209,7 +1336,7 @@ $cmd[]['rsh']='echo ";<?php
 ;// default LDAP
 
 version=\"3\"
-host=\"'.$SERVER_ADDRESS.'\"
+host=\"127.0.0.1\"
 ;//port=\"\"
 user=\"'.$ADMIN_USERNAME_DIRECTORY.'\"
 pass=\"'.$ADMIN_USERNAME_PASSWD.'\"
@@ -1229,24 +1356,6 @@ $cmd[]['rsh']='echo "<?php
 
 " > /Library/Server/Web/Data/Sites/Default/SE/config/.config-'.$SERVER_ADDRESS.'.php';
 
-  $cmd[]['rsh']='echo "<?php header(\'Location: https://'.$SERVER_ADDRESS.'/SE\'); ?>" > /Library/Server/Web/Data/Sites/Default/index.php';  
-   
-//$cmd[]['rsh']='uruchomic na serwerze open directory i dodac tam konta roota';
-//$cmd[]['rsh']='skonfigurowac poczte i wlaczyc';
-//$cmd[]['rsh']='skonfigurowac pliki i wlaczyc - razem ze skanami';
-//$cmd[]['rsh']='uruchomic i skonfiugorowac kalendarze (haslo do wysylki poczty musi dzialac i byc konto takie dodane)';
- $cmd[]['rsh']='sed -i.bak "s/short_open_tag = Off/short_open_tag = On/"  /etc/php.ini '; 
- $cmd[]['rsh']='sed -i.bak "s/memory_limit =.*/memory_limit = 428M/"  /etc/php.ini '; 
- $cmd[]['rsh']='sed -i.bak "s/session.gc_maxlifetime =.*/session.gc_maxlifetime = 3600/"  /etc/php.ini '; 
- $cmd[]['rsh']='sed -i.bak "s/upload_max_filesize =.*/upload_max_filesize = 120M/"  /etc/php.ini '; 
- $cmd[]['rsh']='sed -i.bak "s/allow_url_include = Off/allow_url_include = On/"  /etc/php.ini'; 
-
-$cmd[]['rsh']='serveradmin settings web:defaultSite:enableServerSideIncludes = yes';
-$cmd[]['rsh']='serveradmin settings web:defaultSite:allowAllOverrides = yes';
-
-$cmd[]['rsh']='serveradmin start web';
-
-
 
   $cmd[]['rsh']=' echo ";<?php
 ;die(); // For further security
@@ -1262,14 +1371,18 @@ database=\"SES_USERS2\"
 " > /Library/Server/Web/Data/Sites/Default/SE/config/.cnf--import_db-'.$SERVER_ADDRESS.'.ini.php
 '; //todo zmienic to wczesniej
 
+ $cmd[]['rsh']='which mysqladmin && mysqladmin  -f -uroot -p'.$ADMIN_USERNAME_PASSWD.' drop '.$REMOTE_FOLDER_ROOT.' || echo PASSED ';
 
- $cmd[]['scp_root']=array(''.$INSTALL_ROOT.'/.config_base_structure.php','/Library/Server/Web/Data/Sites/Default/SE/');   //todo do przeniesienia wyzej - struktura musi byc wygenerowana
  $cmd[]['rsh']='mysqladmin  -uroot -p'.$ADMIN_USERNAME_PASSWD.' create '.$REMOTE_FOLDER_ROOT.' || echo passed' ; //todo przestawic wczesniej
+ $cmd[]['scp_root']=array(''.$INSTALL_ROOT.'/.config_base_structure.php','/Library/Server/Web/Data/Sites/Default/SE/');   //todo do przeniesienia wyzej - struktura musi byc wygenerowana
 
  //! inicjalizacja bazy SQIX_STRUCTURE_DB_SYNC
   $cmd[]['scp_root']=array(''.$INSTALL_ROOT.'/.config_base_structure_dump.sql','/Library/Server/Web/Data/Sites/Default/SE/');   //todo do przeniesienia wyzej - struktura musi byc wygenerowana
   $cmd[]['rsh']='/opt/local/lib/mysql55/bin/mysql  -uroot -p'.$ADMIN_USERNAME_PASSWD.' '.$REMOTE_FOLDER_ROOT.' < /Library/Server/Web/Data/Sites/Default/SE/.config_base_structure_dump.sql'; //TODO powinno byc osobne miejsce do bazy i struktur bo kasuje to baze zamiast aktualizacji!
 
+ $cmd[]['rsh']=' echo " update CRM_LISTA_ZASOBOW set \\`DESC\\`=\''.$SERVER_ADDRESS.'\' where \\`DESC\\`=\'biuro.biall-net.pl\' and \\`TYPE\\`=\'SERWER\' and ID=1 " |mysql -uroot -p'.$ADMIN_USERNAME_PASSWD.' -D'.$REMOTE_FOLDER_ROOT.' '; //poprawa danych z referencyjnej bazy BIALL-NET
+ $cmd[]['rsh']=' echo " update CRM_LISTA_ZASOBOW set \\`DESC\\`=\''.$REMOTE_FOLDER_ROOT.'\' where \\`DESC\\`=\'SES_USERS2\' and \\`TYPE\\`=\'BAZA_DANYCH\' and ID=2 " |mysql -uroot -p'.$ADMIN_USERNAME_PASSWD.' -D'.$REMOTE_FOLDER_ROOT.' '; //poprawa danych z referencyjnej bazy BIALL-NET
+
 
 // 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.' '; 
@@ -1279,8 +1392,8 @@ database=\"SES_USERS2\"
  $cmd[]['rsh']=' echo " delete from ADMIN_USERS  where ADM_ACCOUNT=\''.$ADMIN_USERNAME_L1.'\'" |mysql -uroot -p'.$ADMIN_USERNAME_PASSWD.' -D'.$REMOTE_FOLDER_ROOT.' '; //zalozenie 1 usera TODO synchronizacja z ldap
  $cmd[]['rsh']=' echo " delete from ADMIN_USERS  where ADM_ACCOUNT=\''.$ADMIN_USERNAME_DIRECTORY.'\'" |mysql -uroot -p'.$ADMIN_USERNAME_PASSWD.' -D'.$REMOTE_FOLDER_ROOT.' '; //zalozenie 1 usera TODO synchronizacja z ldap
 
- $cmd[]['rsh']=' echo " insert into ADMIN_USERS (ADM_ACCOUNT,ADM_ADMIN_LEVEL,ADM_PASSWD) values (\''.$ADMIN_USERNAME_L1.'\',\'1\',\''.$ADMIN_USERNAME_L1_PASS.'\')" |mysql -uroot -p'.$ADMIN_USERNAME_PASSWD.' -D'.$REMOTE_FOLDER_ROOT.' '; //zalozenie 1 usera TODO synchronizacja z ldap
- $cmd[]['rsh']=' echo " insert into ADMIN_USERS (ADM_ACCOUNT,ADM_ADMIN_LEVEL,ADM_PASSWD) values (\''.$ADMIN_USERNAME_DIRECTORY.'\',\'0\',\''.$ADMIN_USERNAME_PASSWD.'\')" |mysql -uroot -p'.$ADMIN_USERNAME_PASSWD.' -D'.$REMOTE_FOLDER_ROOT.' '; //zalozenie 1 usera TODO synchronizacja z ldap
+ $cmd[]['rsh']=' echo " insert into ADMIN_USERS (ADM_ACCOUNT,ADM_ADMIN_LEVEL,ADM_PASSWD,A_STATUS) values (\''.$ADMIN_USERNAME_L1.'\',\'0\',\''.$ADMIN_USERNAME_L1_PASS.'\',\'NORMAL\')" |mysql -uroot -p'.$ADMIN_USERNAME_PASSWD.' -D'.$REMOTE_FOLDER_ROOT.' '; //zalozenie 1 usera TODO synchronizacja z ldap
+ $cmd[]['rsh']=' echo " insert into ADMIN_USERS (ADM_ACCOUNT,ADM_ADMIN_LEVEL,ADM_PASSWD,A_STATUS) values (\''.$ADMIN_USERNAME_DIRECTORY.'\',\'0\',\''.$ADMIN_USERNAME_PASSWD.'\',\'NORMAL\')" |mysql -uroot -p'.$ADMIN_USERNAME_PASSWD.' -D'.$REMOTE_FOLDER_ROOT.' '; //zalozenie 1 usera TODO synchronizacja z ldap
 
  
  /* @2014-03-10 these has been moved to create config_base_structure_dump.sql option - WYKONAJ_REFERENCYJNA_BAZE_DANYCH 
@@ -1314,30 +1427,12 @@ database=\"'.$REMOTE_FOLDER_ROOT.'\"
 ';
 //! dodanie pierwszego usera ADMIN_USERNAME_L1 oraz diradmin
 
-$cmd[]['rsh']=' php /Library/Server/Web/Data/Sites/Default/SE/bash_sync_perms.php '.$SERVER_ADDRESS.' addToLaunchctl';
-$cmd[]['rsh']=' launchctl load /Library/LaunchDaemons/pl.biallnet.sync_perms.php.plist';
-
-
-
-//odpalenie jabbera dla skroconej domeny servera:
-$cmd[]['rsh']=' test -n "'.$SERVER_ADDRESS_SHORT.'" && serveradmin settings jabber:hostsCommaDelimitedString = "'.$SERVER_ADDRESS.','.$SERVER_ADDRESS_SHORT.'"';
-//odpalenie jabbera::::
-$cmd[]['rsh']=' serveradmin start jabber';
-//odpalenie poczty  dla skroconej domeny servera:
-$cmd[]['rsh']=' test -n "'.$SERVER_ADDRESS_SHORT.'" && serveradmin settings mail:postfix:virtual_domains:_array_index:0 = "'.$SERVER_ADDRESS_SHORT.'"';
-//odpalenie poczty::::
-//$cmd[]['rsh']=' serveradmin settings mail:postfix:message_size_limit_enabled = no'; //wylaczenie limitu poczty
-$cmd[]['rsh']=' serveradmin settings mail:postfix:message_size_limit = 90485760 ' ; //limit 90 mega
-$cmd[]['rsh']=' serveradmin start mail'; 
-//TODO need to reedit MainConf for virtual domains in  /Library/Server/Mail/Config/postfix/main.cf (add hash:)
-// virtual_alias_domains = $virtual_alias_maps hash:/Library/Server/Mail/Config/postfix/virtual_domains
-
-$cmd[]['rsh']=' serveradmin start calendar';
-
 return $cmd;
+
 }
 
 
+
 function INSTALL_GETCOMMANDS_MYADMIN($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) {
  $cmd[]['rsh']='test -d /Library/Server/Web/Data/Sites/Default/phpMyAdmin.tar.gz && rm -R /Library/Server/Web/Data/Sites/Default/phpMyAdmin.tar.gz || echo PASSED';
  $cmd[]['rsh']='test -d /Library/Server/Web/Data/Sites/Default/garbage && rm -R /Library/Server/Web/Data/Sites/Default/garbage || echo PASSED';
@@ -1463,12 +1558,11 @@ function MakeCommand($command_id,$command,$installer_tmp,$installer_dir) {
 	fclose($file);
 	chmod($installer_dir."/".$file_sh, 0755); 
 	//$ins_sh.=$command['rsh']."\n\r";
-	DEBUG_S(-3,$command_id.':out of ',array($out,$exit));
+	DEBUG_S(-3,$command_id.':out of ',array($command,$file_sh,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
 	return $ins_sh;
 }
 
 function MAKE_PKG_COMPONENT($h,$installer_dir_tar,$installer_url,$installer_tmp,$cmd,$exit_file,$installer_dir_name,$pkg_id,$encrypt=false) {
-		
 	
 		$UID=$h->ID;
 		$installer_dir=$installer_dir_tar."/".$installer_dir_name; //pakowany katalog z instalatorem
@@ -1497,7 +1591,7 @@ function MAKE_PKG_COMPONENT($h,$installer_dir_tar,$installer_url,$installer_tmp,
 	 			fclose($file);
 	 			chmod($installer_dir."/".$file_sh, 0755); 
 	 			//$ins_sh.=$command['rsh']."\n\r";
-	 			DEBUG_S(-3,$command_id.':out of ',array($out,$exit));
+	 			DEBUG_S(-3,$command_id.':out of ',array($command['rsh'],$installer_dir."/".$file_sh,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
 	 			flush();
 	 		} else if(isset($command['scp'])) {
 	 			//$command_out='/opt/local/bin/sshpass -p '.$h->ADMIN_USERNAME_PASSWD.' /usr/bin/scp -v -3 -o StrictHostKeyChecking=no  '.$command['scp'][0].' '.$h->ADMIN_USERNAME.'@' . $h->SERVER_ADDRESS_IP . ':'.$command['scp'][1];
@@ -1507,12 +1601,20 @@ function MAKE_PKG_COMPONENT($h,$installer_dir_tar,$installer_url,$installer_tmp,
 	 			exec("cp ".$command['scp'][0]." ".$installer_dir."/".$command_id);
 	 			$ins_sh.="mv ".$installer_tmp."/".$command_id."/* ".$command['scp'][1]." \n";
 	 		
+	 		
 	 		} else if(isset($command['scp_root'])) {
 
 				
 				mkdir($installer_dir."/".$command_id,0777);
-	 			exec("cp -r ".$command['scp_root'][0]." ".$installer_dir."/".$command_id);
+	 			$cmd="cp -r ".$command['scp_root'][0]." ".$installer_dir."/".$command_id;
+
+	 			exec($cmd,$out,$exit);
+	 			//@2014-09 tak bylo, ale sie zle instalowalo wiec dajemy cp -a 
 	 			$ins_sh.="mv ".$installer_tmp."/".$command_id."/* ".$command['scp_root'][1]." \n";
+				DEBUG_S(-3,$cmd.':out of ',array($command['scp_root'],$installer_dir."/".$file_sh,$command_id,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
+
+				//$ins_sh.="cp -a ".$installer_tmp."/".$command_id."/* ".$command['scp_root'][1]." \n";
+
 				flush();
 				//set_time_limit(36000);
 	 		}
@@ -1521,7 +1623,11 @@ function MAKE_PKG_COMPONENT($h,$installer_dir_tar,$installer_url,$installer_tmp,
 		}
 		
 			if(($encrypt)) {
-	 			$exec='cd '.$installer_dir.' && /Applications/SourceGuardian.app/Contents/MacOS/sgencoder -b- --domain '.$h->SERVER_ADDRESS_SHORT.' -r *.php -x superedit-DB_PROCEDURES_CREATE.php';
+				//TODO detect several hosts at the same IP address/domain to make it allow to work.
+				// select SERVER_ADDRESS_IP
+	 			//$exec='cd '.$installer_dir.' && /Applications/SourceGuardian.app/Contents/MacOS/sgencoder -b- --domain '.$h->SERVER_ADDRESS_SHORT.' -r *.php -x superedit-DB_PROCEDURES_CREATE.php';
+	 			$exec='cd '.$installer_dir.' && /Applications/SourceGuardian.app/Contents/MacOS/sgencoder -b- '.INSTALL_SES_PROCESY_A::get_same_domains_for_install($h->SERVER_ADDRESS_SHORT).' -r *.php -x superedit-DB_PROCEDURES_CREATE.php -x INI.php -x .config_base_structure.php';
+
 	 			exec($exec,$out,$exit);$out="";$exit="";
 	 			DEBUG_S(-3,'Zakodowanie kodu php/kompilacja z licencja i kluczem',array($exec,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
 	 		}
@@ -1589,12 +1695,18 @@ function INSTALL_SES_PROCESY_A() {
    $REMOTE_FOLDER_ROOT=str_replace(array(".","-"),'_',$h->SERVER_ADDRESS); //also database name!
 
 
+   
+
 
+/*
 	$cmd=INSTALL_GETCOMMANDS($h->ADMIN_USERNAME,$h->SERVER_ADDRESS_IP,$h->ADMIN_USERNAME_PASSWD,$h->SERVER_MOUNT_POINT_ROOT,$h->SERVER_ADDRESS,$h->SERVER_ADDRESS_LDAP_DC,$h->SERVER_ADDRESS_SHORT,$INSTALL_ROOT,$REMOTE_FOLDER_ROOT,$h->ADMIN_USERNAME_L1,$h->ADMIN_USERNAME_L1_PASS,$h->ADMIN_USERNAME_DIRECTORY,$h->ADMIN_USERNAME_INITIAL_PASSWD,$h->BACKUP_USB_DEVICE,$h->SERVER_VERSION);
 
 
 		//! FORMULARZ MENU
+		*/
 		echo "<hr><form method=GET><input type=hidden name=FUNCTION_INIT value=INSTALL_SES_PROCESY_A>
+		<input type=hidden name=ID value=".$_REQUEST['ID'].">";
+		/*
 		    Ustal instalacje <select name=ID>";
 		    $rlres=DB::query('select * from SES_PROCESY5_A where A_STATUS=\'NORMAL\'');
 			while($rl=DB::fetch($rlres)) {
@@ -1617,11 +1729,13 @@ function INSTALL_SES_PROCESY_A() {
 			}
 
 			echo "</select>
+			*/
+			echo "
 			<br><input type=submit name='POBIERZ_XML_AUTOCONFIG_USB'  value='POBIERZ_XML_AUTOCONFIG_USB (TODO nie gotowe @2014-03-10)'> 
 			<br>
 			 <input type=submit name='WYKONAJ_REFERENCYJNA_BAZE_DANYCH'  value='1. WYKONAJ_REFERENCYJNA_BAZE_DANYCH (v@2014-03-15)'>			
 			 <input type=submit name='POBIERZ_INSTALATOR_SH'  value='2. POBIERZ_INSTALATOR_SH (v@2014-03-15)'> <br>
-			 <input type=submit value='INSTALUJ'>
+			 <!-- input type=submit name='INSTALUJ' value='INSTALUJ zdalnie via ssh (nie uzywac@2014-08-11)'-->
 			</form>
 		
 		";
@@ -1644,27 +1758,34 @@ function INSTALL_SES_PROCESY_A() {
 	
 	//! WYKONAJ_REFERENCYJNA_BAZE_DANYCH
 	if(!empty($_REQUEST['WYKONAJ_REFERENCYJNA_BAZE_DANYCH'])) {
+		
+		DEBUG_S(-3,'cmd WYKONAJ_REFERENCYJNA_BAZE_DANYCH params: INSTALL_ROOT ',array($INSTALL_ROOT),__FILE__,__FUNCTION__,__LINE__);
 		set_time_limit(36000);
+	
 		$CONNTEST = DB::getDB('test_db');
 
 		$CONNTEST->query('drop database test');
 		$CONNTEST->query('create database test');
 		$exec='php -r"include(\''.$INSTALL_ROOT.'/superedit-SQIX_STRUCTURE_DB_SYNC.php\') ; SQIX_STRUCTURE_DB_SYNC(\'default_db\',\'default_db\',0,\'WYSLIJ_DO_BAZY\',\'CREATE_ZASOBY_STRUCTURES_CONFIG\'); " '.$_SERVER['SERVER_NAME'].' FILTR';	 //fresh create structures
 	 	exec($exec,$out,$exit);
-	 	DEBUG_S(-3,$command_id.':out of ',array($exec,$out,$exit));
- 
+	 	DEBUG_S(-3,$command_id.':out of CREATE_ZASOBY_STRUCTURES_CONFIG',array($exec,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
+
 	 	//zainstalowanie struktur w tabeli test etc
-	 	$out="";$exit="";
-	 	$exec='php -r"include(\''.$INSTALL_ROOT.'/superedit-SQIX_STRUCTURE_DB_SYNC.php\') ; SQIX_STRUCTURE_DB_SYNC(\'test_db\',\'test_db\',0,\'WYSLIJ_DO_BAZY\',\'SYNC_ZASOBY_STRUCTURES_FROM_CONFIG\'); " '.$_SERVER['SERVER_NAME'].' FILTR'; //todo pare razy trzaba powtarzac bo sa bledy
-	 	exec($exec,$out,$exit);	 	DEBUG_S(-3,$command_id.':out of1/4 ',array($exec,$out,$exit));flush(); $out="";$exit="";
-	 	$exec='php -r"include(\''.$INSTALL_ROOT.'/superedit-SQIX_STRUCTURE_DB_SYNC.php\') ; SQIX_STRUCTURE_DB_SYNC(\'test_db\',\'test_db\',0,\'WYSLIJ_DO_BAZY\',\'CREATE_ZASOBY_DATABASE_DESC\',\'3\'); " '.$_SERVER['SERVER_NAME'].' FILTR'; //@2013-10-15 staje recznie ? 
-	 	exec($exec,$out,$exit);	 	DEBUG_S(-3,$command_id.':out of2/3 ',array($exec,$out,$exit));flush();$out="";$exit="";
+	 	$out="";$exit="";															//1$LOCAL_DB_ZASOB_ID,2$REMOTE_DB_ZASOB_ID,3$DATABASE_ROOT_ZASOB_ID,4$CONFIRM_SQL_UPDATE='',5$SYNC_OPTIONS='',6$DEBUG_LEVEL=null,7$SKIP_OPTIONS=null
+	 	$exec='php -r"include(\''.$INSTALL_ROOT.'/superedit-SQIX_STRUCTURE_DB_SYNC.php\') ; SQIX_STRUCTURE_DB_SYNC(\'test_db\',\'test_db\',0,\'WYSLIJ_DO_BAZY\',\'SYNC_ZASOBY_STRUCTURES_FROM_CONFIG\',null,array(\'SKIP-PROCEDURE\',\'SKIP-VIEW\')); " '.$_SERVER['SERVER_NAME'].' FILTR'; //todo pare razy trzaba powtarzac bo sa bledy
+	 	exec($exec,$out,$exit);	 	DEBUG_S(-3,$command_id.':out of1/4 - SYNC_ZASOBY_STRUCTURES_FROM_CONFIG robie baze ze strukt ze skip-procedures ',array($exec,$out,$exit),__FILE__,__FUNCTION__,__LINE__);flush(); $out="";$exit="";
 
-	 	$exec='php -r"include(\''.$INSTALL_ROOT.'/superedit-SQIX_STRUCTURE_DB_SYNC.php\') ; SQIX_STRUCTURE_DB_SYNC(\'default_db\',\'test_db\',0,\'WYSLIJ_DO_BAZY\',\'FROM_ZASOBY_TO_ZASOBY\',\'3\'); " '.$_SERVER['SERVER_NAME'].' %PISM%,%zasob%,%ADMINISTRACJA%'; //import procesow z tagami PISMO
-	 	exec($exec,$out,$exit);	 	DEBUG_S(-3,$command_id.':out of3/4 ',array($exec,$out,$exit));flush();$out="";$exit="";
+	 	$exec='php -r"include(\''.$INSTALL_ROOT.'/superedit-SQIX_STRUCTURE_DB_SYNC.php\') ; SQIX_STRUCTURE_DB_SYNC(\'test_db\',\'test_db\',0,\'WYSLIJ_DO_BAZY\',\'CREATE_ZASOBY_DATABASE_DESC\',\'3\'); " '.$_SERVER['SERVER_NAME'].' FILTR'; //@2013-10-15 staje recznie ? 
+	 	exec($exec,$out,$exit);	 	DEBUG_S(-3,$command_id.':out of2/3 CREATE_ZASOBY_DATABASE_DESC',array($exec,$out,$exit),__FILE__,__FUNCTION__,__LINE__);flush();$out="";$exit="";
+	 	$exec='php -r"include(\''.$INSTALL_ROOT.'/superedit-SQIX_STRUCTURE_DB_SYNC.php\') ; SQIX_STRUCTURE_DB_SYNC(\'default_db\',\'test_db\',0,\'WYSLIJ_DO_BAZY\',\'FROM_ZASOBY_TO_ZASOBY\',\'3\'); " '.$_SERVER['SERVER_NAME'].' %PISM%,%zasob%,%ADMINISTRACJA%,%wyposazenie%'; //import procesow z tagami PISMO
+	 	exec($exec,$out,$exit);	 	DEBUG_S(-3,$command_id.':out of3/4/1 FROM_ZASOBY_TO_ZASOBY',array($exec,$out,$exit),__FILE__,__FUNCTION__,__LINE__);flush();$out="";$exit="";
 	 	//tutaj bedzie TODO mysqldump do katalogu installera i komendy z tym zwiazane musza byc jakies - przekopiuj dumpa, odpal go w bazie glownej 
+	 	$exec='php -r"include(\''.$INSTALL_ROOT.'/superedit-SQIX_STRUCTURE_DB_SYNC.php\') ; SQIX_STRUCTURE_DB_SYNC(\'test_db\',\'test_db\',0,\'WYSLIJ_DO_BAZY\',\'SYNC_ZASOBY_STRUCTURES_FROM_CONFIG\'); " '.$_SERVER['SERVER_NAME'].' FILTR'; //todo pare razy trzaba powtarzac bo sa bledy
+
+	 	exec($exec,$out,$exit);	 	DEBUG_S(-3,$command_id.':out of3/4/2 SYNC_ZASOBY_STRUCTURES_FROM_CONFIG',array($exec,$out,$exit),__FILE__,__FUNCTION__,__LINE__);flush();$out="";$exit="";
+
 	 	$exec="/opt/local/bin/mysqldump5 -utest test >{$INSTALL_ROOT}/.config_base_structure_dump.sql"; //TODO piotr - moze jakies lepsze miejsce na tego dumpa
-	 	exec($exec,$out,$exit);	 	DEBUG_S(-3,$command_id.':out of4/4 ',array($exec,$out,$exit));$out="";$exit="";
+	 	exec($exec,$out,$exit);	 	DEBUG_S(-3,$command_id.':out of4/4 mysqldump',array($exec,$out,$exit),__FILE__,__FUNCTION__,__LINE__);$out="";$exit="";
 
 
 	
@@ -1672,10 +1793,43 @@ function INSTALL_SES_PROCESY_A() {
 	//! POBIERZ_INSTALATOR_SH
 	else if(!empty($_REQUEST['POBIERZ_INSTALATOR_SH'])) 
 	{
-
 		$installer_url="http://biuro.biall-net.pl/PLIKI/SES_PROCESY5_A/"; //miejsce do sciagania instalatora przez WWW
 		$installer_dir_tar="/Library/Server/Web/Data/Sites/Default/PLIKI/SES_PROCESY5_A"; //katalog CWD z ktorego budowana jest instalacja 
 
+		if(!empty($h->VERSION_GIT)) { 
+			//@2014-09-17 od Piotr Labudda
+			//dodałem nową komórkę [19169] VERSION_GIT z typespecialem, listę wersji
+			//odczytuje z repozytorium w katalogu:
+			///Library/Server/Web/Data/Sites/SE-production-git/
+
+			//polecenia do gita:
+
+			//$ git clone /Library/Server/Web/Data/Sites/SE-production-git/ NOWY_KATALOG
+			$cmd='git clone /Library/Server/Web/Data/Sites/SE-production-git/ '.$installer_dir_tar.'/'.$h->ID.'.'.$REMOTE_FOLDER_ROOT.'.git';
+			DEBUG_S(-3,'Running command',$cmd,__FILE__,__FUNCTION__,__LINE__);
+			exec($cmd);
+			//$ cd NOWY_KATALOG
+			//$ git checkout v3.9.4
+			$cmd='cd '.$h->ID.'.'.$REMOTE_FOLDER_ROOT.'.git && git checkout '.$h->VERSION_GIT;
+			DEBUG_S(-3,'Running command',$cmd,__FILE__,__FUNCTION__,__LINE__);
+			exec($cmd);
+
+			//w taki sposób w katalogu NOWY_KATALOG pojawi się katalog SE z podaną wersją
+			//brakuje tylko katalogu SE/config/
+
+			//Można potem usunąć ukryty katalog NOWY_KATALOG/.git bo nie przyda się
+			//do tworzenia paczek i znajdują się w nim dane z plików.
+			
+			$INSTALL_ROOT=$installer_dir_tar.'/'.$h->ID.'.'.$REMOTE_FOLDER_ROOT.'.git/SE'; //nadpisuje nazwe katalogu zrodlowego skad beda kopiowane pliki przez instalatora
+			DEBUG_S(-3,'We make INSTALL_ROOT='.$INSTALL_ROOT,null,__FILE__,__FUNCTION__,__LINE__);
+
+			
+			
+			
+		}
+	
+
+	
 		$packages['pl.procesy5']['exit_file']=str_replace('.', '_', $h->ID.".".$h->SERVER_ADDRESS); //czesc nazwy wynikowego pliku .pkg
 		$packages['pl.procesy5']['installer_dir_name']=$h->ID.".".$h->SERVER_ADDRESS; //nazwa katalogu w jakim jest przygotowywany pkg
 		$packages['pl.procesy5']['installer_tmp']="/tmp/pl.procesy5_".$h->ID.".".$h->SERVER_ADDRESS; //miejsce do ktorego installer odpakuje wszystko instalator
@@ -1734,6 +1888,17 @@ function INSTALL_SES_PROCESY_A() {
 		$packages['pl.procesy5.SE']['xml_choice']['start_selected']='true';	
 		$packages['pl.procesy5.SE']['encrypt']=true;	
 
+		$packages['pl.procesy5.SE_DB_DOMAIN']['exit_file']=str_replace('.', '_', $h->ID.".SE_DB_DOMAIN_".$h->SERVER_ADDRESS); //czesc nazwy wynikowego pliku .pkg
+		$packages['pl.procesy5.SE_DB_DOMAIN']['installer_dir_name']=$h->ID.".SE_DB_DOMAIN_".$h->SERVER_ADDRESS; //nazwa katalogu w jakim jest przygotowywany pkg
+		$packages['pl.procesy5.SE_DB_DOMAIN']['installer_tmp']="/tmp/pl.procesy5_SE_DB_DOMAIN_".$h->ID.".".$h->SERVER_ADDRESS;  //miejsce do ktorego installer odpakuje wszystko instalator
+		$packages['pl.procesy5.SE_DB_DOMAIN']['CMD_FUNCTION']="INSTALL_GETCOMMANDS_SE_DB_DOMAIN"; //miejsce do ktorego installer odpakuje wszystko instalator
+		$packages['pl.procesy5.SE_DB_DOMAIN']['xml_choice']['visible']='true';
+		$packages['pl.procesy5.SE_DB_DOMAIN']['xml_choice']['title']='Procesy5 install db and config for domain one ';	
+		$packages['pl.procesy5.SE_DB_DOMAIN']['xml_choice']['description']='Only installs DB and settings for domain ('.$h->SERVER_ADDRESS.') (used on existing install for add virtual domain)';			
+		$packages['pl.procesy5.SE_DB_DOMAIN']['xml_choice']['start_selected']='true';	
+		$packages['pl.procesy5.SE_DB_DOMAIN']['encrypt']=true;	
+
+
 
 		$packages['pl.procesy5.MYADMIN']['exit_file']=str_replace('.', '_', $h->ID.".MYADMIN_".$h->SERVER_ADDRESS); //czesc nazwy wynikowego pliku .pkg
 		$packages['pl.procesy5.MYADMIN']['installer_dir_name']=$h->ID.".MYADMIN_".$h->SERVER_ADDRESS; //nazwa katalogu w jakim jest przygotowywany pkg
@@ -1753,6 +1918,7 @@ function INSTALL_SES_PROCESY_A() {
 		
 		foreach($packages as $pkg_id=>$pkg_info) {
 			$cmd=$pkg_info['CMD_FUNCTION']($h->ADMIN_USERNAME,$h->SERVER_ADDRESS_IP,$h->ADMIN_USERNAME_PASSWD,$h->SERVER_MOUNT_POINT_ROOT,$h->SERVER_ADDRESS,$h->SERVER_ADDRESS_LDAP_DC,$h->SERVER_ADDRESS_SHORT,$INSTALL_ROOT,$REMOTE_FOLDER_ROOT,$h->ADMIN_USERNAME_L1,$h->ADMIN_USERNAME_L1_PASS,$h->ADMIN_USERNAME_DIRECTORY,$h->ADMIN_USERNAME_INITIAL_PASSWD,$h->BACKUP_USB_DEVICE,$h->SERVER_VERSION);
+			DEBUG_S(-3,'Robie pkg '.$pkg_info['CMD_FUNCTION'],null,__FILE__,__FUNCTION__,__LINE__);
 			MAKE_PKG_COMPONENT($h,$installer_dir_tar,$installer_url,$pkg_info['installer_tmp'],$cmd,$pkg_info['exit_file'],$pkg_info['installer_dir_name'],$pkg_id,$pkg_info['encrypt']);
 			$package_xml['pkg-ref'].='<pkg-ref id="'.$pkg_id.'"/>';
             $package_xml['choices-outline'].='<line choice="'.$pkg_id.'"/>