superedit-INSTALL_SES_PROCESY_A.php 153 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570
  1. <?php
  2. //@2013-10-14 TODO nalezy uzyc jednorazowo hasla ADMIN_USERNAME_INITIAL_PASSWD po czym zmienic ja na haslo ADMIN_USERNAME_PASSWD i go uzywac dalej ?
  3. //@2013-09 SQIX:
  4. //skrypt do instalacji SE na zdalnym serwerze APPLE na podstawie tabeli SES_PROCESY5_A
  5. //wymaga po stronie zdalnej:
  6. //1) Apple Mac mini
  7. // - zainstalowane oprogramowanie Server z włączonym OpenDirectory i zalozonym uzytkownikiem z uprawnieniami administratora ( ADMIN_USERNAME_DIRECTORY )
  8. // - ustawione konto administratora zgodne z parametrami w tabeli ( ADMIN_USERNAME / ADMIN_USERNAME_PASSWD ) - do zalogowania się ssh
  9. // NIE TRZEBA SKRYPT SCIAGA- zainstsalowane oprogramowanie XCODE z zainstalowanymi CONSOLE UTILS
  10. // NIE TRZEBA SKRYPT SCIAGA - zainstalowane oprgoramowanie MACPORTS
  11. // 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
  12. 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>";
  13. // powyższe instaluje się tak :
  14. //+ zakladamy konto w ITUNES na KLIENTA lub korzystamy z konta prezesa energo@me.com!!! TODO do wyjasnienia z zestawem pakietow
  15. //+ Sciagamy xCODE z ITUNES (SKRYPT SAM SCIAGA LOKALNIE GO MAMY)
  16. //+ Aktualizujemy xCODE o ConsoleUtils! (SKRYPT SAM GO SCIAGA)
  17. //Ściągnij MACPORTS (sciaga sie instalacja macowa i dziala prosto)
  18. //#sciagnij z https://distfiles.macports.org/MacPorts/MacPorts-2.1.3-10.8-MountainLion.pkg
  19. //Ustal konto systemowe firmowe podstawowe - nazwa server zawsze , haslo indywodualne - zapisz w kontatkach pod nazwa serwera (TODO)
  20. //Ustal dostęp dla tego konta aby można było się logować SSH oraz VNC , ustal haslo VNC - też zapisz
  21. //PLAN:
  22. //MAC OS 1.0 INSTALACJA SE - Najpierw isntalujemy pakiet SERVER z ITUNES (na poczatku opisane)
  23. //MAC OS 1.01 Konsolowe drobne poprawki
  24. //MAC OS 1.1 INSTALACJA SE -
  25. //MAC OS 1.3 FIREWALL konfiguracja serwera z SE i BAZA DANYCH
  26. //MAC OS 2. instalacja mysql
  27. //MAC OS 2.1 instalacja phpMyAdmin
  28. //MAC OS 3. instalacja webmaila roundcube
  29. //#########!!!! POCZATEK INSTALACJI !!!!
  30. class INSTALL_SES_PROCESY_A {
  31. //make option for sgencoder (several domains) --domain '.$h->SERVER_ADDRESS_SHORT.' -r *.php
  32. function get_same_domains_for_install($SERVER_ADDRESS_SHORT) {
  33. if(strlen($SERVER_ADDRESS_SHORT)==0) die('Error with server address short');
  34. $res=DB::query("select SERVER_ADDRESS_IP from SES_PROCESY5_A where SERVER_ADDRESS_SHORT='".$SERVER_ADDRESS_SHORT."'");
  35. while($h=DB::fetch($res)) {
  36. $res2=DB::query("select SERVER_ADDRESS_SHORT from SES_PROCESY5_A where SERVER_ADDRESS_IP='".$h->SERVER_ADDRESS_IP."'");
  37. while($h2=DB::fetch($res2)) {
  38. $domain[]=' --domain '.$h2->SERVER_ADDRESS_SHORT;
  39. }
  40. $domain[]=' --domain 127.0.0.1';
  41. $domain[]=' --domain localhost';
  42. }
  43. return implode(' ', $domain);
  44. }
  45. }
  46. function SSH_COMMAND_REMOTE_CREATE($username,$host,$password,$command) {
  47. //return '/opt/local/bin/sshpass -p '.$password.' ssh -o StrictHostKeyChecking=no '.$username.'@'.$host.' <<EOF
  48. return '/opt/local/bin/sshpass -p '.str_replace('!','\!',$password).' ssh -o StrictHostKeyChecking=no -o ConnectTimeout=99999 '.$username.'@'.$host.' -t <<EOF
  49. sudo -n su -
  50. 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/
  51. '.$command.'
  52. EOF';
  53. /*return '/opt/local/bin/sshpass -p '.$password.' ssh -o StrictHostKeyChecking=no '.$username.'@'.$host.'
  54. '.$command.'
  55. "';
  56. */
  57. }
  58. function INSTALL_GETCOMMANDS($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) {
  59. // $cmd[]['rsh']='echo "'.$ADMIN_USERNAME_PASSWD.'" | sudo -S su -';
  60. // $cmd[]['rsh']='echo "'.$ADMIN_USERNAME_PASSWD.'" | sudo -S su -';
  61. //$cmd[]['rsh']='shopt -s dotglob'; //przenoszenie plikow z kropka
  62. //! KONFIG POWERM MANAGEMENT i dostepu VNC
  63. $cmd[]['rsh']=' [ -e /Library/Server/Web ] || { '.tell_user_gui_error("Not installed OSX Server").'; exit 1; } '; //sprawdzenie czy ma OSX server - jak nie ma to die
  64. $cmd[]['rsh']=' serveradmin settings dirserv:LDAPSettings:LDAPSearchBase | grep "'.$SERVER_ADDRESS_LDAP_DC.'" || { '.tell_user_gui_error('Not installed correctly Open Directory Service in OSX Server - should be set DC:'.$SERVER_ADDRESS_LDAP_DC).' ; exit 1 ;}'; //sprawdzenie czy ma OSX server - jak nie ma to die
  65. $cmd[]['rsh']=' pmset sleep 0'; //wylaczenie usypiania
  66. $cmd[]['rsh']=' pmset autorestart 1'; //automatyczny restart po awarii zasilania
  67. $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
  68. $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
  69. // @2014-08 firewall konfiguracja dla OSX anchora org.procesy5 \'$'\n - newline if you want to use in sed in MAC
  70. //dodanie anchorow do filtrowania
  71. /* $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"
  72. load anchor "com.apple" from "\/etc\/pf.anchors\/com.apple"/g\' /etc/pf.conf';
  73. $cmd[]['rsh']='sed -i ".bak" -e \'s/^anchor "com.apple/*"/anchor "org.procesy5"
  74. anchor "org.procesy5/*"
  75. anchor "com.apple/*"/g\' /etc/pf.conf';
  76. */
  77. //todo zrobienie odpowiedniego pliku /etc/pf.anchors/org.procesy5
  78. //! deinsalacja ewentualnie zainstalowanego systemu dla reinstalacji
  79. // $cmd[]['rsh']='echo DEINSTALACJA_EWENTUALNIE_ZAINSTALOWANEG_SYSTEMU';
  80. // $cmd[]['rsh']='ls /Library/Server/Web/Data/Sites/Default/ |grep -i OfflineIMAP && rm -R /Library/Server/Web/Data/Sites/Default/OfflineIMAP* || echo PASSED';
  81. // $cmd[]['rsh']='ls /Library/Server/Web/Data/Sites/Default/ |grep -i nconf && rm -R /Library/Server/Web/Data/Sites/Default/nconf* || echo PASSED';
  82. // $cmd[]['rsh']='ls /Library/Server/Web/Data/Sites/Default/ |grep -i icinga && rm -R /Library/Server/Web/Data/Sites/Default/icinga* || echo PASSED';
  83. // $cmd[]['rsh']='which mysqladmin && mysqladmin -f -uroot -p'.$ADMIN_USERNAME_PASSWD.' drop nconf || echo PASSED ';
  84. //! EOF deinsalacja ewentualnie zainstalowanego systemu dla reinstalacji
  85. //$cmd[]['rsh']=INSTALL_GET_INIT_APPLE_XML($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);
  86. /*
  87. //! instalowanie icigny @2014-03-15 sqix: nie supportujemy an ten moment icigny - trzeba ja dopasowac lepiej
  88. $cmd[]['rsh']=' mkdir -p /usr/src/';
  89. $cmd[]['scp_root']=array($INSTALL_ROOT.'/stuff/icinga.tar.gz','/usr/src/');
  90. $cmd[]['rsh']=' cd /usr/src && tar -zxpvf icinga.tar.gz ';
  91. $cmd[]['rsh']=' port install rb-gd';
  92. $cmd[]['rsh']=' port install libdbi';
  93. $cmd[]['rsh']=' port install gd2';
  94. $cmd[]['rsh']='cd /usr/src/icinga-* && ./configure --with-command-group=_www --with-dbi-lib=/opt/local/lib --with-dbi-inc=/opt/local/include --with-web-user=_www --with-icinga-group=_www --with-web-group=_www --with-icinga-user=_www --with-gd-lib=/opt/local/lib --with-gd-inc=/opt/local/include';
  95. $cmd[]['rsh']='cd /usr/src/icinga-* && make all';
  96. $cmd[]['rsh']='cd /usr/src/icinga-* && make install';
  97. $cmd[]['rsh']='cd /usr/src/icinga-* && make install-config';
  98. $cmd[]['rsh']='cd /usr/local/icinga && chown -R _www *';
  99. */
  100. // $cmd[]['rsh']='cd /usr/local/icinga/etc && sed -i.bak s/^authorized_for_system_information=.*/authorized_for_system_information=\*/ cgi.cfg';
  101. // $cmd[]['rsh']='cd /usr/local/icinga/etc && sed -i.bak s/^authorized_for_configuration_information=.*/authorized_for_configuration_information=\*/ cgi.cfg';
  102. // $cmd[]['rsh']='cd /usr/local/icinga/etc && sed -i.bak s/^authorized_for_full_command_resolution=.*/authorized_for_full_command_resolution=\*/ cgi.cfg';
  103. // $cmd[]['rsh']='cd /usr/local/icinga/etc && sed -i.bak s/^authorized_for_system_commands=.*/authorized_for_system_commands=\*/ cgi.cfg';
  104. // $cmd[]['rsh']='cd /usr/local/icinga/etc && sed -i.bak s/^authorized_contactgroup_for_all_services=.*/authorized_contactgroup_for_all_services=\*/ cgi.cfg';
  105. // $cmd[]['rsh']='cd /usr/local/icinga/etc && sed -i.bak s/^authorized_contactgroup_for_all_hosts=.*/authorized_contactgroup_for_all_hosts=\*/ cgi.cfg';
  106. // $cmd[]['rsh']='cd /usr/local/icinga/etc && sed -i.bak s/^authorized_contactgroup_for_all_service_commands=.*/authorized_contactgroup_for_all_service_commands=\*/ cgi.cfg';
  107. // $cmd[]['rsh']='cd /usr/local/icinga/etc && sed -i.bak s/^authorized_contactgroup_for_all_host_commands=.*/authorized_contactgroup_for_all_host_commands=\*/ cgi.cfg';
  108. // $cmd[]['rsh']='cd /usr/local/icinga/etc && sed -i.bak s/^authorized_for_all_service_commands=.*/authorized_for_all_service_commands=\*/ cgi.cfg';
  109. // $cmd[]['rsh']='cd /usr/local/icinga/etc && sed -i.bak s/^authorized_for_all_services=.*/authorized_for_all_services=\*/ cgi.cfg';
  110. // $cmd[]['rsh']='cd /usr/local/icinga/etc && sed -i.bak s/^authorized_for_all_hosts=.*/authorized_for_all_hosts=\*/ cgi.cfg';
  111. // $cmd[]['rsh']='cd /usr/local/icinga/etc && sed -i.bak s/^admin_email=.*/admin_email='.$ADMIN_USERNAME_L1.'@'.$SERVER_ADDRESS_SHORT.'/ icinga.cfg ';
  112. // $cmd[]['rsh']='cd /usr/local/icinga/etc && sed -i.bak s/^admin_pager=.*/admin_pager='.$ADMIN_USERNAME_L1.'@'.$SERVER_ADDRESS_SHORT.'/ icinga.cfg ';
  113. // $cmd[]['rsh']='cd /usr/local/icinga/etc && sed -i.bak s/^cfg_file=/#cfg_file=/g icinga.cfg';
  114. //! icinga pluginy-nagios @2014-03-15 sqix : icinga wywalona z instalatora do czasu przygotowania produktu
  115. // $cmd[]['rsh']=' port install mysql_select';
  116. /*
  117. $cmd[]['scp_root']=array($INSTALL_ROOT.'/stuff/nagios-plugins-1.5.tar.gz','/usr/src/');
  118. $cmd[]['rsh']=' cd /usr/src && tar -zxpvf nagios-plugins-1.5.tar.gz';
  119. $cmd[]['rsh']=' cd /usr/src/nagios-plugins-1.5 && ./configure \
  120. --prefix=/usr/local/icinga --with-cgiurl=/icinga/cgi-bin \
  121. --with-nagios-user=_www --with-nagios-group=_www \
  122. --with-mysql=/opt/local/lib/mysql55/bin/mysql_config';
  123. $cmd[]['rsh']=' cd /usr/src/nagios-plugins-1.5 && make';
  124. $cmd[]['rsh']=' cd /usr/src/nagios-plugins-1.5 && make install ';
  125. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/icinga && \
  126. cd /Library/Server/Web/Data/Sites/Default/icinga && \
  127. ln -s /usr/local/icinga/share/* ./ && \
  128. mkdir cgi-bin && cd cgi-bin && \
  129. ln -s /usr/local/icinga/sbin/* ./ && \
  130. chown -R _www /Library/Server/Web/Data/Sites/Default/icinga
  131. ';
  132. $cmd[]['rsh']='echo \'<?xml version=1.0 encoding=UTF-8?>
  133. <!DOCTYPE plist PUBLIC -//Apple//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd>
  134. <plist version=1.0>
  135. <dict>
  136. <key>Label</key>
  137. <string>org.icinga</string>
  138. <key>ProgramArguments</key>
  139. <array>
  140. <string>/usr/local/icinga/bin/icinga</string>
  141. <string>/usr/local/icinga/etc/icinga.cfg</string>
  142. </array>
  143. <key>KeepAlive</key>
  144. <true/>
  145. </dict>
  146. </plist>\' > /Library/LaunchDaemons/org.icinga.plist';
  147. $cmd[]['rsh']='mkdir /Library/Server/Web/Data/Sites/Default/icinga/rw';
  148. */
  149. // $cmd[]['rsh']='sed -i.bak "s/command_file=.*/command_file=\/Library\/Server\/Web\/Data\/Sites\/Default\/icinga\/rw\/icinga.cmd/g" /usr/local/icinga/etc/icinga.cfg'; //zmieniam inita do launchctl aby sam z siebie sie odpalal
  150. // $cmd[]['rsh']='cd /usr/local/icinga/libexec && chmod +s ./check_dhcp';
  151. // $cmd[]['rsh']='cd /usr/local/icinga/libexec && chown root ./check_dhcp';
  152. // $cmd[]['rsh']='cd /usr/local/icinga/libexec && chmod u+x ./check_dhcp ';
  153. //
  154. // $cmd[]['rsh']='mkdir -p /Library/Server/Web/Data/Sites/Default/icinga/rw';
  155. // $cmd[]['rsh']='touch /Library/Server/Web/Data/Sites/Default/icinga/rw/icinga.cmd';
  156. // $cmd[]['rsh']='chmod 0777 /Library/Server/Web/Data/Sites/Default/icinga/rw';
  157. //
  158. // $cmd[]['rsh']='chown -R _www /usr/local/icinga/';
  159. // $cmd[]['rsh']='launchctl load /Library/LaunchDaemons/org.icinga.plist' ;
  160. // $cmd[]['rsh']='launchctl start org.icinga' ;
  161. /*
  162. //! instalowanie nconfa
  163. $cmd[]['rsh']=' port install p5.16-dbd-mysql';
  164. $cmd[]['rsh']=' port install p5-dbd-mysql';
  165. $cmd[]['rsh']=' mysqladmin -uroot -p'.$ADMIN_USERNAME_PASSWD.' create nconf ';
  166. $cmd[]['scp_root']=array($INSTALL_ROOT.'/stuff/nconf.tar.gz','/Library/Server/Web/Data/Sites/Default');
  167. $cmd[]['rsh']=' cd /Library/Server/Web/Data/Sites/Default && tar -zxpvf nconf.tar.gz';
  168. $cmd[]['rsh']=' echo "<?php
  169. / *
  170. #
  171. # User/Password file for simple authentication
  172. # To disable a user, rows can be commented out with "#"
  173. #
  174. # :: is the delimiter of the fields
  175. # Do NOT use :: (2 colons) in a data field (as name or password etc.) !
  176. #
  177. #username::password::authorization(user|admin)::[user\'s full name (optional)]::
  178. admin::nconf::admin::Administrator::
  179. #user::1234::user::Normal User::
  180. #dummy::9999::user::User Dummy::
  181. #foo::bar::user::foo bar::
  182. #
  183. # using encrypted passwords
  184. #user2::{CRYPT}s7FkIgzTWZia2::user::User with a CRYPT password::
  185. #
  186. * /
  187. ?>
  188. " > /Library/Server/Web/Data/Sites/Default/nconf/config/.file_accounts.php';
  189. $cmd[]['rsh']=' echo "<?php
  190. define(\'AUTH_ENABLED\', \'1\');
  191. define(\'AUTH_TYPE\', \"ldap\");
  192. define(\'AUTH_METHOD\', \'login\');
  193. define(\'BASICAUTH_REALM\', \"NConf Basic Auth\");
  194. define(\'AUTH_FEEDBACK_AS_WELCOME_NAME\', \'1\');
  195. define(\'GROUP_USER\', \"user\");
  196. define(\'GROUP_ADMIN\', \"admin\");
  197. define(\'GROUP_NOBODY\', \"0\");
  198. define(\'LDAP_SERVER\', \"ldap://127.0.0.1\");
  199. # The port to connect to. Not used when using URLs. Defaults to 389. (by PHP)
  200. define(\'LDAP_PORT\', \"389\");
  201. define(\'BASE_DN\', \"uid=<username>,cn=users,'.$SERVER_ADDRESS_LDAP_DC.'\");
  202. define(\'USER_REPLACEMENT\', \"<username>\");
  203. define(\'GROUP_DN\', \"cn=groups,'.$SERVER_ADDRESS_LDAP_DC.'\");
  204. define(\'ADMIN_GROUP\', \"cn=workgroup\");
  205. define(\'USER_GROUP\', \"cn=workgroup\");
  206. define(\'AUTH_SQLQUERY_USER\',null);
  207. define(\'AUTH_SQLQUERY_ADMIN\',null);
  208. ?>" > /Library/Server/Web/Data/Sites/Default/nconf/config/authentication.php';
  209. $cmd[]['rsh']=' echo "
  210. [extract config]
  211. type = local
  212. source_file = \"/Library/Server/Web/Data/Sites/Default/nconf/output/NagiosConfig.tgz\"
  213. target_file = \"/usr/local/icinga/etc/conf.d/\"
  214. action = extract
  215. " > /Library/Server/Web/Data/Sites/Default/nconf/config/deployment.ini';
  216. $cmd[]['rsh']=' echo "<?php
  217. #
  218. # Main MySQL connection parameters
  219. #
  220. define(\'DBHOST\', \'127.0.0.1\');
  221. define(\'DBNAME\', \'nconf\');
  222. define(\'DBUSER\', \'root\');
  223. define(\'DBPASS\', \''.$ADMIN_USERNAME_PASSWD.'\');
  224. ?>" > /Library/Server/Web/Data/Sites/Default/nconf/config/mysql.php';
  225. $cmd[]['rsh']=' echo "<?php
  226. define(\'NCONFDIR\', \'/Library/Server/Web/Data/Sites/Default/nconf\');
  227. define(\'OS_LOGO_PATH\', \"img/logos\");
  228. define(\'NAGIOS_BIN\', \'/usr/local/icinga/bin/icinga\');
  229. define(\'CHECK_UPDATE\', 0);
  230. define(\'TEMPLATE_DIR\', \'nconf_fresh\');
  231. define(\"DEBUG_MODE\", 0); # [0|1]
  232. define(\"DEBUG_GENERATE\", 3); # [1=ERROR|2=WARN|3=INFO|4=DEBUG|5=TRACE]
  233. define(\"DB_NO_WRITES\", 0); # [0|1] Experimental, use with CAUTION!
  234. define(\'REDIRECTING_DELAY\', \"1\");
  235. define(\'ALLOW_DEPLOYMENT\', 1);
  236. \\$STATIC_CONFIG = array(\"static_cfg\");
  237. define(\'CHECK_STATIC_SYNTAX\', 1);
  238. \\$SUPERADMIN_GROUPS = array (\"+admins\");
  239. \\$ONCALL_GROUPS = array ();
  240. define(\'CHECK_STATIC_SYNTAX\', 1);
  241. \\$SUPERADMIN_GROUPS = array (\"+admins\");
  242. \\$ONCALL_GROUPS = array ();
  243. define(\'OVERVIEW_QUANTITY_STANDARD\', \"25\");
  244. define(\'SELECT_VALUE_SEPARATOR\', \"::\");
  245. define(\'PASSWD_ENC\', \"clear\");
  246. define(\'PASSWD_DISPLAY\', 0);
  247. define(\'PASSWD_DISPLAY\', 0);
  248. define(\'PASSWD_HIDDEN_STRING\', \"********\");
  249. ?>" > /Library/Server/Web/Data/Sites/Default/nconf/config/nconf.php';
  250. $cmd[]['rsh']=' cat /Library/Server/Web/Data/Sites/Default/nconf/INSTALL/create_database.sql |mysql -uroot -h127.0.0.1 -Dnconf -p'.$ADMIN_USERNAME_PASSWD;
  251. $cmd[]['rsh']=' rm -R /Library/Server/Web/Data/Sites/Default/nconf/INSTALL*';
  252. $cmd[]['rsh']=' rm -R /Library/Server/Web/Data/Sites/Default/nconf/UPDATE*';
  253. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/nconf/temp/test/ && touch /Library/Server/Web/Data/Sites/Default/nconf/temp/test/Default_collector.cfg' ;
  254. $cmd[]['rsh']=' chmod -R 0777 /Library/Server/Web/Data/Sites/Default/nconf/temp';
  255. $cmd[]['rsh']=' chown -R _www /Library/Server/Web/Data/Sites/Default/nconf';
  256. $cmd[]['rsh']=' echo "
  257. -- dodajemy Kolumne do powiazania numeru zasobu do monitorowania z bazy zasobow, bedzie trzeba miec jeszcze odznaczneie numeru Device
  258. alter ignore table nconf.ConfigItems add A_RECORD_CREATE_AUTHOR char(25) ;
  259. alter ignore table nconf.ConfigAttrs add A_RECORD_CREATE_AUTHOR char(25) ;
  260. alter ignore table nconf.ConfigClasses add A_RECORD_CREATE_AUTHOR char(25) ;
  261. alter ignore table nconf.ConfigValues add A_RECORD_CREATE_AUTHOR char(25) ;
  262. alter ignore table nconf.ItemLinks add A_RECORD_CREATE_AUTHOR char(25) ;
  263. alter ignore table nconf.ConfigItems add CRM_LISTA_ZASOBOW_ID int(11) ;
  264. alter ignore table nconf.ConfigItems add DEVICES_ID int(11) ; " | mysql -D nconf -uroot -p'.$ADMIN_USERNAME_PASSWD ;
  265. $cmd[]['rsh']=' echo "
  266. -- zapytanie do importu z SE zasobow oraz urzadzen do monitoringu do nconfa do icinga
  267. -- w razie co mozna usunac dodane rekordy w taki sposob
  268. delete FROM nconf.\\`ConfigValues\\` WHERE \\`A_RECORD_CREATE_AUTHOR\\` like \'SE_IMPORT\';
  269. delete FROM nconf.\\`ItemLinks\\` WHERE \\`A_RECORD_CREATE_AUTHOR\\` like \'SE_IMPORT\';
  270. delete FROM nconf.\\`ConfigItems\\` WHERE \\`A_RECORD_CREATE_AUTHOR\\` like \'SE_IMPORT\';
  271. delete FROM nconf.\\`ConfigAttrs\\` WHERE \\`A_RECORD_CREATE_AUTHOR\\` like \'SE_IMPORT\';
  272. delete FROM nconf.\\`ConfigClasses\\` WHERE \\`A_RECORD_CREATE_AUTHOR\\` like \'SE_IMPORT\';
  273. -- bierzemy z zasobow dane tylko takie, ktore nie maja powiazanych DEVICES (bierzemy tylko devices)
  274. insert into nconf.ConfigItems ( id_item , fk_id_class , DEVICES_ID,A_RECORD_CREATE_AUTHOR)
  275. select \'\', 1, DEVICES.ID , \'SE_IMPORT\' from '.$REMOTE_FOLDER_ROOT.'.DEVICES
  276. left join nconf.ConfigItems as ConfigItems_2 on ConfigItems_2.DEVICES_ID=DEVICES.ID
  277. where ConfigItems_2.DEVICES_ID is null ;
  278. -- dodajemy zasoby do monitoringu w inteligentny sposob razem z waznymi parametrami - jak to widac w zapytaniu
  279. insert ignore into nconf.ConfigValues ( attr_value, fk_id_attr, fk_id_item, A_RECORD_CREATE_AUTHOR )
  280. select
  281. if( ConfigAttrs.Attr_name like \'%host_name%\'
  282. , left(replace(replace(replace(replace(replace(replace(concat(DEV.ID,\'-\',DEV.T_DEVICE_SERIAL,\'-\',DEV.S_HW,\'[\',\\`CLZ\\`.ID,\'] URZADZENIE \', DEV.T_DEVICE_TYPE,\'-\',CLZ.\\`DESC\\`,\' \'),\',\',\'\'),\'/\',\'\'),\'(\',\'\'),\')\',\'\'),\'%\',\'\'),\'?\',\'\'),50)
  283. ,
  284. if( ConfigAttrs.Attr_name like \'alias\', \\`DEV\\`.\\`S_IP\\`,
  285. if( ConfigAttrs.Attr_name like \'address\', \\`DEV\\`.\\`S_IP\\`,
  286. if( ConfigAttrs.Attr_name like \'host_is_collector\',\'no\',\'\')
  287. )
  288. )
  289. )
  290. , ConfigAttrs.id_attr
  291. , ConfigItems.id_item ,\'SE_IMPORT\'
  292. from se_feromedia24_com.DEVICES as DEV
  293. left join '.$REMOTE_FOLDER_ROOT.'.CRM_LISTA_ZASOBOW as CLZ on CLZ.ID=DEV.CRM_LISTA_ZASOBOW_ID
  294. left join nconf.ConfigAttrs on ConfigAttrs.Attr_name
  295. in (\'host_name\',\'alias\',\'address\',\'notes\',\'notes_url\',\'host_is_collector\',\'action_url\',\'max_check_attempts\',\'check_interval\',\'retry_interval\',\'first_notification_delay\',\'notification_interval\',\'notification_options\',\'active_checks_enabled\',\'passive_checks_enabled\',\'notifications_enabled\',\'check_freshness\',\'freshness_threshold\') and ConfigAttrs.fk_id_class=\'1\'
  296. left join nconf.ConfigItems as ConfigItems on ConfigItems.DEVICES_ID=DEV.ID
  297. -- left join '.$REMOTE_FOLDER_ROOT.'.DEVICES as DEVICES on DEVICES.CRM_LISTA_ZASOBOW_ID=CLZ.ID
  298. where DEV.S_IP like \'%_\';
  299. -- dodajemy potrzebne wpisy odnosnie klasy monitorowania
  300. insert ignore into nconf.ItemLinks ( fk_id_item,fk_item_linked2,fk_id_attr, A_RECORD_CREATE_AUTHOR )
  301. select ConfigItems.id_item , \'1\' , ConfigAttrs.id_attr , \'SE_IMPORT\' from nconf.ConfigItems
  302. left join nconf.ConfigAttrs on ConfigAttrs.attr_name=\'monitored_by\' and ConfigAttrs.fk_id_class=\'1\'
  303. where ConfigItems.DEVICES_ID>0 ;
  304. -- kolejny istotny parametr
  305. insert ignore into nconf.ItemLinks ( fk_id_item,fk_item_linked2,fk_id_attr , A_RECORD_CREATE_AUTHOR)
  306. select ConfigItems.id_item , ConfigValues.fk_id_item , ConfigAttrs.id_attr , \'SE_IMPORT\' from nconf.ConfigItems
  307. left join nconf.ConfigAttrs on ConfigAttrs.attr_name=\'parents\' and ConfigAttrs.fk_id_class=\'1\'
  308. left join nconf.ConfigAttrs as ConfigAttrs2 on ConfigAttrs2.attr_name=\'host_name\' and ConfigAttrs.fk_id_class=\'1\'
  309. left join nconf.ConfigValues on ConfigValues.attr_value=\'localhost\' and fk_id_attr=ConfigAttrs2.id_attr
  310. where ConfigItems.DEVICES_ID>0 and ConfigValues.fk_id_item is not null;
  311. -- # OS domyslnie LINUX 18 , trzeba wziac z ConfigClasses config_class=\'os\' -> id_class, i poszukac ConfigItems.id_item;
  312. insert ignore into nconf.ItemLinks ( fk_id_item,fk_item_linked2,fk_id_attr, A_RECORD_CREATE_AUTHOR )
  313. select ConfigItems.id_item , ConfigItems2.id_item , ConfigAttrs.id_attr , \'SE_IMPORT\' from nconf.ConfigItems
  314. left join nconf.ConfigAttrs on ConfigAttrs.attr_name=\'os\' and ConfigAttrs.fk_id_class=\'1\'
  315. left join nconf.ConfigClasses on ConfigClasses.config_class=ConfigAttrs.attr_name
  316. left join nconf.ConfigItems as ConfigItems2 on ConfigItems2.fk_id_class=ConfigClasses.id_class
  317. where ConfigItems.DEVICES_ID>0
  318. group by ConfigItems.id_item
  319. ;
  320. -- #host-preset==75 , trzeba wziac z ConfigClasses config_class=\'os\' -> id_class, i poszukac ConfigItems.id_item;
  321. insert ignore into nconf.ItemLinks ( fk_id_item,fk_item_linked2,fk_id_attr, A_RECORD_CREATE_AUTHOR )
  322. select ConfigItems.id_item , ConfigItems2.id_item , ConfigAttrs.id_attr ,\'SE_IMPORT\' from nconf.ConfigItems
  323. left join nconf.ConfigAttrs on ConfigAttrs.attr_name=\'host-preset\' and ConfigAttrs.fk_id_class=\'1\'
  324. left join nconf.ConfigClasses on ConfigClasses.config_class=ConfigAttrs.attr_name
  325. left join nconf.ConfigItems as ConfigItems2 on ConfigItems2.fk_id_class=ConfigClasses.id_class
  326. where ConfigItems.DEVICES_ID>0
  327. group by ConfigItems.id_item;
  328. -- #check_period==19 , trzeba wziac kakis time_period z Classes;
  329. insert ignore into nconf.ItemLinks ( fk_id_item,fk_item_linked2,fk_id_attr , A_RECORD_CREATE_AUTHOR)
  330. select ConfigItems.id_item , ConfigItems2.id_item , ConfigAttrs.id_attr ,\'SE_IMPORT\' from nconf.ConfigItems
  331. left join nconf.ConfigAttrs on ConfigAttrs.attr_name=\'check_period\' and ConfigAttrs.fk_id_class=\'1\'
  332. left join nconf.ConfigClasses on ConfigClasses.config_class=\'timeperiod\'
  333. left join nconf.ConfigItems as ConfigItems2 on ConfigItems2.fk_id_class=ConfigClasses.id_class
  334. where ConfigItems.DEVICES_ID>0
  335. group by ConfigItems.id_item;
  336. -- #contact_groups==22 ,
  337. insert ignore into nconf.ItemLinks ( fk_id_item,fk_item_linked2,fk_id_attr, A_RECORD_CREATE_AUTHOR )
  338. select ConfigItems.id_item , ConfigItems2.id_item , ConfigAttrs.id_attr,\'SE_IMPORT\' from nconf.ConfigItems
  339. left join nconf.ConfigAttrs on ConfigAttrs.attr_name=\'contact_groups\' and ConfigAttrs.fk_id_class=\'1\'
  340. left join nconf.ConfigClasses on ConfigClasses.config_class=\'contactgroup\'
  341. left join nconf.ConfigItems as ConfigItems2 on ConfigItems2.fk_id_class=ConfigClasses.id_class
  342. where ConfigItems.DEVICES_ID>0
  343. group by ConfigItems.id_item;
  344. -- # use host template(s) to inherit properties from - szukamy ConfigValues.attr_value=\'linux-server\' z atrybutem 108(name)
  345. insert ignore into nconf.ItemLinks ( fk_id_item,fk_item_linked2,fk_id_attr, A_RECORD_CREATE_AUTHOR)
  346. select ConfigItems.id_item , ConfigItems2.id_item , ConfigAttrs.id_attr,\'SE_IMPORT\'
  347. from nconf.ConfigItems
  348. left join nconf.ConfigAttrs on ConfigAttrs.attr_name=\'use\' and ConfigAttrs.fk_id_class=\'1\'
  349. left join nconf.ConfigAttrs as ConfigAttrs_name on ConfigAttrs_name.attr_name=\'name\' and ConfigAttrs_name.fk_id_class=\'14\'
  350. left join nconf.ConfigValues on ConfigValues.attr_value=\'linux-server\' and ConfigValues.fk_id_attr=ConfigAttrs_name.id_attr
  351. left join nconf.ConfigClasses on ConfigClasses.config_class=\'host-template\'
  352. left join nconf.ConfigItems as ConfigItems2 on ConfigItems2.fk_id_class=ConfigClasses.id_class and ConfigValues.fk_id_item=ConfigItems2.id_item
  353. where ConfigItems.DEVICES_ID>0
  354. group by ConfigItems.id_item;
  355. -- bierzemy z zasobow dane tylko takie, ktore nie maja powiazanych DEVICES (TODO trzeba dorzucic obsluge tego)
  356. insert into nconf.ConfigItems ( id_item , fk_id_class , CRM_LISTA_ZASOBOW_ID , A_RECORD_CREATE_AUTHOR)
  357. select \'\', 1, CRM_LISTA_ZASOBOW.ID ,\'SE_IMPORT\' from '.$REMOTE_FOLDER_ROOT.'.CRM_LISTA_ZASOBOW
  358. left join nconf.ConfigItems as ConfigItems_2 on ConfigItems_2.CRM_LISTA_ZASOBOW_ID=CRM_LISTA_ZASOBOW.ID
  359. where CRM_LISTA_ZASOBOW.\\`TYPE\\`=\'SERWER\' and ConfigItems_2.CRM_LISTA_ZASOBOW_ID is null ;
  360. -- dodajemy zasoby do monitoringu w inteligentny sposob razem z waznymi parametrami - jak to widac w zapytaniu
  361. insert ignore into nconf.ConfigValues ( attr_value, fk_id_attr, fk_id_item , A_RECORD_CREATE_AUTHOR
  362. )
  363. select
  364. if( ConfigAttrs.Attr_name like \'%host_name%\'
  365. , left(replace(replace(replace(replace(replace(replace(concat(\'[\',\\`CLZ\\`.ID,\'] SERWER \',CLZ.\\`DESC\\`,\' \',CLZ.\\`OPIS\\`),\',\',\'\'),\'/\',\'\'),\'(\',\'\'),\')\',\'\'),\'%\',\'\'),\'?\',\'\'),40)
  366. ,
  367. if( ConfigAttrs.Attr_name like \'alias\', \\`CLZ\\`.\\`DESC\\`,
  368. if( ConfigAttrs.Attr_name like \'address\', \\`CLZ\\`.\\`DESC\\`,
  369. if( ConfigAttrs.Attr_name like \'host_is_collector\',\'no\',\'\')
  370. )
  371. )
  372. )
  373. , ConfigAttrs.id_attr
  374. , ConfigItems.id_item , \'SE_IMPORT\'
  375. from '.$REMOTE_FOLDER_ROOT.'.CRM_LISTA_ZASOBOW as CLZ
  376. left join nconf.ConfigAttrs on ConfigAttrs.Attr_name
  377. in (\'host_name\',\'alias\',\'address\',\'notes\',\'notes_url\',\'host_is_collector\',\'action_url\',\'max_check_attempts\',\'check_interval\',\'retry_interval\',\'first_notification_delay\',\'notification_interval\',\'notification_options\',\'active_checks_enabled\',\'passive_checks_enabled\',\'notifications_enabled\',\'check_freshness\',\'freshness_threshold\') and ConfigAttrs.fk_id_class=\'1\'
  378. left join nconf.ConfigItems as ConfigItems on ConfigItems.CRM_LISTA_ZASOBOW_ID=CLZ.ID
  379. left join '.$REMOTE_FOLDER_ROOT.'.DEVICES as DEVICES on DEVICES.CRM_LISTA_ZASOBOW_ID=CLZ.ID
  380. where CLZ.\\`TYPE\\`=\'SERWER\' and DEVICES.CRM_LISTA_ZASOBOW_ID is NULL;
  381. -- dodajemy potrzebne wpisy odnosnie klasy monitorowania
  382. insert ignore into nconf.ItemLinks ( fk_id_item,fk_item_linked2,fk_id_attr , A_RECORD_CREATE_AUTHOR
  383. )
  384. select ConfigItems.id_item , \'1\' , ConfigAttrs.id_attr , \'SE_IMPORT\' from nconf.ConfigItems
  385. left join nconf.ConfigAttrs on ConfigAttrs.attr_name=\'monitored_by\' and ConfigAttrs.fk_id_class=\'1\'
  386. where ConfigItems.CRM_LISTA_ZASOBOW_ID>0 ;
  387. -- kolejny istotny parametr
  388. insert ignore into nconf.ItemLinks ( fk_id_item,fk_item_linked2,fk_id_attr , A_RECORD_CREATE_AUTHOR
  389. )
  390. select ConfigItems.id_item , ConfigValues.fk_id_item , ConfigAttrs.id_attr , \'SE_IMPORT\' from nconf.ConfigItems
  391. left join nconf.ConfigAttrs on ConfigAttrs.attr_name=\'parents\' and ConfigAttrs.fk_id_class=\'1\'
  392. left join nconf.ConfigAttrs as ConfigAttrs2 on ConfigAttrs2.attr_name=\'host_name\' and ConfigAttrs.fk_id_class=\'1\'
  393. left join nconf.ConfigValues on ConfigValues.attr_value=\'localhost\' and fk_id_attr=ConfigAttrs2.id_attr
  394. where ConfigItems.CRM_LISTA_ZASOBOW_ID>0 and ConfigValues.fk_id_item is not null;
  395. -- # OS domyslnie LINUX 18 , trzeba wziac z ConfigClasses config_class=\'os\' -> id_class, i poszukac ConfigItems.id_item;
  396. insert ignore into nconf.ItemLinks ( fk_id_item,fk_item_linked2,fk_id_attr , A_RECORD_CREATE_AUTHOR
  397. )
  398. select ConfigItems.id_item , ConfigItems2.id_item , ConfigAttrs.id_attr ,\'SE_IMPORT\' from nconf.ConfigItems
  399. left join nconf.ConfigAttrs on ConfigAttrs.attr_name=\'os\' and ConfigAttrs.fk_id_class=\'1\'
  400. left join nconf.ConfigClasses on ConfigClasses.config_class=ConfigAttrs.attr_name
  401. left join nconf.ConfigItems as ConfigItems2 on ConfigItems2.fk_id_class=ConfigClasses.id_class
  402. where ConfigItems.CRM_LISTA_ZASOBOW_ID>0
  403. group by ConfigItems.id_item
  404. ;
  405. -- #host-preset==75 , trzeba wziac z ConfigClasses config_class=\'os\' -> id_class, i poszukac ConfigItems.id_item;
  406. insert ignore into nconf.ItemLinks ( fk_id_item,fk_item_linked2,fk_id_attr , A_RECORD_CREATE_AUTHOR
  407. )
  408. select ConfigItems.id_item , ConfigItems2.id_item , ConfigAttrs.id_attr ,\'SE_IMPORT\' from nconf.ConfigItems
  409. left join nconf.ConfigAttrs on ConfigAttrs.attr_name=\'host-preset\' and ConfigAttrs.fk_id_class=\'1\'
  410. left join nconf.ConfigClasses on ConfigClasses.config_class=ConfigAttrs.attr_name
  411. left join nconf.ConfigItems as ConfigItems2 on ConfigItems2.fk_id_class=ConfigClasses.id_class
  412. where ConfigItems.CRM_LISTA_ZASOBOW_ID>0
  413. group by ConfigItems.id_item;
  414. -- #check_period==19 , trzeba wziac kakis time_period z Classes;
  415. insert ignore into nconf.ItemLinks ( fk_id_item,fk_item_linked2,fk_id_attr , A_RECORD_CREATE_AUTHOR
  416. )
  417. select ConfigItems.id_item , ConfigItems2.id_item , ConfigAttrs.id_attr ,\'SE_IMPORT\' from nconf.ConfigItems
  418. left join nconf.ConfigAttrs on ConfigAttrs.attr_name=\'check_period\' and ConfigAttrs.fk_id_class=\'1\'
  419. left join nconf.ConfigClasses on ConfigClasses.config_class=\'timeperiod\'
  420. left join nconf.ConfigItems as ConfigItems2 on ConfigItems2.fk_id_class=ConfigClasses.id_class
  421. where ConfigItems.CRM_LISTA_ZASOBOW_ID>0
  422. group by ConfigItems.id_item;
  423. -- #contact_groups==22 ,
  424. insert ignore into nconf.ItemLinks ( fk_id_item,fk_item_linked2,fk_id_attr , A_RECORD_CREATE_AUTHOR
  425. )
  426. select ConfigItems.id_item , ConfigItems2.id_item , ConfigAttrs.id_attr ,\'SE_IMPORT\' from nconf.ConfigItems
  427. left join nconf.ConfigAttrs on ConfigAttrs.attr_name=\'contact_groups\' and ConfigAttrs.fk_id_class=\'1\'
  428. left join nconf.ConfigClasses on ConfigClasses.config_class=\'contactgroup\'
  429. left join nconf.ConfigItems as ConfigItems2 on ConfigItems2.fk_id_class=ConfigClasses.id_class
  430. where ConfigItems.CRM_LISTA_ZASOBOW_ID>0
  431. group by ConfigItems.id_item;
  432. -- # use host template(s) to inherit properties from - szukamy ConfigValues.attr_value=\'linux-server\' z atrybutem 108(name)
  433. insert ignore into nconf.ItemLinks ( fk_id_item,fk_item_linked2,fk_id_attr , A_RECORD_CREATE_AUTHOR
  434. )
  435. select ConfigItems.id_item , ConfigItems2.id_item , ConfigAttrs.id_attr ,\'SE_IMPORT\'
  436. from nconf.ConfigItems
  437. left join nconf.ConfigAttrs on ConfigAttrs.attr_name=\'use\' and ConfigAttrs.fk_id_class=\'1\'
  438. left join nconf.ConfigAttrs as ConfigAttrs_name on ConfigAttrs_name.attr_name=\'name\' and ConfigAttrs_name.fk_id_class=\'14\'
  439. left join nconf.ConfigValues on ConfigValues.attr_value=\'linux-server\' and ConfigValues.fk_id_attr=ConfigAttrs_name.id_attr
  440. left join nconf.ConfigClasses on ConfigClasses.config_class=\'host-template\'
  441. left join nconf.ConfigItems as ConfigItems2 on ConfigItems2.fk_id_class=ConfigClasses.id_class and ConfigValues.fk_id_item=ConfigItems2.id_item
  442. where ConfigItems.CRM_LISTA_ZASOBOW_ID>0
  443. group by ConfigItems.id_item;
  444. " > /Library/Server/Web/Data/Sites/Default/nconf/ADD-ONS/import_from_se_to_nconf.sql ' ;
  445. //! nconf import do incingi z SE/devices urzadzen do monitoringu
  446. */
  447. //@2014-03-14 sqix: funkcja zglasza errory do poprawy TODO
  448. //! uruchomienie backupu USB jezeli wybrana opcja $BACKUP_USB_DEVICE
  449. //$cmd[]['rsh']='for a in `mount |grep \'/Volumes\' |awk \'{ print $1 }\'`; do
  450. // [ \''.$BACKUP_USB_DEVICE.'\' = \'YES\' ] && diskutil info $a |grep USB >/dev/null && {
  451. // mountpath=`diskutil info /dev/disk1s3 |grep \'Mount Point\' |sed s/.*Mount\ Point:\ *//g`
  452. // tmutil setdestination $mountpath
  453. // tmutil enable
  454. // } || echo "Not used backup device"
  455. // done
  456. //';
  457. return $cmd;
  458. }
  459. //@2015-08 instalator dla instalacji XSLa - java + saxon
  460. function INSTALL_GETCOMMANDS_XSL_ENGINES($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) {
  461. //todo jdk do stuff
  462. $cmd[]['scp']=array($INSTALL_ROOT,'/stuff/jdk-8u51-macosx-x64.dmg','/tmp/jdk-8u51-macosx-x64.dmg');
  463. $cmd[]['rsh']='hdiutil mount /tmp/jdk-8u51-macosx-x64.dmg -mountpoint /Volumes/jdk-8u51-macosx-x64';
  464. $cmd[]['rsh']='installer -package /Volumes/jdk-8u51-macosx-x64/JDK*.pkg -target "/" -verbose';
  465. $cmd[]['rsh']='port install saxon';
  466. //todo repo-13 do stuff
  467. $cmd[]['scp']=array($INSTALL_ROOT,'/stuff/expath-repo-0.13.0.zip','/tmp/expath-repo-0.13.0.zip');
  468. $cmd[]['rsh']='unzip /tmp/expath-repo-0.11.0.zip';
  469. $cmd[]['rsh']='export SAXON_HOME=/opt/local/share/java/';
  470. $cmd[]['rsh']='mkdir -p /opt/local/share/expath';
  471. $cmd[]['rsh']='chmod -R o+rwx /opt/local/share/expath';
  472. //todo expath do stuff expath-http-client-saxon-0.11.0.zip
  473. $cmd[]['scp']=array($INSTALL_ROOT,'/stuff/expath-http-client-saxon-0.11.0.zip','/tmp/expath-http-client-saxon-0.11.0.zip');
  474. $cmd[]['rsh']='unzip /tmp/expath-http-client-saxon-0.11.0.zip';
  475. $cmd[]['rsh']='cd /tmp/expath-http-client-saxon-0.11.0/bin/
  476. chmod 755 xrepo
  477. ./xrepo create /opt/local/share/expath/repo
  478. ';
  479. return $cmd;
  480. }
  481. 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) {
  482. //komendy do stworzenia komponentu dot MYSQL
  483. $cmd[]['rsh']='cat /etc/sudoers |grep "'.$ADMIN_USERNAME.' ALL = NOPASSWD: /usr/bin/su" || echo "'.$ADMIN_USERNAME.' ALL = NOPASSWD: /usr/bin/su
  484. " >> /etc/sudoers;
  485. cat /etc/sudoers |grep "'.$ADMIN_USERNAME.' ALL = NOPASSWD: /usr/bin/su"';
  486. $cmd[]['rsh']='cat /etc/sudoers |grep "_www ALL = NOPASSWD: /Applications/Server.app/Contents/ServerRoot/usr/sbin/calendarserver_manage_principals" || echo "_www ALL = NOPASSWD: /Applications/Server.app/Contents/ServerRoot/usr/sbin/calendarserver_manage_principals
  487. " >> /etc/sudoers;
  488. cat /etc/sudoers |grep "_www ALL = NOPASSWD: /Applications/Server.app/Contents/ServerRoot/usr/sbin/calendarserver_manage_principals"';
  489. $cmd[]['rsh']='cat /etc/sudoers |grep "_www ALL = NOPASSWD: /usr/bin/dscl" || echo "_www ALL = NOPASSWD: /usr/bin/dscl
  490. " >> /etc/sudoers;
  491. cat /etc/sudoers |grep "_www ALL = NOPASSWD: /usr/bin/dscl"';
  492. $cmd[]['rsh']='cat /etc/sudoers |grep "_www ALL = NOPASSWD: /usr/bin/pwpolicy" || echo "_www ALL = NOPASSWD: /usr/bin/pwpolicy
  493. " >> /etc/sudoers;
  494. cat /etc/sudoers |grep "_www ALL = NOPASSWD: /usr/bin/pwpolicy"';
  495. $cmd[]['rsh']='cat /etc/sudoers |grep "_www ALL = NOPASSWD: /usr/sbin/createhomedir" || echo "_www ALL = NOPASSWD: /usr/sbin/createhomedir
  496. " >> /etc/sudoers;
  497. cat /etc/sudoers |grep "_www ALL = NOPASSWD: /usr/sbin/createhomedir"';
  498. $cmd[]['rsh']='cat /etc/sudoers |grep "_www ALL = NOPASSWD: /sbin/pfctl" || echo "_www ALL = NOPASSWD: /sbin/pfctl
  499. " >> /etc/sudoers;
  500. cat /etc/sudoers |grep "_www ALL = NOPASSWD: /sbin/pfctl"';
  501. // $cmd[]['rsh']='echo \\$UID';
  502. // $cmd[]['rsh']='echo "Uruchamiam zdalna procedure instalacji SE " |wall ';
  503. $cmd[]['rsh']='launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist'; //wyszukowanie plikow
  504. //ewentualna proba upgrejdowania instniejacego portu
  505. //TO MOVE TO INSTALL_GETCOMMANDS_COMP_PORT_MYSQL
  506. 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'";
  507. //@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');
  508. //@2014-10 really needed??? if($SERVER_VERSION=='10.8MountainLion') $cmd[]['rsh']='hdiutil mount /tmp/xcode462_cltools_10_86938259a.dmg -mountpoint /Volumes/xcodetools';
  509. //@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';
  510. if($SERVER_VERSION=='10.8MountainLion') {
  511. $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');
  512. $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';
  513. $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").'
  514. exit 1
  515. } ';
  516. } else if($SERVER_VERSION=='10.10Yosemite') {
  517. $cmd[]['scp']=array('/Library/Server/Web/Data/Sites/Default/SE/se-dev-pl/stuff/MacPorts-2.3.3-10.10-Yosemite.pkg','/tmp/MacPorts-2.3.3-10.10-Yosemite.pkg');
  518. $cmd[]['rsh']='installer -package /tmp/MacPorts-2.3.3-10.10-Yosemite.pkg -target "/" -verbose';
  519. } else if($SERVER_VERSION=='10.11-ElCapitan') {
  520. $cmd[]['scp']=array($INSTALL_ROOT.'/stuff/MacPorts-2.3.4-10.11-ElCapitan.pkg','/tmp/MacPorts-2.3.4-10.11-ElCapitan.pkg');
  521. $cmd[]['rsh']='installer -package /tmp/MacPorts-2.3.4-10.11-ElCapitan.pkg -target "/" -verbose';
  522. } else {
  523. $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');
  524. $cmd[]['rsh']='installer -package /tmp/MacPorts-2.3.2-10.9-Mavericks.pkg -target "/" -verbose
  525. ';// $cmd[]['rsh']='installer -package /tmp/MacPorts-2.2.0-10.8-MountainLion.pkg -target "'.$SERVER_MOUNT_POINT_ROOT.'" -verbose';
  526. }
  527. $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
  528. $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';
  529. $cmd[]['rsh']='port selfupdate || echo OK ';
  530. $cmd[]['rsh']='port upgrade outdated || echo "Nothing to upgrade"';
  531. $cmd[]['rsh']='port selfupdate';
  532. 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';
  533. 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';
  534. 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';
  535. 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';
  536. if($SERVER_VERSION=='10.11-ElCapitan') $cmd[]['scp']=array('/Applications/SourceGuardian.app/Contents/Loaders/Mac\ OS\ X/ixed.5.5.dar','/opt/local/lib/php55/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';
  537. if($SERVER_VERSION=='10.11-ElCapitan') $cmd[]['rsh']='cat /etc/php.ini |grep "extension=/opt/local/lib/php55/extensions/no-debug-non-zts-20121212/ixed.5.5.dar" || echo "\nextension=/opt/local/lib/php55/extensions/no-debug-non-zts-20121212/ixed.5.5.dar\n" >> /etc/php.ini';
  538. if($SERVER_VERSION=='10.10Yosemite') {
  539. $cmd[]['rsh']='port install ImageMagick';
  540. $cmd[]['rsh']='port install php55-imagick';
  541. $cmd[]['rsh']='port install php55-imagick';
  542. $cmd[]['rsh']='ls -al /usr/lib/php/extensions/no-debug-non-zts-20121212/imagick.so || cd /usr/lib/php/extensions/no-debug-non-zts-20121212/ && ln -s /opt/local/lib/php55/extensions/no-debug-non-zts-20121212/imagick.so . ';
  543. $cmd[]['rsh']='cat /etc/php.ini |grep "extension=imagick.so" || echo "\nextension=imagick.so\n" >> /etc/php.ini';
  544. }
  545. if($SERVER_VERSION=='10.11-ElCapitan') {
  546. $cmd[]['rsh']='port install ImageMagick';
  547. $cmd[]['rsh']='port install php55-imagick';
  548. $cmd[]['rsh']='port install php55-imagick';
  549. // $cmd[]['rsh']='ls -al /opt/local/lib/php55/extensions/no-debug-non-zts-20121212/imagick.so || cd /opt/local/lib/php55/extensions/no-debug-non-zts-20121212/ && ln -s /opt/local/lib/php55/extensions/no-debug-non-zts-20121212/imagick.so . ';
  550. $cmd[]['rsh']='cat /etc/php.ini |grep "extension=/opt/local/lib/php55/extensions/no-debug-non-zts-20121212/imagick.so" || echo "\nextension=/opt/local/lib/php55/extensions/no-debug-non-zts-20121212/imagick.so\n" >> /etc/php.ini';
  551. }
  552. //@2015-10-25 bindera: problemy po upgrade portow z niedzialajacym mysql - skip-networking- wykonanie instrukcji czyszczacych ten problem
  553. $cmd[]['rsh']='cat /opt/local/etc/mysql55/macports-default.cnf |grep "skip-networking" |grep -v "#" && (
  554. sed -i.bak "s/skip-networking/#skip-networking/" /opt/local/etc/mysql55/macports-default.cnf
  555. killall mysqld
  556. ) || echo OK';
  557. //EOF TO MOVE TO INSTALL_GETCOMMANDS_COMP_PORT_MYSQL
  558. $cmd[]['rsh']='cat /etc/paths |grep "/opt/local/bin" || echo "/opt/local/bin" >>/etc/paths';
  559. $cmd[]['rsh']=' grep "/opt/local/bin" /etc/paths || echo "/opt/local/bin" >>/etc/paths'; //dodanie do sciezek
  560. $cmd[]['rsh']=" sed -i.bak \"s/PS1='\\\\\h:/PS1='\\\\\H:/g\" /etc/bashrc"; //zmiana wyswietlania kurosra hosta
  561. $cmd[]['rsh']='which wget || port install wget';
  562. $cmd[]['rsh']='which joe || port install joe';
  563. $cmd[]['rsh']='which gnutar || port install gnutar';
  564. $cmd[]['rsh']='ln -s /opt/local/bin/gnutar /usr/sbin/gnutar || echo PASSED';
  565. $cmd[]['rsh']='port install mapserver';
  566. return $cmd;
  567. }
  568. function INSTALL_GETCOMMANDS_POSTGIS($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,$OPTIONS) {
  569. // ! instalacja mapservera oraz komponentow sluzacych do obslugi spatialnej
  570. //stuff/GDAL_Complete-1.11.dmg
  571. //stuff/cairo_Framework-1.12.2-1-2.dmg
  572. //stuff/FreeType_Framework-2.4.12-1-2.dmg
  573. //stuff/MapServer-6.0.3-1.dmg
  574. //stuff/mapserver-6.4.1.tar
  575. // $cmd[]['scp_root']=array($INSTALL_ROOT.'/stuff/*','/Library/Server/Web/Data/Sites/Default/SE/');
  576. /*
  577. $cmd[]['rsh']='hdiutil mount /Library/Server/Web/Data/Sites/Default/SE/stuff/GDAL_Complete-1.11.dmg -mountpoint /Volumes/GDAL_Complete-1.11';
  578. $cmd[]['rsh']='installer -package /Volumes/GDAL_Complete-1.11/GDAL*.pkg -target "/" -verbose';// $cmd[]['rsh']='installer -package /Volumes/xcodetools/Com* -target "'.$SERVER_MOUNT_POINT_ROOT.'" -verbose';
  579. $cmd[]['rsh']='hdiutil mount /Library/Server/Web/Data/Sites/Default/SE/stuff/cairo_Framework-1.12.2-1-2.dmg -mountpoint /Volumes/cairo_Framework-1.12.2-1-2';
  580. $cmd[]['rsh']='installer -package /Volumes/cairo_Framework-1.12.2-1-2/*.pkg -target "/" -verbose';// $cmd[]['rsh']='installer -package /Volumes/xcodetools/Com* -target "'.$SERVER_MOUNT_POINT_ROOT.'" -verbose';
  581. $cmd[]['rsh']='hdiutil mount /Library/Server/Web/Data/Sites/Default/SE/stuff/FreeType_Framework-2.4.12-1-2.dmg -mountpoint /Volumes/FreeType_Framework-2.4.12-1-2';
  582. $cmd[]['rsh']='installer -package /Volumes/FreeType_Framework-2.4.12-1-2/*.pkg -target "/" -verbose';// $cmd[]['rsh']='installer -package /Volumes/xcodetools/Com* -target "'.$SERVER_MOUNT_POINT_ROOT.'" -verbose';
  583. $cmd[]['rsh']='hdiutil mount /Library/Server/Web/Data/Sites/Default/SE/stuff/MapServer-6.0.3-1.dmg -mountpoint /Volumes/MapServer-6.0.3-1';
  584. $cmd[]['rsh']='installer -package /Volumes/MapServer-6.0.3-1/*.pkg -target "/" -verbose';// $cmd[]['rsh']='installer -package /Volumes/xcodetools/Com* -target "'.$SERVER_MOUNT_POINT_ROOT.'" -verbose';
  585. */
  586. /*
  587. $cmd[]['rsh']='hdiutil mount /Library/Server/Web/Data/Sites/Default/SE/stuff/JavaForOSX2014-001.dmg -mountpoint /Volumes/JavaForOSX2014-001';
  588. $cmd[]['rsh']='installer -package /Volumes/JavaForOSX2014-001/*.pkg -target "/" -verbose';// $cmd[]['rsh']='installer -package /Volumes/xcodetools/Com* -target "'.$SERVER_MOUNT_POINT_ROOT.'" -verbose';
  589. $cmd[]['rsh']='hdiutil mount /Library/Server/Web/Data/Sites/Default/SE/stuff/jdk-8u5-macosx-x64.dmg -mountpoint /Volumes/jdk-8u5-macosx-x64'; //TODO czy licencja na to pozwala??
  590. $cmd[]['rsh']='installer -package /Volumes/jdk-8u5-macosx-x64/*.pkg -target "/" -verbose';// $cmd[]['rsh']='installer -package /Volumes/xcodetools/Com* -target "'.$SERVER_MOUNT_POINT_ROOT.'" -verbose';
  591. $cmd[]['rsh']='port install libpng';
  592. $cmd[]['rsh']='cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs ; jdk=`ls | sort | tail -n 1`;
  593. mkdir -p /System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers ;
  594. ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/$jdk/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers/jni.h /System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers/jni.h
  595. port install mapserver';
  596. //$cmd[]['rsh']='port install mapserver';
  597. */
  598. // postgis by BZYK
  599. /*
  600. $cmd[]['scp_root']=array($INSTALL_ROOT.'/stuff/postgis/PostgreSQL-9.3.4-1.dmg','/tmp/PostgreSQL-9.3.4-1.dmg');
  601. $cmd[]['rsh']='hdiutil mount /tmp/PostgreSQL-9.3.4-1.dmg -mountpoint /Volumes/PostgreSQL';
  602. $cmd[]['rsh']='installer -package /Volumes/PostgreSQL/PostgreSQL.pkg -target "/" -verbose';
  603. $cmd[]['rsh']='hdiutil unmount /Volumes/PostgreSQL';
  604. $cmd[]['rsh']='cd /usr/local/pgsql/data';
  605. $cmd[]['rsh']='sudo -u _postgres /usr/local/pgsql/bin/initdb -U postgres -D /usr/local/pgsql/data --encoding=UTF8 --locale=C || echo PASSED';
  606. $cmd[]['rsh']='sed -i ".bak" "s/.*listen_address.*#/listen_addresses = \'0.0.0.0\' #/g" /usr/local/pgsql/data/pg_hba.conf';
  607. $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';
  608. $cmd[]['scp_root']=array($INSTALL_ROOT.'/stuff/postgis/GDAL_Complete-1.11.dmg','/tmp/GDAL_Complete-1.11.dmg');
  609. $cmd[]['rsh']='hdiutil mount /tmp/GDAL_Complete-1.11.dmg -mountpoint /Volumes/GDAL_Complete';
  610. $cmd[]['rsh']='installer -package "/Volumes/GDAL_Complete/GDAL Complete.pkg" -target "/" -verbose';
  611. $cmd[]['rsh']='hdiutil unmount /Volumes/GDAL_Complete';
  612. $cmd[]['scp_root']=array($INSTALL_ROOT.'/stuff/postgis/PostGIS-2.1.3-2.dmg','/tmp/PostGIS-2.1.3-2.dmg');
  613. $cmd[]['rsh']='hdiutil mount /tmp/PostGIS-2.1.3-2.dmg -mountpoint /Volumes/PostGIS';
  614. $cmd[]['rsh']='installer -package "/Volumes/PostGIS/PostGIS.pkg" -target "/" -verbose';
  615. $cmd[]['rsh']='hdiutil unmount /Volumes/PostGIS';
  616. $cmd[]['scp_root']=array($INSTALL_ROOT.'/stuff/postgis/JavaForOSX2014-001.dmg','/tmp/JavaForOSX2014-001.dmg');
  617. $cmd[]['rsh']='hdiutil mount /tmp/JavaForOSX2014-001.dmg -mountpoint /Volumes/JavaForOSX';
  618. $cmd[]['rsh']='installer -package "/Volumes/JavaForOSX/JavaForOSX.pkg" -target "/" -verbose';
  619. $cmd[]['rsh']='hdiutil unmount /Volumes/JavaForOSX';
  620. $cmd[]['scp_root']=array($INSTALL_ROOT.'/stuff/postgis/org.postgresql.postgres.plist','/Library/LaunchDaemons/org.postgresql.postgres.plist');
  621. $cmd[]['rsh']='launchctl load /Library/LaunchDaemons/org.postgresql.postgres.plist';
  622. $cmd[]['rsh']='launchctl start org.postgresql.postgres';
  623. $cmd[]['rsh']='/usr/local/pgsql/bin/psql -U postgres -c "create user root with password \''.$ADMIN_USERNAME_PASSWD.'\'" || echo PASSED';
  624. $cmd[]['rsh']='sudo -u _postgres /usr/local/pgsql/bin/createdb -U postgres -O "root" "'.$REMOTE_FOLDER_ROOT.'" || echo PASSED';
  625. $cmd[]['rsh']='/usr/local/pgsql/bin/psql -U postgres -d "'.$REMOTE_FOLDER_ROOT.'" -c "CREATE EXTENSION postgis;" || echo PASSED';
  626. $cmd[]['rsh']='/usr/local/pgsql/bin/psql -U postgres -d "'.$REMOTE_FOLDER_ROOT.'" -c "CREATE EXTENSION postgis_topology;" || echo PASSED';
  627. $cmd[]['rsh']='/usr/local/pgsql/bin/psql -U postgres -d "'.$REMOTE_FOLDER_ROOT.'" -c "CREATE EXTENSION fuzzystrmatch;" || echo PASSED';
  628. $cmd[]['rsh']='/usr/local/pgsql/bin/psql -U postgres -d "'.$REMOTE_FOLDER_ROOT.'" -c "CREATE EXTENSION postgis_tiger_geocoder;" || echo PASSED';
  629. */
  630. // Nowy postgres/postgis by Bzyk @ 2015-06-05
  631. $cmd[]['scp_root']=array($INSTALL_ROOT.'/stuff/postgis2/Postgres-9.4.2.0.zip','/tmp/Postgres-9.4.2.0.zip');
  632. $cmd[]['rsh']='unzip -o -d /Applications /tmp/Postgres-9.4.2.0.zip';
  633. $cmd[]['rsh']='ls /var/db/postgres || mkdir /var/db/postgres';
  634. $cmd[]['rsh']='chown _postgres /var/db/postgres';
  635. $cmd[]['rsh']='cd /tmp
  636. sudo -u _postgres /Applications/Postgres.app/Contents/Versions/9.4/bin/initdb -U postgres -D /var/db/postgres --encoding=UTF8 --locale=C || echo PASSED';
  637. $cmd[]['rsh']='cat /var/db/postgres/pg_hba.conf |grep "host all all 0.0.0.0/0 md5" || echo \'host all all 0.0.0.0/0 md5\' >> /var/db/postgres/pg_hba.conf';
  638. $cmd[]['rsh']='sed -i ".bak" "s/.*listen_address.*#/listen_addresses = \'0.0.0.0\' #/g" /var/db/postgres/postgresql.conf';
  639. $cmd[]['scp_root']=array($INSTALL_ROOT.'/stuff/postgis2/org.postgres.plist','/Library/LaunchDaemons/org.postgres.plist');
  640. $cmd[]['rsh']='launchctl load /Library/LaunchDaemons/org.postgres.plist';
  641. $cmd[]['rsh']='/Applications/Postgres.app/Contents/Versions/9.4/bin/psql -U postgres -c "create user root with password \''.$ADMIN_USERNAME_PASSWD.'\'" || echo PASSED';
  642. $cmd[]['rsh']='sudo -u _postgres /Applications/Postgres.app/Contents/Versions/9.4/bin/createdb -U postgres -O "root" "'.$REMOTE_FOLDER_ROOT.'" || echo PASSED';
  643. $cmd[]['rsh']='/Applications/Postgres.app/Contents/Versions/9.4/bin/psql -U postgres -d "'.$REMOTE_FOLDER_ROOT.'" -c "CREATE EXTENSION postgis;" || echo PASSED';
  644. $cmd[]['rsh']='/Applications/Postgres.app/Contents/Versions/9.4/bin/psql -U postgres -d "'.$REMOTE_FOLDER_ROOT.'" -c "CREATE EXTENSION postgis_topology;" || echo PASSED';
  645. $cmd[]['rsh']='/Applications/Postgres.app/Contents/Versions/9.4/bin/psql -U postgres -d "'.$REMOTE_FOLDER_ROOT.'" -c "CREATE EXTENSION fuzzystrmatch;" || echo PASSED';
  646. $cmd[]['rsh']='/Applications/Postgres.app/Contents/Versions/9.4/bin/psql -U postgres -d "'.$REMOTE_FOLDER_ROOT.'" -c "CREATE EXTENSION postgis_tiger_geocoder;" || echo PASSED';
  647. //TODO jakis test dodania bazy danych i czy dziala?
  648. $cmd[]['rsh']='rm -Rf /Library/Server/Web/Data/Sites/Default/pg || echo PASSED';
  649. $cmd[]['rsh']='mkdir -p /Library/Server/Web/Data/Sites/Default/pg';
  650. $cmd[]['scp_root']=array($INSTALL_ROOT.'/stuff/postgis/phpPgAdmin-5.1.zip','/Library/Server/Web/Data/Sites/Default/pg/phpPgAdmin-5.1.zip');
  651. $cmd[]['rsh']='unzip -o /Library/Server/Web/Data/Sites/Default/pg/phpPgAdmin-5.1.zip -d /Library/Server/Web/Data/Sites/Default/pg';
  652. $cmd[]['rsh']='mv /Library/Server/Web/Data/Sites/Default/pg/phpPgAdmin-5.1/* /Library/Server/Web/Data/Sites/Default/pg';
  653. $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';
  654. //PGADMIN - to nie pg phpmyadmin!
  655. //$cmd[]['rsh']='port install wxWidgets-3.0';
  656. //$cmd[]['scp_root']=array($INSTALL_ROOT.'/stuff/postgis/pgadmin3-1.18.1.tar.gz','/usr/src/pgadmin3-1.18.1.tar.gz');
  657. //$cmd[]['rsh']='cd /usr/src/ && tar -zxpvf pgadmin3-1.18.1.tar.gz';
  658. //$cmd[]['rsh']='cd /usr/src/pgadmin3-1.18.1 && --with-wx=/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.0/ --with-wx-version=3.0';
  659. //$cmd[]['rsh']='port install phppgadmin';
  660. return $cmd;
  661. }
  662. function INSTALL_GETCOMMANDS_WORDPRESS($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,$OPTIONS) {
  663. //@2016-05- bindera: dodajemy instalke wordpressa
  664. $cmd[]['rsh']="cd /Library/Server/Web/Data/Sites/Default && rm wordpress.tar.gz || echo PASSED";
  665. $cmd[]['rsh']="cd /Library/Server/Web/Data/Sites/Default && wget https://wordpress.org/latest.tar.gz -O wordpress.tar.gz";
  666. $cmd[]['rsh']="cd /Library/Server/Web/Data/Sites/Default && tar -zxpvf wordpress.tar.gz";
  667. $cmd[]['rsh']='which mysqladmin && mysqladmin -f -uroot -p\''.$ADMIN_USERNAME_PASSWD.'\' drop '.$REMOTE_FOLDER_ROOT.'_wordpress || echo PASSED ';
  668. $cmd[]['rsh']='mysqladmin -h 127.0.0.1 -uroot -p\''.$ADMIN_USERNAME_PASSWD.'\' create '.$REMOTE_FOLDER_ROOT.'_wordpress';
  669. $cmd[]['rsh']='echo "GRANT ALL PRIVILEGES ON '.$REMOTE_FOLDER_ROOT.'_wordpress.* to \'wordpress\'@\'127.0.0.1\' IDENTIFIED BY \''.md5($ADMIN_USERNAME_PASSWD).'\' WITH GRANT OPTION; flush privileges;" |mysql -uroot -p\''.$ADMIN_USERNAME_PASSWD.'\'';
  670. $cmd[]['rsh']='echo "GRANT ALL PRIVILEGES ON '.$REMOTE_FOLDER_ROOT.'_wordpress.* to \'wordpress\'@\'localhost\' IDENTIFIED BY \''.md5($ADMIN_USERNAME_PASSWD).'\' WITH GRANT OPTION; flush privileges;" |mysql -uroot -p\''.$ADMIN_USERNAME_PASSWD.'\'';
  671. $cmd[]['rsh']='echo "
  672. <?php
  673. /** The name of the database for WordPress */
  674. define(\'DB_NAME\', \''.$REMOTE_FOLDER_ROOT.'_wordpress\');
  675. /** MySQL database username */
  676. define(\'DB_USER\', \'wordpress\');
  677. /** MySQL database password */
  678. define(\'DB_PASSWORD\', \''.md5($ADMIN_USERNAME_PASSWD).'\');
  679. /** MySQL hostname */
  680. define(\'DB_HOST\', \'127.0.0.1\');
  681. /** Database Charset to use in creating database tables. */
  682. define(\'DB_CHARSET\', \'utf8\');
  683. /** The Database Collate type. Don\'t change this if in doubt. */
  684. define(\'DB_COLLATE\', \'\');
  685. /**#@+
  686. * Authentication Unique Keys and Salts.
  687. *
  688. * Change these to different unique phrases!
  689. * You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
  690. * You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
  691. *
  692. * @since 2.6.0
  693. */
  694. define(\'AUTH_KEY\', \''.md5($REMOTE_FOLDER_ROOT.$ADMIN_USERNAME_PASSWD).'\');
  695. define(\'SECURE_AUTH_KEY\', \''.md5($REMOTE_FOLDER_ROOT.$ADMIN_USERNAME_PASSWD."1").'\');
  696. define(\'LOGGED_IN_KEY\', \''.md5($REMOTE_FOLDER_ROOT.$ADMIN_USERNAME_PASSWD."2").'\');
  697. define(\'NONCE_KEY\', \''.md5($REMOTE_FOLDER_ROOT.$ADMIN_USERNAME_PASSWD."3").'\');
  698. define(\'AUTH_SALT\', \''.md5($REMOTE_FOLDER_ROOT.$ADMIN_USERNAME_PASSWD."4").'\');
  699. define(\'SECURE_AUTH_SALT\', \''.md5($REMOTE_FOLDER_ROOT.$ADMIN_USERNAME_PASSWD."5").'\');
  700. define(\'LOGGED_IN_SALT\', \''.md5($REMOTE_FOLDER_ROOT.$ADMIN_USERNAME_PASSWD."6").'\');
  701. define(\'NONCE_SALT\', \''.md5($REMOTE_FOLDER_ROOT.$ADMIN_USERNAME_PASSWD."7").'\');
  702. /* Rozwiązanie problemu z działaniem po https by Piter & Bzyk
  703. * Więcej informacji na stronie http://codex.wordpress.org/Administration_Over_SSL
  704. */
  705. if (strpos(\$_SERVER[\'HTTP_X_FORWARDED_PROTO\'], \'https\') !== false) \$_SERVER[\'HTTPS\']=\'on\';
  706. /**
  707. * WordPress Database Table prefix.
  708. *
  709. * You can have multiple installations in one database if you give each
  710. * a unique prefix. Only numbers, letters, and underscores please!
  711. */
  712. \$table_prefix = \'wp_\';
  713. /**
  714. * For developers: WordPress debugging mode.
  715. *
  716. * Change this to true to enable the display of notices during development.
  717. * It is strongly recommended that plugin and theme developers use WP_DEBUG
  718. * in their development environments.
  719. *
  720. * For information on other constants that can be used for debugging,
  721. * visit the Codex.
  722. *
  723. * @link https://codex.wordpress.org/Debugging_in_WordPress
  724. */
  725. define(\'WP_DEBUG\', false);
  726. /* Thats all, stop editing! Happy blogging. */
  727. /** Absolute path to the WordPress directory. */
  728. if ( !defined(\'ABSPATH\') )
  729. define(\'ABSPATH\', dirname(__FILE__) . \'/\');
  730. /** Sets up WordPress vars and included files. */
  731. require_once(ABSPATH . \'wp-settings.php\');
  732. " >/Library/Server/Web/Data/Sites/Default/wordpress/wp-config.php ';
  733. $cmd[]['rsh']='chmod -R o+rwx /Library/Server/Web/Data/Sites/Default/wordpress/wp-content';
  734. $cmd[]['rsh']='chmod -R g+rwx /Library/Server/Web/Data/Sites/Default/wordpress/wp-content';
  735. //aktywacja idzie nizej modulem CLI , ale niestety nie dziala, wiec tak aktywujemy
  736. //- nie zawsze dziala$cmd[]['rsh']='wget --no-check-certificate --post-data=\'weblog_title='.$SERVER_ADDRESS_SHORT.'&user_name='.$ADMIN_USERNAME_L1.'&admin_password='.$ADMIN_USERNAME_L1_PASS.'&admin_password2='.$ADMIN_USERNAME_L1_PASS.'&admin_email='.$ADMIN_USERNAME_L1.'@'.$SERVER_ADDRESS_SHORT.'&submit=1\' http://'.$SERVER_ADDRESS.'/wordpress/wp-admin/install.php?step=2';
  737. //@2016-05-30 add by bzyk@imessage4energo
  738. $cmd[]['rsh']='curl -k -d \'weblog_title='.$SERVER_ADDRESS_SHORT.'&user_name='.$ADMIN_USERNAME_L1.'&admin_password='.$ADMIN_USERNAME_L1_PASS.'&admin_password2='.$ADMIN_USERNAME_L1_PASS.'&admin_email='.$ADMIN_USERNAME_L1.'@'.$SERVER_ADDRESS_SHORT.'&submit=1\' "https://'.$SERVER_ADDRESS.'/wordpress/wp-admin/install.php?step=2"';
  739. $cmd[]['rsh']='echo "
  740. web:Sites:_array_id:0.0.0.0\:80www.'.$SERVER_ADDRESS_SHORT.' = create
  741. web:Sites:_array_id:0.0.0.0\:80www.'.$SERVER_ADDRESS_SHORT.':Listen:_array_index:0 ="0.0.0.0:80"
  742. web:Sites:_array_id:0.0.0.0\:80www.'.$SERVER_ADDRESS_SHORT.':ServerName = www.'.$SERVER_ADDRESS_SHORT.'
  743. web:Sites:_array_id:0.0.0.0\:80www.'.$SERVER_ADDRESS_SHORT.':ServerAdmin =admin@www.'.$SERVER_ADDRESS_SHORT.'
  744. web:Sites:_array_id:0.0.0.0\:80www.'.$SERVER_ADDRESS_SHORT.':DirectoryIndex:_array_index:0= "index.html"
  745. web:Sites:_array_id:0.0.0.0\:80www.'.$SERVER_ADDRESS_SHORT.':DirectoryIndex:_array_index:1= "index.php"
  746. web:Sites:_array_id:0.0.0.0\:80www.'.$SERVER_ADDRESS_SHORT.':WebMail = yes
  747. web:Sites:_array_id:0.0.0.0\:80www.'.$SERVER_ADDRESS_SHORT.':CustomLog:_array_index:0:Format = "%{User-agent}i"
  748. web:Sites:_array_id:0.0.0.0\:80www.'.$SERVER_ADDRESS_SHORT.':CustomLog:_array_index:0:enabled = yes
  749. web:Sites:_array_id:0.0.0.0\:80www.'.$SERVER_ADDRESS_SHORT.':CustomLog:_array_index:0:ArchiveInterval = 0
  750. web:Sites:_array_id:0.0.0.0\:80www.'.$SERVER_ADDRESS_SHORT.':CustomLog:_array_index:0:Path = "/private/var/log/httpd/access_log"
  751. web:Sites:_array_id:0.0.0.0\:80www.'.$SERVER_ADDRESS_SHORT.':CustomLog:_array_index:0:Archive = yes
  752. web:Sites:_array_id:0.0.0.0\:80www.'.$SERVER_ADDRESS_SHORT.':Directory:_array_id:/Library/WebServer/Documents:Options:Indexes = yes
  753. web:Sites:_array_id:0.0.0.0\:80www.'.$SERVER_ADDRESS_SHORT.':Directory:_array_id:/Library/WebServer/Documents:Options:ExecCGI = no
  754. web:Sites:_array_id:0.0.0.0\:80www.'.$SERVER_ADDRESS_SHORT.':Directory:_array_id:/Library/WebServer/Documents:AuthName = "Test Site"
  755. web:Sites:_array_id:0.0.0.0\:80www.'.$SERVER_ADDRESS_SHORT.':ErrorLog:ArchiveInterval = 0
  756. web:Sites:_array_id:0.0.0.0\:80www.'.$SERVER_ADDRESS_SHORT.':ErrorLog:Path = "/private/var/log/httpd/error_log"
  757. web:Sites:_array_id:0.0.0.0\:80www.'.$SERVER_ADDRESS_SHORT.':ErrorLog:Archive = no
  758. web:Sites:_array_id:0.0.0.0\:80www.'.$SERVER_ADDRESS_SHORT.':Include:_array_index:0 = "/etc/httpd/httpd_squirrelmail.conf"
  759. web:Sites:_array_id:0.0.0.0\:80www.'.$SERVER_ADDRESS_SHORT.':enabled = yes
  760. web:Sites:_array_id:0.0.0.0\:80www.'.$SERVER_ADDRESS_SHORT.':ErrorDocument:_array_index:0:StatusCode = 404
  761. web:Sites:_array_id:0.0.0.0\:80www.'.$SERVER_ADDRESS_SHORT.':ErrorDocument:_array_index:0:Document = "/nwesite_notfound.html"
  762. web:Sites:_array_id:0.0.0.0\:80www.'.$SERVER_ADDRESS_SHORT.':LogLevel = "warn"
  763. web:Sites:_array_id:0.0.0.0\:80www.'.$SERVER_ADDRESS_SHORT.':IfModule:_array_id:mod_ssl.c:SSLEngine = no
  764. web:Sites:_array_id:0.0.0.0\:80www.'.$SERVER_ADDRESS_SHORT.':IfModule:_array_id:mod_ssl.c:SSLPassPhrase = ""
  765. web:Sites:_array_id:0.0.0.0\:80www.'.$SERVER_ADDRESS_SHORT.':IfModule:_array_id:mod_ssl.c:SSLLog = "/private/var/log/httpd/ssl_engine_log"
  766. web:Sites:_array_id:0.0.0.0\:80www.'.$SERVER_ADDRESS_SHORT.':DocumentRoot = "/Library/Server/Web/Data/Sites/Default/wordpress"
  767. web:Sites:_array_id:0.0.0.0\:80www.'.$SERVER_ADDRESS_SHORT.'
  768. " > addsite_wordpress.in
  769. '; //todo add site
  770. $cmd[]['rsh']='[ -f /tmp/wp-cli.phar ] && rm /tmp/wp-cli.phar || echo passed';
  771. $cmd[]['rsh']='cd /tmp && wget https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -O wp-cli.phar';
  772. $cmd[]['rsh']='chmod +x /tmp/wp-cli.phar';
  773. $cmd[]['rsh']='mkdir -p /opt/local/wordpress/bin';
  774. $cmd[]['rsh']='[ -f /opt/local/wordpress/bin/wp ] && rm /opt/local/wordpress/bin/wp || echo passed';
  775. $cmd[]['rsh']='mv /tmp/wp-cli.phar /opt/local/wordpress/bin/wp';
  776. //'weblog_title='.$SERVER_ADDRESS_SHORT.'&user_name='.$ADMIN_USERNAME_L1.'&admin_password='.$ADMIN_USERNAME_L1_PASS.'&admin_password2='.$ADMIN_USERNAME_L1_PASS.'&admin_email='.$ADMIN_USERNAME_L1.'@'.$SERVER_ADDRESS_SHORT.'&submit=1\' http://'.$SERVER_ADDRESS.'/wordpress/wp-admin/install.php?step=2';
  777. //aktywacja wordpressa modulem CLI - to nie dziala - aktywacja wget
  778. //$cmd[]['rsh']='/opt/local/wordpress/bin/wp core install --allow-root --path=/Library/Server/Web/Data/Sites/Default/wordpress --url='.$SERVER_ADDRESS.'/wordpress --title='.$SERVER_ADDRESS.' --admin_user='.$ADMIN_USERNAME_L1.' --admin_password='.$ADMIN_USERNAME_L1_PASS.' --admin_email='.$ADMIN_USERNAME_L1.'@'.$SERVER_ADDRESS_SHORT.' || echo PASSED' ;
  779. $cmd[]['rsh']='/opt/local/wordpress/bin/wp plugin install ldap-login-password-and-role-manager --allow-root --path=/Library/Server/Web/Data/Sites/Default/wordpress';
  780. //17:
  781. $cmd[]['rsh']='/opt/local/wordpress/bin/wp plugin activate ldap-login-password-and-role-manager --allow-root --path=/Library/Server/Web/Data/Sites/Default/wordpress';
  782. $cmd[]['rsh']='/opt/local/wordpress/bin/wp option update ldap_login_password_and_role_manager_base_dn "cn=users,'.$SERVER_ADDRESS_LDAP_DC.'" --allow-root --path=/Library/Server/Web/Data/Sites/Default/wordpress';
  783. $cmd[]['rsh']='/opt/local/wordpress/bin/wp option update ldap_login_password_and_role_manager_domain_controllers "'.$SERVER_ADDRESS_SHORT.'" --allow-root --path=/Library/Server/Web/Data/Sites/Default/wordpress';
  784. $cmd[]['rsh']='/opt/local/wordpress/bin/wp option update ldap_login_password_and_role_manager_loginattr "uid" --allow-root --path=/Library/Server/Web/Data/Sites/Default/wordpress';
  785. $cmd[]['rsh']='/opt/local/wordpress/bin/wp option update ldap_login_password_and_role_manager_lnameattr "uid" --allow-root --path=/Library/Server/Web/Data/Sites/Default/wordpress';
  786. $cmd[]['rsh']='/opt/local/wordpress/bin/wp option update ldap_login_password_and_role_manager_emailattr "mail" --allow-root --path=/Library/Server/Web/Data/Sites/Default/wordpress';
  787. //! wordpress procesy5 plugin begin!
  788. //@2016-05 TODO póki nie ma danych z clone repo - tutaj wrzucamy wersje aktualna modulu do wordpressa
  789. $cmd[]['rsh']='unzip -o /Library/Server/Web/Data/Sites/Default/SE/stuff/p5_BeeCtrl.zip -d /Library/Server/Web/Data/Sites/Default/wordpress/wp-content/plugins';
  790. $cmd[]['rsh']='/opt/local/wordpress/bin/wp plugin activate p5_BeeCtrl --allow-root --path=/Library/Server/Web/Data/Sites/Default/wordpress';
  791. return $cmd;
  792. }
  793. 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) {
  794. //! MYSQL SERVER INSTALACJA
  795. $cmd[]['rsh']='port install mysql55-server';
  796. $cmd[]['rsh']='sudo -u _mysql /opt/local/lib/mysql55/bin/mysql_install_db';
  797. $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
  798. $cmd[]['rsh']='echo "[client]
  799. default-character-set = latin2
  800. [mysql]
  801. #default-character-set = latin2
  802. [mysqld]
  803. log-error=/var/log/mysql.log
  804. #default-character-set = utf8
  805. collation-server = latin2_general_ci
  806. init-connect=\'SET NAMES latin2\'
  807. character-set-server = latin2
  808. max_allowed_packet = 600M
  809. " > /etc/my.cnf';
  810. $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';
  811. //@2014-09-13 - to jest niepewne i raczej niedziala z LOWER CASE TABLES!
  812. //$cmd[]['rsh']='cat /opt/local/etc/mysql55/my.cnf | grep "lower_case_table_names = 0" || echo "
  813. // [mysqld]
  814. // lower_case_table_names = 0" >> /opt/local/etc/mysql55/my.cnf';
  815. $cmd[]['rsh']='mkdir -p /opt/local/var/run/mysql5/';
  816. $cmd[]['rsh']='launchctl load -w /Library/LaunchDaemons/org.macports.mysql55-server.plist';
  817. $cmd[]['rsh']='echo "/opt/local/lib/mysql55/bin" >>/etc/paths';
  818. //@2013-10-03 tu jest bug : - recznie wyzwolona ta sama komenda ruszyła, a skrypt zwrócił error - sprawdzam z zamiana wykrzyknikow w hasle!
  819. $cmd[]['rsh']='sleep 10 && mysql -uroot -p\''.$ADMIN_USERNAME_PASSWD.'\' -e \'select 1+1;\' || /opt/local/lib/mysql55/bin/mysqladmin password \''.$ADMIN_USERNAME_PASSWD.'\' ';
  820. $cmd[]['rsh']='[ -d /var/mysql ] || {
  821. mkdir -p /var/mysql && [ -e /var/mysql/mysql.sock ] || ln -s /opt/local/var/run/mysql55/mysqld.sock /var/mysql/mysql.sock
  822. }';
  823. $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
  824. //! MYSQL SERVER INSTALACJA EOF
  825. return $cmd;
  826. }
  827. function INSTALL_GETCOMMANDS_WEBMAIL($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,$OPTIONS) {
  828. $cmd[]['rsh']='which mysqladmin && mysqladmin -f -uroot -p'.$ADMIN_USERNAME_PASSWD.' drop webmail || echo PASSED ';
  829. $cmd[]['rsh']='test -d /Library/Server/Web/Data/Sites/Default/webmail && rm -R /Library/Server/Web/Data/Sites/Default/webmail || echo PASSED';
  830. $cmd[]['rsh']='test -d /Library/Server/Web/Data/Sites/Default/roundcube.tar.gz && rm -R /Library/Server/Web/Data/Sites/Default/roundcube.tar.gz || echo PASSED';
  831. //!!!!!!!!! WEBMAIL !!!!!!!
  832. $cmd[]['rsh']='echo INSTALUJE WEBMAILA';
  833. $cmd[]['rsh']='cd /Library/Server/Web/Data/Sites/Default/ || exit 1
  834. wget http://sourceforge.net/projects/roundcubemail/files/roundcubemail/0.9.1/roundcubemail-0.9.1.tar.gz/download -O roundcube.tar.gz || exit 1';
  835. $cmd[]['rsh']='cd /Library/Server/Web/Data/Sites/Default/ || exit 1
  836. tar -zxpvf roundcube.tar.gz || exit 1';
  837. $cmd[]['rsh']='cd /Library/Server/Web/Data/Sites/Default/ || exit 1
  838. mv roundcubemail* webmail || exit 1 ';
  839. $cmd[]['rsh']='cd /Library/Server/Web/Data/Sites/Default/webmail || exit 1
  840. chown _www temp/ || exit 1
  841. chown _www logs/ || exit 1
  842. ';
  843. $cmd[]['scp_root']=array('/Library/Server/Web/Data/Sites/Default/webmail/loginFromSE.php',' /Library/Server/Web/Data/Sites/Default/webmail/');
  844. //ustalenie domyslnych identities na webmailu po zalogowaniu wlasciwych dla domeny
  845. $cmd[]['rsh']='test -n "'.$SERVER_ADDRESS_SHORT.'" && sed -i.bak "s/@DOMAIN_TO_EDIT/@'.$SERVER_ADDRESS_SHORT.'/" /Library/Server/Web/Data/Sites/Default/webmail/loginFromSE.php';
  846. $cmd[]['rsh']='test -n "'.$SERVER_ADDRESS.'" && sed -i.bak "s/@DOMAIN_TO_EDIT/@'.$SERVER_ADDRESS.'/" /Library/Server/Web/Data/Sites/Default/webmail/loginFromSE.php';
  847. $cmd[]['rsh']='sed -i.bak "s/\/\/\\$RCMAIL->db->query(/\\$RCMAIL->db->query(/" /Library/Server/Web/Data/Sites/Default/webmail/loginFromSE.php';
  848. // $cmd[]['scp_root']=array($INSTALL_ROOT.'/stuff/OfflineIMAP-offlineimap-v6.5.5-0-g8bc2f35.tar',' /Library/Server/Web/Data/Sites/Default/');
  849. // $cmd[]['rsh']='tar -zxpvf /Library/Server/Web/Data/Sites/Default/OfflineIMAP-offlineimap-v6.5.5-0-g8bc2f35.tar* -C /Library/Server/Web/Data/Sites/Default/';
  850. $cmd[]['rsh']='chmod +a "_www allow writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown,add_file,add_subdirectory,delete_child,list,search,file_inherit,directory_inherit" /Library/WebServer/';
  851. // $cmd[]['rsh']='cd /Library/Server/Web/Data/Sites/Default/OfflineIMAP-offlineimap-8bc2f35/';
  852. // $cmd[]['rsh']='touch /var/root/.offlineimaprc';
  853. // $cmd[]['rsh']='port install db44'; //do icingi/nconfa
  854. // $cmd[]['rsh']='cd /Library/Server/Web/Data/Sites/Default/isync-1.0.6 && ./configure';
  855. $cmd[]['rsh']='mysqladmin -h 127.0.0.1 -uroot -p\''.$ADMIN_USERNAME_PASSWD.'\' create webmail';
  856. $cmd[]['rsh']='echo "GRANT ALL PRIVILEGES ON webmail.* to \'webmail\'@\'127.0.0.1\' IDENTIFIED BY \'webmail666\' WITH GRANT OPTION; flush privileges;" |mysql -uroot -p\''.$ADMIN_USERNAME_PASSWD.'\'';
  857. $cmd[]['rsh']='echo "GRANT ALL PRIVILEGES ON webmail.* to \'webmail\'@\'localhost\' IDENTIFIED BY \'webmail666\' WITH GRANT OPTION; flush privileges;" |mysql -uroot -p\''.$ADMIN_USERNAME_PASSWD.'\'';
  858. $cmd[]['rsh']='cd /Library/Server/Web/Data/Sites/Default/webmail || exit 1
  859. cat ./SQL/mysql.initial.sql | mysql -uroot -p\''.$ADMIN_USERNAME_PASSWD.'\' -h 127.0.0.1 -Dwebmail || exit 1 ';
  860. $cmd[]['rsh']='cd /Library/Server/Web/Data/Sites/Default/webmail || exit 1
  861. rm -r installer/ || exit 1';
  862. $cmd[]['rsh']='cd /Library/Server/Web/Data/Sites/Default/webmail || exit 1
  863. chown -R _www ../webmail || exit 1';
  864. $cmd[]['rsh']='cd /Library/Server/Web/Data/Sites/Default/webmail || exit 1
  865. chown -R _www ../webmail || exit 1';
  866. $cmd[]['rsh']='cd /Library/Server/Web/Data/Sites/Default/webmail || exit 1
  867. echo "<?
  868. \$rcmail_config = array();
  869. \$rcmail_config[\'debug_level\'] = 1;
  870. \$rcmail_config[\'log_driver\'] = \'file\';
  871. \$rcmail_config[\'log_date_format\'] = \'d-M-Y H:i:s O\';
  872. \$rcmail_config[\'syslog_id\'] = \'roundcube\';
  873. \$rcmail_config[\'syslog_facility\'] = LOG_USER;
  874. \$rcmail_config[\'smtp_log\'] = true;
  875. \$rcmail_config[\'log_logins\'] = false;
  876. \$rcmail_config[\'log_session\'] = false;
  877. \$rcmail_config[\'sql_debug\'] = false;
  878. \$rcmail_config[\'imap_debug\'] = false;
  879. \$rcmail_config[\'ldap_debug\'] = false;
  880. \$rcmail_config[\'smtp_debug\'] = false;
  881. \$rcmail_config[\'default_host\'] = \''.$SERVER_ADDRESS_SHORT.'\';
  882. \$rcmail_config[\'default_port\'] = 143;
  883. \$rcmail_config[\'imap_auth_type\'] = PLAIN;
  884. \$rcmail_config[\'imap_delimiter\'] = null;
  885. \$rcmail_config[\'imap_ns_personal\'] = null;
  886. \$rcmail_config[\'imap_ns_shared\'] = null;
  887. \$rcmail_config[\'imap_force_caps\'] = false;
  888. \$rcmail_config[\'imap_force_lsub\'] = false;
  889. \$rcmail_config[\'imap_force_ns\'] = false;
  890. \$rcmail_config[\'imap_timeout\'] = 0;
  891. \$rcmail_config[\'imap_auth_cid\'] = null;
  892. \$rcmail_config[\'imap_auth_pw\'] = null;
  893. \$rcmail_config[\'imap_cache\'] = null;
  894. \$rcmail_config[\'messages_cache\'] = false;
  895. \$rcmail_config[\'smtp_server\'] = \'127.0.0.1\';
  896. \$rcmail_config[\'smtp_port\'] = 25;
  897. \$rcmail_config[\'smtp_user\'] = \'\';
  898. \$rcmail_config[\'smtp_pass\'] = \'\';
  899. \$rcmail_config[\'smtp_auth_type\'] = \'\';
  900. \$rcmail_config[\'smtp_auth_cid\'] = null;
  901. \$rcmail_config[\'smtp_auth_pw\'] = null;
  902. \$rcmail_config[\'smtp_helo_host\'] = \'\';
  903. \$rcmail_config[\'smtp_timeout\'] = 0;
  904. \$rcmail_config[\'enable_installer\'] = false;
  905. \$rcmail_config[\'dont_override\'] = array();
  906. \$rcmail_config[\'support_url\'] = \'\';
  907. \$rcmail_config[\'skin_logo\'] = null;
  908. \$rcmail_config[\'auto_create_user\'] = true;
  909. \$rcmail_config[\'user_aliases\'] = false;
  910. \$rcmail_config[\'log_dir\'] = \'logs/\';
  911. \$rcmail_config[\'temp_dir\'] = \'temp/\';
  912. \$rcmail_config[\'message_cache_lifetime\'] = \'10d\';
  913. \$rcmail_config[\'force_https\'] = false;
  914. \$rcmail_config[\'use_https\'] = false;
  915. \$rcmail_config[\'login_autocomplete\'] = 0;
  916. \$rcmail_config[\'login_lc\'] = 2;
  917. \$rcmail_config[\'skin_include_php\'] = false;
  918. \$rcmail_config[\'display_version\'] = false;
  919. \$rcmail_config[\'session_lifetime\'] = 10;
  920. \$rcmail_config[\'session_domain\'] = \'\';
  921. \$rcmail_config[\'session_name\'] = null;
  922. \$rcmail_config[\'session_path\'] = null;
  923. \$rcmail_config[\'session_storage\'] = \'db\';
  924. \$rcmail_config[\'ip_check\'] = false;
  925. \$rcmail_config[\'referer_check\'] = false;
  926. \$rcmail_config[\'x_frame_options\'] = \'sameorigin\';
  927. \$rcmail_config[\'des_key\'] = \'+oEkJSMxbrsl%C!J1f3AjJK-\';
  928. \$rcmail_config[\'username_domain\'] = \'\';
  929. \$rcmail_config[\'mail_domain\'] = \'\';
  930. \$rcmail_config[\'password_charset\'] = \'ISO-8859-1\';
  931. \$rcmail_config[\'sendmail_delay\'] = 0;
  932. \$rcmail_config[\'max_recipients\'] = 0;
  933. \$rcmail_config[\'max_group_members\'] = 0;
  934. \$rcmail_config[\'useragent\'] = \'Roundcube Webmail/\'.RCMAIL_VERSION;
  935. \$rcmail_config[\'product_name\'] = \'webmail\';
  936. \$rcmail_config[\'include_host_config\'] = false;
  937. \$rcmail_config[\'generic_message_footer\'] = \'\';
  938. \$rcmail_config[\'generic_message_footer_html\'] = \'\';
  939. \$rcmail_config[\'http_received_header\'] = false;
  940. \$rcmail_config[\'http_received_header_encrypt\'] = false;
  941. \$rcmail_config[\'mail_header_delimiter\'] = NULL;
  942. \$rcmail_config[\'line_length\'] = 72;
  943. \$rcmail_config[\'send_format_flowed\'] = true;
  944. \$rcmail_config[\'mdn_use_from\'] = false;
  945. \$rcmail_config[\'identities_level\'] = 0;
  946. \$rcmail_config[\'client_mimetypes\'] = null; # null == default
  947. \$rcmail_config[\'mime_magic\'] = null;
  948. \$rcmail_config[\'mime_types\'] = null;
  949. \$rcmail_config[\'im_identify_path\'] = null;
  950. \$rcmail_config[\'im_convert_path\'] = null;
  951. \$rcmail_config[\'image_thumbnail_size\'] = 240;
  952. \$rcmail_config[\'contact_photo_size\'] = 160;
  953. \$rcmail_config[\'email_dns_check\'] = false;
  954. \$rcmail_config[\'no_save_sent_messages\'] = false;
  955. \$rcmail_config[\'plugins\'] = array();
  956. \$rcmail_config[\'message_sort_col\'] = \'\';
  957. \$rcmail_config[\'message_sort_order\'] = \'DESC\';
  958. \$rcmail_config[\'list_cols\'] = array(\'subject\', \'status\', \'fromto\', \'date\', \'size\', \'flag\', \'attachment\');
  959. \$rcmail_config[\'language\'] = null;
  960. \$rcmail_config[\'date_format\'] = \'Y-m-d\';
  961. \$rcmail_config[\'date_formats\'] = array(\'Y-m-d\', \'d-m-Y\', \'Y/m/d\', \'m/d/Y\', \'d/m/Y\', \'d.m.Y\', \'j.n.Y\');
  962. \$rcmail_config[\'time_format\'] = \'H:i\';
  963. \$rcmail_config[\'time_formats\'] = array(\'G:i\', \'H:i\', \'g:i a\', \'h:i A\');
  964. \$rcmail_config[\'date_short\'] = \'D H:i\';
  965. \$rcmail_config[\'date_long\'] = \'Y-m-d H:i\';
  966. \$rcmail_config[\'drafts_mbox\'] = \'Drafts\';
  967. \$rcmail_config[\'junk_mbox\'] = \'Junk\';
  968. \$rcmail_config[\'sent_mbox\'] = \'Sent\';
  969. \$rcmail_config[\'trash_mbox\'] = \'Trash\';
  970. \$rcmail_config[\'default_folders\'] = array(\'INBOX\', \'Drafts\', \'Sent\', \'Junk\', \'Trash\');
  971. \$rcmail_config[\'create_default_folders\'] = false;
  972. \$rcmail_config[\'protect_default_folders\'] = true;
  973. \$rcmail_config[\'quota_zero_as_unlimited\'] = false;
  974. \$rcmail_config[\'enable_spellcheck\'] = true;
  975. \$rcmail_config[\'spellcheck_dictionary\'] = false;
  976. \$rcmail_config[\'spellcheck_engine\'] = \'googie\';
  977. \$rcmail_config[\'spellcheck_uri\'] = \'\';
  978. \$rcmail_config[\'spellcheck_languages\'] = NULL;
  979. \$rcmail_config[\'spellcheck_ignore_caps\'] = false;
  980. \$rcmail_config[\'spellcheck_ignore_nums\'] = false;
  981. \$rcmail_config[\'spellcheck_ignore_syms\'] = false;
  982. \$rcmail_config[\'recipients_separator\'] = \',\';
  983. \$rcmail_config[\'max_pagesize\'] = 200;
  984. \$rcmail_config[\'min_refresh_interval\'] = 60;
  985. \$rcmail_config[\'upload_progress\'] = false;
  986. \$rcmail_config[\'undo_timeout\'] = 0;
  987. \$rcmail_config[\'address_book_type\'] = \'sql\';
  988. \$rcmail_config[\'ldap_public\'] = array();
  989. \$rcmail_config[\'ldap_public\'][\'localhost\'] = array(
  990. \'name\' => \'localhost\',
  991. \'hosts\' => array(\'127.0.0.1\'),
  992. \'port\' => 389,
  993. \'base_dn\' => \''.$SERVER_ADDRESS_LDAP_DC.'\',
  994. \'search_base_dn\' => \'\',
  995. \'required_fields\' => array(\'cn\', \'sn\', \'mail\'),
  996. \'filter\' => \'(&(!(uid=_*))(mail=*@*))\',
  997. \'search_dn_default\' => \'\',
  998. \'LDAP_Object_Classes\' => array(\'top\', \'inetOrgPerson\'),
  999. \'search_fields\' => array(\'givenName\',\'cn\',\'sn\',\'mail\'),
  1000. \'fieldmap\' => array(
  1001. \'name\' => \'cn\',
  1002. \'surname\' => \'sn\',
  1003. \'firstname\' => \'givenName\',
  1004. \'email\' => \'mail\'
  1005. ),
  1006. \'LDAP_rdn\' => \'mail\',
  1007. \'ldap_version\' => 3,
  1008. \'scope\' => \'sub\',
  1009. \'fuzzy_search\' => true
  1010. );
  1011. \$rcmail_config[\'autocomplete_addressbooks\'] = array(\'sql\',\'localhost\');
  1012. \$rcmail_config[\'autocomplete_min_length\'] = 1;
  1013. \$rcmail_config[\'autocomplete_threads\'] = 0;
  1014. \$rcmail_config[\'autocomplete_max\'] = 15;
  1015. \$rcmail_config[\'address_template\'] = \'{street}<br/>{locality} {zipcode}<br/>{country} {region}\';
  1016. \$rcmail_config[\'addressbook_search_mode\'] = 0;
  1017. \$rcmail_config[\'default_charset\'] = \'ISO-8859-1\';
  1018. \$rcmail_config[\'skin\'] = \'larry\';
  1019. \$rcmail_config[\'mail_pagesize\'] = 50;
  1020. \$rcmail_config[\'addressbook_pagesize\'] = 50;
  1021. \$rcmail_config[\'addressbook_sort_col\'] = \'surname\';
  1022. \$rcmail_config[\'addressbook_name_listing\'] = 0;
  1023. \$rcmail_config[\'timezone\'] = \'auto\';
  1024. \$rcmail_config[\'prefer_html\'] = true;
  1025. \$rcmail_config[\'show_images\'] = 0;
  1026. \$rcmail_config[\'message_extwin\'] = false;
  1027. \$rcmail_config[\'compose_extwin\'] = false;
  1028. \$rcmail_config[\'htmleditor\'] = 0;
  1029. \$rcmail_config[\'prettydate\'] = true;
  1030. \$rcmail_config[\'draft_autosave\'] = 300;
  1031. \$rcmail_config[\'preview_pane\'] = false;
  1032. \$rcmail_config[\'preview_pane_mark_read\'] = 0;
  1033. \$rcmail_config[\'logout_purge\'] = false;
  1034. \$rcmail_config[\'logout_expunge\'] = false;
  1035. \$rcmail_config[\'inline_images\'] = true;
  1036. \$rcmail_config[\'mime_param_folding\'] = 0;
  1037. \$rcmail_config[\'skip_deleted\'] = false;
  1038. \$rcmail_config[\'read_when_deleted\'] = true;
  1039. \$rcmail_config[\'flag_for_deletion\'] = false;
  1040. \$rcmail_config[\'refresh_interval\'] = 60;
  1041. \$rcmail_config[\'check_all_folders\'] = false;
  1042. \$rcmail_config[\'display_next\'] = true;
  1043. \$rcmail_config[\'autoexpand_threads\'] = 0;
  1044. \$rcmail_config[\'reply_mode\'] = 0;
  1045. \$rcmail_config[\'strip_existing_sig\'] = true;
  1046. \$rcmail_config[\'show_sig\'] = 1;
  1047. \$rcmail_config[\'force_7bit\'] = false;
  1048. \$rcmail_config[\'delete_always\'] = false;
  1049. \$rcmail_config[\'delete_junk\'] = false;
  1050. \$rcmail_config[\'mdn_requests\'] = 0;
  1051. \$rcmail_config[\'mdn_default\'] = 0;
  1052. \$rcmail_config[\'dsn_default\'] = 0;
  1053. \$rcmail_config[\'reply_same_folder\'] = false;
  1054. \$rcmail_config[\'forward_attachment\'] = false;
  1055. \$rcmail_config[\'default_addressbook\'] = null;
  1056. \$rcmail_config[\'spellcheck_before_send\'] = false;
  1057. \$rcmail_config[\'autocomplete_single\'] = false;
  1058. \$rcmail_config[\'default_font\'] = \'\';
  1059. " > config/main.inc.php
  1060. ';
  1061. $cmd[]['rsh']='cd /Library/Server/Web/Data/Sites/Default/webmail || exit 1
  1062. echo "<?
  1063. \$rcmail_config = array();
  1064. \$rcmail_config[\'db_dsnw\'] = \'mysql://webmail:webmail666@127.0.0.1/webmail\';
  1065. \$rcmail_config[\'db_dsnr\'] = \'\';
  1066. \$rcmail_config[\'db_persistent\'] = false;
  1067. // you can define specific table names used to store webmail data
  1068. \$rcmail_config[\'db_table_users\'] = \'users\';
  1069. \$rcmail_config[\'db_table_identities\'] = \'identities\';
  1070. \$rcmail_config[\'db_table_contacts\'] = \'contacts\';
  1071. \$rcmail_config[\'db_table_contactgroups\'] = \'contactgroups\';
  1072. \$rcmail_config[\'db_table_contactgroupmembers\'] = \'contactgroupmembers\';
  1073. \$rcmail_config[\'db_table_session\'] = \'session\';
  1074. \$rcmail_config[\'db_table_cache\'] = \'cache\';
  1075. \$rcmail_config[\'db_table_cache_index\'] = \'cache_index\';
  1076. \$rcmail_config[\'db_table_cache_thread\'] = \'cache_thread\';
  1077. \$rcmail_config[\'db_table_cache_messages\'] = \'cache_messages\';
  1078. \$rcmail_config[\'db_table_dictionary\'] = \'dictionary\';
  1079. \$rcmail_config[\'db_table_searches\'] = \'searches\';
  1080. \$rcmail_config[\'db_table_system\'] = \'system\';
  1081. // you can define specific sequence names used in PostgreSQL
  1082. \$rcmail_config[\'db_sequence_users\'] = \'user_ids\';
  1083. \$rcmail_config[\'db_sequence_identities\'] = \'identity_ids\';
  1084. \$rcmail_config[\'db_sequence_contacts\'] = \'contact_ids\';
  1085. \$rcmail_config[\'db_sequence_contactgroups\'] = \'contactgroups_ids\';
  1086. \$rcmail_config[\'db_sequence_searches\'] = \'search_ids\';
  1087. // end db config file
  1088. " > config/db.inc.php';
  1089. //!!!!!!!!! EOF WEBMAIL !!!!!!!
  1090. return $cmd;
  1091. }
  1092. 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,$OPTIONS) {
  1093. //@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';
  1094. //!!! Instalacja i generowanie konfiga - kopiowanie
  1095. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/SE || echo PASSED '; //zalozenie katalogow
  1096. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/'.$REMOTE_FOLDER_ROOT.' || echo PASSED '; //zalozenie katalogow
  1097. $cmd[]['scp_root']=array($INSTALL_ROOT.'/budynki*','/Library/Server/Web/Data/Sites/Default/SE/');
  1098. $cmd[]['scp_root']=array($INSTALL_ROOT.'/favicon.ico','/Library/Server/Web/Data/Sites/Default/SE/');
  1099. $cmd[]['scp_root']=array($INSTALL_ROOT.'/icon','/Library/Server/Web/Data/Sites/Default/SE/');
  1100. $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/index* || echo PASSED';
  1101. $cmd[]['scp_root']=array($INSTALL_ROOT.'/index*','/Library/Server/Web/Data/Sites/Default/SE/');
  1102. $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/odt2xhtml* || echo PASSED';
  1103. $cmd[]['scp_root']=array($INSTALL_ROOT.'/odt2xhtml*','/Library/Server/Web/Data/Sites/Default/SE/');
  1104. $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/procesy5* || echo PASSED';
  1105. $cmd[]['scp_root']=array($INSTALL_ROOT.'/procesy5*','/Library/Server/Web/Data/Sites/Default/SE/');
  1106. $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/przypomnij.php || echo PASSED';
  1107. $cmd[]['scp_root']=array($INSTALL_ROOT.'/przypomnij.php','/Library/Server/Web/Data/Sites/Default/SE/');
  1108. $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/se-lib || echo PASSED';
  1109. $cmd[]['scp_root']=array($INSTALL_ROOT.'/se-lib','/Library/Server/Web/Data/Sites/Default/SE/');
  1110. $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/schema || echo PASSED';
  1111. $cmd[]['rsh']='mkdir -p /Library/Server/Web/Data/Sites/Default/SE/schema/gui/company';
  1112. $cmd[]['rsh']='mkdir -p /Library/Server/Web/Data/Sites/Default/SE/schema/wfs';
  1113. $cmd[]['rsh']='mkdir -p /Library/Server/Web/Data/Sites/Default/SE/schema/gml';
  1114. $cmd[]['scp_hidden_files']=array($INSTALL_ROOT.'/schema/.htaccess','/Library/Server/Web/Data/Sites/Default/SE/schema/');
  1115. $cmd[]['scp_root']=array($INSTALL_ROOT.'/schema/wfs','/Library/Server/Web/Data/Sites/Default/SE/schema/');
  1116. $cmd[]['scp_root']=array($INSTALL_ROOT.'/schema/gml','/Library/Server/Web/Data/Sites/Default/SE/schema/');
  1117. $cmd[]['scp_root']=array($INSTALL_ROOT.'/schema/gui/core','/Library/Server/Web/Data/Sites/Default/SE/schema/gui/');
  1118. $cmd[]['scp_root']=array($INSTALL_ROOT.'/schema/gui/company/'.$REMOTE_FOLDER_ROOT,'/Library/Server/Web/Data/Sites/Default/SE/schema/gui/company/');
  1119. $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/session-expire.php || echo PASSED';
  1120. $cmd[]['scp_root']=array($INSTALL_ROOT.'/session-expire.php','/Library/Server/Web/Data/Sites/Default/SE/');
  1121. $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/stuff || echo PASSED';
  1122. $cmd[]['scp_root']=array($INSTALL_ROOT.'/stuff','/Library/Server/Web/Data/Sites/Default/SE/');
  1123. $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/superedit* || echo PASSED';
  1124. $cmd[]['scp_root']=array($INSTALL_ROOT.'/superedit*','/Library/Server/Web/Data/Sites/Default/SE/');
  1125. $cmd[]['scp_root']=array($INSTALL_ROOT.'/webdav','/Library/Server/Web/Data/Sites/Default/SE/');
  1126. $cmd[]['rsh']='mkdir -p /Library/Server/Web/Data/Sites/Default/SE/config';
  1127. $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/config/.config_base_structure* || echo PASSED';
  1128. // TODO: 'scp_root' nie działa dla ukrytych plików .* - 'scp_hidden_files'
  1129. $cmd[]['scp_root']=array(''.$INSTALL_ROOT.'/config/.config_base_structure*','/Library/Server/Web/Data/Sites/Default/SE/config/'); //todo do przeniesienia wyzej - struktura musi byc wygenerowana
  1130. $cmd[]['scp_root']=array($INSTALL_ROOT.'/config/.cnf--column_init*','/Library/Server/Web/Data/Sites/Default/SE/config/');
  1131. $cmd[]['scp_root']=array($INSTALL_ROOT.'/config/.cnf--external_ids.ini.php*','/Library/Server/Web/Data/Sites/Default/SE/config/');
  1132. $cmd[]['scp_root']=array($INSTALL_ROOT.'/.config.php','/Library/Server/Web/Data/Sites/Default/SE/');
  1133. $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/procesy || echo PASSED';
  1134. $cmd[]['scp_root']=array($INSTALL_ROOT.'/procesy','/Library/Server/Web/Data/Sites/Default/SE/');
  1135. $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/bash_sync_perms.php || echo PASSED';
  1136. $cmd[]['scp_root']=array($INSTALL_ROOT.'/bash_sync_perms.php','/Library/Server/Web/Data/Sites/Default/SE/');
  1137. $cmd[]['rsh']='rm /Library/Server/Web/Data/Sites/Default/SE/bash_install_check.php || echo PASSED';
  1138. $cmd[]['scp_root']=array($INSTALL_ROOT.'/bash_install_check.php','/Library/Server/Web/Data/Sites/Default/SE/');
  1139. //! wfs !? dziala?
  1140. $cmd[]['rsh']='rm /Library/Server/Web/Data/Sites/Default/SE/wfs-data.php || echo PASSED';
  1141. $cmd[]['scp_root']=array($INSTALL_ROOT.'/wfs-data.php','/Library/Server/Web/Data/Sites/Default/SE/');
  1142. $cmd[]['rsh']='rm /Library/Server/Web/Data/Sites/Default/SE/wfs-qgis.php || echo PASSED';
  1143. $cmd[]['scp_root']=array($INSTALL_ROOT.'/wfs-qgis.php','/Library/Server/Web/Data/Sites/Default/SE/');
  1144. $cmd[]['rsh']='rm /Library/Server/Web/Data/Sites/Default/SE/wfs.php || echo PASSED';
  1145. $cmd[]['scp_root']=array($INSTALL_ROOT.'/wfs.php','/Library/Server/Web/Data/Sites/Default/SE/');
  1146. $cmd[]['scp_root']=array($INSTALL_ROOT.'/VERSION','/Library/Server/Web/Data/Sites/Default/SE/');
  1147. /* $cmd[]['rsh']='echo "<?php header(\'Location: https://'.$SERVER_ADDRESS.'/SE\'); ?>" > /Library/Server/Web/Data/Sites/Default/index.php'; // TODO @2014-08-11
  1148. */
  1149. $cmd[]['rsh']='echo "<?php header(\'Location: https://\'.\$_SERVER[\'SERVER_NAME\'].\'/SE/\');?>" > /Library/Server/Web/Data/Sites/Default/index.php';
  1150. //$cmd[]['rsh']='uruchomic na serwerze open directory i dodac tam konta roota';
  1151. //$cmd[]['rsh']='skonfigurowac poczte i wlaczyc';
  1152. //$cmd[]['rsh']='skonfigurowac pliki i wlaczyc - razem ze skanami';
  1153. //$cmd[]['rsh']='uruchomic i skonfiugorowac kalendarze (haslo do wysylki poczty musi dzialac i byc konto takie dodane)';
  1154. $cmd[]['rsh']='sed -i.bak "s/short_open_tag = Off/short_open_tag = On/" /etc/php.ini ';
  1155. $cmd[]['rsh']='sed -i.bak "s/memory_limit =.*/memory_limit = 428M/" /etc/php.ini ';
  1156. $cmd[]['rsh']='sed -i.bak "s/post_max_size =.*/post_max_size = 800M/" /etc/php.ini ';
  1157. $cmd[]['rsh']='sed -i.bak "s/session.gc_maxlifetime =.*/session.gc_maxlifetime = 3600/" /etc/php.ini ';
  1158. $cmd[]['rsh']='sed -i.bak "s/upload_max_filesize =.*/upload_max_filesize = 120M/" /etc/php.ini ';
  1159. $cmd[]['rsh']='sed -i.bak "s/allow_url_include = Off/allow_url_include = On/" /etc/php.ini';
  1160. $cmd[]['rsh']='sed -i.bak "s/pdo_mysql.cache_size =.*/pdo_mysql.cache_size = 200000/" /etc/php.ini ';
  1161. $cmd[]['rsh']='sed -i.bak "s/mysql.cache_size =.*/mysql.cache_size = 200000/" /etc/php.ini ';
  1162. $cmd[]['rsh']='sed -i.bak "s/mysqli.cache_size =.*/mysqli.cache_size = 200000/" /etc/php.ini ';
  1163. $cmd[]['rsh']='defaults write /Library/Preferences/com.apple.screensaver loginWindowIdleTime 0';
  1164. $cmd[]['rsh']='serveradmin settings web:defaultSite:enableServerSideIncludes = yes';
  1165. $cmd[]['rsh']='serveradmin settings web:defaultSite:allowAllOverrides = yes';
  1166. $cmd[]['rsh']='test -f /Library/Server/Web/Config/Proxy/apache_serviceproxy.conf && sed -i.bak "s|ProxyPass / http://127.0.0.1:34543/$|ProxyPass / http://127.0.0.1:34543/ timeout=3600|" /Library/Server/Web/Config/Proxy/apache_serviceproxy.conf || exit 0';
  1167. $cmd[]['rsh']='test -f /Library/Server/Web/Config/Proxy/apache_serviceproxy.conf && launchctl stop com.apple.serviceproxy || exit 0 ';
  1168. $cmd[]['rsh']='serveradmin start web';
  1169. $cmd[]['rsh']=' php /Library/Server/Web/Data/Sites/Default/SE/bash_sync_perms.php '.$SERVER_ADDRESS.' addToLaunchctl';
  1170. $cmd[]['rsh']=' launchctl load /Library/LaunchDaemons/pl.biallnet.sync_perms.'.$SERVER_ADDRESS.'.php.plist';
  1171. //! #1228 @2016-04-11 bindera: jest blad - na tym etapie instalacji nie sa stworzone pliki konfiguracyjne, a ten skrypt ich wymaga, wiec jest blad!!! szukamy
  1172. $cmd[]['rsh']='[ -e /Library/Server/Web/Data/Sites/Default/SE/config/.cnf--default_db-'.$SERVER_ADDRESS.'.ini.php ] || exit 0 && php /Library/Server/Web/Data/Sites/Default/SE/bash_install_check.php '.$SERVER_ADDRESS;
  1173. //!@2016-04-11 jezierskik: 62.bash (bash_install_check) do podmiany, blad polega na tym, ze w nieodpowiedniej kolejnosci przechodzi proces instalacyjny co skutkuje wyskoczeniem bledu
  1174. // nalezy zamienic kolejnosc plikow, gubi pliki konfiguracyjne
  1175. if($SERVER_VERSION=='10.10Yosemite' or $SERVER_VERSION=='10.11-ElCapitan') $cmd[]['rsh']='dseditgroup -o read com.apple.access_mail || dseditgroup -o create com.apple.access_mail';
  1176. if($SERVER_VERSION=='10.10Yosemite' or $SERVER_VERSION=='10.11-ElCapitan') $cmd[]['rsh']='dseditgroup -o read com.apple.access_addressbook || dseditgroup -o create com.apple.access_addressbook';
  1177. if($SERVER_VERSION=='10.10Yosemite' or $SERVER_VERSION=='10.11-ElCapitan') $cmd[]['rsh']='dseditgroup -o read com.apple.access_smb || dseditgroup -o create com.apple.access_smb';
  1178. if($SERVER_VERSION=='10.10Yosemite' or $SERVER_VERSION=='10.11-ElCapitan') $cmd[]['rsh']='dseditgroup -o read com.apple.access_afp || dseditgroup -o create com.apple.access_afp';
  1179. if($SERVER_VERSION=='10.10Yosemite' or $SERVER_VERSION=='10.11-ElCapitan') $cmd[]['rsh']='dseditgroup -o read com.apple.access_vpn || dseditgroup -o create com.apple.access_vpn';
  1180. if($SERVER_VERSION=='10.10Yosemite' or $SERVER_VERSION=='10.11-ElCapitan') $cmd[]['rsh']='dseditgroup -o read com.apple.access_chat || dseditgroup -o create com.apple.access_chat';
  1181. if($SERVER_VERSION=='10.10Yosemite' or $SERVER_VERSION=='10.11-ElCapitan') $cmd[]['rsh']='dseditgroup -o read com.apple.access_calendar || dseditgroup -o create com.apple.access_calendar';
  1182. //odpalenie jabbera dla skroconej domeny servera:
  1183. $cmd[]['rsh']=' test -n "'.$SERVER_ADDRESS_SHORT.'" && serveradmin settings jabber:hostsCommaDelimitedString = "'.$SERVER_ADDRESS.','.$SERVER_ADDRESS_SHORT.'"';
  1184. //odpalenie jabbera::::
  1185. $cmd[]['rsh']=' serveradmin start jabber';
  1186. //odpalenie poczty dla skroconej domeny servera:
  1187. $cmd[]['rsh']=' test -n "'.$SERVER_ADDRESS_SHORT.'" && serveradmin settings mail:postfix:virtual_domains:_array_index:0 = "'.$SERVER_ADDRESS_SHORT.'"';
  1188. //odpalenie poczty::::
  1189. //$cmd[]['rsh']=' serveradmin settings mail:postfix:message_size_limit_enabled = no'; //wylaczenie limitu poczty
  1190. $cmd[]['rsh']=' serveradmin settings mail:postfix:message_size_limit = 90485760 ' ; //limit 90 mega
  1191. $cmd[]['rsh']=' serveradmin start mail';
  1192. //TODO need to reedit MainConf for virtual domains in /Library/Server/Mail/Config/postfix/main.cf (add hash:)
  1193. // virtual_alias_domains = $virtual_alias_maps hash:/Library/Server/Mail/Config/postfix/virtual_domains
  1194. $cmd[]['rsh']=' serveradmin start calendar';
  1195. //@2016-06 bindera: po aktualizacji sql czesto nie dziala event sheduler np zoompak
  1196. $cmd[]['rsh']=' echo " SET GLOBAL event_scheduler = \"ON\" " |mysql -uroot -p\''.$ADMIN_USERNAME_PASSWD.'\' -D'.$REMOTE_FOLDER_ROOT.' '; //zalozenie 1 usera TODO synchronizacja z ldap
  1197. return $cmd;
  1198. }
  1199. 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,$OPTIONS) {
  1200. //always before install mysql (if option to use)
  1201. return $cmd;
  1202. }
  1203. 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,$OPTIONS) {
  1204. //after always should be run INSTALL_GETCOMMANDS_SE
  1205. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/SE || echo PASSED '; //zalozenie katalogow
  1206. //! .cnf--default_db
  1207. $cmd[]['rsh']=' [ -d /Library/Server/Web/Data/Sites/Default/SE ] && echo PASSED '; //zalozenie katalogow
  1208. $cmd[]['rsh']=' echo ";<?php
  1209. ;die(); // For further security
  1210. ;// default DB
  1211. type=\"mysql\"
  1212. host=\"127.0.0.1\"
  1213. port=\"3306\"
  1214. user=\"root\"
  1215. pass=\"'.$ADMIN_USERNAME_PASSWD.'\"
  1216. database=\"'.$REMOTE_FOLDER_ROOT.'\"
  1217. zasob_id=\"2\"
  1218. " > /Library/Server/Web/Data/Sites/Default/SE/config/.cnf--default_db-'.$SERVER_ADDRESS.'.ini.php
  1219. ';
  1220. $cmd[]['rsh']=' test -f /Library/Server/Web/Data/Sites/Default/SE/config/.cnf--default_db-127.0.0.1.ini.php || ln /Library/Server/Web/Data/Sites/Default/SE/config/.cnf--default_db-'.$SERVER_ADDRESS.'.ini.php /Library/Server/Web/Data/Sites/Default/SE/config/.cnf--default_db-127.0.0.1.ini.php'; //aliasowanie do localhosta konfigow do testow systemu
  1221. //! .cnf--folders
  1222. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT;
  1223. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/PISMA';
  1224. $cmd[]['rsh']=' touch /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/PISMA/index.html';
  1225. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/DEVICES';
  1226. $cmd[]['rsh']=' touch /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/DEVICES/index.html';
  1227. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/PROJEKTY';
  1228. $cmd[]['rsh']=' touch /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/PROJEKTY/index.html';
  1229. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/SES_PROCESY5_A';
  1230. $cmd[]['rsh']=' touch /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/SES_PROCESY5_A/index.html';
  1231. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/CRM_PROCES';
  1232. $cmd[]['rsh']=' touch /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/CRM_PROCES/index.html';
  1233. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/DRUKI';
  1234. $cmd[]['rsh']=' touch /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/DRUKI/index.html';
  1235. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/ADMIN_USERS';
  1236. $cmd[]['rsh']=' touch /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/ADMIN_USERS/index.html';
  1237. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/QUALITY_NOTICES';
  1238. $cmd[]['rsh']=' touch /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/QUALITY_NOTICES/index.html';
  1239. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/BUILDINGS';
  1240. $cmd[]['rsh']=' touch /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/BUILDINGS/index.html';
  1241. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/CRM_LISTA_ZASOBOW';
  1242. $cmd[]['rsh']=' touch /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/CRM_LISTA_ZASOBOW/index.html';
  1243. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/GRAFIK_PRACY';
  1244. $cmd[]['rsh']=' touch /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/GRAFIK_PRACY/index.html';
  1245. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/PROBLEMS';
  1246. $cmd[]['rsh']=' touch /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/PROBLEMS/index.html';
  1247. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/SKANY'; //@2014-01-18 - should be added
  1248. $cmd[]['rsh']=' touch /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/SKANY/index.html';
  1249. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/WMS_LAYERS';
  1250. $cmd[]['rsh']=' touch /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/WMS_LAYERS/index.html';
  1251. $cmd[]['rsh']=' chmod 0755 /Library/Server/Web/Data/Sites/Default/PLIKI/';
  1252. $cmd[]['rsh']=' chmod -R +a "_www allow writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown,add_file,add_subdirectory,delete_child,list,search,file_inherit,directory_inherit" /Library/Server/Web/Data/Sites/Default/PLIKI';
  1253. //! TODO te komendy nie działają @2013-10-15 - trzeba ruszyc recznie z GUI
  1254. $cmd[]['rsh']=' sharing -l |grep '.$REMOTE_FOLDER_ROOT.' || sharing -a /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.' -A '.$REMOTE_FOLDER_ROOT.' -s 101' ; //uruchomienie sharingu smb/afp dla udzialu
  1255. $cmd[]['rsh']=' serveradmin start afp' ; //uruchomienie sharingu smb/afp dla udzialu
  1256. $cmd[]['rsh']=' serveradmin start smb' ; //uruchomienie sharingu smb/afp dla udzialu
  1257. $cmd[]['rsh']=' serveradmin start sharing' ; //uruchomienie sharingu smb/afp dla udzialu
  1258. //EOF TODO te komendy nie dzialaja
  1259. //@2014-01-18 bindera: aktualizacja konfigu do plikow zgodna z zalozeniami korespondencji w podfolderach
  1260. $cmd[]['rsh']=' echo ";<?php
  1261. ;die(); // For further security
  1262. [root_points]
  1263. mount_point=\"/Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'\"
  1264. share_point=\"//'.$SERVER_ADDRESS.'/'.$REMOTE_FOLDER_ROOT.'\"
  1265. www_share_point=\"https://'.$SERVER_ADDRESS.'/PLIKI/'.$REMOTE_FOLDER_ROOT.'\"
  1266. [m_dist_files_types]
  1267. ARTYKUL=\"ARTYKUL\"
  1268. CERT_CE=\"CERT_CE\"
  1269. CERTYFIKAT=\"CERTYFIKAT\"
  1270. DEKLARACJA=\"DEKLARACJA\"
  1271. DOKUMENTACJA=\"DOKUMENTACJA\"
  1272. DOK_POWYK=\"DOK_POWYK\"
  1273. DRUK=\"DRUK\"
  1274. ;//ETYKIETA=\"ETYKIETA\"
  1275. FAKTURA=\"FAKTURA\"
  1276. FIRMWARE=\"FIRMWARE\"
  1277. ;//INSTRUKCJA=\"INSTRUKCJA\"
  1278. ;//INSTRUKCJA_PL=\"INSTRUKCJA_PL\"
  1279. ;//INSTRUKCJA_PL_DRUK=\"INSTRUKCJA_PL_DRUK\"
  1280. ;//KARTA=\"KARTA\"
  1281. INNE=\"INNE\"
  1282. INSTRUKCJA=\"INSTRUKCJA\"
  1283. KARTA_GWARANCYJNA=\"KARTA_GWARANCYJNA\"
  1284. ;//KOMPLETACJA=\"KOMPLETACJA\"
  1285. LIST_PRZEWOZ=\"LIST_PRZEWOZ\"
  1286. NOTATKA=\"NOTATKA\"
  1287. OFERTA=\"OFERTA\"
  1288. ;//OVERLAY=\"OVERLAY\"
  1289. PISMO=\"PISMO\"
  1290. POLISA=\"POLISA\"
  1291. PREZENTACJA=\"PREZENTACJA\"
  1292. PROJEKT=\"PROJEKT\"
  1293. PROJEKT_BUD=\"PROJEKT_BUD\"
  1294. PROJEKT_GRAF=\"PROJEKT_GRAF\"
  1295. PROTOKOL=\"PROTOKOL\"
  1296. PROTOK_ODB_TOWAR=\"PROTOK_ODB_TOWAR\"
  1297. REKLAMACJA=\"REKLAMACJA\"
  1298. RYS_TECHNICZNY=\"RYS_TECHNICZNY\"
  1299. SPEC_WYROBU=\"SPEC_WYROBU\"
  1300. SOFT_CD=\"SOFT_CD\"
  1301. SWIAD_JAKOSCI=\"SWIAD_JAKOSCI\"
  1302. TODO=\"TODO\"
  1303. UMOWA=\"UMOWA\"
  1304. UCHWALA=\"UCHWALA\"
  1305. UCHWALA_WWW=\"UCHWALA_WWW\"
  1306. UZGODNIENIE=\"UZGODNIENIE\"
  1307. WEZW_DO_ZAPL=\"WEZW_DO_ZAPL\"
  1308. WWW_DOKUMENTY=\"WWW_DOKUMENTY\"
  1309. WWW_PRACA=\"WWW_PRACA\"
  1310. WZORZEC=\"WZORZEC\"
  1311. WNIOSEK=\"WNIOSEK\"
  1312. WNIOSEK_URLOP=\"WNIOSEK_URLOP\"
  1313. WYD_MAGAZYN=\"WYD_MAGAZYN\"
  1314. WYCENA=\"WYCENA\"
  1315. ZDJECIE=\"ZDJECIE\"
  1316. ZDJECIE_HI=\"ZDJECIE_HI\"
  1317. ZWOLNIENIE_LEK=\"ZWOLNIENIE_LEK\"
  1318. ZAMOWIENIE=\"ZAMOWIENIE\"
  1319. [default_COLUMN]
  1320. mount_point=\"default\";
  1321. share_point=\"default\"
  1322. www_share_point=\"default\"
  1323. LOOKAT_NEGFILE_LOOK_REGEX=\"/<VARNAME>./\"
  1324. LOOKAT_NEGFILE_VARNAME=\"ID\"
  1325. LOOKAT_FOLDER_LOOK_REGEX=\"/../\"
  1326. LOOKAT_FOLDER_VARNAME=\"ID\"
  1327. DEST_FOLDER_M_DIST_FILES_INDEXNAME=\"ID\"
  1328. [ADMIN_USERS_COLUMN]
  1329. mount_point=\"ADMIN_USERS\"
  1330. share_point=\"ADMIN_USERS\"
  1331. www_share_point=\"ADMIN_USERS\"
  1332. LOOKAT_FOLDER_LOOK_GLOB=\"<VARNAME>.*\"
  1333. LOOKAT_FOLDER_VARNAME=\"ID\"
  1334. DEST_FOLDER_FORMAT=\"<VARNAME1>.<VARNAME2>\"
  1335. DEST_FOLDER_VARNAME1=\"ID\"
  1336. DEST_FOLDER_VARNAME2=\"ADM_NAME\"
  1337. [CRM_LISTA_ZASOBOW_COLUMN]
  1338. mount_point=\"DRUKI\"
  1339. share_point=\"DRUKI\"
  1340. www_share_point=\"DRUKI\"
  1341. LOOKAT_FOLDER_LOOK_GLOB=\"<VARNAME>.*\"
  1342. LOOKAT_FOLDER_VARNAME=\"ID\"
  1343. DEST_FOLDER_FORMAT=\"<VARNAME1>.<VARNAME2>\"
  1344. DEST_FOLDER_VARNAME1=\"ID\"
  1345. DEST_FOLDER_VARNAME2=\"DESC\"
  1346. [CRM_LISTA_ZASOBOW_COLUMN]
  1347. mount_point=\"DRUKI\"
  1348. share_point=\"DRUKI\"
  1349. www_share_point=\"DRUKI\"
  1350. LOOKAT_FOLDER_LOOK_GLOB=\"<VARNAME>.*\"
  1351. LOOKAT_FOLDER_VARNAME=\"ID\"
  1352. DEST_FOLDER_FORMAT=\"<VARNAME1>.<VARNAME2>\"
  1353. DEST_FOLDER_VARNAME1=\"ID\"
  1354. DEST_FOLDER_VARNAME2=\"DESC\"
  1355. [CRM_PROCES_COLUMN]
  1356. mount_point=\"CRM_PROCES\"
  1357. share_point=\"CRM_PROCES\"
  1358. www_share_point=\"CRM_PROCES\"
  1359. LOOKAT_FOLDER_LOOK_GLOB=\"<VARNAME>.*\"
  1360. LOOKAT_FOLDER_VARNAME=\"ID\"
  1361. DEST_FOLDER_FORMAT=\"<VARNAME1>.<VARNAME2>\"
  1362. DEST_FOLDER_VARNAME1=\"ID\"
  1363. DEST_FOLDER_VARNAME2=\"DESC\"
  1364. [QUALITY_NOTICES_COLUMN]
  1365. mount_point=\"QUALITY_NOTICES\"
  1366. share_point=\"QUALITY_NOTICES\"
  1367. www_share_point=\"QUALITY_NOTICES\"
  1368. LOOKAT_FOLDER_LOOK_GLOB=\"<VARNAME>.*\"
  1369. LOOKAT_FOLDER_VARNAME=\"ID\"
  1370. DEST_FOLDER_FORMAT=\"<VARNAME1>.<VARNAME2>\"
  1371. DEST_FOLDER_VARNAME1=\"ID\"
  1372. DEST_FOLDER_VARNAME2=\"ID_PROCES\"
  1373. [GRAFIK_PRACY_COLUMN]
  1374. mount_point=\"GRAFIK_PRACY\"
  1375. share_point=\"GRAFIK_PRACY\"
  1376. www_share_point=\"GRAFIK_PRACY\"
  1377. LOOKAT_FOLDER_LOOK_GLOB=\"<VARNAME>.*\"
  1378. LOOKAT_FOLDER_VARNAME=\"ID\"
  1379. DEST_FOLDER_FORMAT=\"<VARNAME1>.<VARNAME2>\"
  1380. DEST_FOLDER_VARNAME1=\"ID\"
  1381. DEST_FOLDER_VARNAME2=\"DATE\"
  1382. DEST_FOLDER_VARNAME3=\"L_APPOITMENT_USER\"
  1383. [PROBLEMS_COLUMN]
  1384. mount_point=\"PROBLEMS\"
  1385. share_point=\"PROBLEMS\"
  1386. www_share_point=\"PROBLEMS\"
  1387. LOOKAT_FOLDER_LOOK_GLOB=\"<VARNAME>.*\"
  1388. LOOKAT_FOLDER_VARNAME=\"ID\"
  1389. DEST_FOLDER_FORMAT=\"<VARNAME1>.<VARNAME2>\"
  1390. DEST_FOLDER_VARNAME1=\"ID\"
  1391. DEST_FOLDER_VARNAME2=\"A_PROBLEM_DESC\"
  1392. [BUILDINGS_COLUMN]
  1393. mount_point=\"BUILDINGS\"
  1394. share_point=\"BUILDINGS\"
  1395. www_share_point=\"BUILDINGS\"
  1396. LOOKAT_FOLDER_LOOK_GLOB=\"<VARNAME>.*\"
  1397. LOOKAT_FOLDER_VARNAME=\"ID\"
  1398. DEST_FOLDER_FORMAT=\"<VARNAME1>.<VARNAME2>\"
  1399. DEST_FOLDER_VARNAME1=\"ID\"
  1400. DEST_FOLDER_VARNAME2=\"S_ADDRESS_STREET\"
  1401. [IN7_MK_BAZA_DYSTRYBUCJI_COLUMN]
  1402. mount_point=\"PROJEKTY\"
  1403. share_point=\"PROJEKTY\"
  1404. www_share_point=\"PROJEKTY\"
  1405. LOOKAT_FOLDER_LOOK_GLOB=\"<VARNAME>.*\"
  1406. LOOKAT_FOLDER_VARNAME=\"ID\"
  1407. DEST_FOLDER_FORMAT=\"<VARNAME1>.<VARNAME2>\"
  1408. DEST_FOLDER_VARNAME1=\"ID\"
  1409. DEST_FOLDER_VARNAME2=\"M_DIST_DESC\"
  1410. [IN7_DZIENNIK_KORESP_COLUMN]
  1411. mount_point=\"PISMA\"
  1412. share_point=\"PISMA\"
  1413. www_share_point=\"PISMA\"
  1414. LOOKAT_FOLDER_LOOK_GLOB=\"<VARNAME>.*\"
  1415. LOOKAT_FOLDER_VARNAME=\"ID\"
  1416. DEST_FOLDER_FORMAT=\"<VARNAME1>.<VARNAME2>-<VARNAME3>\"
  1417. DEST_FOLDER_VARNAME1=\"ID\"
  1418. DEST_FOLDER_VARNAME2=\"K_OD_KOGO\"
  1419. DEST_FOLDER_VARNAME3=\"K_ZAWARTOS\"
  1420. [DEVICES_COLUMN]
  1421. mount_point=\"DEVICES\"
  1422. share_point=\"DEVICES\"
  1423. www_share_point=\"DEVICES\"
  1424. LOOKAT_FOLDER_LOOK_GLOB=\"<VARNAME>.*\"
  1425. LOOKAT_FOLDER_VARNAME=\"ID\"
  1426. DEST_FOLDER_FORMAT=\"<VARNAME1>.<VARNAME2>_<VARNAME3>\"
  1427. DEST_FOLDER_VARNAME1=\"ID\"
  1428. DEST_FOLDER_VARNAME2=\"T_PRODUCER\"
  1429. DEST_FOLDER_VARNAME3=\"S_HW\"
  1430. [SCANS_COLUMN]
  1431. mount_point=\"SKANY\"
  1432. share_point=\"SKANY\"
  1433. www_share_point=\"SKANY\"
  1434. [WMS_LAYERS_COLUMN]
  1435. mount_point=\"WMS_LAYERS\"
  1436. share_point=\"//biuro.biall-net.pl/WMS_LAYERS\"
  1437. www_share_point=\"WMS_LAYERS\"
  1438. LOOKAT_FOLDER_LOOK_GLOB=\"<VARNAME>\"
  1439. LOOKAT_FOLDER_VARNAME=\"ID\"
  1440. DEST_FOLDER_FORMAT=\"<VARNAME1>\"
  1441. DEST_FOLDER_VARNAME1=\"ID\"
  1442. " > /Library/Server/Web/Data/Sites/Default/SE/config/.cnf--folders-'.$SERVER_ADDRESS.'.ini.php';
  1443. $cmd[]['rsh']=' test -f /Library/Server/Web/Data/Sites/Default/SE/config/.cnf--folders-127.0.0.1.ini.php || ln /Library/Server/Web/Data/Sites/Default/SE/config/.cnf--folders-'.$SERVER_ADDRESS.'.ini.php /Library/Server/Web/Data/Sites/Default/SE/config/.cnf--folders-127.0.0.1.ini.php'; //aliasowanie do localhosta konfigow do testow systemu
  1444. //! .config_domena_.php
  1445. //LDAP
  1446. $cmd[]['rsh']='echo ";<?php
  1447. ;die(); // For further security
  1448. ;// default LDAP
  1449. version=\"3\"
  1450. host=\"127.0.0.1\"
  1451. ;//port=\"\"
  1452. user=\"'.$ADMIN_USERNAME_DIRECTORY.'\"
  1453. pass=\"'.$ADMIN_USERNAME_PASSWD.'\"
  1454. base_dn=\"'.$SERVER_ADDRESS_LDAP_DC.'\"
  1455. " > /Library/Server/Web/Data/Sites/Default/SE/config/.cnf--default_ldap-'.$SERVER_ADDRESS.'.ini.php
  1456. ';
  1457. $cmd[]['rsh']=' test -f /Library/Server/Web/Data/Sites/Default/SE/config/.cnf--default_ldap-127.0.0.1.ini.php || ln /Library/Server/Web/Data/Sites/Default/SE/config/.cnf--default_ldap-'.$SERVER_ADDRESS.'.ini.php /Library/Server/Web/Data/Sites/Default/SE/config/.cnf--default_ldap-127.0.0.1.ini.php'; //aliasowanie do localhosta konfigow do testow systemu
  1458. $cmd[]['rsh']='echo "<?php
  1459. //$DATABASE_ROOT_ZASOB_ID=36; //numer zasobu dla bazy SQL w zasobach, pod nim powinny byc bezposrednio tabele, potem komorki
  1460. \\$CRM_IMPORT_TRANSLATE[\'CRM_LISTA_ZASOBOW\'][36]=2; //baza danych[36] na baze danych zainicjalizowana
  1461. \\$CRM_IMPORT_TRANSLATE[\'CRM_LISTA_ZASOBOW\'][14]=1; //server[14] na zainicjalizowany [1] tutaj definiujemy z zasob
  1462. \\$CNF_ZASOB[\'biallnet_crm_profiles\'][\'INTERFACE_ADDR\'] = \'se.dev.webone.pl\';
  1463. \\$CNF_ZASOB[\'biallnet_crm_profiles\'][\'SQL_USER\'] = \'crmexportprof\';
  1464. \\$CNF_ZASOB[\'biallnet_crm_profiles\'][\'SQL_USER_PASS\'] = \'crmexportprof\';
  1465. \\$CNF_ZASOB[\'biallnet_crm_profiles\'][\'SQL_DATABASE\'] = \'SES_USERS2\';
  1466. " > /Library/Server/Web/Data/Sites/Default/SE/config/.config-'.$SERVER_ADDRESS.'.php';
  1467. $cmd[]['rsh']=' echo ";<?php
  1468. ;die(); // For further security
  1469. ;// default DB
  1470. type=\"mysql\"
  1471. host=\"se.dev.webone.pl\"
  1472. port=\"3306\"
  1473. user=\"crmexportprof\"
  1474. pass=\"crmexportprof\"
  1475. database=\"SES_USERS2\"
  1476. " > /Library/Server/Web/Data/Sites/Default/SE/config/.cnf--import_db-'.$SERVER_ADDRESS.'.ini.php
  1477. '; //todo zmienic to wczesniej
  1478. $cmd[]['rsh']=' test -f /Library/Server/Web/Data/Sites/Default/SE/config/.cnf--import_db-127.0.0.1.ini.php || ln /Library/Server/Web/Data/Sites/Default/SE/config/.cnf--import_db-'.$SERVER_ADDRESS.'.ini.php /Library/Server/Web/Data/Sites/Default/SE/config/.cnf--import_db-127.0.0.1.ini.php'; //aliasowanie do localhosta konfigow do testow systemu
  1479. $cmd[]['rsh']='which mysqladmin && mysqladmin -f -uroot -p\''.$ADMIN_USERNAME_PASSWD.'\' drop '.$REMOTE_FOLDER_ROOT.' || echo PASSED ';
  1480. $cmd[]['rsh']='mysqladmin -uroot -p\''.$ADMIN_USERNAME_PASSWD.'\' create '.$REMOTE_FOLDER_ROOT.' || echo passed' ; //todo przestawic wczesniej
  1481. $cmd[]['scp_root']=array(''.$INSTALL_ROOT.'/config/.config_base_structure.php','/Library/Server/Web/Data/Sites/Default/SE/config/'); //todo do przeniesienia wyzej - struktura musi byc wygenerowana
  1482. //! inicjalizacja bazy SQIX_STRUCTURE_DB_SYNC
  1483. $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
  1484. $cmd[]['rsh']='/opt/local/lib/mysql55/bin/mysql -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!
  1485. // TODO @2014-06-16 sprawdzic dodawanie struktur DB_STRUCTURES_CREATE - czy jest potrzebne - imho TAK
  1486. $cmd[]['rsh']='php -r"include(\'/Library/Server/Web/Data/Sites/Default/SE/superedit-DB_PROCEDURES_CREATE.php\') ; DB_PROCEDURES_CREATE(); " '.$SERVER_ADDRESS.' ';
  1487. $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
  1488. $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
  1489. $cmd[]['rsh']=' echo " insert ignore into CRM_LISTA_ZASOBOW (ID, \\`DESC\\`, \\`TYPE\\`) VALUES(2, \'BAZA_DANYCH\', \'BAZA_DANYCH\') " |mysql -uroot -p\''.$ADMIN_USERNAME_PASSWD.'\' -D'.$REMOTE_FOLDER_ROOT.' '; // create Zasob ID=2 if missing
  1490. $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
  1491. $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
  1492. $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
  1493. $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
  1494. //dodanie domyslnego uprawnienia admina dla glownego usera na bazie tabeli KONTAKTY_view
  1495. $cmd[]['rsh']=' echo " insert into CRM_AUTH_PROFILE (ID_ZASOB, REMOTE_TABLE,REMOTE_ID) select czp1.ID , \'ADMIN_USERS\', au.ID
  1496. from CRM_LISTA_ZASOBOW cz
  1497. left join CRM_LISTA_ZASOBOW czp on czp.PARENT_ID=cz.ID
  1498. left join CRM_WSKAZNIK cw on cw.ID_ZASOB=czp.ID
  1499. left join _CRM_PROCES_STATS_proc_wiev as cpi on cpi.ID=cw.ID_PROCES
  1500. left join CRM_WSKAZNIK as cw1 on cw1.ID_PROCES=cpi.ID_PROCES_INIT
  1501. left join CRM_LISTA_ZASOBOW as czp1 on czp1.ID=cw1.ID_ZASOB and czp1.\\`TYPE\\`=\'STANOWISKO\'
  1502. left join ADMIN_USERS au on au.ADM_ACCOUNT=\''.$ADMIN_USERNAME_DIRECTORY.'\'
  1503. where cz.\\`DESC\\` like \'KONTAKTY_view\' and cz.\\`TYPE\\`=\'TABELA\' limit 1 " |mysql -uroot -p\''.$ADMIN_USERNAME_PASSWD.'\' -D'.$REMOTE_FOLDER_ROOT.' '; //zalozenie 1 usera TODO synchronizacja z ldap
  1504. $cmd[]['rsh']=' echo " insert into CRM_AUTH_PROFILE (ID_ZASOB, REMOTE_TABLE,REMOTE_ID) select czp1.ID , \'ADMIN_USERS\', au.ID
  1505. from CRM_LISTA_ZASOBOW cz
  1506. left join CRM_LISTA_ZASOBOW czp on czp.PARENT_ID=cz.ID
  1507. left join CRM_WSKAZNIK cw on cw.ID_ZASOB=czp.ID
  1508. left join _CRM_PROCES_STATS_proc_wiev as cpi on cpi.ID=cw.ID_PROCES
  1509. left join CRM_WSKAZNIK as cw1 on cw1.ID_PROCES=cpi.ID_PROCES_INIT
  1510. left join CRM_LISTA_ZASOBOW as czp1 on czp1.ID=cw1.ID_ZASOB and czp1.\\`TYPE\\`=\'STANOWISKO\'
  1511. left join ADMIN_USERS au on au.ADM_ACCOUNT=\''.$ADMIN_USERNAME_L1.'\'
  1512. where cz.\\`DESC\\` like \'KONTAKTY_view\' and cz.\\`TYPE\\`=\'TABELA\' limit 1 " |mysql -uroot -p\''.$ADMIN_USERNAME_PASSWD.'\' -D'.$REMOTE_FOLDER_ROOT.' '; //zalozenie 1 usera TODO synchronizacja z ldap
  1513. /* @2014-03-10 these has been moved to create config_base_structure_dump.sql option - WYKONAJ_REFERENCYJNA_BAZE_DANYCH
  1514. $cmd[]['rsh']='php -r"include(\'/Library/Server/Web/Data/Sites/Default/SE/superedit-SQIX_STRUCTURE_DB_SYNC.php\') ; SQIX_STRUCTURE_DB_SYNC(\'import_db\',\'default_db\',0,\'WYSLIJ_DO_BAZY\',\'SYNC_ZASOBY_STRUCTURES_FROM_CONFIG\'); " '.$SERVER_ADDRESS.' FILTR'; //todo pare razy trzaba powtarzac bo sa bledy
  1515. $cmd[]['rsh']='php -r"include(\'/Library/Server/Web/Data/Sites/Default/SE/superedit-SQIX_STRUCTURE_DB_SYNC.php\') ; SQIX_STRUCTURE_DB_SYNC(\'import_db\',\'default_db\',0,\'WYSLIJ_DO_BAZY\',\'CREATE_ZASOBY_DATABASE_DESC\'); " '.$SERVER_ADDRESS.' FILTR'; //@2013-10-15 staje recznie ?
  1516. $cmd[]['rsh']='php -r"include(\'/Library/Server/Web/Data/Sites/Default/SE/superedit-SQIX_STRUCTURE_DB_SYNC.php\') ; SQIX_STRUCTURE_DB_SYNC(\'import_db\',\'default_db\',0,\'WYSLIJ_DO_BAZY\',\'FROM_ZASOBY_TO_ZASOBY\'); " '.$SERVER_ADDRESS.' %PISM%,%zasob%,%ADMINISTRACJA%wyposaz%'; //import procesow z tagami PISMO
  1517. */
  1518. // $cmd[]['rsh']='php -r"include(\'/Library/Server/Web/Data/Sites/Default/SE/superedit-SQIX_STRUCTURE_DB_SYNC.php\') ; SQIX_STRUCTURE_DB_SYNC(\'import_db\',\'default_db\',0,\'WYSLIJ_DO_BAZY\',\'FROM_ZASOBY_TO_ZASOBY\'); " '.$SERVER_ADDRESS.' %zasob%'; //import procesow z tagami PISMO
  1519. // $cmd[]['rsh']='php -r"include(\'/Library/Server/Web/Data/Sites/Default/SE/superedit-SQIX_STRUCTURE_DB_SYNC.php\') ; SQIX_STRUCTURE_DB_SYNC(\'import_db\',\'default_db\',0,\'WYSLIJ_DO_BAZY\',\'FROM_ZASOBY_TO_ZASOBY\'); " '.$SERVER_ADDRESS.' %ADMINISTRACJA%'; //import procesow z tagami PISMO
  1520. // $cmd[]='whoami';
  1521. //todo po zainstalowaniu bazy danych i zasobow trzeba zmienic nazwe zasobow naszych :
  1522. //[14]=biuro.biall-net.pl -> $SERVER_ADDRESS
  1523. //[4803]=vpn.biall-net.pl -> todo(adres IP lokalny w ramach vpn.$SERVER_ADDRESS)
  1524. //! .cnf--default_db as id 2
  1525. $cmd[]['rsh']=' echo ";<?php
  1526. ;die(); // For further security
  1527. ;// default DB
  1528. type=\"mysql\"
  1529. host=\"127.0.0.1\"
  1530. port=\"3306\"
  1531. user=\"root\"
  1532. pass=\"'.$ADMIN_USERNAME_PASSWD.'\"
  1533. database=\"'.$REMOTE_FOLDER_ROOT.'\"
  1534. zasob_id=\"2\"
  1535. " > /Library/Server/Web/Data/Sites/Default/SE/config/.cnf--zasob_2-'.$SERVER_ADDRESS.'.ini.php
  1536. ';
  1537. $cmd[]['rsh']=' test -f /Library/Server/Web/Data/Sites/Default/SE/config/.cnf--zasob_2-127.0.0.1.ini.php || ln /Library/Server/Web/Data/Sites/Default/SE/config/.cnf--zasob_2-'.$SERVER_ADDRESS.'.ini.php /Library/Server/Web/Data/Sites/Default/SE/config/.cnf--zasob_2-127.0.0.1.ini.php'; //aliasowanie do localhosta konfigow do testow systemu
  1538. //! dodanie pierwszego usera ADMIN_USERNAME_L1 oraz diradmin
  1539. //!#1228 2016-04-11 bindera: dodaje to tez tutaj - bo chyba tutaj powinno byc wszystko sprawne i dzialajace
  1540. $cmd[]['rsh']='[ -e /Library/Server/Web/Data/Sites/Default/SE/config/.cnf--default_db-'.$SERVER_ADDRESS.'.ini.php ] || exit 0 && php /Library/Server/Web/Data/Sites/Default/SE/bash_install_check.php '.$SERVER_ADDRESS;
  1541. //@2016-04-27 jednak to tutaj nie dziala....
  1542. //@2016-04-28 piotr dodal aktualizacje congig_check do dodawania tabeli config - i sprawdzamy czy pomoglo w tym etapie
  1543. return $cmd;
  1544. }
  1545. 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,$OPTIONS) {
  1546. $cmd[]['rsh']='test -f /Library/Server/Web/Data/Sites/Default/phpMyAdmin-4.4.11-all-languages.tar.gz && rm -R /Library/Server/Web/Data/Sites/Default/phpMyAdmin-4.4.11-all-languages.tar.gz || echo PASSED';
  1547. $cmd[]['rsh']='test -d /Library/Server/Web/Data/Sites/Default/phpMyAdmin-4.4.11-all-languages && rm -R /Library/Server/Web/Data/Sites/Default/phpMyAdmin-4.4.11-all-languages || echo PASSED';
  1548. $cmd[]['rsh']='test -f /Library/Server/Web/Data/Sites/Default/phpMyAdmin.tar.gz && rm -R /Library/Server/Web/Data/Sites/Default/phpMyAdmin-4.4.11-all-languages.tar.gz || echo PASSED';
  1549. $cmd[]['rsh']='test -d /Library/Server/Web/Data/Sites/Default/garbage && rm -R /Library/Server/Web/Data/Sites/Default/garbage || echo PASSED';
  1550. //! phpMyAdmin garbage
  1551. $cmd[]['scp']=array($INSTALL_ROOT.'/stuff/phpMyAdmin-4.4.11-all-languages.tar.gz','/Library/Server/Web/Data/Sites/Default/phpMyAdmin-4.4.11-all-languages.tar.gz');
  1552. $cmd[]['rsh']='cd /Library/Server/Web/Data/Sites/Default/ || exit 1
  1553. tar -zxpvf phpMyAdmin-4.4.11-all-languages.tar.gz || exit 1';
  1554. $cmd[]['rsh']='cd /Library/Server/Web/Data/Sites/Default/ || exit 1
  1555. mv phpMyAdmin-4.4.11-all-languages garbage || exit 1 ';
  1556. $cmd[]['rsh']='cd /Library/Server/Web/Data/Sites/Default/garbage || exit 1
  1557. echo "<?
  1558. \\$cfg[\'PmaAbsoluteUri\'] = \'https://'.$SERVER_ADDRESS.'/garbage/\';
  1559. \\$i = 0;
  1560. \\$i++;
  1561. \\$cfg[\'Servers\'][\\$i][\'verbose\'] = \''.$SERVER_ADDRESS.'\';
  1562. \\$cfg[\'Servers\'][\\$i][\'host\'] = \'127.0.0.1\';
  1563. \\$cfg[\'Servers\'][\\$i][\'port\'] = \'\';
  1564. \\$cfg[\'Servers\'][\\$i][\'socket\'] = \'\';
  1565. \\$cfg[\'Servers\'][\\$i][\'connect_type\'] = \'tcp\';
  1566. \\$cfg[\'Servers\'][\\$i][\'extension\'] = \'mysqli\';
  1567. \\$cfg[\'Servers\'][\\$i][\'auth_type\'] = \'cookie\';
  1568. \\$cfg[\'Servers\'][\\$i][\'user\'] = \'root\';
  1569. \\$cfg[\'Servers\'][\\$i][\'password\'] = \'\';
  1570. \\$cfg[\'blowfish_secret\'] = \'51bc5c5b538ff0.23201365\';
  1571. \\$cfg[\'DefaultLang\'] = \'en\';
  1572. \\$cfg[\'ServerDefault\'] = 1;
  1573. \\$cfg[\'UploadDir\'] = \'\';
  1574. \\$cfg[\'SaveDir\'] = \'\';
  1575. ?>
  1576. " > config.inc.php || exit 1
  1577. ';
  1578. return $cmd;
  1579. }
  1580. function INSTALL_GET_INIT_APPLE_XML($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,$OPTIONS) {
  1581. return '"<?xml version=\"1.0\" encoding=\"UTF-8\"?>
  1582. <!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\"
  1583. \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
  1584. <plist version=\"1.0\">
  1585. <dict>
  1586. <key>AdminUser</key>
  1587. <dict>
  1588. <key>exists</key>
  1589. <false/>
  1590. <key>name</key>
  1591. <string>'.$ADMIN_USERNAME.'</string>
  1592. <key>password</key>
  1593. <string>'.$ADMIN_USERNAME_INITIAL_PASSWD.'</string>
  1594. <key>realname</key>
  1595. <string>Administrator</string>
  1596. <key>uid</key>
  1597. <string>501</string>
  1598. </dict>
  1599. <key>ComputerName</key>
  1600. <string>'.$SERVER_ADDRESS.'</string>
  1601. Chapter 2 Installing Server Software and Finishing Basic Setup 23
  1602. <key>DS</key>
  1603. <dict>
  1604. <key>DSClientInfo</key>
  1605. <string>2 - NetInfo client - broadcast dhcp static -192.168.42.250
  1606. network</string>
  1607. <key>DSClientType</key>
  1608. <string>2</string>
  1609. <key>DSType</key>
  1610. <string>2 - directory client</string>
  1611. </dict>
  1612. <key>HostName</key>
  1613. <string>'.$SERVER_ADDRESS.'</string>
  1614. <key>InstallLanguage</key>
  1615. <string>Polish</string>
  1616. <key>Keyboard</key>
  1617. <dict>
  1618. <key>DefaultFormat</key>
  1619. <string>0</string>
  1620. <key>DefaultScript</key>
  1621. <string>0</string>
  1622. <key>ResID</key>
  1623. <integer>0</integer>
  1624. <key>ResName</key>
  1625. <string>U.S.</string>
  1626. <key>ScriptID</key>
  1627. <integer>0</integer>
  1628. </dict>
  1629. <key>ServicesAutoStart</key>
  1630. <dict>
  1631. <key>Apache</key>
  1632. <true/>
  1633. <key>File</key>
  1634. <true/>
  1635. <key>MacManager</key>
  1636. <true/>
  1637. <key>Mail</key>
  1638. <true/>
  1639. <key>Print</key>
  1640. <false/>
  1641. <key>QTSS</key>
  1642. <false/>
  1643. <key>WebDAV</key>
  1644. <false/>
  1645. </dict>
  1646. <key>TimeZone</key>
  1647. <string>Europe/Warsaw</string>
  1648. <key>VersionNumber</key>
  1649. <integer>1</integer>
  1650. </dict>
  1651. </plist>
  1652. "';
  1653. }
  1654. function tell_user_gui_error($msg) {
  1655. return 'osascript -e "tell app \"System Events\" to display alert \"'.$msg.'\""';
  1656. }
  1657. function MakeCommand($command_id,$command,$installer_tmp,$installer_dir) {
  1658. $file_sh="install.bash/".$command_id.".bash";
  1659. $ins_sh="if [ -e ".$installer_tmp."/".$file_sh." ] ; then echo 'running:".$file_sh."'; ".$installer_tmp."/".$file_sh." && mv ".$installer_tmp."/".$file_sh." ".$installer_tmp."/install.executed_ok/ || { osascript -e \"tell app \\\"System Events\\\" to display dialog \\\"`( echo 'Problem z komenda ".$installer_tmp."/".$file_sh."' )`\\\"\" ; exit 1 ; } fi \n";
  1660. $file=fopen($installer_dir."/".$file_sh, "w") or die('Cannot open file: '.$installer_dir."/".$file_sh);
  1661. fwrite($file,"#!/bin/sh\n".$command."\n");
  1662. fclose($file);
  1663. chmod($installer_dir."/".$file_sh, 0755);
  1664. //$ins_sh.=$command['rsh']."\n\r";
  1665. DEBUG_S(-3,$command_id.':out of ',array($command,$file_sh,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
  1666. return $ins_sh;
  1667. }
  1668. function MAKE_PKG_COMPONENT($h,$installer_dir_tar,$installer_url,$installer_tmp,$cmd,$exit_file,$installer_dir_name,$pkg_id,$encrypt=false) {
  1669. $UID=$h->ID;
  1670. $installer_dir=$installer_dir_tar."/".$installer_dir_name; //pakowany katalog z instalatorem
  1671. // $installer_dir_tar="/Library/Server/Web/Data/Sites/Default/PLIKI/SES_PROCESY5_A"; //katalog CWD z ktorego budowana jest instalacja
  1672. // $installer_url="http://biuro.biall-net.pl/PLIKI/SES_PROCESY5_A/"; //miejsce do sciagania instalatora przez WWW
  1673. // $installer_tmp="/tmp/pl.procesy5_".$UID.".".$h->SERVER_ADDRESS; //miejsce do ktorego installer odpakuje wszystko
  1674. exec('rm -Rf '.$installer_dir);
  1675. mkdir($installer_dir,0777);
  1676. mkdir($installer_dir."/install.bash",0777);
  1677. mkdir($installer_dir."/install.executed_ok",0777);
  1678. echo "<br> I mkdir ".$installer_dir;
  1679. $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";
  1680. foreach($cmd as $command_id=>$command) {
  1681. if(isset($command['rsh'])) {
  1682. //$exec=SSH_COMMAND_REMOTE_CREATE($h->ADMIN_USERNAME,$h->SERVER_ADDRESS_IP,$h->ADMIN_USERNAME_PASSWD,$command['rsh']);
  1683. //DEBUG_S(-3,$command_id.':in '.htmlspecialchars(str_replace(array($h->ADMIN_USERNAME_PASSWD,str_replace('!','\!',$h->ADMIN_USERNAME_PASSWD)),'xxxxxx',$exec)),str_replace($h->ADMIN_USERNAME_PASSWD,'xxxxxx',$exec));
  1684. //flush();
  1685. $out="";$exit="";
  1686. //exec($exec,$out,$exit);
  1687. $file_sh="install.bash/".$command_id.".bash";
  1688. $ins_sh.="if [ -e ".$installer_tmp."/".$file_sh." ] ; then echo 'running:".$file_sh."'; ".$installer_tmp."/".$file_sh." && mv ".$installer_tmp."/".$file_sh." ".$installer_tmp."/install.executed_ok/ || { osascript -e \"tell app \\\"System Events\\\" to display dialog \\\"`( echo 'Problem z komenda ".$installer_tmp."/".$file_sh."' )`\\\"\" ; exit 1 ; } fi \n";
  1689. // touch($file_sh);
  1690. $file=fopen($installer_dir."/".$file_sh, "w") or die('Cannot open file: '.$installer_dir."/".$file_sh);
  1691. fwrite($file,"#!/bin/sh\n".$command['rsh']."\n");
  1692. fclose($file);
  1693. chmod($installer_dir."/".$file_sh, 0755);
  1694. //$ins_sh.=$command['rsh']."\n\r";
  1695. DEBUG_S(-3,$command_id.':out of ',array($command['rsh'],$installer_dir."/".$file_sh,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
  1696. flush();
  1697. } else if(isset($command['scp'])) {
  1698. //$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];
  1699. //DEBUG_S(-3,$command_id.':in '.str_replace(array($h->ADMIN_USERNAME_PASSWD,str_replace('!','\!',$h->ADMIN_USERNAME_PASSWD)),'xxxxxx',$command_out),htmlspecialchars(str_replace($h->ADMIN_USERNAME_PASSWD,'xxxxxx',$command_out)));
  1700. //flush();
  1701. mkdir($installer_dir."/".$command_id,0777);
  1702. exec("cp ".$command['scp'][0]." ".$installer_dir."/".$command_id);
  1703. $ins_sh.="mv ".$installer_tmp."/".$command_id."/* ".$command['scp'][1]." \n";
  1704. } else if(isset($command['scp_hidden_files'])) {
  1705. mkdir("{$installer_dir}/{$command_id}", 0777);
  1706. exec("cp {$command['scp_hidden_files'][0]} {$installer_dir}/{$command_id}");
  1707. $hidden_files = explode('/', $command['scp_hidden_files'][0]);
  1708. $hidden_files = end($hidden_files);
  1709. $ins_sh .= "mv {$installer_tmp}/{$command_id}/{$hidden_files} {$command['scp_hidden_files'][1]} \n";
  1710. } else if(isset($command['scp_root'])) {
  1711. mkdir($installer_dir."/".$command_id,0777);
  1712. $cmd="cp -r ".$command['scp_root'][0]." ".$installer_dir."/".$command_id;
  1713. exec($cmd,$out,$exit);
  1714. //@2014-09 tak bylo, ale sie zle instalowalo wiec dajemy cp -a
  1715. $ins_sh.="mv ".$installer_tmp."/".$command_id."/* ".$command['scp_root'][1]." \n";
  1716. DEBUG_S(-3,$cmd.':out of ',array($command['scp_root'],$installer_dir."/".$file_sh,$command_id,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
  1717. //$ins_sh.="cp -a ".$installer_tmp."/".$command_id."/* ".$command['scp_root'][1]." \n";
  1718. flush();
  1719. //set_time_limit(36000);
  1720. }
  1721. $last_command_id=$command_id;
  1722. }
  1723. if(($encrypt)) {
  1724. //TODO detect several hosts at the same IP address/domain to make it allow to work.
  1725. // select SERVER_ADDRESS_IP
  1726. //$exec='cd '.$installer_dir.' && /Applications/SourceGuardian.app/Contents/MacOS/sgencoder -b- --domain '.$h->SERVER_ADDRESS_SHORT.' -r *.php -x superedit-DB_PROCEDURES_CREATE.php';
  1727. $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 Budget.php -x Config.php -x FixCrmProcesInitIdx.php -x FixProjectPath.php -x FixZasobPath.php -x Install.php -x Msgs.php -x WindykacjaZestawienia.php -x superedit-DB_PROCEDURES_CREATE.php -x INI.php -x .config_base_structure.php -x HttpException.php';
  1728. exec($exec,$out,$exit);$out="";$exit="";
  1729. DEBUG_S(-3,'Zakodowanie kodu php/kompilacja z licencja i kluczem',array($exec,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
  1730. }
  1731. //usuniecie musi byc przed instalacja TODO
  1732. //$last_command_id++;
  1733. //
  1734. //$ins_sh.=MakeCommand($command_id,"rm -Rf ".$installer_tmp,$installer_tmp,$installer_dir) ;
  1735. /* klucz nie potrzebny do kodowania dla domeny
  1736. $last_command_id++;
  1737. mkdir($installer_dir."/".$last_command_id,0777);
  1738. $exec='cd '.$installer_dir."/".$last_command_id.' && /Applications/SourceGuardian.app/Contents/MacOS/licgen --projid '.$h->ID.' --projkey '.$h->ID.' procesylicence_se';
  1739. exec($exec,$out,$exit);$out="";$exit="";
  1740. DEBUG_S(-3,'Wygenerowanie klucza dla klienta',array($exec,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
  1741. $ins_sh.="mv ".$last_command_id."/* /Library/Server/Web/Data/Sites/Default/SE/ \n";
  1742. */
  1743. mkdir($installer_dir."/scripts",0777);
  1744. $file=fopen($installer_dir."/scripts/postinstall", "w") or die('Cannot open file: '.$installer_dir."/scripts/postinstall");
  1745. fwrite($file,$ins_sh."\n");
  1746. fclose($file);
  1747. // die();
  1748. chmod($installer_dir."/scripts/"."postinstall", 0755); $out="";$exit="";
  1749. // $exit_file=str_replace('.', '_', $UID.".".$h->SERVER_ADDRESS);
  1750. //$exec="tar -C".$installer_dir_tar." -cz ".$UID.".".$h->SERVER_ADDRESS." > ".$installer_dir_tar."/".$exit_file.".tar.gz";
  1751. //exec($exec ,$out,$exit);
  1752. //DEBUG_S(-3,'Tarowanie ',array($exec,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
  1753. $exec="cd ".$installer_dir_tar." && pkgbuild --scripts ".$installer_dir_name."/scripts/ --root ".$installer_dir_name." --identifier ".$pkg_id." --install-location ".$installer_tmp." ".$exit_file.".pkg" ;
  1754. exec($exec ,$out,$exit);
  1755. DEBUG_S(-3,'Robiebie pkg ',array($exec,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
  1756. echo "<hr><A href='{$installer_url}{$exit_file}.pkg'> instalacja pojedynczego komponentu {$exit_file}.pkg - NIE ŚCIĄGAJ JEJ!!!</a>\n";
  1757. //echo "<pre>Instalator skrypt TODO : \n".htmlspecialchars($ins_sh)."</pre>";
  1758. // return 0;
  1759. }
  1760. function INSTALL_SES_PROCESY_A() {
  1761. $INSTALL_ROOT='/Library/Server/Web/Data/Sites/SE-production-git/SE'; //glowny katalog ze zrodlem SE
  1762. $OPTIONS->SE_config='/Library/Server/Web/Data/Sites/SE-config'; //glowny katalog z konfigami
  1763. //DB::query('update SES_PROCESY5_A set INSTALL_COMPLETE_POINT=0 ');
  1764. //TODO@2013-10-05 - należy dorobić obsługę ADMIN_USERNAME_INITIAL_PASSWD aby jednorazowo się zalogowało i zmieniło na ADMIN_USERNAME_PASSWD (jakis hash) i jego juz potem wszedzie uzywalo - aby klient go nie znal
  1765. // $cmd=INSTALL_GETCOMMANDS();
  1766. // $sql="select * from SES_PROCESY5_A where A_STATUS='NORMAL' and INSTALL_COMPLETE_POINT<'".count($cmd)."'";
  1767. $sql="select * from SES_PROCESY5_A where A_STATUS='NORMAL' ";
  1768. if(!empty($_REQUEST['ID'])) $sql.=" and ID='{$_REQUEST['ID']}'";
  1769. else { $sql.=" and 1=2 "; echo "Musisz wyzwolic instalacje konkretnego serwera z parametrem"; }
  1770. DB::query('set global max_allowed_packet=1000000000;');
  1771. $res=DB::query($sql);
  1772. //if(DB::num_rows==0) echo "brak rekordow";
  1773. while($h=DB::fetch($res)) {
  1774. $REMOTE_FOLDER_ROOT=str_replace(array(".","-"),'_',$h->SERVER_ADDRESS); //also database name!
  1775. /*
  1776. $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);
  1777. //! FORMULARZ MENU
  1778. */
  1779. echo "<hr><form method=GET><input type=hidden name=FUNCTION_INIT value=INSTALL_SES_PROCESY_A>
  1780. <input type=hidden name=ID value=".$_REQUEST['ID'].">";
  1781. /*
  1782. Ustal instalacje <select name=ID>";
  1783. $rlres=DB::query('select * from SES_PROCESY5_A where A_STATUS=\'NORMAL\'');
  1784. while($rl=DB::fetch($rlres)) {
  1785. echo "\n<option value='{$rl->ID}' ";
  1786. if(!empty($_REQUEST['ID']) && ($_REQUEST['ID']==$rl->ID)) echo " selected ";
  1787. echo ">{$rl->SERVER_ADDRESS} ({$rl->INSTALL_COMPLETE_POINT})</option>";
  1788. }
  1789. echo "</select><br>Ustal poczatek <select name=START>";
  1790. foreach($cmd as $id=>$val) {
  1791. echo "<option value='".$id."'"; if($_REQUEST['START']==$id) echo " selected ";
  1792. echo " >".$id." ".str_replace($h->ADMIN_USERNAME_PASSWD,'xxxxxx',$val['rsh'].$val['scp_root'][0].$val['scp'][0])."</option>";
  1793. }
  1794. echo "</select><br>
  1795. Ustal koniec <select name=STOP>";
  1796. foreach($cmd as $id=>$val) {
  1797. echo "<option value='".$id."'"; if($_REQUEST['STOP']==$id) echo " selected ";
  1798. if(empty($_REQUEST['STOP'])&&$id==count($cmd)-1) echo " selected ";
  1799. echo " >".$id." ".str_replace($h->ADMIN_USERNAME_PASSWD,'xxxxxx',$val['rsh'].$val['scp_root'][0].$val['scp'][0])."</option>";
  1800. }
  1801. echo "</select>
  1802. */
  1803. echo "
  1804. <br><input type=submit name='POBIERZ_XML_AUTOCONFIG_USB' value='POBIERZ_XML_AUTOCONFIG_USB (TODO nie gotowe @2014-03-10)'>
  1805. <br>
  1806. <input type=submit name='WYKONAJ_REFERENCYJNA_BAZE_DANYCH' value='1. WYKONAJ_REFERENCYJNA_BAZE_DANYCH (v@2014-03-15)'>
  1807. <input type=submit name='POBIERZ_INSTALATOR_SH' value='2. POBIERZ_INSTALATOR_SH (v@2014-03-15)'> <br>
  1808. <!-- input type=submit name='INSTALUJ' value='INSTALUJ zdalnie via ssh (nie uzywac@2014-08-11)'-->
  1809. </form>
  1810. ";
  1811. // $ldap_dc_generated=implode(',dc=',explode("",$h->SERVER_ADDRESS));
  1812. $needed=array($h->ADMIN_USERNAME,$h->SERVER_ADDRESS_IP,$h->ADMIN_USERNAME_PASSWD,$h->SERVER_ADDRESS,$h->SERVER_ADDRESS_LDAP_DC,$INSTALL_ROOT,$REMOTE_FOLDER_ROOT,$h->ADMIN_USERNAME_L1,$h->ADMIN_USERNAME_L1_PASS,$h->ADMIN_USERNAME_DIRECTORY,$h->SERVER_VERSION,$OPTIONS);
  1813. foreach($needed as $ind=>$need) {
  1814. if(empty($need)) { echo 'Brak ustalonej jednej z wymaganych zmiennych w ustawieniach instalacyjnych serwera ('.$ind.')' ;
  1815. die();
  1816. };
  1817. }
  1818. //! POBIERZ_XML_AUTOCONFIG_USB
  1819. if(!empty($_REQUEST['POBIERZ_XML_AUTOCONFIG_USB'])) {
  1820. //if(empty($h->ADMIN_USERNAME_INITIAL_PASSWD)) die('Brak ADMIN_USERNAME_INITIAL_PASSWD');
  1821. $xml=INSTALL_GET_INIT_APPLE_XML($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);
  1822. echo "<pre>\n".htmlspecialchars($xml)."</pre>";
  1823. return 0;
  1824. }
  1825. //! WYKONAJ_REFERENCYJNA_BAZE_DANYCH
  1826. if(!empty($_REQUEST['WYKONAJ_REFERENCYJNA_BAZE_DANYCH'])) {
  1827. DEBUG_S(-3,'cmd WYKONAJ_REFERENCYJNA_BAZE_DANYCH params: INSTALL_ROOT ',array($INSTALL_ROOT),__FILE__,__FUNCTION__,__LINE__);
  1828. set_time_limit(36000);
  1829. $CONNTEST = DB::getDB('test_db');
  1830. $CONNTEST->query('drop database test');
  1831. $CONNTEST->query('create database test');
  1832. $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
  1833. exec($exec,$out,$exit);
  1834. DEBUG_S(-3,$command_id.':out of CREATE_ZASOBY_STRUCTURES_CONFIG',array($exec,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
  1835. //zainstalowanie struktur w tabeli test etc
  1836. $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
  1837. $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
  1838. 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="";
  1839. $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 ?
  1840. 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="";
  1841. $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%,%global%'; //import procesow z tagami PISMO
  1842. 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="";
  1843. //tutaj bedzie TODO mysqldump do katalogu installera i komendy z tym zwiazane musza byc jakies - przekopiuj dumpa, odpal go w bazie glownej
  1844. $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
  1845. 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="";
  1846. $exec="/opt/local/bin/mysqldump -utest test >{$OPTIONS->SE_config}/config/.config_base_structure_dump.sql"; //TODO piotr - moze jakies lepsze miejsce na tego dumpa
  1847. exec($exec,$out,$exit); DEBUG_S(-3,$command_id.':out of4/4 mysqldump',array($exec,$out,$exit),__FILE__,__FUNCTION__,__LINE__);$out="";$exit="";
  1848. }
  1849. //! POBIERZ_INSTALATOR_SH
  1850. else if(!empty($_REQUEST['POBIERZ_INSTALATOR_SH']))
  1851. {
  1852. $installer_url="http://biuro.biall-net.pl/PLIKI/SES_PROCESY5_A/"; //miejsce do sciagania instalatora przez WWW
  1853. $installer_dir_tar="/Library/Server/Web/Data/Sites/Default/PLIKI/SES_PROCESY5_A"; //katalog CWD z ktorego budowana jest instalacja
  1854. $h->VERSION_GIT='version-git' ; //TODO @2015-03-12 do poprawy w GUI zwracanie wlasciwego repozytorium
  1855. if(!empty($h->VERSION_GIT)) {
  1856. //@2014-09-17 od Piotr Labudda
  1857. //dodałem nową komórkę [19169] VERSION_GIT z typespecialem, listę wersji
  1858. //odczytuje z repozytorium w katalogu:
  1859. ///Library/Server/Web/Data/Sites/SE-production-git/
  1860. //polecenia do gita:
  1861. //$ git clone /Library/Server/Web/Data/Sites/SE-production-git/ NOWY_KATALOG
  1862. $cmd=' rm -Rf '.$installer_dir_tar.'/'.$h->ID.'.'.$REMOTE_FOLDER_ROOT.'.git';
  1863. exec($cmd,$out,$exit);
  1864. DEBUG_S(-3,'Usuwam stare pliki git ',$cmd,__FILE__,__FUNCTION__,__LINE__);
  1865. {// @2016-04-06 fetch source from git and make VERSION file
  1866. $cmd='cd '.$installer_dir_tar.' && git clone ssh://git@biuro.biall-net.pl:2222/plabudda/se.git '.$h->ID.'.'.$REMOTE_FOLDER_ROOT.'.git' ;
  1867. exec($cmd,$out,$exit);
  1868. DEBUG_S(-3,'Klonowanie aktualnego GIT ',array($cmd,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
  1869. $cmd = "cd {$installer_dir_tar}/{$h->ID}.{$REMOTE_FOLDER_ROOT}.git/ && echo `git show-ref --head|head -1|head -c 8` > SE/VERSION";
  1870. exec($cmd,$out,$exit);
  1871. DEBUG_S(-3,'Klonowanie aktualnego GIT - create VERSION file ',array($cmd,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
  1872. //@2016-05 klonowanie modulu wordpressa do wspolnej paczki instalacji ; poki nie dziala - korzystamy z stuff/p5_BeeCtrl.zip
  1873. $cmd='cd '.$installer_dir_tar.' && git -C '.$installer_dir_tar.'/'.$h->ID.'.'.$REMOTE_FOLDER_ROOT.'.git clone ssh://git@biuro.biall-net.pl:2222/pawel.kamola/generator_worpressa.git ' ;
  1874. exec($cmd,$out,$exit);
  1875. DEBUG_S(-3,'Klonowanie z aktualnego GIT modul wordpress ',array($cmd,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
  1876. }
  1877. /*
  1878. if (1==0) { //@2015-01-27 - proba zrobienia zwyklego clone
  1879. $cmd='git clone /Library/Server/Web/Data/Sites/SE-production-git/ '.$installer_dir_tar.'/'.$h->ID.'.'.$REMOTE_FOLDER_ROOT.'.git';
  1880. DEBUG_S(-3,'Running command',$cmd,__FILE__,__FUNCTION__,__LINE__);
  1881. exec($cmd,$out,$exit);
  1882. //$ cd NOWY_KATALOG
  1883. //$ git checkout v3.9.4
  1884. $cmd='cd '.$h->ID.'.'.$REMOTE_FOLDER_ROOT.'.git && git checkout '.$h->VERSION_GIT;
  1885. exec($cmd,$out,$exit);
  1886. DEBUG_S(-3,'Running command',array($cmd,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
  1887. }
  1888. */
  1889. //w taki sposób w katalogu NOWY_KATALOG pojawi się katalog SE z podaną wersją
  1890. //brakuje tylko katalogu SE/config/
  1891. //Można potem usunąć ukryty katalog NOWY_KATALOG/.git bo nie przyda się
  1892. //do tworzenia paczek i znajdują się w nim dane z plików.
  1893. $INSTALL_ROOT=$installer_dir_tar.'/'.$h->ID.'.'.$REMOTE_FOLDER_ROOT.'.git/SE'; //nadpisuje nazwe katalogu zrodlowego skad beda kopiowane pliki przez instalatora
  1894. DEBUG_S(-3,'We make INSTALL_ROOT='.$INSTALL_ROOT,null,__FILE__,__FUNCTION__,__LINE__);
  1895. { //@2015-03-21 dogranie konfigow z repozytorium konfigow
  1896. $cmd='mkdir '.$INSTALL_ROOT.'/config' ;
  1897. exec($cmd,$out,$exit);
  1898. DEBUG_S(-3,'We mkdir Install Root ',array($cmd,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
  1899. $cmd='cp '.$OPTIONS->SE_config.'/config/.cnf--column_init* '.$INSTALL_ROOT.'/config/' ;
  1900. exec($cmd,$out,$exit);
  1901. DEBUG_S(-3,'We copy Install Root ',array($cmd,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
  1902. $cmd='cp '.$OPTIONS->SE_config.'/config/.cnf--external_ids.ini.php* '.$INSTALL_ROOT.'/config/' ;
  1903. exec($cmd,$out,$exit);
  1904. DEBUG_S(-3,'We copy Install Root ',array($cmd,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
  1905. $cmd='cp '.$OPTIONS->SE_config.'/config/.config_base_structure* '.$INSTALL_ROOT.'/config/' ;
  1906. exec($cmd,$out,$exit);
  1907. DEBUG_S(-3,'We copy config_base_structure*',array($cmd,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
  1908. }
  1909. }
  1910. //! pakiet : INSTALL_GETCOMMANDS
  1911. $packages['pl.procesy5']['exit_file']=str_replace('.', '_', $h->ID.".".$h->SERVER_ADDRESS); //czesc nazwy wynikowego pliku .pkg
  1912. $packages['pl.procesy5']['installer_dir_name']=$h->ID.".".$h->SERVER_ADDRESS; //nazwa katalogu w jakim jest przygotowywany pkg
  1913. $packages['pl.procesy5']['installer_tmp']="/tmp/pl.procesy5_".$h->ID.".".$h->SERVER_ADDRESS; //miejsce do ktorego installer odpakuje wszystko instalator
  1914. $packages['pl.procesy5']['CMD_FUNCTION']="INSTALL_GETCOMMANDS"; //miejsce do ktorego installer odpakuje wszystko instalator
  1915. $packages['pl.procesy5']['xml_choice']['visible']='true';
  1916. $packages['pl.procesy5']['xml_choice']['title']='Procesy5';
  1917. $packages['pl.procesy5']['xml_choice']['description']='Main Procesy5 install components and scripts - use only first time - just part of OSX Server and OSX system config';
  1918. $packages['pl.procesy5']['xml_choice']['start_selected']='true';
  1919. //! pakiet : INSTALL_GETCOMMANDS_COMP_PORT
  1920. $packages['pl.procesy5.COMP_PORT']['exit_file']=str_replace('.', '_', $h->ID.".COMP_PORT_".$h->SERVER_ADDRESS); //czesc nazwy wynikowego pliku .pkg
  1921. $packages['pl.procesy5.COMP_PORT']['installer_dir_name']=$h->ID.".COMP_PORT_".$h->SERVER_ADDRESS; //nazwa katalogu w jakim jest przygotowywany pkg
  1922. $packages['pl.procesy5.COMP_PORT']['installer_tmp']="/tmp/pl.procesy5_COMP_PORT_".$h->ID.".".$h->SERVER_ADDRESS; //miejsce do ktorego installer odpakuje wszystko instalator
  1923. $packages['pl.procesy5.COMP_PORT']['CMD_FUNCTION']="INSTALL_GETCOMMANDS_COMP_PORT"; //miejsce do ktorego installer odpakuje wszystko instalator
  1924. $packages['pl.procesy5.COMP_PORT']['xml_choice']['visible']='true';
  1925. $packages['pl.procesy5.COMP_PORT']['xml_choice']['title']='MacPorts,Xcode,Licence(decrypt)';
  1926. $packages['pl.procesy5.COMP_PORT']['xml_choice']['description']='Needed utilities and libraries to install Procesy5 and Database, decrypt';
  1927. $packages['pl.procesy5.COMP_PORT']['xml_choice']['start_selected']='true';
  1928. //! pakiet: INSTALL_GETCOMMANDS_MYSQL55
  1929. $packages['pl.procesy5.MYSQL55']['exit_file']=str_replace('.', '_', $h->ID.".MYSQL55_".$h->SERVER_ADDRESS); //czesc nazwy wynikowego pliku .pkg
  1930. $packages['pl.procesy5.MYSQL55']['installer_dir_name']=$h->ID.".MYSQL55_".$h->SERVER_ADDRESS; //nazwa katalogu w jakim jest przygotowywany pkg
  1931. $packages['pl.procesy5.MYSQL55']['installer_tmp']="/tmp/pl.procesy5_MYSQL55_".$h->ID.".".$h->SERVER_ADDRESS; //miejsce do ktorego installer odpakuje wszystko instalator
  1932. $packages['pl.procesy5.MYSQL55']['CMD_FUNCTION']="INSTALL_GETCOMMANDS_MYSQL55"; //miejsce do ktorego installer odpakuje wszystko instalator
  1933. $packages['pl.procesy5.MYSQL55']['xml_choice']['visible']='true';
  1934. $packages['pl.procesy5.MYSQL55']['xml_choice']['title']='Mysql-55';
  1935. $packages['pl.procesy5.MYSQL55']['xml_choice']['description']='Required Mysql55 database from MacPorts';
  1936. $packages['pl.procesy5.MYSQL55']['xml_choice']['start_selected']='true';
  1937. //! pakiet: INSTALL_GETCOMMANDS_POSTGIS
  1938. $packages['pl.procesy5.POSTGIS']['exit_file']=str_replace('.', '_', $h->ID.".POSTGIS_".$h->SERVER_ADDRESS); //czesc nazwy wynikowego pliku .pkg
  1939. $packages['pl.procesy5.POSTGIS']['installer_dir_name']=$h->ID.".POSTGIS_".$h->SERVER_ADDRESS; //nazwa katalogu w jakim jest przygotowywany pkg
  1940. $packages['pl.procesy5.POSTGIS']['installer_tmp']="/tmp/pl.procesy5_POSTGIS_".$h->ID.".".$h->SERVER_ADDRESS; //miejsce do ktorego installer odpakuje wszystko instalator
  1941. $packages['pl.procesy5.POSTGIS']['CMD_FUNCTION']="INSTALL_GETCOMMANDS_POSTGIS"; //miejsce do ktorego installer odpakuje wszystko instalator
  1942. $packages['pl.procesy5.POSTGIS']['xml_choice']['visible']='true';
  1943. $packages['pl.procesy5.POSTGIS']['xml_choice']['title']='Postgres-postgis';
  1944. $packages['pl.procesy5.POSTGIS']['xml_choice']['description']='Required Postgis database for qGIS';
  1945. $packages['pl.procesy5.POSTGIS']['xml_choice']['start_selected']='true';
  1946. //! pakiet: INSTALL_GETCOMMANDS_WEBMAIL
  1947. $packages['pl.procesy5.WEBMAIL']['exit_file']=str_replace('.', '_', $h->ID.".WEBMAIL_".$h->SERVER_ADDRESS); //czesc nazwy wynikowego pliku .pkg
  1948. $packages['pl.procesy5.WEBMAIL']['installer_dir_name']=$h->ID.".WEBMAIL_".$h->SERVER_ADDRESS; //nazwa katalogu w jakim jest przygotowywany pkg
  1949. $packages['pl.procesy5.WEBMAIL']['installer_tmp']="/tmp/pl.procesy5_WEBMAIL_".$h->ID.".".$h->SERVER_ADDRESS; //miejsce do ktorego installer odpakuje wszystko instalator
  1950. $packages['pl.procesy5.WEBMAIL']['CMD_FUNCTION']="INSTALL_GETCOMMANDS_WEBMAIL"; //miejsce do ktorego installer odpakuje wszystko instalator
  1951. $packages['pl.procesy5.WEBMAIL']['xml_choice']['visible']='true';
  1952. $packages['pl.procesy5.WEBMAIL']['xml_choice']['title']='Webmail RoundCube';
  1953. $packages['pl.procesy5.WEBMAIL']['xml_choice']['description']='Additional webmail from roundcube';
  1954. $packages['pl.procesy5.WEBMAIL']['xml_choice']['start_selected']='true';
  1955. //! pakiet: INSTALL_GETCOMMANDS_SE
  1956. $packages['pl.procesy5.SE']['exit_file']=str_replace('.', '_', $h->ID.".SE_".$h->SERVER_ADDRESS); //czesc nazwy wynikowego pliku .pkg
  1957. $packages['pl.procesy5.SE']['installer_dir_name']=$h->ID.".SE_".$h->SERVER_ADDRESS; //nazwa katalogu w jakim jest przygotowywany pkg
  1958. $packages['pl.procesy5.SE']['installer_tmp']="/tmp/pl.procesy5_SE_".$h->ID.".".$h->SERVER_ADDRESS; //miejsce do ktorego installer odpakuje wszystko instalator
  1959. $packages['pl.procesy5.SE']['CMD_FUNCTION']="INSTALL_GETCOMMANDS_SE"; //miejsce do ktorego installer odpakuje wszystko instalator
  1960. $packages['pl.procesy5.SE']['xml_choice']['visible']='true';
  1961. $packages['pl.procesy5.SE']['xml_choice']['title']='Procesy5 main application';
  1962. $packages['pl.procesy5.SE']['xml_choice']['description']='Main application and install scripts for Procesy5';
  1963. $packages['pl.procesy5.SE']['xml_choice']['start_selected']='true';
  1964. $packages['pl.procesy5.SE']['encrypt']=true;
  1965. //! pakiet: INSTALL_GETCOMMANDS_SE_DB_DOMAIN
  1966. $packages['pl.procesy5.SE_DB_DOMAIN']['exit_file']=str_replace('.', '_', $h->ID.".SE_DB_DOMAIN_".$h->SERVER_ADDRESS); //czesc nazwy wynikowego pliku .pkg
  1967. $packages['pl.procesy5.SE_DB_DOMAIN']['installer_dir_name']=$h->ID.".SE_DB_DOMAIN_".$h->SERVER_ADDRESS; //nazwa katalogu w jakim jest przygotowywany pkg
  1968. $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
  1969. $packages['pl.procesy5.SE_DB_DOMAIN']['CMD_FUNCTION']="INSTALL_GETCOMMANDS_SE_DB_DOMAIN"; //miejsce do ktorego installer odpakuje wszystko instalator
  1970. $packages['pl.procesy5.SE_DB_DOMAIN']['xml_choice']['visible']='true';
  1971. $packages['pl.procesy5.SE_DB_DOMAIN']['xml_choice']['title']='Procesy5 install db and config for domain one ';
  1972. $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)';
  1973. $packages['pl.procesy5.SE_DB_DOMAIN']['xml_choice']['start_selected']='true';
  1974. $packages['pl.procesy5.SE_DB_DOMAIN']['encrypt']=true;
  1975. //! pakiet: INSTALL_GETCOMMANDS_MYADMIN
  1976. $packages['pl.procesy5.MYADMIN']['exit_file']=str_replace('.', '_', $h->ID.".MYADMIN_".$h->SERVER_ADDRESS); //czesc nazwy wynikowego pliku .pkg
  1977. $packages['pl.procesy5.MYADMIN']['installer_dir_name']=$h->ID.".MYADMIN_".$h->SERVER_ADDRESS; //nazwa katalogu w jakim jest przygotowywany pkg
  1978. $packages['pl.procesy5.MYADMIN']['installer_tmp']="/tmp/pl.procesy5_MYADMIN_".$h->ID.".".$h->SERVER_ADDRESS; //miejsce do ktorego installer odpakuje wszystko instalator
  1979. $packages['pl.procesy5.MYADMIN']['CMD_FUNCTION']="INSTALL_GETCOMMANDS_MYADMIN"; //miejsce do ktorego installer odpakuje wszystko instalator
  1980. $packages['pl.procesy5.MYADMIN']['xml_choice']['visible']='true';
  1981. $packages['pl.procesy5.MYADMIN']['xml_choice']['title']='php MyAdmin';
  1982. $packages['pl.procesy5.MYADMIN']['xml_choice']['description']='Component located at /garbage URL, to manage database';
  1983. $packages['pl.procesy5.MYADMIN']['xml_choice']['start_selected']='true';
  1984. //! pakiet: INSTALL_GETCOMMANDS_WORDPRESS
  1985. $packages['pl.procesy5.WORDPRESS']['exit_file']=str_replace('.', '_', $h->ID.".POSTGIS_".$h->SERVER_ADDRESS); //czesc nazwy wynikowego pliku .pkg
  1986. $packages['pl.procesy5.WORDPRESS']['installer_dir_name']=$h->ID.".WORDPRESS_".$h->SERVER_ADDRESS; //nazwa katalogu w jakim jest przygotowywany pkg
  1987. $packages['pl.procesy5.WORDPRESS']['installer_tmp']="/tmp/pl.procesy5_WORDPRESS_".$h->ID.".".$h->SERVER_ADDRESS; //miejsce do ktorego installer odpakuje wszystko instalator
  1988. $packages['pl.procesy5.WORDPRESS']['CMD_FUNCTION']="INSTALL_GETCOMMANDS_WORDPRESS"; //miejsce do ktorego installer odpakuje wszystko instalator
  1989. $packages['pl.procesy5.WORDPRESS']['xml_choice']['visible']='true';
  1990. $packages['pl.procesy5.WORDPRESS']['xml_choice']['title']='wordpress current';
  1991. $packages['pl.procesy5.WORDPRESS']['xml_choice']['description']='Wordpress configured site with admin access. Warning - it drops database - do not use for upgrade!';
  1992. $packages['pl.procesy5.WORDPRESS']['xml_choice']['start_selected']='true';
  1993. DEBUG_S(-3,'Dane komponentow instalacji',$packages,__FILE__,__FUNCTION__,__LINE__);
  1994. foreach($packages as $pkg_id=>$pkg_info) {
  1995. $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);
  1996. DEBUG_S(-3,'Robie pkg '.$pkg_info['CMD_FUNCTION'],null,__FILE__,__FUNCTION__,__LINE__);
  1997. 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']);
  1998. $package_xml['pkg-ref'].='<pkg-ref id="'.$pkg_id.'"/>';
  1999. $package_xml['choices-outline'].='<line choice="'.$pkg_id.'"/>
  2000. ';
  2001. $package_xml['choice'].='<choice id="'.$pkg_id.'" visible="'.$pkg_info['xml_choice']['visible'].'" title="'.$pkg_info['xml_choice']['title'].'"
  2002. description="'.$pkg_info['xml_choice']['description'].'" start_selected="'.$pkg_info['xml_choice']['start_selected'].'">
  2003. <pkg-ref id="'.$pkg_id.'"/>
  2004. </choice>
  2005. <pkg-ref id="'.$pkg_id.'" version="0" onConclusion="none">'.$pkg_info['exit_file'].'.pkg</pkg-ref>';
  2006. }
  2007. DEBUG_S(-3,'Dane xml package',$package_xml,__FILE__,__FUNCTION__,__LINE__);
  2008. $product['xml']='<?xml version="1.0" encoding="utf-8" standalone="no"?>
  2009. <installer-gui-script minSpecVersion="1">
  2010. <title>Procesy5 system installer</title>
  2011. <organization>pl.procesy5</organization>
  2012. <background file="installerImage.png" mime-type="image/png" alignment="right" scaling="proportional" />
  2013. <domains enable_localSystem="true"/>
  2014. <os-version min="10.8"/>
  2015. '.$package_xml['pkg-ref'].'
  2016. <options customize="always" require-scripts="true" rootVolumeOnly="true" />
  2017. <choices-outline>
  2018. <line choice="default" >
  2019. '.$package_xml['choices-outline'].'
  2020. </line>
  2021. </choices-outline>
  2022. <choice id="default" visible="true" title="Procesy5 Bundle" description="Please select carefully components" start_selected="true" />
  2023. ';
  2024. //$product['xml'].=$package_xml['pkg-ref'];
  2025. $product['xml'].=$package_xml['choice'];
  2026. $product['xml'].='</installer-gui-script>';
  2027. echo "<br>Product XML<br>".$product['xml'];
  2028. mkdir($installer_dir_tar."/".$h->ID.".resources",0777);
  2029. $file=fopen($installer_dir_tar."/".$h->ID.".distribution.xml", "w") or die('Cannot open file: '.$installer_dir_tar.'.'.$h->ID.".distribution.xml");
  2030. fwrite($file,$product['xml']."\n");
  2031. fclose($file);
  2032. //copy logo
  2033. exec("cp ".$INSTALL_ROOT."/icon/procesy5.png ".$installer_dir_tar."/".$h->ID.".resources/installerImage.png");
  2034. $exec="cd ".$installer_dir_tar." && productbuild --distribution ".$h->ID.".distribution.xml --resources ".$h->ID.".resources ".$h->ID."_Procesy5_".str_replace('.','_',$h->SERVER_ADDRESS).".pkg" ;
  2035. exec($exec ,$out,$exit);
  2036. DEBUG_S(-3,'Robie glownego instalatora pkg',array($exec,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
  2037. echo "<hr><h2><A href='{$installer_url}".$h->ID."_Procesy5_".str_replace('.','_',$h->SERVER_ADDRESS).".pkg'> ściągnij glowną instalacje Procesy5 ".$h->ID."_Procesy5_".str_replace('.','_',$h->SERVER_ADDRESS).".pkg</a></h2>\n";
  2038. } else {
  2039. if(!isset($_REQUEST['START'])||!isset($_REQUEST['STOP'])||empty($_REQUEST['ID']))
  2040. return 0;
  2041. if(!empty($_REQUEST['TEST'])) {
  2042. DEBUG_S(-3,'Komendy',$cmd);
  2043. } else {
  2044. foreach($cmd as $command_id=>$command) {
  2045. //if ($command_id==48) die("przerywam na $command_id");
  2046. if(!empty($_REQUEST['START'])) {
  2047. if($command_id<$_REQUEST['START'])
  2048. continue;
  2049. }
  2050. if(!empty($_REQUEST['STOP'])) {
  2051. if($command_id>$_REQUEST['STOP'])
  2052. die('Wymuszony stop na '.$_REQUEST['STOP']);
  2053. }
  2054. if($h->INSTALL_COMPLETE_POINT>$command_id-1) {
  2055. echo ",{$command_id}";
  2056. continue; //ignorujemy wykonane z powodzeniem dzialania
  2057. }
  2058. //! command['rsh']
  2059. if(isset($command['rsh'])) {
  2060. $exec=SSH_COMMAND_REMOTE_CREATE($h->ADMIN_USERNAME,$h->SERVER_ADDRESS_IP,$h->ADMIN_USERNAME_PASSWD,$command['rsh']);
  2061. DEBUG_S(-3,$command_id.':in '.htmlspecialchars(str_replace(array($h->ADMIN_USERNAME_PASSWD,str_replace('!','\!',$h->ADMIN_USERNAME_PASSWD)),'xxxxxx',$exec)),str_replace($h->ADMIN_USERNAME_PASSWD,'xxxxxx',$exec));
  2062. flush();
  2063. $out="";$exit="";
  2064. exec($exec,$out,$exit);
  2065. DEBUG_S(-3,$command_id.':out of ',array($out,$exit));
  2066. flush();
  2067. } else if(isset($command['scp'])) {
  2068. $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];
  2069. DEBUG_S(-3,$command_id.':in '.str_replace(array($h->ADMIN_USERNAME_PASSWD,str_replace('!','\!',$h->ADMIN_USERNAME_PASSWD)),'xxxxxx',$command_out),htmlspecialchars(str_replace($h->ADMIN_USERNAME_PASSWD,'xxxxxx',$command_out)));
  2070. flush();
  2071. exec($command_out,$out,$exit);
  2072. DEBUG_S(-3,$command_id.':out ',array($out,$exit));
  2073. flush();
  2074. } else if(isset($command['scp_root'])) {
  2075. $exec=SSH_COMMAND_REMOTE_CREATE($h->ADMIN_USERNAME,$h->SERVER_ADDRESS_IP,$h->ADMIN_USERNAME_PASSWD,' test -d /tmp/scp_root && rm -R /tmp/scp_root ; mkdir -p /tmp/scp_root ; chown '.$h->ADMIN_USERNAME.' /tmp/scp_root ');
  2076. exec($exec,$out,$exit);
  2077. $command_out='/opt/local/bin/sshpass -p '.$h->ADMIN_USERNAME_PASSWD.' /usr/bin/scp -r -v -3 -o StrictHostKeyChecking=no '.$command['scp_root'][0].' '.$h->ADMIN_USERNAME.'@' . $h->SERVER_ADDRESS_IP . ':/tmp/scp_root/';
  2078. exec($command_out,$out,$exit);
  2079. DEBUG_S(-3,$command_id.':out of '.str_replace(array($h->ADMIN_USERNAME_PASSWD,str_replace('!','\!',$h->ADMIN_USERNAME_PASSWD)),'xxxxxx',$command_out),array(htmlspecialchars(str_replace($h->ADMIN_USERNAME_PASSWD,'xxxxxx',$command_out)),$out,$exit));
  2080. if($exit==0) { flush();
  2081. $out="";$exit="";
  2082. $exec=SSH_COMMAND_REMOTE_CREATE($h->ADMIN_USERNAME,$h->SERVER_ADDRESS_IP,$h->ADMIN_USERNAME_PASSWD,' cd /tmp/scp_root/ && find . -name . -o -exec sh -c \'mv "\$@" "\$0"\' '.$command['scp_root'][1].' {} + -type d -prune ');
  2083. exec($exec,$out,$exit);
  2084. DEBUG_S(-3,$command_id.':out of '.str_replace(array($h->ADMIN_USERNAME_PASSWD,str_replace('!','\!',$h->ADMIN_USERNAME_PASSWD)),'xxxxxx',$command['rsh']),array(htmlspecialchars(str_replace($h->ADMIN_USERNAME_PASSWD,'xxxxxx',$exec)),$out,$exit));
  2085. }
  2086. flush();
  2087. set_time_limit(36000);
  2088. }
  2089. if($exit==0) {
  2090. array_slice($out, 0, 1000);
  2091. $sql="update SES_PROCESY5_A set A_RECORD_UPDATE_DATE=now(), A_RECORD_UPDATE_AUTHOR='".$_SESSION['ADM_ACCOUNT']."',INSTALL_COMPLETE_POINT='".$command_id."' , INSTALL_COMPLETE_POINT_INFO='".DB::_(implode('\n<br>',$out) )."' where ID='".$h->ID."' ";
  2092. DB::query($sql);
  2093. $sql="insert into SES_PROCESY5_A_HIST (ID_USERS2,A_RECORD_UPDATE_DATE,A_RECORD_UPDATE_AUTHOR,INSTALL_COMPLETE_POINT,INSTALL_COMPLETE_POINT_INFO) select '".$h->ID."',now(),A_RECORD_UPDATE_AUTHOR,INSTALL_COMPLETE_POINT,INSTALL_COMPLETE_POINT_INFO from SES_PROCESY5_A where ID='".$h->ID."' ";
  2094. DB::query($sql);
  2095. $command_id++;
  2096. } else {
  2097. $sql="update SES_PROCESY5_A set A_RECORD_UPDATE_DATE=now(), A_RECORD_UPDATE_AUTHOR='".$_SESSION['ADM_ACCOUNT']."', INSTALL_COMPLETE_POINT_INFO='ERROR!!!: ".DB::_(implode('\n<br>',$out) )."' where ID='".$h->ID."' ";
  2098. DB::query($sql);
  2099. $sql="insert into SES_PROCESY5_A_HIST (ID_USERS2,A_RECORD_UPDATE_DATE,A_RECORD_UPDATE_AUTHOR,INSTALL_COMPLETE_POINT,INSTALL_COMPLETE_POINT_INFO) select '".$h->ID."',now(),A_RECORD_UPDATE_AUTHOR,INSTALL_COMPLETE_POINT,INSTALL_COMPLETE_POINT_INFO from SES_PROCESY5_A where ID='".$h->ID."' ";
  2100. DB::query($sql);
  2101. die('error at '.$command_id);
  2102. }
  2103. }
  2104. }
  2105. }
  2106. }
  2107. }