superedit-INSTALL_SES_PROCESY_A.php 122 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154
  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. }
  41. return implode(' ', $domain);
  42. }
  43. }
  44. function SSH_COMMAND_REMOTE_CREATE($username,$host,$password,$command) {
  45. //return '/opt/local/bin/sshpass -p '.$password.' ssh -o StrictHostKeyChecking=no '.$username.'@'.$host.' <<EOF
  46. return '/opt/local/bin/sshpass -p '.str_replace('!','\!',$password).' ssh -o StrictHostKeyChecking=no -o ConnectTimeout=99999 '.$username.'@'.$host.' -t <<EOF
  47. sudo -n su -
  48. 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/
  49. '.$command.'
  50. EOF';
  51. /*return '/opt/local/bin/sshpass -p '.$password.' ssh -o StrictHostKeyChecking=no '.$username.'@'.$host.'
  52. '.$command.'
  53. "';
  54. */
  55. }
  56. 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) {
  57. // $cmd[]['rsh']='echo "'.$ADMIN_USERNAME_PASSWD.'" | sudo -S su -';
  58. // $cmd[]['rsh']='echo "'.$ADMIN_USERNAME_PASSWD.'" | sudo -S su -';
  59. //$cmd[]['rsh']='shopt -s dotglob'; //przenoszenie plikow z kropka
  60. //! KONFIG POWERM MANAGEMENT i dostepu VNC
  61. $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
  62. $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
  63. $cmd[]['rsh']=' pmset sleep 0'; //wylaczenie usypiania
  64. $cmd[]['rsh']=' pmset autorestart 1'; //automatyczny restart po awarii zasilania
  65. $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
  66. $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
  67. // @2014-08 firewall konfiguracja dla OSX anchora org.procesy5 \'$'\n - newline if you want to use in sed in MAC
  68. //dodanie anchorow do filtrowania
  69. /* $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"
  70. load anchor "com.apple" from "\/etc\/pf.anchors\/com.apple"/g\' /etc/pf.conf';
  71. $cmd[]['rsh']='sed -i ".bak" -e \'s/^anchor "com.apple/*"/anchor "org.procesy5"
  72. anchor "org.procesy5/*"
  73. anchor "com.apple/*"/g\' /etc/pf.conf';
  74. */
  75. //todo zrobienie odpowiedniego pliku /etc/pf.anchors/org.procesy5
  76. //! deinsalacja ewentualnie zainstalowanego systemu dla reinstalacji
  77. // $cmd[]['rsh']='echo DEINSTALACJA_EWENTUALNIE_ZAINSTALOWANEG_SYSTEMU';
  78. // $cmd[]['rsh']='ls /Library/Server/Web/Data/Sites/Default/ |grep -i OfflineIMAP && rm -R /Library/Server/Web/Data/Sites/Default/OfflineIMAP* || echo PASSED';
  79. // $cmd[]['rsh']='ls /Library/Server/Web/Data/Sites/Default/ |grep -i nconf && rm -R /Library/Server/Web/Data/Sites/Default/nconf* || echo PASSED';
  80. // $cmd[]['rsh']='ls /Library/Server/Web/Data/Sites/Default/ |grep -i icinga && rm -R /Library/Server/Web/Data/Sites/Default/icinga* || echo PASSED';
  81. // $cmd[]['rsh']='which mysqladmin && mysqladmin -f -uroot -p'.$ADMIN_USERNAME_PASSWD.' drop nconf || echo PASSED ';
  82. //! EOF deinsalacja ewentualnie zainstalowanego systemu dla reinstalacji
  83. //$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);
  84. /*
  85. //! instalowanie icigny @2014-03-15 sqix: nie supportujemy an ten moment icigny - trzeba ja dopasowac lepiej
  86. $cmd[]['rsh']=' mkdir -p /usr/src/';
  87. $cmd[]['scp_root']=array($INSTALL_ROOT.'/stuff/icinga.tar.gz','/usr/src/');
  88. $cmd[]['rsh']=' cd /usr/src && tar -zxpvf icinga.tar.gz ';
  89. $cmd[]['rsh']=' port install rb-gd';
  90. $cmd[]['rsh']=' port install libdbi';
  91. $cmd[]['rsh']=' port install gd2';
  92. $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';
  93. $cmd[]['rsh']='cd /usr/src/icinga-* && make all';
  94. $cmd[]['rsh']='cd /usr/src/icinga-* && make install';
  95. $cmd[]['rsh']='cd /usr/src/icinga-* && make install-config';
  96. $cmd[]['rsh']='cd /usr/local/icinga && chown -R _www *';
  97. */
  98. // $cmd[]['rsh']='cd /usr/local/icinga/etc && sed -i.bak s/^authorized_for_system_information=.*/authorized_for_system_information=\*/ cgi.cfg';
  99. // $cmd[]['rsh']='cd /usr/local/icinga/etc && sed -i.bak s/^authorized_for_configuration_information=.*/authorized_for_configuration_information=\*/ cgi.cfg';
  100. // $cmd[]['rsh']='cd /usr/local/icinga/etc && sed -i.bak s/^authorized_for_full_command_resolution=.*/authorized_for_full_command_resolution=\*/ cgi.cfg';
  101. // $cmd[]['rsh']='cd /usr/local/icinga/etc && sed -i.bak s/^authorized_for_system_commands=.*/authorized_for_system_commands=\*/ cgi.cfg';
  102. // $cmd[]['rsh']='cd /usr/local/icinga/etc && sed -i.bak s/^authorized_contactgroup_for_all_services=.*/authorized_contactgroup_for_all_services=\*/ cgi.cfg';
  103. // $cmd[]['rsh']='cd /usr/local/icinga/etc && sed -i.bak s/^authorized_contactgroup_for_all_hosts=.*/authorized_contactgroup_for_all_hosts=\*/ cgi.cfg';
  104. // $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';
  105. // $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';
  106. // $cmd[]['rsh']='cd /usr/local/icinga/etc && sed -i.bak s/^authorized_for_all_service_commands=.*/authorized_for_all_service_commands=\*/ cgi.cfg';
  107. // $cmd[]['rsh']='cd /usr/local/icinga/etc && sed -i.bak s/^authorized_for_all_services=.*/authorized_for_all_services=\*/ cgi.cfg';
  108. // $cmd[]['rsh']='cd /usr/local/icinga/etc && sed -i.bak s/^authorized_for_all_hosts=.*/authorized_for_all_hosts=\*/ cgi.cfg';
  109. // $cmd[]['rsh']='cd /usr/local/icinga/etc && sed -i.bak s/^admin_email=.*/admin_email='.$ADMIN_USERNAME_L1.'@'.$SERVER_ADDRESS_SHORT.'/ icinga.cfg ';
  110. // $cmd[]['rsh']='cd /usr/local/icinga/etc && sed -i.bak s/^admin_pager=.*/admin_pager='.$ADMIN_USERNAME_L1.'@'.$SERVER_ADDRESS_SHORT.'/ icinga.cfg ';
  111. // $cmd[]['rsh']='cd /usr/local/icinga/etc && sed -i.bak s/^cfg_file=/#cfg_file=/g icinga.cfg';
  112. //! icinga pluginy-nagios @2014-03-15 sqix : icinga wywalona z instalatora do czasu przygotowania produktu
  113. // $cmd[]['rsh']=' port install mysql_select';
  114. /*
  115. $cmd[]['scp_root']=array($INSTALL_ROOT.'/stuff/nagios-plugins-1.5.tar.gz','/usr/src/');
  116. $cmd[]['rsh']=' cd /usr/src && tar -zxpvf nagios-plugins-1.5.tar.gz';
  117. $cmd[]['rsh']=' cd /usr/src/nagios-plugins-1.5 && ./configure \
  118. --prefix=/usr/local/icinga --with-cgiurl=/icinga/cgi-bin \
  119. --with-nagios-user=_www --with-nagios-group=_www \
  120. --with-mysql=/opt/local/lib/mysql55/bin/mysql_config';
  121. $cmd[]['rsh']=' cd /usr/src/nagios-plugins-1.5 && make';
  122. $cmd[]['rsh']=' cd /usr/src/nagios-plugins-1.5 && make install ';
  123. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/icinga && \
  124. cd /Library/Server/Web/Data/Sites/Default/icinga && \
  125. ln -s /usr/local/icinga/share/* ./ && \
  126. mkdir cgi-bin && cd cgi-bin && \
  127. ln -s /usr/local/icinga/sbin/* ./ && \
  128. chown -R _www /Library/Server/Web/Data/Sites/Default/icinga
  129. ';
  130. $cmd[]['rsh']='echo \'<?xml version=1.0 encoding=UTF-8?>
  131. <!DOCTYPE plist PUBLIC -//Apple//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd>
  132. <plist version=1.0>
  133. <dict>
  134. <key>Label</key>
  135. <string>org.icinga</string>
  136. <key>ProgramArguments</key>
  137. <array>
  138. <string>/usr/local/icinga/bin/icinga</string>
  139. <string>/usr/local/icinga/etc/icinga.cfg</string>
  140. </array>
  141. <key>KeepAlive</key>
  142. <true/>
  143. </dict>
  144. </plist>\' > /Library/LaunchDaemons/org.icinga.plist';
  145. $cmd[]['rsh']='mkdir /Library/Server/Web/Data/Sites/Default/icinga/rw';
  146. */
  147. // $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
  148. // $cmd[]['rsh']='cd /usr/local/icinga/libexec && chmod +s ./check_dhcp';
  149. // $cmd[]['rsh']='cd /usr/local/icinga/libexec && chown root ./check_dhcp';
  150. // $cmd[]['rsh']='cd /usr/local/icinga/libexec && chmod u+x ./check_dhcp ';
  151. //
  152. // $cmd[]['rsh']='mkdir -p /Library/Server/Web/Data/Sites/Default/icinga/rw';
  153. // $cmd[]['rsh']='touch /Library/Server/Web/Data/Sites/Default/icinga/rw/icinga.cmd';
  154. // $cmd[]['rsh']='chmod 0777 /Library/Server/Web/Data/Sites/Default/icinga/rw';
  155. //
  156. // $cmd[]['rsh']='chown -R _www /usr/local/icinga/';
  157. // $cmd[]['rsh']='launchctl load /Library/LaunchDaemons/org.icinga.plist' ;
  158. // $cmd[]['rsh']='launchctl start org.icinga' ;
  159. /*
  160. //! instalowanie nconfa
  161. $cmd[]['rsh']=' port install p5.16-dbd-mysql';
  162. $cmd[]['rsh']=' port install p5-dbd-mysql';
  163. $cmd[]['rsh']=' mysqladmin -uroot -p'.$ADMIN_USERNAME_PASSWD.' create nconf ';
  164. $cmd[]['scp_root']=array($INSTALL_ROOT.'/stuff/nconf.tar.gz','/Library/Server/Web/Data/Sites/Default');
  165. $cmd[]['rsh']=' cd /Library/Server/Web/Data/Sites/Default && tar -zxpvf nconf.tar.gz';
  166. $cmd[]['rsh']=' echo "<?php
  167. / *
  168. #
  169. # User/Password file for simple authentication
  170. # To disable a user, rows can be commented out with "#"
  171. #
  172. # :: is the delimiter of the fields
  173. # Do NOT use :: (2 colons) in a data field (as name or password etc.) !
  174. #
  175. #username::password::authorization(user|admin)::[user\'s full name (optional)]::
  176. admin::nconf::admin::Administrator::
  177. #user::1234::user::Normal User::
  178. #dummy::9999::user::User Dummy::
  179. #foo::bar::user::foo bar::
  180. #
  181. # using encrypted passwords
  182. #user2::{CRYPT}s7FkIgzTWZia2::user::User with a CRYPT password::
  183. #
  184. * /
  185. ?>
  186. " > /Library/Server/Web/Data/Sites/Default/nconf/config/.file_accounts.php';
  187. $cmd[]['rsh']=' echo "<?php
  188. define(\'AUTH_ENABLED\', \'1\');
  189. define(\'AUTH_TYPE\', \"ldap\");
  190. define(\'AUTH_METHOD\', \'login\');
  191. define(\'BASICAUTH_REALM\', \"NConf Basic Auth\");
  192. define(\'AUTH_FEEDBACK_AS_WELCOME_NAME\', \'1\');
  193. define(\'GROUP_USER\', \"user\");
  194. define(\'GROUP_ADMIN\', \"admin\");
  195. define(\'GROUP_NOBODY\', \"0\");
  196. define(\'LDAP_SERVER\', \"ldap://127.0.0.1\");
  197. # The port to connect to. Not used when using URLs. Defaults to 389. (by PHP)
  198. define(\'LDAP_PORT\', \"389\");
  199. define(\'BASE_DN\', \"uid=<username>,cn=users,'.$SERVER_ADDRESS_LDAP_DC.'\");
  200. define(\'USER_REPLACEMENT\', \"<username>\");
  201. define(\'GROUP_DN\', \"cn=groups,'.$SERVER_ADDRESS_LDAP_DC.'\");
  202. define(\'ADMIN_GROUP\', \"cn=workgroup\");
  203. define(\'USER_GROUP\', \"cn=workgroup\");
  204. define(\'AUTH_SQLQUERY_USER\',null);
  205. define(\'AUTH_SQLQUERY_ADMIN\',null);
  206. ?>" > /Library/Server/Web/Data/Sites/Default/nconf/config/authentication.php';
  207. $cmd[]['rsh']=' echo "
  208. [extract config]
  209. type = local
  210. source_file = \"/Library/Server/Web/Data/Sites/Default/nconf/output/NagiosConfig.tgz\"
  211. target_file = \"/usr/local/icinga/etc/conf.d/\"
  212. action = extract
  213. " > /Library/Server/Web/Data/Sites/Default/nconf/config/deployment.ini';
  214. $cmd[]['rsh']=' echo "<?php
  215. #
  216. # Main MySQL connection parameters
  217. #
  218. define(\'DBHOST\', \'127.0.0.1\');
  219. define(\'DBNAME\', \'nconf\');
  220. define(\'DBUSER\', \'root\');
  221. define(\'DBPASS\', \''.$ADMIN_USERNAME_PASSWD.'\');
  222. ?>" > /Library/Server/Web/Data/Sites/Default/nconf/config/mysql.php';
  223. $cmd[]['rsh']=' echo "<?php
  224. define(\'NCONFDIR\', \'/Library/Server/Web/Data/Sites/Default/nconf\');
  225. define(\'OS_LOGO_PATH\', \"img/logos\");
  226. define(\'NAGIOS_BIN\', \'/usr/local/icinga/bin/icinga\');
  227. define(\'CHECK_UPDATE\', 0);
  228. define(\'TEMPLATE_DIR\', \'nconf_fresh\');
  229. define(\"DEBUG_MODE\", 0); # [0|1]
  230. define(\"DEBUG_GENERATE\", 3); # [1=ERROR|2=WARN|3=INFO|4=DEBUG|5=TRACE]
  231. define(\"DB_NO_WRITES\", 0); # [0|1] Experimental, use with CAUTION!
  232. define(\'REDIRECTING_DELAY\', \"1\");
  233. define(\'ALLOW_DEPLOYMENT\', 1);
  234. \\$STATIC_CONFIG = array(\"static_cfg\");
  235. define(\'CHECK_STATIC_SYNTAX\', 1);
  236. \\$SUPERADMIN_GROUPS = array (\"+admins\");
  237. \\$ONCALL_GROUPS = array ();
  238. define(\'CHECK_STATIC_SYNTAX\', 1);
  239. \\$SUPERADMIN_GROUPS = array (\"+admins\");
  240. \\$ONCALL_GROUPS = array ();
  241. define(\'OVERVIEW_QUANTITY_STANDARD\', \"25\");
  242. define(\'SELECT_VALUE_SEPARATOR\', \"::\");
  243. define(\'PASSWD_ENC\', \"clear\");
  244. define(\'PASSWD_DISPLAY\', 0);
  245. define(\'PASSWD_DISPLAY\', 0);
  246. define(\'PASSWD_HIDDEN_STRING\', \"********\");
  247. ?>" > /Library/Server/Web/Data/Sites/Default/nconf/config/nconf.php';
  248. $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;
  249. $cmd[]['rsh']=' rm -R /Library/Server/Web/Data/Sites/Default/nconf/INSTALL*';
  250. $cmd[]['rsh']=' rm -R /Library/Server/Web/Data/Sites/Default/nconf/UPDATE*';
  251. $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' ;
  252. $cmd[]['rsh']=' chmod -R 0777 /Library/Server/Web/Data/Sites/Default/nconf/temp';
  253. $cmd[]['rsh']=' chown -R _www /Library/Server/Web/Data/Sites/Default/nconf';
  254. $cmd[]['rsh']=' echo "
  255. -- dodajemy Kolumne do powiazania numeru zasobu do monitorowania z bazy zasobow, bedzie trzeba miec jeszcze odznaczneie numeru Device
  256. alter ignore table nconf.ConfigItems add A_RECORD_CREATE_AUTHOR char(25) ;
  257. alter ignore table nconf.ConfigAttrs add A_RECORD_CREATE_AUTHOR char(25) ;
  258. alter ignore table nconf.ConfigClasses add A_RECORD_CREATE_AUTHOR char(25) ;
  259. alter ignore table nconf.ConfigValues add A_RECORD_CREATE_AUTHOR char(25) ;
  260. alter ignore table nconf.ItemLinks add A_RECORD_CREATE_AUTHOR char(25) ;
  261. alter ignore table nconf.ConfigItems add CRM_LISTA_ZASOBOW_ID int(11) ;
  262. alter ignore table nconf.ConfigItems add DEVICES_ID int(11) ; " | mysql -D nconf -uroot -p'.$ADMIN_USERNAME_PASSWD ;
  263. $cmd[]['rsh']=' echo "
  264. -- zapytanie do importu z SE zasobow oraz urzadzen do monitoringu do nconfa do icinga
  265. -- w razie co mozna usunac dodane rekordy w taki sposob
  266. delete FROM nconf.\\`ConfigValues\\` WHERE \\`A_RECORD_CREATE_AUTHOR\\` like \'SE_IMPORT\';
  267. delete FROM nconf.\\`ItemLinks\\` WHERE \\`A_RECORD_CREATE_AUTHOR\\` like \'SE_IMPORT\';
  268. delete FROM nconf.\\`ConfigItems\\` WHERE \\`A_RECORD_CREATE_AUTHOR\\` like \'SE_IMPORT\';
  269. delete FROM nconf.\\`ConfigAttrs\\` WHERE \\`A_RECORD_CREATE_AUTHOR\\` like \'SE_IMPORT\';
  270. delete FROM nconf.\\`ConfigClasses\\` WHERE \\`A_RECORD_CREATE_AUTHOR\\` like \'SE_IMPORT\';
  271. -- bierzemy z zasobow dane tylko takie, ktore nie maja powiazanych DEVICES (bierzemy tylko devices)
  272. insert into nconf.ConfigItems ( id_item , fk_id_class , DEVICES_ID,A_RECORD_CREATE_AUTHOR)
  273. select \'\', 1, DEVICES.ID , \'SE_IMPORT\' from '.$REMOTE_FOLDER_ROOT.'.DEVICES
  274. left join nconf.ConfigItems as ConfigItems_2 on ConfigItems_2.DEVICES_ID=DEVICES.ID
  275. where ConfigItems_2.DEVICES_ID is null ;
  276. -- dodajemy zasoby do monitoringu w inteligentny sposob razem z waznymi parametrami - jak to widac w zapytaniu
  277. insert ignore into nconf.ConfigValues ( attr_value, fk_id_attr, fk_id_item, A_RECORD_CREATE_AUTHOR )
  278. select
  279. if( ConfigAttrs.Attr_name like \'%host_name%\'
  280. , 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)
  281. ,
  282. if( ConfigAttrs.Attr_name like \'alias\', \\`DEV\\`.\\`S_IP\\`,
  283. if( ConfigAttrs.Attr_name like \'address\', \\`DEV\\`.\\`S_IP\\`,
  284. if( ConfigAttrs.Attr_name like \'host_is_collector\',\'no\',\'\')
  285. )
  286. )
  287. )
  288. , ConfigAttrs.id_attr
  289. , ConfigItems.id_item ,\'SE_IMPORT\'
  290. from se_feromedia24_com.DEVICES as DEV
  291. left join '.$REMOTE_FOLDER_ROOT.'.CRM_LISTA_ZASOBOW as CLZ on CLZ.ID=DEV.CRM_LISTA_ZASOBOW_ID
  292. left join nconf.ConfigAttrs on ConfigAttrs.Attr_name
  293. 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\'
  294. left join nconf.ConfigItems as ConfigItems on ConfigItems.DEVICES_ID=DEV.ID
  295. -- left join '.$REMOTE_FOLDER_ROOT.'.DEVICES as DEVICES on DEVICES.CRM_LISTA_ZASOBOW_ID=CLZ.ID
  296. where DEV.S_IP like \'%_\';
  297. -- dodajemy potrzebne wpisy odnosnie klasy monitorowania
  298. insert ignore into nconf.ItemLinks ( fk_id_item,fk_item_linked2,fk_id_attr, A_RECORD_CREATE_AUTHOR )
  299. select ConfigItems.id_item , \'1\' , ConfigAttrs.id_attr , \'SE_IMPORT\' from nconf.ConfigItems
  300. left join nconf.ConfigAttrs on ConfigAttrs.attr_name=\'monitored_by\' and ConfigAttrs.fk_id_class=\'1\'
  301. where ConfigItems.DEVICES_ID>0 ;
  302. -- kolejny istotny parametr
  303. insert ignore into nconf.ItemLinks ( fk_id_item,fk_item_linked2,fk_id_attr , A_RECORD_CREATE_AUTHOR)
  304. select ConfigItems.id_item , ConfigValues.fk_id_item , ConfigAttrs.id_attr , \'SE_IMPORT\' from nconf.ConfigItems
  305. left join nconf.ConfigAttrs on ConfigAttrs.attr_name=\'parents\' and ConfigAttrs.fk_id_class=\'1\'
  306. left join nconf.ConfigAttrs as ConfigAttrs2 on ConfigAttrs2.attr_name=\'host_name\' and ConfigAttrs.fk_id_class=\'1\'
  307. left join nconf.ConfigValues on ConfigValues.attr_value=\'localhost\' and fk_id_attr=ConfigAttrs2.id_attr
  308. where ConfigItems.DEVICES_ID>0 and ConfigValues.fk_id_item is not null;
  309. -- # OS domyslnie LINUX 18 , trzeba wziac z ConfigClasses config_class=\'os\' -> id_class, i poszukac ConfigItems.id_item;
  310. insert ignore into nconf.ItemLinks ( fk_id_item,fk_item_linked2,fk_id_attr, A_RECORD_CREATE_AUTHOR )
  311. select ConfigItems.id_item , ConfigItems2.id_item , ConfigAttrs.id_attr , \'SE_IMPORT\' from nconf.ConfigItems
  312. left join nconf.ConfigAttrs on ConfigAttrs.attr_name=\'os\' and ConfigAttrs.fk_id_class=\'1\'
  313. left join nconf.ConfigClasses on ConfigClasses.config_class=ConfigAttrs.attr_name
  314. left join nconf.ConfigItems as ConfigItems2 on ConfigItems2.fk_id_class=ConfigClasses.id_class
  315. where ConfigItems.DEVICES_ID>0
  316. group by ConfigItems.id_item
  317. ;
  318. -- #host-preset==75 , trzeba wziac z ConfigClasses config_class=\'os\' -> id_class, i poszukac ConfigItems.id_item;
  319. insert ignore into nconf.ItemLinks ( fk_id_item,fk_item_linked2,fk_id_attr, A_RECORD_CREATE_AUTHOR )
  320. select ConfigItems.id_item , ConfigItems2.id_item , ConfigAttrs.id_attr ,\'SE_IMPORT\' from nconf.ConfigItems
  321. left join nconf.ConfigAttrs on ConfigAttrs.attr_name=\'host-preset\' and ConfigAttrs.fk_id_class=\'1\'
  322. left join nconf.ConfigClasses on ConfigClasses.config_class=ConfigAttrs.attr_name
  323. left join nconf.ConfigItems as ConfigItems2 on ConfigItems2.fk_id_class=ConfigClasses.id_class
  324. where ConfigItems.DEVICES_ID>0
  325. group by ConfigItems.id_item;
  326. -- #check_period==19 , trzeba wziac kakis time_period z Classes;
  327. insert ignore into nconf.ItemLinks ( fk_id_item,fk_item_linked2,fk_id_attr , A_RECORD_CREATE_AUTHOR)
  328. select ConfigItems.id_item , ConfigItems2.id_item , ConfigAttrs.id_attr ,\'SE_IMPORT\' from nconf.ConfigItems
  329. left join nconf.ConfigAttrs on ConfigAttrs.attr_name=\'check_period\' and ConfigAttrs.fk_id_class=\'1\'
  330. left join nconf.ConfigClasses on ConfigClasses.config_class=\'timeperiod\'
  331. left join nconf.ConfigItems as ConfigItems2 on ConfigItems2.fk_id_class=ConfigClasses.id_class
  332. where ConfigItems.DEVICES_ID>0
  333. group by ConfigItems.id_item;
  334. -- #contact_groups==22 ,
  335. insert ignore into nconf.ItemLinks ( fk_id_item,fk_item_linked2,fk_id_attr, A_RECORD_CREATE_AUTHOR )
  336. select ConfigItems.id_item , ConfigItems2.id_item , ConfigAttrs.id_attr,\'SE_IMPORT\' from nconf.ConfigItems
  337. left join nconf.ConfigAttrs on ConfigAttrs.attr_name=\'contact_groups\' and ConfigAttrs.fk_id_class=\'1\'
  338. left join nconf.ConfigClasses on ConfigClasses.config_class=\'contactgroup\'
  339. left join nconf.ConfigItems as ConfigItems2 on ConfigItems2.fk_id_class=ConfigClasses.id_class
  340. where ConfigItems.DEVICES_ID>0
  341. group by ConfigItems.id_item;
  342. -- # use host template(s) to inherit properties from - szukamy ConfigValues.attr_value=\'linux-server\' z atrybutem 108(name)
  343. insert ignore into nconf.ItemLinks ( fk_id_item,fk_item_linked2,fk_id_attr, A_RECORD_CREATE_AUTHOR)
  344. select ConfigItems.id_item , ConfigItems2.id_item , ConfigAttrs.id_attr,\'SE_IMPORT\'
  345. from nconf.ConfigItems
  346. left join nconf.ConfigAttrs on ConfigAttrs.attr_name=\'use\' and ConfigAttrs.fk_id_class=\'1\'
  347. left join nconf.ConfigAttrs as ConfigAttrs_name on ConfigAttrs_name.attr_name=\'name\' and ConfigAttrs_name.fk_id_class=\'14\'
  348. left join nconf.ConfigValues on ConfigValues.attr_value=\'linux-server\' and ConfigValues.fk_id_attr=ConfigAttrs_name.id_attr
  349. left join nconf.ConfigClasses on ConfigClasses.config_class=\'host-template\'
  350. left join nconf.ConfigItems as ConfigItems2 on ConfigItems2.fk_id_class=ConfigClasses.id_class and ConfigValues.fk_id_item=ConfigItems2.id_item
  351. where ConfigItems.DEVICES_ID>0
  352. group by ConfigItems.id_item;
  353. -- bierzemy z zasobow dane tylko takie, ktore nie maja powiazanych DEVICES (TODO trzeba dorzucic obsluge tego)
  354. insert into nconf.ConfigItems ( id_item , fk_id_class , CRM_LISTA_ZASOBOW_ID , A_RECORD_CREATE_AUTHOR)
  355. select \'\', 1, CRM_LISTA_ZASOBOW.ID ,\'SE_IMPORT\' from '.$REMOTE_FOLDER_ROOT.'.CRM_LISTA_ZASOBOW
  356. left join nconf.ConfigItems as ConfigItems_2 on ConfigItems_2.CRM_LISTA_ZASOBOW_ID=CRM_LISTA_ZASOBOW.ID
  357. where CRM_LISTA_ZASOBOW.\\`TYPE\\`=\'SERWER\' and ConfigItems_2.CRM_LISTA_ZASOBOW_ID is null ;
  358. -- dodajemy zasoby do monitoringu w inteligentny sposob razem z waznymi parametrami - jak to widac w zapytaniu
  359. insert ignore into nconf.ConfigValues ( attr_value, fk_id_attr, fk_id_item , A_RECORD_CREATE_AUTHOR
  360. )
  361. select
  362. if( ConfigAttrs.Attr_name like \'%host_name%\'
  363. , left(replace(replace(replace(replace(replace(replace(concat(\'[\',\\`CLZ\\`.ID,\'] SERWER \',CLZ.\\`DESC\\`,\' \',CLZ.\\`OPIS\\`),\',\',\'\'),\'/\',\'\'),\'(\',\'\'),\')\',\'\'),\'%\',\'\'),\'?\',\'\'),40)
  364. ,
  365. if( ConfigAttrs.Attr_name like \'alias\', \\`CLZ\\`.\\`DESC\\`,
  366. if( ConfigAttrs.Attr_name like \'address\', \\`CLZ\\`.\\`DESC\\`,
  367. if( ConfigAttrs.Attr_name like \'host_is_collector\',\'no\',\'\')
  368. )
  369. )
  370. )
  371. , ConfigAttrs.id_attr
  372. , ConfigItems.id_item , \'SE_IMPORT\'
  373. from '.$REMOTE_FOLDER_ROOT.'.CRM_LISTA_ZASOBOW as CLZ
  374. left join nconf.ConfigAttrs on ConfigAttrs.Attr_name
  375. 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\'
  376. left join nconf.ConfigItems as ConfigItems on ConfigItems.CRM_LISTA_ZASOBOW_ID=CLZ.ID
  377. left join '.$REMOTE_FOLDER_ROOT.'.DEVICES as DEVICES on DEVICES.CRM_LISTA_ZASOBOW_ID=CLZ.ID
  378. where CLZ.\\`TYPE\\`=\'SERWER\' and DEVICES.CRM_LISTA_ZASOBOW_ID is NULL;
  379. -- dodajemy potrzebne wpisy odnosnie klasy monitorowania
  380. insert ignore into nconf.ItemLinks ( fk_id_item,fk_item_linked2,fk_id_attr , A_RECORD_CREATE_AUTHOR
  381. )
  382. select ConfigItems.id_item , \'1\' , ConfigAttrs.id_attr , \'SE_IMPORT\' from nconf.ConfigItems
  383. left join nconf.ConfigAttrs on ConfigAttrs.attr_name=\'monitored_by\' and ConfigAttrs.fk_id_class=\'1\'
  384. where ConfigItems.CRM_LISTA_ZASOBOW_ID>0 ;
  385. -- kolejny istotny parametr
  386. insert ignore into nconf.ItemLinks ( fk_id_item,fk_item_linked2,fk_id_attr , A_RECORD_CREATE_AUTHOR
  387. )
  388. select ConfigItems.id_item , ConfigValues.fk_id_item , ConfigAttrs.id_attr , \'SE_IMPORT\' from nconf.ConfigItems
  389. left join nconf.ConfigAttrs on ConfigAttrs.attr_name=\'parents\' and ConfigAttrs.fk_id_class=\'1\'
  390. left join nconf.ConfigAttrs as ConfigAttrs2 on ConfigAttrs2.attr_name=\'host_name\' and ConfigAttrs.fk_id_class=\'1\'
  391. left join nconf.ConfigValues on ConfigValues.attr_value=\'localhost\' and fk_id_attr=ConfigAttrs2.id_attr
  392. where ConfigItems.CRM_LISTA_ZASOBOW_ID>0 and ConfigValues.fk_id_item is not null;
  393. -- # OS domyslnie LINUX 18 , trzeba wziac z ConfigClasses config_class=\'os\' -> id_class, i poszukac ConfigItems.id_item;
  394. insert ignore into nconf.ItemLinks ( fk_id_item,fk_item_linked2,fk_id_attr , A_RECORD_CREATE_AUTHOR
  395. )
  396. select ConfigItems.id_item , ConfigItems2.id_item , ConfigAttrs.id_attr ,\'SE_IMPORT\' from nconf.ConfigItems
  397. left join nconf.ConfigAttrs on ConfigAttrs.attr_name=\'os\' and ConfigAttrs.fk_id_class=\'1\'
  398. left join nconf.ConfigClasses on ConfigClasses.config_class=ConfigAttrs.attr_name
  399. left join nconf.ConfigItems as ConfigItems2 on ConfigItems2.fk_id_class=ConfigClasses.id_class
  400. where ConfigItems.CRM_LISTA_ZASOBOW_ID>0
  401. group by ConfigItems.id_item
  402. ;
  403. -- #host-preset==75 , trzeba wziac z ConfigClasses config_class=\'os\' -> id_class, i poszukac ConfigItems.id_item;
  404. insert ignore into nconf.ItemLinks ( fk_id_item,fk_item_linked2,fk_id_attr , A_RECORD_CREATE_AUTHOR
  405. )
  406. select ConfigItems.id_item , ConfigItems2.id_item , ConfigAttrs.id_attr ,\'SE_IMPORT\' from nconf.ConfigItems
  407. left join nconf.ConfigAttrs on ConfigAttrs.attr_name=\'host-preset\' and ConfigAttrs.fk_id_class=\'1\'
  408. left join nconf.ConfigClasses on ConfigClasses.config_class=ConfigAttrs.attr_name
  409. left join nconf.ConfigItems as ConfigItems2 on ConfigItems2.fk_id_class=ConfigClasses.id_class
  410. where ConfigItems.CRM_LISTA_ZASOBOW_ID>0
  411. group by ConfigItems.id_item;
  412. -- #check_period==19 , trzeba wziac kakis time_period z Classes;
  413. insert ignore into nconf.ItemLinks ( fk_id_item,fk_item_linked2,fk_id_attr , A_RECORD_CREATE_AUTHOR
  414. )
  415. select ConfigItems.id_item , ConfigItems2.id_item , ConfigAttrs.id_attr ,\'SE_IMPORT\' from nconf.ConfigItems
  416. left join nconf.ConfigAttrs on ConfigAttrs.attr_name=\'check_period\' and ConfigAttrs.fk_id_class=\'1\'
  417. left join nconf.ConfigClasses on ConfigClasses.config_class=\'timeperiod\'
  418. left join nconf.ConfigItems as ConfigItems2 on ConfigItems2.fk_id_class=ConfigClasses.id_class
  419. where ConfigItems.CRM_LISTA_ZASOBOW_ID>0
  420. group by ConfigItems.id_item;
  421. -- #contact_groups==22 ,
  422. insert ignore into nconf.ItemLinks ( fk_id_item,fk_item_linked2,fk_id_attr , A_RECORD_CREATE_AUTHOR
  423. )
  424. select ConfigItems.id_item , ConfigItems2.id_item , ConfigAttrs.id_attr ,\'SE_IMPORT\' from nconf.ConfigItems
  425. left join nconf.ConfigAttrs on ConfigAttrs.attr_name=\'contact_groups\' and ConfigAttrs.fk_id_class=\'1\'
  426. left join nconf.ConfigClasses on ConfigClasses.config_class=\'contactgroup\'
  427. left join nconf.ConfigItems as ConfigItems2 on ConfigItems2.fk_id_class=ConfigClasses.id_class
  428. where ConfigItems.CRM_LISTA_ZASOBOW_ID>0
  429. group by ConfigItems.id_item;
  430. -- # use host template(s) to inherit properties from - szukamy ConfigValues.attr_value=\'linux-server\' z atrybutem 108(name)
  431. insert ignore into nconf.ItemLinks ( fk_id_item,fk_item_linked2,fk_id_attr , A_RECORD_CREATE_AUTHOR
  432. )
  433. select ConfigItems.id_item , ConfigItems2.id_item , ConfigAttrs.id_attr ,\'SE_IMPORT\'
  434. from nconf.ConfigItems
  435. left join nconf.ConfigAttrs on ConfigAttrs.attr_name=\'use\' and ConfigAttrs.fk_id_class=\'1\'
  436. left join nconf.ConfigAttrs as ConfigAttrs_name on ConfigAttrs_name.attr_name=\'name\' and ConfigAttrs_name.fk_id_class=\'14\'
  437. left join nconf.ConfigValues on ConfigValues.attr_value=\'linux-server\' and ConfigValues.fk_id_attr=ConfigAttrs_name.id_attr
  438. left join nconf.ConfigClasses on ConfigClasses.config_class=\'host-template\'
  439. left join nconf.ConfigItems as ConfigItems2 on ConfigItems2.fk_id_class=ConfigClasses.id_class and ConfigValues.fk_id_item=ConfigItems2.id_item
  440. where ConfigItems.CRM_LISTA_ZASOBOW_ID>0
  441. group by ConfigItems.id_item;
  442. " > /Library/Server/Web/Data/Sites/Default/nconf/ADD-ONS/import_from_se_to_nconf.sql ' ;
  443. //! nconf import do incingi z SE/devices urzadzen do monitoringu
  444. */
  445. //@2014-03-14 sqix: funkcja zglasza errory do poprawy TODO
  446. //! uruchomienie backupu USB jezeli wybrana opcja $BACKUP_USB_DEVICE
  447. //$cmd[]['rsh']='for a in `mount |grep \'/Volumes\' |awk \'{ print $1 }\'`; do
  448. // [ \''.$BACKUP_USB_DEVICE.'\' = \'YES\' ] && diskutil info $a |grep USB >/dev/null && {
  449. // mountpath=`diskutil info /dev/disk1s3 |grep \'Mount Point\' |sed s/.*Mount\ Point:\ *//g`
  450. // tmutil setdestination $mountpath
  451. // tmutil enable
  452. // } || echo "Not used backup device"
  453. // done
  454. //';
  455. return $cmd;
  456. }
  457. 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) {
  458. //komendy do stworzenia komponentu dot MYSQL
  459. $cmd[]['rsh']='cat /etc/sudoers |grep "'.$ADMIN_USERNAME.' ALL = NOPASSWD: /usr/bin/su" || echo "'.$ADMIN_USERNAME.' ALL = NOPASSWD: /usr/bin/su
  460. " >> /etc/sudoers;
  461. cat /etc/sudoers |grep "'.$ADMIN_USERNAME.' ALL = NOPASSWD: /usr/bin/su"';
  462. $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
  463. " >> /etc/sudoers;
  464. cat /etc/sudoers |grep "_www ALL = NOPASSWD: /Applications/Server.app/Contents/ServerRoot/usr/sbin/calendarserver_manage_principals"';
  465. $cmd[]['rsh']='cat /etc/sudoers |grep "_www ALL = NOPASSWD: /usr/bin/dscl" || echo "_www ALL = NOPASSWD: /usr/bin/dscl
  466. " >> /etc/sudoers;
  467. cat /etc/sudoers |grep "_www ALL = NOPASSWD: /usr/bin/dscl"';
  468. $cmd[]['rsh']='cat /etc/sudoers |grep "_www ALL = NOPASSWD: /usr/bin/pwpolicy" || echo "_www ALL = NOPASSWD: /usr/bin/pwpolicy
  469. " >> /etc/sudoers;
  470. cat /etc/sudoers |grep "_www ALL = NOPASSWD: /usr/bin/pwpolicy"';
  471. $cmd[]['rsh']='cat /etc/sudoers |grep "_www ALL = NOPASSWD: /usr/sbin/createhomedir" || echo "_www ALL = NOPASSWD: /usr/sbin/createhomedir
  472. " >> /etc/sudoers;
  473. cat /etc/sudoers |grep "_www ALL = NOPASSWD: /usr/sbin/createhomedir"';
  474. $cmd[]['rsh']='cat /etc/sudoers |grep "_www ALL = NOPASSWD: /sbin/pfctl" || echo "_www ALL = NOPASSWD: /sbin/pfctl
  475. " >> /etc/sudoers;
  476. cat /etc/sudoers |grep "_www ALL = NOPASSWD: /sbin/pfctl"';
  477. // $cmd[]['rsh']='echo \\$UID';
  478. // $cmd[]['rsh']='echo "Uruchamiam zdalna procedure instalacji SE " |wall ';
  479. $cmd[]['rsh']='launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist'; //wyszukowanie plikow
  480. //TO MOVE TO INSTALL_GETCOMMANDS_COMP_PORT_MYSQL
  481. 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'";
  482. //@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');
  483. //@2014-10 really needed??? if($SERVER_VERSION=='10.8MountainLion') $cmd[]['rsh']='hdiutil mount /tmp/xcode462_cltools_10_86938259a.dmg -mountpoint /Volumes/xcodetools';
  484. //@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';
  485. if($SERVER_VERSION=='10.8MountainLion') {
  486. $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');
  487. $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';
  488. $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").'
  489. exit 1
  490. } ';
  491. } else if($SERVER_VERSION=='10.10Yosemite') {
  492. $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');
  493. $cmd[]['rsh']='installer -package /tmp/MacPorts-2.3.3-10.10-Yosemite.pkg -target "/" -verbose';
  494. } else {
  495. $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');
  496. $cmd[]['rsh']='installer -package /tmp/MacPorts-2.3.2-10.9-Mavericks.pkg -target "/" -verbose
  497. ';// $cmd[]['rsh']='installer -package /tmp/MacPorts-2.2.0-10.8-MountainLion.pkg -target "'.$SERVER_MOUNT_POINT_ROOT.'" -verbose';
  498. }
  499. $cmd[]['rsh']=' port selfupdate';
  500. $cmd[]['rsh']=' port selfupdate';
  501. 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';
  502. 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';
  503. 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';
  504. 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';
  505. if($SERVER_VERSION=='10.10Yosemite') {
  506. $cmd[]['rsh']='port install ImageMagick';
  507. $cmd[]['rsh']='port install php55-imagick';
  508. $cmd[]['rsh']='port install php55-imagick';
  509. $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 . ';
  510. $cmd[]['rsh']='cat /etc/php.ini |grep "extension=imagick.so" || echo "\nextension=imagick.so\n" >> /etc/php.ini';
  511. }
  512. //EOF TO MOVE TO INSTALL_GETCOMMANDS_COMP_PORT_MYSQL
  513. $cmd[]['rsh']='cat /etc/paths |grep "/opt/local/bin" || echo "/opt/local/bin" >>/etc/paths';
  514. $cmd[]['rsh']=' grep "/opt/local/bin" /etc/paths || echo "/opt/local/bin" >>/etc/paths'; //dodanie do sciezek
  515. $cmd[]['rsh']=" sed -i.bak \"s/PS1='\\\h:/PS1='\\\H:/g\" /etc/bashrc"; //zmiana wyswietlania kurosra hosta
  516. $cmd[]['rsh']='which wget || port install wget';
  517. $cmd[]['rsh']='which joe || port install joe';
  518. $cmd[]['rsh']='which gnutar || port install gnutar';
  519. $cmd[]['rsh']='ln -s /opt/local/bin/gnutar /usr/sbin/gnutar || echo PASSED';
  520. return $cmd;
  521. }
  522. 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) {
  523. // ! instalacja mapservera oraz komponentow sluzacych do obslugi spatialnej
  524. //stuff/GDAL_Complete-1.11.dmg
  525. //stuff/cairo_Framework-1.12.2-1-2.dmg
  526. //stuff/FreeType_Framework-2.4.12-1-2.dmg
  527. //stuff/MapServer-6.0.3-1.dmg
  528. //stuff/mapserver-6.4.1.tar
  529. // $cmd[]['scp_root']=array($INSTALL_ROOT.'/stuff/*','/Library/Server/Web/Data/Sites/Default/SE/');
  530. /*
  531. $cmd[]['rsh']='hdiutil mount /Library/Server/Web/Data/Sites/Default/SE/stuff/GDAL_Complete-1.11.dmg -mountpoint /Volumes/GDAL_Complete-1.11';
  532. $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';
  533. $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';
  534. $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';
  535. $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';
  536. $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';
  537. $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';
  538. $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';
  539. */
  540. /*
  541. $cmd[]['rsh']='hdiutil mount /Library/Server/Web/Data/Sites/Default/SE/stuff/JavaForOSX2014-001.dmg -mountpoint /Volumes/JavaForOSX2014-001';
  542. $cmd[]['rsh']='installer -package /Volumes/JavaForOSX2014-001/*.pkg -target "/" -verbose';// $cmd[]['rsh']='installer -package /Volumes/xcodetools/Com* -target "'.$SERVER_MOUNT_POINT_ROOT.'" -verbose';
  543. $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??
  544. $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';
  545. $cmd[]['rsh']='port install libpng';
  546. $cmd[]['rsh']='cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs ; jdk=`ls | sort | tail -n 1`;
  547. mkdir -p /System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers ;
  548. 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
  549. port install mapserver';
  550. //$cmd[]['rsh']='port install mapserver';
  551. */
  552. // postgis by BZYK
  553. $cmd[]['scp_root']=array($INSTALL_ROOT.'/stuff/postgis/PostgreSQL-9.3.4-1.dmg','/tmp/PostgreSQL-9.3.4-1.dmg');
  554. $cmd[]['rsh']='hdiutil mount /tmp/PostgreSQL-9.3.4-1.dmg -mountpoint /Volumes/PostgreSQL';
  555. $cmd[]['rsh']='installer -package /Volumes/PostgreSQL/PostgreSQL.pkg -target "/" -verbose';
  556. $cmd[]['rsh']='hdiutil unmount /Volumes/PostgreSQL';
  557. $cmd[]['rsh']='cd /usr/local/pgsql/data';
  558. $cmd[]['rsh']='sudo -u _postgres /usr/local/pgsql/bin/initdb -U postgres -D /usr/local/pgsql/data --encoding=UTF8 --locale=C || echo PASSED';
  559. $cmd[]['rsh']='sed -i ".bak" "s/.*listen_address.*#/listen_addresses = \'0.0.0.0\' #/g" /usr/local/pgsql/data/pg_hba.conf';
  560. $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';
  561. $cmd[]['scp_root']=array($INSTALL_ROOT.'/stuff/postgis/GDAL_Complete-1.11.dmg','/tmp/GDAL_Complete-1.11.dmg');
  562. $cmd[]['rsh']='hdiutil mount /tmp/GDAL_Complete-1.11.dmg -mountpoint /Volumes/GDAL_Complete';
  563. $cmd[]['rsh']='installer -package "/Volumes/GDAL_Complete/GDAL Complete.pkg" -target "/" -verbose';
  564. $cmd[]['rsh']='hdiutil unmount /Volumes/GDAL_Complete';
  565. $cmd[]['scp_root']=array($INSTALL_ROOT.'/stuff/postgis/PostGIS-2.1.3-2.dmg','/tmp/PostGIS-2.1.3-2.dmg');
  566. $cmd[]['rsh']='hdiutil mount /tmp/PostGIS-2.1.3-2.dmg -mountpoint /Volumes/PostGIS';
  567. $cmd[]['rsh']='installer -package "/Volumes/PostGIS/PostGIS.pkg" -target "/" -verbose';
  568. $cmd[]['rsh']='hdiutil unmount /Volumes/PostGIS';
  569. $cmd[]['scp_root']=array($INSTALL_ROOT.'/stuff/postgis/JavaForOSX2014-001.dmg','/tmp/JavaForOSX2014-001.dmg');
  570. $cmd[]['rsh']='hdiutil mount /tmp/JavaForOSX2014-001.dmg -mountpoint /Volumes/JavaForOSX';
  571. $cmd[]['rsh']='installer -package "/Volumes/JavaForOSX/JavaForOSX.pkg" -target "/" -verbose';
  572. $cmd[]['rsh']='hdiutil unmount /Volumes/JavaForOSX';
  573. $cmd[]['rsh']='/usr/local/pgsql/bin/psql -U postgres -c "create user root with password \''.$ADMIN_USERNAME_PASSWD.'\'" || echo PASSED';
  574. $cmd[]['rsh']='sudo -u _postgres /usr/local/pgsql/bin/createdb -U postgres -O "root" "'.$REMOTE_FOLDER_ROOT.'" || echo PASSED';
  575. $cmd[]['rsh']='/usr/local/pgsql/bin/psql -U postgres -d "'.$REMOTE_FOLDER_ROOT.'" -c "CREATE EXTENSION postgis;" || echo PASSED';
  576. $cmd[]['rsh']='/usr/local/pgsql/bin/psql -U postgres -d "'.$REMOTE_FOLDER_ROOT.'" -c "CREATE EXTENSION postgis_topology;" || echo PASSED';
  577. $cmd[]['rsh']='/usr/local/pgsql/bin/psql -U postgres -d "'.$REMOTE_FOLDER_ROOT.'" -c "CREATE EXTENSION fuzzystrmatch;" || echo PASSED';
  578. $cmd[]['rsh']='/usr/local/pgsql/bin/psql -U postgres -d "'.$REMOTE_FOLDER_ROOT.'" -c "CREATE EXTENSION postgis_tiger_geocoder;" || echo PASSED';
  579. //TODO jakis test dodania bazy danych i czy dziala?
  580. $cmd[]['rsh']='rm -Rf /Library/Server/Web/Data/Sites/Default/pg || echo PASSED';
  581. $cmd[]['rsh']='mkdir -p /Library/Server/Web/Data/Sites/Default/pg';
  582. $cmd[]['scp_root']=array($INSTALL_ROOT.'/stuff/postgis/phpPgAdmin-5.1.zip','/Library/Server/Web/Data/Sites/Default/pg/phpPgAdmin-5.1.zip');
  583. $cmd[]['rsh']='unzip -o /Library/Server/Web/Data/Sites/Default/pg/phpPgAdmin-5.1.zip -d /Library/Server/Web/Data/Sites/Default/pg';
  584. $cmd[]['rsh']='mv /Library/Server/Web/Data/Sites/Default/pg/phpPgAdmin-5.1/* /Library/Server/Web/Data/Sites/Default/pg';
  585. $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';
  586. $cmd[]['scp_root']=array($INSTALL_ROOT.'/stuff/postgis/org.postgresql.postgres.plist','/Library/LaunchDaemons/org.postgresql.postgres.plist');
  587. $cmd[]['rsh']='launchctl load /Library/LaunchDaemons/org.postgresql.postgres.plist';
  588. $cmd[]['rsh']='launchctl start org.postgresql.postgres';
  589. //PGADMIN - to nie pg phpmyadmin!
  590. //$cmd[]['rsh']='port install wxWidgets-3.0';
  591. //$cmd[]['scp_root']=array($INSTALL_ROOT.'/stuff/postgis/pgadmin3-1.18.1.tar.gz','/usr/src/pgadmin3-1.18.1.tar.gz');
  592. //$cmd[]['rsh']='cd /usr/src/ && tar -zxpvf pgadmin3-1.18.1.tar.gz';
  593. //$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';
  594. //$cmd[]['rsh']='port install phppgadmin';
  595. return $cmd;
  596. }
  597. 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) {
  598. //! MYSQL SERVER INSTALACJA
  599. $cmd[]['rsh']='port install mysql55-server';
  600. $cmd[]['rsh']='sudo -u _mysql /opt/local/lib/mysql55/bin/mysql_install_db';
  601. $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
  602. $cmd[]['rsh']='echo "[client]
  603. default-character-set = latin2
  604. [mysql]
  605. #default-character-set = latin2
  606. [mysqld]
  607. log-error=/var/log/mysql.log
  608. #default-character-set = utf8
  609. collation-server = latin2_general_ci
  610. init-connect=\'SET NAMES latin2\'
  611. character-set-server = latin2
  612. max_allowed_packet = 600M
  613. " > /etc/my.cnf';
  614. $cmd[]['rsh']='sed -i.bak "s/skip-networking/#skip-networking/" /opt/local/etc/mysql55/macports-default.cnf';
  615. //@2014-09-13 - to jest niepewne i raczej niedziala z LOWER CASE TABLES!
  616. $cmd[]['rsh']='cat /opt/local/etc/mysql55/my.cnf | grep "lower_case_table_names = 0" || echo "
  617. [mysqld]
  618. lower_case_table_names = 0" >> /opt/local/etc/mysql55/my.cnf';
  619. $cmd[]['rsh']='mkdir -p /opt/local/var/run/mysql5/';
  620. $cmd[]['rsh']='launchctl load -w /Library/LaunchDaemons/org.macports.mysql55-server.plist';
  621. $cmd[]['rsh']='echo "/opt/local/lib/mysql55/bin" >>/etc/paths';
  622. //@2013-10-03 tu jest bug : - recznie wyzwolona ta sama komenda ruszyła, a skrypt zwrócił error - sprawdzam z zamiana wykrzyknikow w hasle!
  623. $cmd[]['rsh']='sleep 10 && mysql -uroot -p\''.$ADMIN_USERNAME_PASSWD.'\' -e \'select 1+1;\' || /opt/local/lib/mysql55/bin/mysqladmin password \''.$ADMIN_USERNAME_PASSWD.'\' ';
  624. $cmd[]['rsh']='mkdir -p /var/mysql && [ -e /var/mysql/mysql.sock ] || ln -s /opt/local/var/run/mysql55/mysqld.sock /var/mysql/mysql.sock';
  625. $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
  626. //! MYSQL SERVER INSTALACJA EOF
  627. return $cmd;
  628. }
  629. 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) {
  630. $cmd[]['rsh']='which mysqladmin && mysqladmin -f -uroot -p'.$ADMIN_USERNAME_PASSWD.' drop webmail || echo PASSED ';
  631. $cmd[]['rsh']='test -d /Library/Server/Web/Data/Sites/Default/webmail && rm -R /Library/Server/Web/Data/Sites/Default/webmail || echo PASSED';
  632. $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';
  633. //!!!!!!!!! WEBMAIL !!!!!!!
  634. $cmd[]['rsh']='echo INSTALUJE WEBMAILA';
  635. $cmd[]['rsh']='cd /Library/Server/Web/Data/Sites/Default/ || exit 1
  636. wget http://sourceforge.net/projects/roundcubemail/files/roundcubemail/0.9.1/roundcubemail-0.9.1.tar.gz/download -O roundcube.tar.gz || exit 1';
  637. $cmd[]['rsh']='cd /Library/Server/Web/Data/Sites/Default/ || exit 1
  638. tar -zxpvf roundcube.tar.gz || exit 1';
  639. $cmd[]['rsh']='cd /Library/Server/Web/Data/Sites/Default/ || exit 1
  640. mv roundcubemail* webmail || exit 1 ';
  641. $cmd[]['rsh']='cd /Library/Server/Web/Data/Sites/Default/webmail || exit 1
  642. chown _www temp/ || exit 1
  643. chown _www logs/ || exit 1
  644. ';
  645. $cmd[]['scp_root']=array('/Library/Server/Web/Data/Sites/Default/webmail/loginFromSE.php',' /Library/Server/Web/Data/Sites/Default/webmail/');
  646. //ustalenie domyslnych identities na webmailu po zalogowaniu wlasciwych dla domeny
  647. $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';
  648. $cmd[]['rsh']='test -n "'.$SERVER_ADDRESS.'" && sed -i.bak "s/@DOMAIN_TO_EDIT/@'.$SERVER_ADDRESS.'/" /Library/Server/Web/Data/Sites/Default/webmail/loginFromSE.php';
  649. $cmd[]['rsh']='sed -i.bak "s/\/\/\\$RCMAIL->db->query(/\\$RCMAIL->db->query(/" /Library/Server/Web/Data/Sites/Default/webmail/loginFromSE.php';
  650. // $cmd[]['scp_root']=array($INSTALL_ROOT.'/stuff/OfflineIMAP-offlineimap-v6.5.5-0-g8bc2f35.tar',' /Library/Server/Web/Data/Sites/Default/');
  651. // $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/';
  652. $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/';
  653. // $cmd[]['rsh']='cd /Library/Server/Web/Data/Sites/Default/OfflineIMAP-offlineimap-8bc2f35/';
  654. // $cmd[]['rsh']='touch /var/root/.offlineimaprc';
  655. // $cmd[]['rsh']='port install db44'; //do icingi/nconfa
  656. // $cmd[]['rsh']='cd /Library/Server/Web/Data/Sites/Default/isync-1.0.6 && ./configure';
  657. $cmd[]['rsh']='mysqladmin -uroot -p'.$ADMIN_USERNAME_PASSWD.' create webmail';
  658. $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.'';
  659. $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.'';
  660. $cmd[]['rsh']='cd /Library/Server/Web/Data/Sites/Default/webmail || exit 1
  661. cat ./SQL/mysql.initial.sql | mysql -uroot -p'.$ADMIN_USERNAME_PASSWD.' -h 127.0.0.1 -Dwebmail || exit 1 ';
  662. $cmd[]['rsh']='cd /Library/Server/Web/Data/Sites/Default/webmail || exit 1
  663. rm -r installer/ || exit 1';
  664. $cmd[]['rsh']='cd /Library/Server/Web/Data/Sites/Default/webmail || exit 1
  665. chown -R _www ../webmail || exit 1';
  666. $cmd[]['rsh']='cd /Library/Server/Web/Data/Sites/Default/webmail || exit 1
  667. chown -R _www ../webmail || exit 1';
  668. $cmd[]['rsh']='cd /Library/Server/Web/Data/Sites/Default/webmail || exit 1
  669. echo "<?
  670. \$rcmail_config = array();
  671. \$rcmail_config[\'debug_level\'] = 1;
  672. \$rcmail_config[\'log_driver\'] = \'file\';
  673. \$rcmail_config[\'log_date_format\'] = \'d-M-Y H:i:s O\';
  674. \$rcmail_config[\'syslog_id\'] = \'roundcube\';
  675. \$rcmail_config[\'syslog_facility\'] = LOG_USER;
  676. \$rcmail_config[\'smtp_log\'] = true;
  677. \$rcmail_config[\'log_logins\'] = false;
  678. \$rcmail_config[\'log_session\'] = false;
  679. \$rcmail_config[\'sql_debug\'] = false;
  680. \$rcmail_config[\'imap_debug\'] = false;
  681. \$rcmail_config[\'ldap_debug\'] = false;
  682. \$rcmail_config[\'smtp_debug\'] = false;
  683. \$rcmail_config[\'default_host\'] = \''.$SERVER_ADDRESS_SHORT.'\';
  684. \$rcmail_config[\'default_port\'] = 143;
  685. \$rcmail_config[\'imap_auth_type\'] = PLAIN;
  686. \$rcmail_config[\'imap_delimiter\'] = null;
  687. \$rcmail_config[\'imap_ns_personal\'] = null;
  688. \$rcmail_config[\'imap_ns_shared\'] = null;
  689. \$rcmail_config[\'imap_force_caps\'] = false;
  690. \$rcmail_config[\'imap_force_lsub\'] = false;
  691. \$rcmail_config[\'imap_force_ns\'] = false;
  692. \$rcmail_config[\'imap_timeout\'] = 0;
  693. \$rcmail_config[\'imap_auth_cid\'] = null;
  694. \$rcmail_config[\'imap_auth_pw\'] = null;
  695. \$rcmail_config[\'imap_cache\'] = null;
  696. \$rcmail_config[\'messages_cache\'] = false;
  697. \$rcmail_config[\'smtp_server\'] = \'127.0.0.1\';
  698. \$rcmail_config[\'smtp_port\'] = 25;
  699. \$rcmail_config[\'smtp_user\'] = \'\';
  700. \$rcmail_config[\'smtp_pass\'] = \'\';
  701. \$rcmail_config[\'smtp_auth_type\'] = \'\';
  702. \$rcmail_config[\'smtp_auth_cid\'] = null;
  703. \$rcmail_config[\'smtp_auth_pw\'] = null;
  704. \$rcmail_config[\'smtp_helo_host\'] = \'\';
  705. \$rcmail_config[\'smtp_timeout\'] = 0;
  706. \$rcmail_config[\'enable_installer\'] = false;
  707. \$rcmail_config[\'dont_override\'] = array();
  708. \$rcmail_config[\'support_url\'] = \'\';
  709. \$rcmail_config[\'skin_logo\'] = null;
  710. \$rcmail_config[\'auto_create_user\'] = true;
  711. \$rcmail_config[\'user_aliases\'] = false;
  712. \$rcmail_config[\'log_dir\'] = \'logs/\';
  713. \$rcmail_config[\'temp_dir\'] = \'temp/\';
  714. \$rcmail_config[\'message_cache_lifetime\'] = \'10d\';
  715. \$rcmail_config[\'force_https\'] = false;
  716. \$rcmail_config[\'use_https\'] = false;
  717. \$rcmail_config[\'login_autocomplete\'] = 0;
  718. \$rcmail_config[\'login_lc\'] = 2;
  719. \$rcmail_config[\'skin_include_php\'] = false;
  720. \$rcmail_config[\'display_version\'] = false;
  721. \$rcmail_config[\'session_lifetime\'] = 10;
  722. \$rcmail_config[\'session_domain\'] = \'\';
  723. \$rcmail_config[\'session_name\'] = null;
  724. \$rcmail_config[\'session_path\'] = null;
  725. \$rcmail_config[\'session_storage\'] = \'db\';
  726. \$rcmail_config[\'ip_check\'] = false;
  727. \$rcmail_config[\'referer_check\'] = false;
  728. \$rcmail_config[\'x_frame_options\'] = \'sameorigin\';
  729. \$rcmail_config[\'des_key\'] = \'+oEkJSMxbrsl%C!J1f3AjJK-\';
  730. \$rcmail_config[\'username_domain\'] = \'\';
  731. \$rcmail_config[\'mail_domain\'] = \'\';
  732. \$rcmail_config[\'password_charset\'] = \'ISO-8859-1\';
  733. \$rcmail_config[\'sendmail_delay\'] = 0;
  734. \$rcmail_config[\'max_recipients\'] = 0;
  735. \$rcmail_config[\'max_group_members\'] = 0;
  736. \$rcmail_config[\'useragent\'] = \'Roundcube Webmail/\'.RCMAIL_VERSION;
  737. \$rcmail_config[\'product_name\'] = \'webmail\';
  738. \$rcmail_config[\'include_host_config\'] = false;
  739. \$rcmail_config[\'generic_message_footer\'] = \'\';
  740. \$rcmail_config[\'generic_message_footer_html\'] = \'\';
  741. \$rcmail_config[\'http_received_header\'] = false;
  742. \$rcmail_config[\'http_received_header_encrypt\'] = false;
  743. \$rcmail_config[\'mail_header_delimiter\'] = NULL;
  744. \$rcmail_config[\'line_length\'] = 72;
  745. \$rcmail_config[\'send_format_flowed\'] = true;
  746. \$rcmail_config[\'mdn_use_from\'] = false;
  747. \$rcmail_config[\'identities_level\'] = 0;
  748. \$rcmail_config[\'client_mimetypes\'] = null; # null == default
  749. \$rcmail_config[\'mime_magic\'] = null;
  750. \$rcmail_config[\'mime_types\'] = null;
  751. \$rcmail_config[\'im_identify_path\'] = null;
  752. \$rcmail_config[\'im_convert_path\'] = null;
  753. \$rcmail_config[\'image_thumbnail_size\'] = 240;
  754. \$rcmail_config[\'contact_photo_size\'] = 160;
  755. \$rcmail_config[\'email_dns_check\'] = false;
  756. \$rcmail_config[\'no_save_sent_messages\'] = false;
  757. \$rcmail_config[\'plugins\'] = array();
  758. \$rcmail_config[\'message_sort_col\'] = \'\';
  759. \$rcmail_config[\'message_sort_order\'] = \'DESC\';
  760. \$rcmail_config[\'list_cols\'] = array(\'subject\', \'status\', \'fromto\', \'date\', \'size\', \'flag\', \'attachment\');
  761. \$rcmail_config[\'language\'] = null;
  762. \$rcmail_config[\'date_format\'] = \'Y-m-d\';
  763. \$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\');
  764. \$rcmail_config[\'time_format\'] = \'H:i\';
  765. \$rcmail_config[\'time_formats\'] = array(\'G:i\', \'H:i\', \'g:i a\', \'h:i A\');
  766. \$rcmail_config[\'date_short\'] = \'D H:i\';
  767. \$rcmail_config[\'date_long\'] = \'Y-m-d H:i\';
  768. \$rcmail_config[\'drafts_mbox\'] = \'Drafts\';
  769. \$rcmail_config[\'junk_mbox\'] = \'Junk\';
  770. \$rcmail_config[\'sent_mbox\'] = \'Sent\';
  771. \$rcmail_config[\'trash_mbox\'] = \'Trash\';
  772. \$rcmail_config[\'default_folders\'] = array(\'INBOX\', \'Drafts\', \'Sent\', \'Junk\', \'Trash\');
  773. \$rcmail_config[\'create_default_folders\'] = false;
  774. \$rcmail_config[\'protect_default_folders\'] = true;
  775. \$rcmail_config[\'quota_zero_as_unlimited\'] = false;
  776. \$rcmail_config[\'enable_spellcheck\'] = true;
  777. \$rcmail_config[\'spellcheck_dictionary\'] = false;
  778. \$rcmail_config[\'spellcheck_engine\'] = \'googie\';
  779. \$rcmail_config[\'spellcheck_uri\'] = \'\';
  780. \$rcmail_config[\'spellcheck_languages\'] = NULL;
  781. \$rcmail_config[\'spellcheck_ignore_caps\'] = false;
  782. \$rcmail_config[\'spellcheck_ignore_nums\'] = false;
  783. \$rcmail_config[\'spellcheck_ignore_syms\'] = false;
  784. \$rcmail_config[\'recipients_separator\'] = \',\';
  785. \$rcmail_config[\'max_pagesize\'] = 200;
  786. \$rcmail_config[\'min_refresh_interval\'] = 60;
  787. \$rcmail_config[\'upload_progress\'] = false;
  788. \$rcmail_config[\'undo_timeout\'] = 0;
  789. \$rcmail_config[\'address_book_type\'] = \'sql\';
  790. \$rcmail_config[\'ldap_public\'] = array();
  791. \$rcmail_config[\'ldap_public\'][\'localhost\'] = array(
  792. \'name\' => \'localhost\',
  793. \'hosts\' => array(\'127.0.0.1\'),
  794. \'port\' => 389,
  795. \'base_dn\' => \''.$SERVER_ADDRESS_LDAP_DC.'\',
  796. \'search_base_dn\' => \'\',
  797. \'required_fields\' => array(\'cn\', \'sn\', \'mail\'),
  798. \'filter\' => \'(&(!(uid=_*))(mail=*@*))\',
  799. \'search_dn_default\' => \'\',
  800. \'LDAP_Object_Classes\' => array(\'top\', \'inetOrgPerson\'),
  801. \'search_fields\' => array(\'givenName\',\'cn\',\'sn\',\'mail\'),
  802. \'fieldmap\' => array(
  803. \'name\' => \'cn\',
  804. \'surname\' => \'sn\',
  805. \'firstname\' => \'givenName\',
  806. \'email\' => \'mail\'
  807. ),
  808. \'LDAP_rdn\' => \'mail\',
  809. \'ldap_version\' => 3,
  810. \'scope\' => \'sub\',
  811. \'fuzzy_search\' => true
  812. );
  813. \$rcmail_config[\'autocomplete_addressbooks\'] = array(\'sql\',\'localhost\');
  814. \$rcmail_config[\'autocomplete_min_length\'] = 1;
  815. \$rcmail_config[\'autocomplete_threads\'] = 0;
  816. \$rcmail_config[\'autocomplete_max\'] = 15;
  817. \$rcmail_config[\'address_template\'] = \'{street}<br/>{locality} {zipcode}<br/>{country} {region}\';
  818. \$rcmail_config[\'addressbook_search_mode\'] = 0;
  819. \$rcmail_config[\'default_charset\'] = \'ISO-8859-1\';
  820. \$rcmail_config[\'skin\'] = \'larry\';
  821. \$rcmail_config[\'mail_pagesize\'] = 50;
  822. \$rcmail_config[\'addressbook_pagesize\'] = 50;
  823. \$rcmail_config[\'addressbook_sort_col\'] = \'surname\';
  824. \$rcmail_config[\'addressbook_name_listing\'] = 0;
  825. \$rcmail_config[\'timezone\'] = \'auto\';
  826. \$rcmail_config[\'prefer_html\'] = true;
  827. \$rcmail_config[\'show_images\'] = 0;
  828. \$rcmail_config[\'message_extwin\'] = false;
  829. \$rcmail_config[\'compose_extwin\'] = false;
  830. \$rcmail_config[\'htmleditor\'] = 0;
  831. \$rcmail_config[\'prettydate\'] = true;
  832. \$rcmail_config[\'draft_autosave\'] = 300;
  833. \$rcmail_config[\'preview_pane\'] = false;
  834. \$rcmail_config[\'preview_pane_mark_read\'] = 0;
  835. \$rcmail_config[\'logout_purge\'] = false;
  836. \$rcmail_config[\'logout_expunge\'] = false;
  837. \$rcmail_config[\'inline_images\'] = true;
  838. \$rcmail_config[\'mime_param_folding\'] = 0;
  839. \$rcmail_config[\'skip_deleted\'] = false;
  840. \$rcmail_config[\'read_when_deleted\'] = true;
  841. \$rcmail_config[\'flag_for_deletion\'] = false;
  842. \$rcmail_config[\'refresh_interval\'] = 60;
  843. \$rcmail_config[\'check_all_folders\'] = false;
  844. \$rcmail_config[\'display_next\'] = true;
  845. \$rcmail_config[\'autoexpand_threads\'] = 0;
  846. \$rcmail_config[\'reply_mode\'] = 0;
  847. \$rcmail_config[\'strip_existing_sig\'] = true;
  848. \$rcmail_config[\'show_sig\'] = 1;
  849. \$rcmail_config[\'force_7bit\'] = false;
  850. \$rcmail_config[\'delete_always\'] = false;
  851. \$rcmail_config[\'delete_junk\'] = false;
  852. \$rcmail_config[\'mdn_requests\'] = 0;
  853. \$rcmail_config[\'mdn_default\'] = 0;
  854. \$rcmail_config[\'dsn_default\'] = 0;
  855. \$rcmail_config[\'reply_same_folder\'] = false;
  856. \$rcmail_config[\'forward_attachment\'] = false;
  857. \$rcmail_config[\'default_addressbook\'] = null;
  858. \$rcmail_config[\'spellcheck_before_send\'] = false;
  859. \$rcmail_config[\'autocomplete_single\'] = false;
  860. \$rcmail_config[\'default_font\'] = \'\';
  861. " > config/main.inc.php
  862. ';
  863. $cmd[]['rsh']='cd /Library/Server/Web/Data/Sites/Default/webmail || exit 1
  864. echo "<?
  865. \$rcmail_config = array();
  866. \$rcmail_config[\'db_dsnw\'] = \'mysql://webmail:webmail666@127.0.0.1/webmail\';
  867. \$rcmail_config[\'db_dsnr\'] = \'\';
  868. \$rcmail_config[\'db_persistent\'] = false;
  869. // you can define specific table names used to store webmail data
  870. \$rcmail_config[\'db_table_users\'] = \'users\';
  871. \$rcmail_config[\'db_table_identities\'] = \'identities\';
  872. \$rcmail_config[\'db_table_contacts\'] = \'contacts\';
  873. \$rcmail_config[\'db_table_contactgroups\'] = \'contactgroups\';
  874. \$rcmail_config[\'db_table_contactgroupmembers\'] = \'contactgroupmembers\';
  875. \$rcmail_config[\'db_table_session\'] = \'session\';
  876. \$rcmail_config[\'db_table_cache\'] = \'cache\';
  877. \$rcmail_config[\'db_table_cache_index\'] = \'cache_index\';
  878. \$rcmail_config[\'db_table_cache_thread\'] = \'cache_thread\';
  879. \$rcmail_config[\'db_table_cache_messages\'] = \'cache_messages\';
  880. \$rcmail_config[\'db_table_dictionary\'] = \'dictionary\';
  881. \$rcmail_config[\'db_table_searches\'] = \'searches\';
  882. \$rcmail_config[\'db_table_system\'] = \'system\';
  883. // you can define specific sequence names used in PostgreSQL
  884. \$rcmail_config[\'db_sequence_users\'] = \'user_ids\';
  885. \$rcmail_config[\'db_sequence_identities\'] = \'identity_ids\';
  886. \$rcmail_config[\'db_sequence_contacts\'] = \'contact_ids\';
  887. \$rcmail_config[\'db_sequence_contactgroups\'] = \'contactgroups_ids\';
  888. \$rcmail_config[\'db_sequence_searches\'] = \'search_ids\';
  889. // end db config file
  890. " > config/db.inc.php';
  891. //!!!!!!!!! EOF WEBMAIL !!!!!!!
  892. return $cmd;
  893. }
  894. 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) {
  895. //@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';
  896. //!!! Instalacja i generowanie konfiga - kopiowanie
  897. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/SE || echo PASSED '; //zalozenie katalogow
  898. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/'.$REMOTE_FOLDER_ROOT.' || echo PASSED '; //zalozenie katalogow
  899. $cmd[]['scp_root']=array($INSTALL_ROOT.'/budynki*','/Library/Server/Web/Data/Sites/Default/SE/');
  900. $cmd[]['scp_root']=array($INSTALL_ROOT.'/favicon.ico','/Library/Server/Web/Data/Sites/Default/SE/');
  901. $cmd[]['scp_root']=array($INSTALL_ROOT.'/icon','/Library/Server/Web/Data/Sites/Default/SE/');
  902. $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/index* || echo PASSED';
  903. $cmd[]['scp_root']=array($INSTALL_ROOT.'/index*','/Library/Server/Web/Data/Sites/Default/SE/');
  904. $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/odt2xhtml* || echo PASSED';
  905. $cmd[]['scp_root']=array($INSTALL_ROOT.'/odt2xhtml*','/Library/Server/Web/Data/Sites/Default/SE/');
  906. $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/procesy5* || echo PASSED';
  907. $cmd[]['scp_root']=array($INSTALL_ROOT.'/procesy5*','/Library/Server/Web/Data/Sites/Default/SE/');
  908. $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/przypomnij.php || echo PASSED';
  909. $cmd[]['scp_root']=array($INSTALL_ROOT.'/przypomnij.php','/Library/Server/Web/Data/Sites/Default/SE/');
  910. $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/se-lib || echo PASSED';
  911. $cmd[]['scp_root']=array($INSTALL_ROOT.'/se-lib','/Library/Server/Web/Data/Sites/Default/SE/');
  912. $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/session-expire.php || echo PASSED';
  913. $cmd[]['scp_root']=array($INSTALL_ROOT.'/session-expire.php','/Library/Server/Web/Data/Sites/Default/SE/');
  914. $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/stuff || echo PASSED';
  915. $cmd[]['scp_root']=array($INSTALL_ROOT.'/stuff','/Library/Server/Web/Data/Sites/Default/SE/');
  916. $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/superedit* || echo PASSED';
  917. $cmd[]['scp_root']=array($INSTALL_ROOT.'/superedit*','/Library/Server/Web/Data/Sites/Default/SE/');
  918. $cmd[]['scp_root']=array($INSTALL_ROOT.'/webdav','/Library/Server/Web/Data/Sites/Default/SE/');
  919. $cmd[]['rsh']='mkdir -p /Library/Server/Web/Data/Sites/Default/SE/config';
  920. $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/config/.config_base_structure* || echo PASSED';
  921. $cmd[]['scp_root']=array(''.$INSTALL_ROOT.'/.config_base_structure*','/Library/Server/Web/Data/Sites/Default/SE/config/'); //todo do przeniesienia wyzej - struktura musi byc wygenerowana
  922. $cmd[]['scp_root']=array($INSTALL_ROOT.'/config/.cnf--column_init*','/Library/Server/Web/Data/Sites/Default/SE/config/');
  923. $cmd[]['scp_root']=array($INSTALL_ROOT.'/config/.cnf--external_ids.ini.php*','/Library/Server/Web/Data/Sites/Default/SE/config/');
  924. $cmd[]['scp_root']=array($INSTALL_ROOT.'/.config.php','/Library/Server/Web/Data/Sites/Default/SE/');
  925. $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/procesy || echo PASSED';
  926. $cmd[]['scp_root']=array($INSTALL_ROOT.'/procesy','/Library/Server/Web/Data/Sites/Default/SE/');
  927. $cmd[]['rsh']='rm -R /Library/Server/Web/Data/Sites/Default/SE/bash_sync_perms.php || echo PASSED';
  928. $cmd[]['scp_root']=array($INSTALL_ROOT.'/bash_sync_perms.php','/Library/Server/Web/Data/Sites/Default/SE/');
  929. /* $cmd[]['rsh']='echo "<?php header(\'Location: https://'.$SERVER_ADDRESS.'/SE\'); ?>" > /Library/Server/Web/Data/Sites/Default/index.php'; // TODO @2014-08-11
  930. */
  931. $cmd[]['rsh']='echo "<?php header(\'Location: https://\'.\$_SERVER[\'SERVER_NAME\'].\'/SE\');?>" > /Library/Server/Web/Data/Sites/Default/index.php';
  932. //$cmd[]['rsh']='uruchomic na serwerze open directory i dodac tam konta roota';
  933. //$cmd[]['rsh']='skonfigurowac poczte i wlaczyc';
  934. //$cmd[]['rsh']='skonfigurowac pliki i wlaczyc - razem ze skanami';
  935. //$cmd[]['rsh']='uruchomic i skonfiugorowac kalendarze (haslo do wysylki poczty musi dzialac i byc konto takie dodane)';
  936. $cmd[]['rsh']='sed -i.bak "s/short_open_tag = Off/short_open_tag = On/" /etc/php.ini ';
  937. $cmd[]['rsh']='sed -i.bak "s/memory_limit =.*/memory_limit = 428M/" /etc/php.ini ';
  938. $cmd[]['rsh']='sed -i.bak "s/session.gc_maxlifetime =.*/session.gc_maxlifetime = 3600/" /etc/php.ini ';
  939. $cmd[]['rsh']='sed -i.bak "s/upload_max_filesize =.*/upload_max_filesize = 120M/" /etc/php.ini ';
  940. $cmd[]['rsh']='sed -i.bak "s/allow_url_include = Off/allow_url_include = On/" /etc/php.ini';
  941. $cmd[]['rsh']='serveradmin settings web:defaultSite:enableServerSideIncludes = yes';
  942. $cmd[]['rsh']='serveradmin settings web:defaultSite:allowAllOverrides = yes';
  943. $cmd[]['rsh']='serveradmin start web';
  944. $cmd[]['rsh']=' php /Library/Server/Web/Data/Sites/Default/SE/bash_sync_perms.php '.$SERVER_ADDRESS.' addToLaunchctl';
  945. $cmd[]['rsh']=' launchctl load /Library/LaunchDaemons/pl.biallnet.sync_perms.'.$SERVER_ADDRESS.'.php.plist';
  946. //odpalenie jabbera dla skroconej domeny servera:
  947. $cmd[]['rsh']=' test -n "'.$SERVER_ADDRESS_SHORT.'" && serveradmin settings jabber:hostsCommaDelimitedString = "'.$SERVER_ADDRESS.','.$SERVER_ADDRESS_SHORT.'"';
  948. //odpalenie jabbera::::
  949. $cmd[]['rsh']=' serveradmin start jabber';
  950. //odpalenie poczty dla skroconej domeny servera:
  951. $cmd[]['rsh']=' test -n "'.$SERVER_ADDRESS_SHORT.'" && serveradmin settings mail:postfix:virtual_domains:_array_index:0 = "'.$SERVER_ADDRESS_SHORT.'"';
  952. //odpalenie poczty::::
  953. //$cmd[]['rsh']=' serveradmin settings mail:postfix:message_size_limit_enabled = no'; //wylaczenie limitu poczty
  954. $cmd[]['rsh']=' serveradmin settings mail:postfix:message_size_limit = 90485760 ' ; //limit 90 mega
  955. $cmd[]['rsh']=' serveradmin start mail';
  956. //TODO need to reedit MainConf for virtual domains in /Library/Server/Mail/Config/postfix/main.cf (add hash:)
  957. // virtual_alias_domains = $virtual_alias_maps hash:/Library/Server/Mail/Config/postfix/virtual_domains
  958. $cmd[]['rsh']=' serveradmin start calendar';
  959. return $cmd;
  960. }
  961. 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) {
  962. //always before install mysql (if option to use)
  963. return $cmd;
  964. }
  965. 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) {
  966. //after always should be run INSTALL_GETCOMMANDS_SE
  967. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/SE || echo PASSED '; //zalozenie katalogow
  968. //! .cnf--default_db
  969. $cmd[]['rsh']=' echo ";<?php
  970. ;die(); // For further security
  971. ;// default DB
  972. type=\"mysql\"
  973. host=\"127.0.0.1\"
  974. port=\"3306\"
  975. user=\"root\"
  976. pass=\"'.$ADMIN_USERNAME_PASSWD.'\"
  977. database=\"'.$REMOTE_FOLDER_ROOT.'\"
  978. " > /Library/Server/Web/Data/Sites/Default/SE/config/.cnf--default_db-'.$SERVER_ADDRESS.'.ini.php
  979. ';
  980. //! .cnf--folders
  981. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT;
  982. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/PISMA';
  983. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/DEVICES';
  984. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/PROJEKTY';
  985. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/SES_PROCESY5_A';
  986. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/CRM_PROCES';
  987. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/DRUKI';
  988. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/ADMIN_USERS';
  989. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/QUALITY_NOTICES';
  990. $cmd[]['rsh']=' mkdir -p /Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'/SKANY'; //@2014-01-18 - should be added
  991. $cmd[]['rsh']=' chmod 0755 /Library/Server/Web/Data/Sites/Default/PLIKI/';
  992. $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';
  993. //! TODO te komendy nie działają @2013-10-15 - trzeba ruszyc recznie z GUI
  994. $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
  995. $cmd[]['rsh']=' serveradmin start afp' ; //uruchomienie sharingu smb/afp dla udzialu
  996. $cmd[]['rsh']=' serveradmin start smb' ; //uruchomienie sharingu smb/afp dla udzialu
  997. $cmd[]['rsh']=' serveradmin start sharing' ; //uruchomienie sharingu smb/afp dla udzialu
  998. //EOF TODO te komendy nie dzialaja
  999. //@2014-01-18 bindera: aktualizacja konfigu do plikow zgodna z zalozeniami korespondencji w podfolderach
  1000. $cmd[]['rsh']=' echo ";<?php
  1001. ;die(); // For further security
  1002. [root_points]
  1003. mount_point=\"/Library/Server/Web/Data/Sites/Default/PLIKI/'.$REMOTE_FOLDER_ROOT.'\"
  1004. share_point=\"//'.$SERVER_ADDRESS.'/'.$REMOTE_FOLDER_ROOT.'\"
  1005. www_share_point=\"https://'.$SERVER_ADDRESS.'/PLIKI/'.$REMOTE_FOLDER_ROOT.'\"
  1006. [m_dist_files_types]
  1007. ARTYKUL=\"ARTYKUL\"
  1008. CERT_CE=\"CERT_CE\"
  1009. CERTYFIKAT=\"CERTYFIKAT\"
  1010. DEKLARACJA=\"DEKLARACJA\"
  1011. DOKUMENTACJA=\"DOKUMENTACJA\"
  1012. DOK_POWYK=\"DOK_POWYK\"
  1013. DRUK=\"DRUK\"
  1014. ;//ETYKIETA=\"ETYKIETA\"
  1015. FAKTURA=\"FAKTURA\"
  1016. FIRMWARE=\"FIRMWARE\"
  1017. ;//INSTRUKCJA=\"INSTRUKCJA\"
  1018. ;//INSTRUKCJA_PL=\"INSTRUKCJA_PL\"
  1019. ;//INSTRUKCJA_PL_DRUK=\"INSTRUKCJA_PL_DRUK\"
  1020. ;//KARTA=\"KARTA\"
  1021. INNE=\"INNE\"
  1022. KARTA_GWARANCYJNA=\"KARTA_GWARANCYJNA\"
  1023. ;//KOMPLETACJA=\"KOMPLETACJA\"
  1024. LIST_PRZEWOZ=\"LIST_PRZEWOZ\"
  1025. NOTATKA=\"NOTATKA\"
  1026. OFERTA=\"OFERTA\"
  1027. ;//OVERLAY=\"OVERLAY\"
  1028. PISMO=\"PISMO\"
  1029. POLISA=\"POLISA\"
  1030. PREZENTACJA=\"PREZENTACJA\"
  1031. PROJEKT=\"PROJEKT\"
  1032. PROJEKT_BUD=\"PROJEKT_BUD\"
  1033. PROJEKT_GRAF=\"PROJEKT_GRAF\"
  1034. PROTOKOL=\"PROTOKOL\"
  1035. PROTOK_ODB_TOWAR=\"PROTOK_ODB_TOWAR\"
  1036. REKLAMACJA=\"REKLAMACJA\"
  1037. RYS_TECHNICZNY=\"RYS_TECHNICZNY\"
  1038. SPEC_WYROBU=\"SPEC_WYROBU\"
  1039. SOFT_CD=\"SOFT_CD\"
  1040. SWIAD_JAKOSCI=\"SWIAD_JAKOSCI\"
  1041. TODO=\"TODO\"
  1042. UMOWA=\"UMOWA\"
  1043. UCHWALA=\"UCHWALA\"
  1044. UCHWALA_WWW=\"UCHWALA_WWW\"
  1045. UZGODNIENIE=\"UZGODNIENIE\"
  1046. WEZW_DO_ZAPL=\"WEZW_DO_ZAPL\"
  1047. WWW_DOKUMENTY=\"WWW_DOKUMENTY\"
  1048. WWW_PRACA=\"WWW_PRACA\"
  1049. WZORZEC=\"WZORZEC\"
  1050. WNIOSEK=\"WNIOSEK\"
  1051. WNIOSEK_URLOP=\"WNIOSEK_URLOP\"
  1052. WYD_MAGAZYN=\"WYD_MAGAZYN\"
  1053. WYCENA=\"WYCENA\"
  1054. ZDJECIE=\"ZDJECIE\"
  1055. ZDJECIE_HI=\"ZDJECIE_HI\"
  1056. ZWOLNIENIE_LEK=\"ZWOLNIENIE_LEK\"
  1057. ZAMOWIENIE=\"ZAMOWIENIE\"
  1058. [default_COLUMN]
  1059. mount_point=\"default\";
  1060. share_point=\"default\"
  1061. www_share_point=\"default\"
  1062. LOOKAT_NEGFILE_LOOK_REGEX=\"/<VARNAME>./\"
  1063. LOOKAT_NEGFILE_VARNAME=\"ID\"
  1064. LOOKAT_FOLDER_LOOK_REGEX=\"/../\"
  1065. LOOKAT_FOLDER_VARNAME=\"ID\"
  1066. DEST_FOLDER_M_DIST_FILES_INDEXNAME=\"ID\"
  1067. [ADMIN_USERS_COLUMN]
  1068. mount_point=\"ADMIN_USERS\"
  1069. share_point=\"ADMIN_USERS\"
  1070. www_share_point=\"ADMIN_USERS\"
  1071. LOOKAT_FOLDER_LOOK_GLOB=\"<VARNAME>.*\"
  1072. LOOKAT_FOLDER_VARNAME=\"ID\"
  1073. DEST_FOLDER_FORMAT=\"<VARNAME1>.<VARNAME2>\"
  1074. DEST_FOLDER_VARNAME1=\"ID\"
  1075. DEST_FOLDER_VARNAME2=\"ADM_NAME\"
  1076. [CRM_LISTA_ZASOBOW_COLUMN]
  1077. mount_point=\"DRUKI\"
  1078. share_point=\"DRUKI\"
  1079. www_share_point=\"DRUKI\"
  1080. LOOKAT_FOLDER_LOOK_GLOB=\"<VARNAME>.*\"
  1081. LOOKAT_FOLDER_VARNAME=\"ID\"
  1082. DEST_FOLDER_FORMAT=\"<VARNAME1>.<VARNAME2>\"
  1083. DEST_FOLDER_VARNAME1=\"ID\"
  1084. DEST_FOLDER_VARNAME2=\"DESC\"
  1085. [CRM_LISTA_ZASOBOW_COLUMN]
  1086. mount_point=\"DRUKI\"
  1087. share_point=\"DRUKI\"
  1088. www_share_point=\"DRUKI\"
  1089. LOOKAT_FOLDER_LOOK_GLOB=\"<VARNAME>.*\"
  1090. LOOKAT_FOLDER_VARNAME=\"ID\"
  1091. DEST_FOLDER_FORMAT=\"<VARNAME1>.<VARNAME2>\"
  1092. DEST_FOLDER_VARNAME1=\"ID\"
  1093. DEST_FOLDER_VARNAME2=\"DESC\"
  1094. [CRM_PROCES_COLUMN]
  1095. mount_point=\"CRM_PROCES\"
  1096. share_point=\"CRM_PROCES\"
  1097. www_share_point=\"CRM_PROCES\"
  1098. LOOKAT_FOLDER_LOOK_GLOB=\"<VARNAME>.*\"
  1099. LOOKAT_FOLDER_VARNAME=\"ID\"
  1100. DEST_FOLDER_FORMAT=\"<VARNAME1>.<VARNAME2>\"
  1101. DEST_FOLDER_VARNAME1=\"ID\"
  1102. DEST_FOLDER_VARNAME2=\"DESC\"
  1103. [QUALITY_NOTICES_COLUMN]
  1104. mount_point=\"QUALITY_NOTICES\"
  1105. share_point=\"QUALITY_NOTICES\"
  1106. www_share_point=\"QUALITY_NOTICES\"
  1107. LOOKAT_FOLDER_LOOK_GLOB=\"<VARNAME>.*\"
  1108. LOOKAT_FOLDER_VARNAME=\"ID\"
  1109. DEST_FOLDER_FORMAT=\"<VARNAME1>.<VARNAME2>\"
  1110. DEST_FOLDER_VARNAME1=\"ID\"
  1111. DEST_FOLDER_VARNAME2=\"ID_PROCES\"
  1112. [IN7_MK_BAZA_DYSTRYBUCJI_COLUMN]
  1113. mount_point=\"PROJEKTY\"
  1114. share_point=\"PROJEKTY\"
  1115. www_share_point=\"PROJEKTY\"
  1116. LOOKAT_FOLDER_LOOK_GLOB=\"<VARNAME>.*\"
  1117. LOOKAT_FOLDER_VARNAME=\"ID\"
  1118. DEST_FOLDER_FORMAT=\"<VARNAME1>.<VARNAME2>\"
  1119. DEST_FOLDER_VARNAME1=\"ID\"
  1120. DEST_FOLDER_VARNAME2=\"M_DIST_DESC\"
  1121. [IN7_DZIENNIK_KORESP_COLUMN]
  1122. mount_point=\"PISMA\"
  1123. share_point=\"PISMA\"
  1124. www_share_point=\"PISMA\"
  1125. LOOKAT_FOLDER_LOOK_GLOB=\"<VARNAME>.*\"
  1126. LOOKAT_FOLDER_VARNAME=\"ID\"
  1127. DEST_FOLDER_FORMAT=\"<VARNAME1>.<VARNAME2>-<VARNAME3>\"
  1128. DEST_FOLDER_VARNAME1=\"ID\"
  1129. DEST_FOLDER_VARNAME2=\"K_OD_KOGO\"
  1130. DEST_FOLDER_VARNAME3=\"K_ZAWARTOS\"
  1131. [DEVICES_COLUMN]
  1132. mount_point=\"DEVICES\"
  1133. share_point=\"DEVICES\"
  1134. www_share_point=\"DEVICES\"
  1135. LOOKAT_FOLDER_LOOK_GLOB=\"<VARNAME>.*\"
  1136. LOOKAT_FOLDER_VARNAME=\"ID\"
  1137. DEST_FOLDER_FORMAT=\"<VARNAME1>.<VARNAME2>_<VARNAME3>\"
  1138. DEST_FOLDER_VARNAME1=\"ID\"
  1139. DEST_FOLDER_VARNAME2=\"T_PRODUCER\"
  1140. DEST_FOLDER_VARNAME3=\"S_HW\"
  1141. [SCANS_COLUMN]
  1142. mount_point=\"SKANY\"
  1143. share_point=\"SKANY\"
  1144. www_share_point=\"SKANY\"
  1145. " > /Library/Server/Web/Data/Sites/Default/SE/config/.cnf--folders-'.$SERVER_ADDRESS.'.ini.php';
  1146. //! .config_domena_.php
  1147. //LDAP
  1148. $cmd[]['rsh']='echo ";<?php
  1149. ;die(); // For further security
  1150. ;// default LDAP
  1151. version=\"3\"
  1152. host=\"127.0.0.1\"
  1153. ;//port=\"\"
  1154. user=\"'.$ADMIN_USERNAME_DIRECTORY.'\"
  1155. pass=\"'.$ADMIN_USERNAME_PASSWD.'\"
  1156. base_dn=\"'.$SERVER_ADDRESS_LDAP_DC.'\"
  1157. " > /Library/Server/Web/Data/Sites/Default/SE/config/.cnf--default_ldap-'.$SERVER_ADDRESS.'.ini.php
  1158. ';
  1159. $cmd[]['rsh']='echo "<?php
  1160. //$DATABASE_ROOT_ZASOB_ID=36; //numer zasobu dla bazy SQL w zasobach, pod nim powinny byc bezposrednio tabele, potem komorki
  1161. \\$CRM_IMPORT_TRANSLATE[\'CRM_LISTA_ZASOBOW\'][36]=2; //baza danych[36] na baze danych zainicjalizowana
  1162. \\$CRM_IMPORT_TRANSLATE[\'CRM_LISTA_ZASOBOW\'][14]=1; //server[14] na zainicjalizowany [1] tutaj definiujemy z zasob
  1163. \\$CNF_ZASOB[\'biallnet_crm_profiles\'][\'INTERFACE_ADDR\'] = \'se.dev.webone.pl\';
  1164. \\$CNF_ZASOB[\'biallnet_crm_profiles\'][\'SQL_USER\'] = \'crmexportprof\';
  1165. \\$CNF_ZASOB[\'biallnet_crm_profiles\'][\'SQL_USER_PASS\'] = \'crmexportprof\';
  1166. \\$CNF_ZASOB[\'biallnet_crm_profiles\'][\'SQL_DATABASE\'] = \'SES_USERS2\';
  1167. " > /Library/Server/Web/Data/Sites/Default/SE/config/.config-'.$SERVER_ADDRESS.'.php';
  1168. $cmd[]['rsh']=' echo ";<?php
  1169. ;die(); // For further security
  1170. ;// default DB
  1171. type=\"mysql\"
  1172. host=\"se.dev.webone.pl\"
  1173. port=\"3306\"
  1174. user=\"crmexportprof\"
  1175. pass=\"crmexportprof\"
  1176. database=\"SES_USERS2\"
  1177. " > /Library/Server/Web/Data/Sites/Default/SE/config/.cnf--import_db-'.$SERVER_ADDRESS.'.ini.php
  1178. '; //todo zmienic to wczesniej
  1179. $cmd[]['rsh']='which mysqladmin && mysqladmin -f -uroot -p'.$ADMIN_USERNAME_PASSWD.' drop '.$REMOTE_FOLDER_ROOT.' || echo PASSED ';
  1180. $cmd[]['rsh']='mysqladmin -uroot -p'.$ADMIN_USERNAME_PASSWD.' create '.$REMOTE_FOLDER_ROOT.' || echo passed' ; //todo przestawic wczesniej
  1181. $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
  1182. //! inicjalizacja bazy SQIX_STRUCTURE_DB_SYNC
  1183. $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
  1184. $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!
  1185. // TODO @2014-06-16 sprawdzic dodawanie struktur DB_STRUCTURES_CREATE - czy jest potrzebne - imho TAK
  1186. $cmd[]['rsh']='php -r"include(\'/Library/Server/Web/Data/Sites/Default/SE/superedit-DB_PROCEDURES_CREATE.php\') ; DB_PROCEDURES_CREATE(); " '.$SERVER_ADDRESS.' ';
  1187. $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
  1188. $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
  1189. $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
  1190. $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
  1191. $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
  1192. $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
  1193. //dodanie domyslnego uprawnienia admina dla glownego usera na bazie tabeli KONTAKTY_view
  1194. $cmd[]['rsh']=' echo " insert into CRM_AUTH_PROFILE (ID_ZASOB, REMOTE_TABLE,REMOTE_ID) select czp1.ID , \'ADMIN_USERS\', au.ID
  1195. from CRM_LISTA_ZASOBOW cz
  1196. left join CRM_LISTA_ZASOBOW czp on czp.PARENT_ID=cz.ID
  1197. left join CRM_WSKAZNIK cw on cw.ID_ZASOB=czp.ID
  1198. left join _CRM_PROCES_STATS_proc_wiev as cpi on cpi.ID=cw.ID_PROCES
  1199. left join CRM_WSKAZNIK as cw1 on cw1.ID_PROCES=cpi.ID_PROCES_INIT
  1200. left join CRM_LISTA_ZASOBOW as czp1 on czp1.ID=cw1.ID_ZASOB and czp1.\\`TYPE\\`=\'STANOWISKO\'
  1201. left join ADMIN_USERS au on au.ADM_ACCOUNT=\''.$ADMIN_USERNAME_DIRECTORY.'\'
  1202. 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
  1203. $cmd[]['rsh']=' echo " insert into CRM_AUTH_PROFILE (ID_ZASOB, REMOTE_TABLE,REMOTE_ID) select czp1.ID , \'ADMIN_USERS\', au.ID
  1204. from CRM_LISTA_ZASOBOW cz
  1205. left join CRM_LISTA_ZASOBOW czp on czp.PARENT_ID=cz.ID
  1206. left join CRM_WSKAZNIK cw on cw.ID_ZASOB=czp.ID
  1207. left join _CRM_PROCES_STATS_proc_wiev as cpi on cpi.ID=cw.ID_PROCES
  1208. left join CRM_WSKAZNIK as cw1 on cw1.ID_PROCES=cpi.ID_PROCES_INIT
  1209. left join CRM_LISTA_ZASOBOW as czp1 on czp1.ID=cw1.ID_ZASOB and czp1.\\`TYPE\\`=\'STANOWISKO\'
  1210. left join ADMIN_USERS au on au.ADM_ACCOUNT=\''.$ADMIN_USERNAME_L1.'\'
  1211. 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
  1212. /* @2014-03-10 these has been moved to create config_base_structure_dump.sql option - WYKONAJ_REFERENCYJNA_BAZE_DANYCH
  1213. $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
  1214. $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 ?
  1215. $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
  1216. */
  1217. // $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
  1218. // $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
  1219. // $cmd[]='whoami';
  1220. //todo po zainstalowaniu bazy danych i zasobow trzeba zmienic nazwe zasobow naszych :
  1221. //[14]=biuro.biall-net.pl -> $SERVER_ADDRESS
  1222. //[4803]=vpn.biall-net.pl -> todo(adres IP lokalny w ramach vpn.$SERVER_ADDRESS)
  1223. //! .cnf--default_db as id 2
  1224. $cmd[]['rsh']=' echo ";<?php
  1225. ;die(); // For further security
  1226. ;// default DB
  1227. type=\"mysql\"
  1228. host=\"127.0.0.1\"
  1229. port=\"3306\"
  1230. user=\"root\"
  1231. pass=\"'.$ADMIN_USERNAME_PASSWD.'\"
  1232. database=\"'.$REMOTE_FOLDER_ROOT.'\"
  1233. " > /Library/Server/Web/Data/Sites/Default/SE/config/.cnf--zasob_2-'.$SERVER_ADDRESS.'.ini.php
  1234. ';
  1235. //! dodanie pierwszego usera ADMIN_USERNAME_L1 oraz diradmin
  1236. return $cmd;
  1237. }
  1238. 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) {
  1239. $cmd[]['rsh']='test -d /Library/Server/Web/Data/Sites/Default/phpMyAdmin.tar.gz && rm -R /Library/Server/Web/Data/Sites/Default/phpMyAdmin.tar.gz || echo PASSED';
  1240. $cmd[]['rsh']='test -d /Library/Server/Web/Data/Sites/Default/garbage && rm -R /Library/Server/Web/Data/Sites/Default/garbage || echo PASSED';
  1241. //! phpMyAdmin garbage
  1242. $cmd[]['rsh']='cd /Library/Server/Web/Data/Sites/Default/ || exit 1
  1243. wget http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/4.0.3/phpMyAdmin-4.0.3-all-languages.zip/download#\!md5\!4f71985c99e4e26e8b6b0b9165cafaad -O phpMyAdmin.tar.gz || exit 1
  1244. tar -zxpvf phpMyAdmin.tar.gz || exit 1 ';
  1245. $cmd[]['rsh']='cd /Library/Server/Web/Data/Sites/Default/ || exit 1
  1246. mv phpMyAdmin-* garbage || exit 1 ';
  1247. $cmd[]['rsh']='cd /Library/Server/Web/Data/Sites/Default/garbage || exit 1
  1248. echo "<?
  1249. \\$i = 0;
  1250. \\$i++;
  1251. \\$cfg[\'Servers\'][\\$i][\'verbose\'] = \''.$SERVER_ADDRESS.'\';
  1252. \\$cfg[\'Servers\'][\\$i][\'host\'] = \'127.0.0.1\';
  1253. \\$cfg[\'Servers\'][\\$i][\'port\'] = \'\';
  1254. \\$cfg[\'Servers\'][\\$i][\'socket\'] = \'\';
  1255. \\$cfg[\'Servers\'][\\$i][\'connect_type\'] = \'tcp\';
  1256. \\$cfg[\'Servers\'][\\$i][\'extension\'] = \'mysqli\';
  1257. \\$cfg[\'Servers\'][\\$i][\'auth_type\'] = \'cookie\';
  1258. \\$cfg[\'Servers\'][\\$i][\'user\'] = \'root\';
  1259. \\$cfg[\'Servers\'][\\$i][\'password\'] = \'\';
  1260. \\$cfg[\'blowfish_secret\'] = \'51bc5c5b538ff0.23201365\';
  1261. \\$cfg[\'DefaultLang\'] = \'en\';
  1262. \\$cfg[\'ServerDefault\'] = 1;
  1263. \\$cfg[\'UploadDir\'] = \'\';
  1264. \\$cfg[\'SaveDir\'] = \'\';
  1265. ?>
  1266. " > config.inc.php || exit 1
  1267. ';
  1268. return $cmd;
  1269. }
  1270. 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) {
  1271. return '"<?xml version=\"1.0\" encoding=\"UTF-8\"?>
  1272. <!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\"
  1273. \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
  1274. <plist version=\"1.0\">
  1275. <dict>
  1276. <key>AdminUser</key>
  1277. <dict>
  1278. <key>exists</key>
  1279. <false/>
  1280. <key>name</key>
  1281. <string>'.$ADMIN_USERNAME.'</string>
  1282. <key>password</key>
  1283. <string>'.$ADMIN_USERNAME_INITIAL_PASSWD.'</string>
  1284. <key>realname</key>
  1285. <string>Administrator</string>
  1286. <key>uid</key>
  1287. <string>501</string>
  1288. </dict>
  1289. <key>ComputerName</key>
  1290. <string>'.$SERVER_ADDRESS.'</string>
  1291. Chapter 2 Installing Server Software and Finishing Basic Setup 23
  1292. <key>DS</key>
  1293. <dict>
  1294. <key>DSClientInfo</key>
  1295. <string>2 - NetInfo client - broadcast dhcp static -192.168.42.250
  1296. network</string>
  1297. <key>DSClientType</key>
  1298. <string>2</string>
  1299. <key>DSType</key>
  1300. <string>2 - directory client</string>
  1301. </dict>
  1302. <key>HostName</key>
  1303. <string>'.$SERVER_ADDRESS.'</string>
  1304. <key>InstallLanguage</key>
  1305. <string>Polish</string>
  1306. <key>Keyboard</key>
  1307. <dict>
  1308. <key>DefaultFormat</key>
  1309. <string>0</string>
  1310. <key>DefaultScript</key>
  1311. <string>0</string>
  1312. <key>ResID</key>
  1313. <integer>0</integer>
  1314. <key>ResName</key>
  1315. <string>U.S.</string>
  1316. <key>ScriptID</key>
  1317. <integer>0</integer>
  1318. </dict>
  1319. <key>ServicesAutoStart</key>
  1320. <dict>
  1321. <key>Apache</key>
  1322. <true/>
  1323. <key>File</key>
  1324. <true/>
  1325. <key>MacManager</key>
  1326. <true/>
  1327. <key>Mail</key>
  1328. <true/>
  1329. <key>Print</key>
  1330. <false/>
  1331. <key>QTSS</key>
  1332. <false/>
  1333. <key>WebDAV</key>
  1334. <false/>
  1335. </dict>
  1336. <key>TimeZone</key>
  1337. <string>Europe/Warsaw</string>
  1338. <key>VersionNumber</key>
  1339. <integer>1</integer>
  1340. </dict>
  1341. </plist>
  1342. "';
  1343. }
  1344. function tell_user_gui_error($msg) {
  1345. return 'osascript -e "tell app \"System Events\" to display alert \"'.$msg.'\""';
  1346. }
  1347. function MakeCommand($command_id,$command,$installer_tmp,$installer_dir) {
  1348. $file_sh="install.bash/".$command_id.".bash";
  1349. $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";
  1350. $file=fopen($installer_dir."/".$file_sh, "w") or die('Cannot open file: '.$installer_dir."/".$file_sh);
  1351. fwrite($file,"#!/bin/sh\n".$command."\n");
  1352. fclose($file);
  1353. chmod($installer_dir."/".$file_sh, 0755);
  1354. //$ins_sh.=$command['rsh']."\n\r";
  1355. DEBUG_S(-3,$command_id.':out of ',array($command,$file_sh,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
  1356. return $ins_sh;
  1357. }
  1358. function MAKE_PKG_COMPONENT($h,$installer_dir_tar,$installer_url,$installer_tmp,$cmd,$exit_file,$installer_dir_name,$pkg_id,$encrypt=false) {
  1359. $UID=$h->ID;
  1360. $installer_dir=$installer_dir_tar."/".$installer_dir_name; //pakowany katalog z instalatorem
  1361. // $installer_dir_tar="/Library/Server/Web/Data/Sites/Default/PLIKI/SES_PROCESY5_A"; //katalog CWD z ktorego budowana jest instalacja
  1362. // $installer_url="http://biuro.biall-net.pl/PLIKI/SES_PROCESY5_A/"; //miejsce do sciagania instalatora przez WWW
  1363. // $installer_tmp="/tmp/pl.procesy5_".$UID.".".$h->SERVER_ADDRESS; //miejsce do ktorego installer odpakuje wszystko
  1364. exec('rm -Rf '.$installer_dir);
  1365. mkdir($installer_dir,0777);
  1366. mkdir($installer_dir."/install.bash",0777);
  1367. mkdir($installer_dir."/install.executed_ok",0777);
  1368. echo "<br> I mkdir ".$installer_dir;
  1369. $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";
  1370. foreach($cmd as $command_id=>$command) {
  1371. if(isset($command['rsh'])) {
  1372. //$exec=SSH_COMMAND_REMOTE_CREATE($h->ADMIN_USERNAME,$h->SERVER_ADDRESS_IP,$h->ADMIN_USERNAME_PASSWD,$command['rsh']);
  1373. //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));
  1374. //flush();
  1375. $out="";$exit="";
  1376. //exec($exec,$out,$exit);
  1377. $file_sh="install.bash/".$command_id.".bash";
  1378. $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";
  1379. // touch($file_sh);
  1380. $file=fopen($installer_dir."/".$file_sh, "w") or die('Cannot open file: '.$installer_dir."/".$file_sh);
  1381. fwrite($file,"#!/bin/sh\n".$command['rsh']."\n");
  1382. fclose($file);
  1383. chmod($installer_dir."/".$file_sh, 0755);
  1384. //$ins_sh.=$command['rsh']."\n\r";
  1385. DEBUG_S(-3,$command_id.':out of ',array($command['rsh'],$installer_dir."/".$file_sh,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
  1386. flush();
  1387. } else if(isset($command['scp'])) {
  1388. //$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];
  1389. //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)));
  1390. //flush();
  1391. mkdir($installer_dir."/".$command_id,0777);
  1392. exec("cp ".$command['scp'][0]." ".$installer_dir."/".$command_id);
  1393. $ins_sh.="mv ".$installer_tmp."/".$command_id."/* ".$command['scp'][1]." \n";
  1394. } else if(isset($command['scp_root'])) {
  1395. mkdir($installer_dir."/".$command_id,0777);
  1396. $cmd="cp -r ".$command['scp_root'][0]." ".$installer_dir."/".$command_id;
  1397. exec($cmd,$out,$exit);
  1398. //@2014-09 tak bylo, ale sie zle instalowalo wiec dajemy cp -a
  1399. $ins_sh.="mv ".$installer_tmp."/".$command_id."/* ".$command['scp_root'][1]." \n";
  1400. DEBUG_S(-3,$cmd.':out of ',array($command['scp_root'],$installer_dir."/".$file_sh,$command_id,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
  1401. //$ins_sh.="cp -a ".$installer_tmp."/".$command_id."/* ".$command['scp_root'][1]." \n";
  1402. flush();
  1403. //set_time_limit(36000);
  1404. }
  1405. $last_command_id=$command_id;
  1406. }
  1407. if(($encrypt)) {
  1408. //TODO detect several hosts at the same IP address/domain to make it allow to work.
  1409. // select SERVER_ADDRESS_IP
  1410. //$exec='cd '.$installer_dir.' && /Applications/SourceGuardian.app/Contents/MacOS/sgencoder -b- --domain '.$h->SERVER_ADDRESS_SHORT.' -r *.php -x superedit-DB_PROCEDURES_CREATE.php';
  1411. $exec='cd '.$installer_dir.' && /Applications/SourceGuardian.app/Contents/MacOS/sgencoder -b- '.INSTALL_SES_PROCESY_A::get_same_domains_for_install($h->SERVER_ADDRESS_SHORT).' -r *.php -x superedit-DB_PROCEDURES_CREATE.php -x INI.php -x .config_base_structure.php';
  1412. exec($exec,$out,$exit);$out="";$exit="";
  1413. DEBUG_S(-3,'Zakodowanie kodu php/kompilacja z licencja i kluczem',array($exec,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
  1414. }
  1415. //usuniecie musi byc przed instalacja TODO
  1416. //$last_command_id++;
  1417. //
  1418. //$ins_sh.=MakeCommand($command_id,"rm -Rf ".$installer_tmp,$installer_tmp,$installer_dir) ;
  1419. /* klucz nie potrzebny do kodowania dla domeny
  1420. $last_command_id++;
  1421. mkdir($installer_dir."/".$last_command_id,0777);
  1422. $exec='cd '.$installer_dir."/".$last_command_id.' && /Applications/SourceGuardian.app/Contents/MacOS/licgen --projid '.$h->ID.' --projkey '.$h->ID.' procesylicence_se';
  1423. exec($exec,$out,$exit);$out="";$exit="";
  1424. DEBUG_S(-3,'Wygenerowanie klucza dla klienta',array($exec,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
  1425. $ins_sh.="mv ".$last_command_id."/* /Library/Server/Web/Data/Sites/Default/SE/ \n";
  1426. */
  1427. mkdir($installer_dir."/scripts",0777);
  1428. $file=fopen($installer_dir."/scripts/postinstall", "w") or die('Cannot open file: '.$installer_dir."/scripts/postinstall");
  1429. fwrite($file,$ins_sh."\n");
  1430. fclose($file);
  1431. // die();
  1432. chmod($installer_dir."/scripts/"."postinstall", 0755); $out="";$exit="";
  1433. // $exit_file=str_replace('.', '_', $UID.".".$h->SERVER_ADDRESS);
  1434. //$exec="tar -C".$installer_dir_tar." -cz ".$UID.".".$h->SERVER_ADDRESS." > ".$installer_dir_tar."/".$exit_file.".tar.gz";
  1435. //exec($exec ,$out,$exit);
  1436. //DEBUG_S(-3,'Tarowanie ',array($exec,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
  1437. $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" ;
  1438. exec($exec ,$out,$exit);
  1439. DEBUG_S(-3,'Robiebie pkg ',array($exec,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
  1440. echo "<hr><A href='{$installer_url}{$exit_file}.pkg'> ściągnij instalacje Procesy5 {$exit_file}.pkg</a>\n";
  1441. //echo "<pre>Instalator skrypt TODO : \n".htmlspecialchars($ins_sh)."</pre>";
  1442. // return 0;
  1443. }
  1444. function INSTALL_SES_PROCESY_A() {
  1445. $INSTALL_ROOT='/Users/plabudda/se-dev-pl/SE'; //glowny katalog ze zrodlem SE
  1446. $INSTALL_ROOT='/Library/Server/Web/Data/Sites/SE-production-git/SE'; //glowny katalog ze zrodlem SE
  1447. $OPTIONS->SE_config='/Library/Server/Web/Data/Sites/SE-config'; //glowny katalog z konfigami
  1448. //DB::query('update SES_PROCESY5_A set INSTALL_COMPLETE_POINT=0 ');
  1449. //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
  1450. // $cmd=INSTALL_GETCOMMANDS();
  1451. // $sql="select * from SES_PROCESY5_A where A_STATUS='NORMAL' and INSTALL_COMPLETE_POINT<'".count($cmd)."'";
  1452. $sql="select * from SES_PROCESY5_A where A_STATUS='NORMAL' ";
  1453. if(!empty($_REQUEST['ID'])) $sql.=" and ID='{$_REQUEST['ID']}'";
  1454. else { $sql.=" and 1=2 "; echo "Musisz wyzwolic instalacje konkretnego serwera z parametrem"; }
  1455. DB::query('set global max_allowed_packet=1000000000;');
  1456. $res=DB::query($sql);
  1457. //if(DB::num_rows==0) echo "brak rekordow";
  1458. while($h=DB::fetch($res)) {
  1459. $REMOTE_FOLDER_ROOT=str_replace(array(".","-"),'_',$h->SERVER_ADDRESS); //also database name!
  1460. /*
  1461. $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);
  1462. //! FORMULARZ MENU
  1463. */
  1464. echo "<hr><form method=GET><input type=hidden name=FUNCTION_INIT value=INSTALL_SES_PROCESY_A>
  1465. <input type=hidden name=ID value=".$_REQUEST['ID'].">";
  1466. /*
  1467. Ustal instalacje <select name=ID>";
  1468. $rlres=DB::query('select * from SES_PROCESY5_A where A_STATUS=\'NORMAL\'');
  1469. while($rl=DB::fetch($rlres)) {
  1470. echo "\n<option value='{$rl->ID}' ";
  1471. if(!empty($_REQUEST['ID']) && ($_REQUEST['ID']==$rl->ID)) echo " selected ";
  1472. echo ">{$rl->SERVER_ADDRESS} ({$rl->INSTALL_COMPLETE_POINT})</option>";
  1473. }
  1474. echo "</select><br>Ustal poczatek <select name=START>";
  1475. foreach($cmd as $id=>$val) {
  1476. echo "<option value='".$id."'"; if($_REQUEST['START']==$id) echo " selected ";
  1477. echo " >".$id." ".str_replace($h->ADMIN_USERNAME_PASSWD,'xxxxxx',$val['rsh'].$val['scp_root'][0].$val['scp'][0])."</option>";
  1478. }
  1479. echo "</select><br>
  1480. Ustal koniec <select name=STOP>";
  1481. foreach($cmd as $id=>$val) {
  1482. echo "<option value='".$id."'"; if($_REQUEST['STOP']==$id) echo " selected ";
  1483. if(empty($_REQUEST['STOP'])&&$id==count($cmd)-1) echo " selected ";
  1484. echo " >".$id." ".str_replace($h->ADMIN_USERNAME_PASSWD,'xxxxxx',$val['rsh'].$val['scp_root'][0].$val['scp'][0])."</option>";
  1485. }
  1486. echo "</select>
  1487. */
  1488. echo "
  1489. <br><input type=submit name='POBIERZ_XML_AUTOCONFIG_USB' value='POBIERZ_XML_AUTOCONFIG_USB (TODO nie gotowe @2014-03-10)'>
  1490. <br>
  1491. <input type=submit name='WYKONAJ_REFERENCYJNA_BAZE_DANYCH' value='1. WYKONAJ_REFERENCYJNA_BAZE_DANYCH (v@2014-03-15)'>
  1492. <input type=submit name='POBIERZ_INSTALATOR_SH' value='2. POBIERZ_INSTALATOR_SH (v@2014-03-15)'> <br>
  1493. <!-- input type=submit name='INSTALUJ' value='INSTALUJ zdalnie via ssh (nie uzywac@2014-08-11)'-->
  1494. </form>
  1495. ";
  1496. // $ldap_dc_generated=implode(',dc=',explode("",$h->SERVER_ADDRESS));
  1497. $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);
  1498. foreach($needed as $ind=>$need) {
  1499. if(empty($need)) { echo 'Brak ustalonej jednej z wymaganych zmiennych w ustawieniach instalacyjnych serwera ('.$ind.')' ;
  1500. die();
  1501. };
  1502. }
  1503. //! POBIERZ_XML_AUTOCONFIG_USB
  1504. if(!empty($_REQUEST['POBIERZ_XML_AUTOCONFIG_USB'])) {
  1505. //if(empty($h->ADMIN_USERNAME_INITIAL_PASSWD)) die('Brak ADMIN_USERNAME_INITIAL_PASSWD');
  1506. $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);
  1507. echo "<pre>\n".htmlspecialchars($xml)."</pre>";
  1508. return 0;
  1509. }
  1510. //! WYKONAJ_REFERENCYJNA_BAZE_DANYCH
  1511. if(!empty($_REQUEST['WYKONAJ_REFERENCYJNA_BAZE_DANYCH'])) {
  1512. DEBUG_S(-3,'cmd WYKONAJ_REFERENCYJNA_BAZE_DANYCH params: INSTALL_ROOT ',array($INSTALL_ROOT),__FILE__,__FUNCTION__,__LINE__);
  1513. set_time_limit(36000);
  1514. $CONNTEST = DB::getDB('test_db');
  1515. $CONNTEST->query('drop database test');
  1516. $CONNTEST->query('create database test');
  1517. $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
  1518. exec($exec,$out,$exit);
  1519. DEBUG_S(-3,$command_id.':out of CREATE_ZASOBY_STRUCTURES_CONFIG',array($exec,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
  1520. //zainstalowanie struktur w tabeli test etc
  1521. $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
  1522. $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
  1523. 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="";
  1524. $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 ?
  1525. 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="";
  1526. $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
  1527. 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="";
  1528. //tutaj bedzie TODO mysqldump do katalogu installera i komendy z tym zwiazane musza byc jakies - przekopiuj dumpa, odpal go w bazie glownej
  1529. $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
  1530. 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="";
  1531. $exec="/opt/local/bin/mysqldump5 -utest test >{$OPTIONS->SE_config}/config/.config_base_structure_dump.sql"; //TODO piotr - moze jakies lepsze miejsce na tego dumpa
  1532. exec($exec,$out,$exit); DEBUG_S(-3,$command_id.':out of4/4 mysqldump',array($exec,$out,$exit),__FILE__,__FUNCTION__,__LINE__);$out="";$exit="";
  1533. }
  1534. //! POBIERZ_INSTALATOR_SH
  1535. else if(!empty($_REQUEST['POBIERZ_INSTALATOR_SH']))
  1536. {
  1537. $installer_url="http://biuro.biall-net.pl/PLIKI/SES_PROCESY5_A/"; //miejsce do sciagania instalatora przez WWW
  1538. $installer_dir_tar="/Library/Server/Web/Data/Sites/Default/PLIKI/SES_PROCESY5_A"; //katalog CWD z ktorego budowana jest instalacja
  1539. $h->VERSION_GIT='version-git' ; //TODO @2015-03-12 do poprawy w GUI zwracanie wlasciwego repozytorium
  1540. if(!empty($h->VERSION_GIT)) {
  1541. //@2014-09-17 od Piotr Labudda
  1542. //dodałem nową komórkę [19169] VERSION_GIT z typespecialem, listę wersji
  1543. //odczytuje z repozytorium w katalogu:
  1544. ///Library/Server/Web/Data/Sites/SE-production-git/
  1545. //polecenia do gita:
  1546. //$ git clone /Library/Server/Web/Data/Sites/SE-production-git/ NOWY_KATALOG
  1547. $cmd=' rm -Rf '.$installer_dir_tar.'/'.$h->ID.'.'.$REMOTE_FOLDER_ROOT.'.git';
  1548. exec($cmd,$out,$exit);
  1549. DEBUG_S(-3,'Usuwam stare pliki git ',$cmd,__FILE__,__FUNCTION__,__LINE__);
  1550. { //@2015-01-27 zrobienie gita z repozytorium
  1551. $cmd='cd '.$installer_dir_tar.' && git clone git@biuro.biall-net.pl:plabudda/se.git '.$h->ID.'.'.$REMOTE_FOLDER_ROOT.'.git' ;
  1552. exec($cmd,$out,$exit);
  1553. DEBUG_S(-3,'Klonowanie aktualnego GIT ',array($cmd,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
  1554. }
  1555. /*
  1556. if (1==0) { //@2015-01-27 - proba zrobienia zwyklego clone
  1557. $cmd='git clone /Library/Server/Web/Data/Sites/SE-production-git/ '.$installer_dir_tar.'/'.$h->ID.'.'.$REMOTE_FOLDER_ROOT.'.git';
  1558. DEBUG_S(-3,'Running command',$cmd,__FILE__,__FUNCTION__,__LINE__);
  1559. exec($cmd,$out,$exit);
  1560. //$ cd NOWY_KATALOG
  1561. //$ git checkout v3.9.4
  1562. $cmd='cd '.$h->ID.'.'.$REMOTE_FOLDER_ROOT.'.git && git checkout '.$h->VERSION_GIT;
  1563. exec($cmd,$out,$exit);
  1564. DEBUG_S(-3,'Running command',array($cmd,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
  1565. }
  1566. */
  1567. //w taki sposób w katalogu NOWY_KATALOG pojawi się katalog SE z podaną wersją
  1568. //brakuje tylko katalogu SE/config/
  1569. //Można potem usunąć ukryty katalog NOWY_KATALOG/.git bo nie przyda się
  1570. //do tworzenia paczek i znajdują się w nim dane z plików.
  1571. $INSTALL_ROOT=$installer_dir_tar.'/'.$h->ID.'.'.$REMOTE_FOLDER_ROOT.'.git/SE'; //nadpisuje nazwe katalogu zrodlowego skad beda kopiowane pliki przez instalatora
  1572. DEBUG_S(-3,'We make INSTALL_ROOT='.$INSTALL_ROOT,null,__FILE__,__FUNCTION__,__LINE__);
  1573. { //@2015-03-21 dogranie konfigow z repozytorium konfigow
  1574. $cmd='mkdir '.$INSTALL_ROOT.'/config' ;
  1575. exec($cmd,$out,$exit);
  1576. DEBUG_S(-3,'We mkdir Install Root ',array($cmd,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
  1577. $cmd='cp '.$OPTIONS->SE_config.'/config/.cnf--column_init* '.$INSTALL_ROOT.'/config/' ;
  1578. exec($cmd,$out,$exit);
  1579. DEBUG_S(-3,'We copy Install Root ',array($cmd,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
  1580. $cmd='cp '.$OPTIONS->SE_config.'/config/.cnf--external_ids.ini.php* '.$INSTALL_ROOT.'/config/' ;
  1581. exec($cmd,$out,$exit);
  1582. DEBUG_S(-3,'We copy Install Root ',array($cmd,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
  1583. $cmd='cp '.$OPTIONS->SE_config.'/config/.config_base_structure* '.$INSTALL_ROOT.'/config/' ;
  1584. exec($cmd,$out,$exit);
  1585. DEBUG_S(-3,'We copy config_base_structure*',array($cmd,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
  1586. }
  1587. }
  1588. $packages['pl.procesy5']['exit_file']=str_replace('.', '_', $h->ID.".".$h->SERVER_ADDRESS); //czesc nazwy wynikowego pliku .pkg
  1589. $packages['pl.procesy5']['installer_dir_name']=$h->ID.".".$h->SERVER_ADDRESS; //nazwa katalogu w jakim jest przygotowywany pkg
  1590. $packages['pl.procesy5']['installer_tmp']="/tmp/pl.procesy5_".$h->ID.".".$h->SERVER_ADDRESS; //miejsce do ktorego installer odpakuje wszystko instalator
  1591. $packages['pl.procesy5']['CMD_FUNCTION']="INSTALL_GETCOMMANDS"; //miejsce do ktorego installer odpakuje wszystko instalator
  1592. $packages['pl.procesy5']['xml_choice']['visible']='true';
  1593. $packages['pl.procesy5']['xml_choice']['title']='Procesy5';
  1594. $packages['pl.procesy5']['xml_choice']['description']='Main Procesy5 install components and scripts';
  1595. $packages['pl.procesy5']['xml_choice']['start_selected']='true';
  1596. $packages['pl.procesy5.COMP_PORT']['exit_file']=str_replace('.', '_', $h->ID.".COMP_PORT_".$h->SERVER_ADDRESS); //czesc nazwy wynikowego pliku .pkg
  1597. $packages['pl.procesy5.COMP_PORT']['installer_dir_name']=$h->ID.".COMP_PORT_".$h->SERVER_ADDRESS; //nazwa katalogu w jakim jest przygotowywany pkg
  1598. $packages['pl.procesy5.COMP_PORT']['installer_tmp']="/tmp/pl.procesy5_COMP_PORT_".$h->ID.".".$h->SERVER_ADDRESS; //miejsce do ktorego installer odpakuje wszystko instalator
  1599. $packages['pl.procesy5.COMP_PORT']['CMD_FUNCTION']="INSTALL_GETCOMMANDS_COMP_PORT"; //miejsce do ktorego installer odpakuje wszystko instalator
  1600. $packages['pl.procesy5.COMP_PORT']['xml_choice']['visible']='true';
  1601. $packages['pl.procesy5.COMP_PORT']['xml_choice']['title']='MacPorts,Xcode,Licence';
  1602. $packages['pl.procesy5.COMP_PORT']['xml_choice']['description']='Needed utilities and libraries to install Procesy5 and Database';
  1603. $packages['pl.procesy5.COMP_PORT']['xml_choice']['start_selected']='true';
  1604. $packages['pl.procesy5.MYSQL55']['exit_file']=str_replace('.', '_', $h->ID.".MYSQL55_".$h->SERVER_ADDRESS); //czesc nazwy wynikowego pliku .pkg
  1605. $packages['pl.procesy5.MYSQL55']['installer_dir_name']=$h->ID.".MYSQL55_".$h->SERVER_ADDRESS; //nazwa katalogu w jakim jest przygotowywany pkg
  1606. $packages['pl.procesy5.MYSQL55']['installer_tmp']="/tmp/pl.procesy5_MYSQL55_".$h->ID.".".$h->SERVER_ADDRESS; //miejsce do ktorego installer odpakuje wszystko instalator
  1607. $packages['pl.procesy5.MYSQL55']['CMD_FUNCTION']="INSTALL_GETCOMMANDS_MYSQL55"; //miejsce do ktorego installer odpakuje wszystko instalator
  1608. $packages['pl.procesy5.MYSQL55']['xml_choice']['visible']='true';
  1609. $packages['pl.procesy5.MYSQL55']['xml_choice']['title']='Mysql-55';
  1610. $packages['pl.procesy5.MYSQL55']['xml_choice']['description']='Required Mysql55 database from MacPorts';
  1611. $packages['pl.procesy5.MYSQL55']['xml_choice']['start_selected']='true';
  1612. //POSTGIS
  1613. $packages['pl.procesy5.POSTGIS']['exit_file']=str_replace('.', '_', $h->ID.".POSTGIS_".$h->SERVER_ADDRESS); //czesc nazwy wynikowego pliku .pkg
  1614. $packages['pl.procesy5.POSTGIS']['installer_dir_name']=$h->ID.".POSTGIS_".$h->SERVER_ADDRESS; //nazwa katalogu w jakim jest przygotowywany pkg
  1615. $packages['pl.procesy5.POSTGIS']['installer_tmp']="/tmp/pl.procesy5_POSTGIS_".$h->ID.".".$h->SERVER_ADDRESS; //miejsce do ktorego installer odpakuje wszystko instalator
  1616. $packages['pl.procesy5.POSTGIS']['CMD_FUNCTION']="INSTALL_GETCOMMANDS_POSTGIS"; //miejsce do ktorego installer odpakuje wszystko instalator
  1617. $packages['pl.procesy5.POSTGIS']['xml_choice']['visible']='true';
  1618. $packages['pl.procesy5.POSTGIS']['xml_choice']['title']='Postgres-postgis';
  1619. $packages['pl.procesy5.POSTGIS']['xml_choice']['description']='Required Postgis database for qGIS ';
  1620. $packages['pl.procesy5.POSTGIS']['xml_choice']['start_selected']='true';
  1621. $packages['pl.procesy5.WEBMAIL']['exit_file']=str_replace('.', '_', $h->ID.".WEBMAIL_".$h->SERVER_ADDRESS); //czesc nazwy wynikowego pliku .pkg
  1622. $packages['pl.procesy5.WEBMAIL']['installer_dir_name']=$h->ID.".WEBMAIL_".$h->SERVER_ADDRESS; //nazwa katalogu w jakim jest przygotowywany pkg
  1623. $packages['pl.procesy5.WEBMAIL']['installer_tmp']="/tmp/pl.procesy5_WEBMAIL_".$h->ID.".".$h->SERVER_ADDRESS; //miejsce do ktorego installer odpakuje wszystko instalator
  1624. $packages['pl.procesy5.WEBMAIL']['CMD_FUNCTION']="INSTALL_GETCOMMANDS_WEBMAIL"; //miejsce do ktorego installer odpakuje wszystko instalator
  1625. $packages['pl.procesy5.WEBMAIL']['xml_choice']['visible']='true';
  1626. $packages['pl.procesy5.WEBMAIL']['xml_choice']['title']='Webmail RoundCube';
  1627. $packages['pl.procesy5.WEBMAIL']['xml_choice']['description']='Additional webmail from roundcube';
  1628. $packages['pl.procesy5.WEBMAIL']['xml_choice']['start_selected']='true';
  1629. $packages['pl.procesy5.SE']['exit_file']=str_replace('.', '_', $h->ID.".SE_".$h->SERVER_ADDRESS); //czesc nazwy wynikowego pliku .pkg
  1630. $packages['pl.procesy5.SE']['installer_dir_name']=$h->ID.".SE_".$h->SERVER_ADDRESS; //nazwa katalogu w jakim jest przygotowywany pkg
  1631. $packages['pl.procesy5.SE']['installer_tmp']="/tmp/pl.procesy5_SE_".$h->ID.".".$h->SERVER_ADDRESS; //miejsce do ktorego installer odpakuje wszystko instalator
  1632. $packages['pl.procesy5.SE']['CMD_FUNCTION']="INSTALL_GETCOMMANDS_SE"; //miejsce do ktorego installer odpakuje wszystko instalator
  1633. $packages['pl.procesy5.SE']['xml_choice']['visible']='true';
  1634. $packages['pl.procesy5.SE']['xml_choice']['title']='Procesy5 main application';
  1635. $packages['pl.procesy5.SE']['xml_choice']['description']='Main application and install scripts for Procesy5';
  1636. $packages['pl.procesy5.SE']['xml_choice']['start_selected']='true';
  1637. $packages['pl.procesy5.SE']['encrypt']=true;
  1638. $packages['pl.procesy5.SE_DB_DOMAIN']['exit_file']=str_replace('.', '_', $h->ID.".SE_DB_DOMAIN_".$h->SERVER_ADDRESS); //czesc nazwy wynikowego pliku .pkg
  1639. $packages['pl.procesy5.SE_DB_DOMAIN']['installer_dir_name']=$h->ID.".SE_DB_DOMAIN_".$h->SERVER_ADDRESS; //nazwa katalogu w jakim jest przygotowywany pkg
  1640. $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
  1641. $packages['pl.procesy5.SE_DB_DOMAIN']['CMD_FUNCTION']="INSTALL_GETCOMMANDS_SE_DB_DOMAIN"; //miejsce do ktorego installer odpakuje wszystko instalator
  1642. $packages['pl.procesy5.SE_DB_DOMAIN']['xml_choice']['visible']='true';
  1643. $packages['pl.procesy5.SE_DB_DOMAIN']['xml_choice']['title']='Procesy5 install db and config for domain one ';
  1644. $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)';
  1645. $packages['pl.procesy5.SE_DB_DOMAIN']['xml_choice']['start_selected']='true';
  1646. $packages['pl.procesy5.SE_DB_DOMAIN']['encrypt']=true;
  1647. $packages['pl.procesy5.MYADMIN']['exit_file']=str_replace('.', '_', $h->ID.".MYADMIN_".$h->SERVER_ADDRESS); //czesc nazwy wynikowego pliku .pkg
  1648. $packages['pl.procesy5.MYADMIN']['installer_dir_name']=$h->ID.".MYADMIN_".$h->SERVER_ADDRESS; //nazwa katalogu w jakim jest przygotowywany pkg
  1649. $packages['pl.procesy5.MYADMIN']['installer_tmp']="/tmp/pl.procesy5_MYADMIN_".$h->ID.".".$h->SERVER_ADDRESS; //miejsce do ktorego installer odpakuje wszystko instalator
  1650. $packages['pl.procesy5.MYADMIN']['CMD_FUNCTION']="INSTALL_GETCOMMANDS_MYADMIN"; //miejsce do ktorego installer odpakuje wszystko instalator
  1651. $packages['pl.procesy5.MYADMIN']['xml_choice']['visible']='true';
  1652. $packages['pl.procesy5.MYADMIN']['xml_choice']['title']='php MyAdmin';
  1653. $packages['pl.procesy5.MYADMIN']['xml_choice']['description']='Component located at /garbage URL, to manage database';
  1654. $packages['pl.procesy5.MYADMIN']['xml_choice']['start_selected']='true';
  1655. DEBUG_S(-3,'Dane komponentow instalacji',$packages,__FILE__,__FUNCTION__,__LINE__);
  1656. foreach($packages as $pkg_id=>$pkg_info) {
  1657. $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);
  1658. DEBUG_S(-3,'Robie pkg '.$pkg_info['CMD_FUNCTION'],null,__FILE__,__FUNCTION__,__LINE__);
  1659. 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']);
  1660. $package_xml['pkg-ref'].='<pkg-ref id="'.$pkg_id.'"/>';
  1661. $package_xml['choices-outline'].='<line choice="'.$pkg_id.'"/>
  1662. ';
  1663. $package_xml['choice'].='<choice id="'.$pkg_id.'" visible="'.$pkg_info['xml_choice']['visible'].'" title="'.$pkg_info['xml_choice']['title'].'"
  1664. description="'.$pkg_info['xml_choice']['description'].'" start_selected="'.$pkg_info['xml_choice']['start_selected'].'">
  1665. <pkg-ref id="'.$pkg_id.'"/>
  1666. </choice>
  1667. <pkg-ref id="'.$pkg_id.'" version="0" onConclusion="none">'.$pkg_info['exit_file'].'.pkg</pkg-ref>';
  1668. }
  1669. DEBUG_S(-3,'Dane xml package',$package_xml,__FILE__,__FUNCTION__,__LINE__);
  1670. $product['xml']='<?xml version="1.0" encoding="utf-8" standalone="no"?>
  1671. <installer-gui-script minSpecVersion="1">
  1672. <title>Procesy5 system installer</title>
  1673. <organization>pl.procesy5</organization>
  1674. <background file="installerImage.png" mime-type="image/png" alignment="right" scaling="proportional" />
  1675. <domains enable_localSystem="true"/>
  1676. <os-version min="10.8"/>
  1677. '.$package_xml['pkg-ref'].'
  1678. <options customize="always" require-scripts="true" rootVolumeOnly="true" />
  1679. <choices-outline>
  1680. <line choice="default" >
  1681. '.$package_xml['choices-outline'].'
  1682. </line>
  1683. </choices-outline>
  1684. <choice id="default" visible="true" title="Procesy5 Bundle" description="Please select carefully components" start_selected="true" />
  1685. ';
  1686. //$product['xml'].=$package_xml['pkg-ref'];
  1687. $product['xml'].=$package_xml['choice'];
  1688. $product['xml'].='</installer-gui-script>';
  1689. echo "<br>Product XML<br>".$product['xml'];
  1690. mkdir($installer_dir_tar."/".$h->ID.".resources",0777);
  1691. $file=fopen($installer_dir_tar."/".$h->ID.".distribution.xml", "w") or die('Cannot open file: '.$installer_dir_tar.'.'.$h->ID.".distribution.xml");
  1692. fwrite($file,$product['xml']."\n");
  1693. fclose($file);
  1694. //copy logo
  1695. exec("cp ".$INSTALL_ROOT."/icon/procesy5.png ".$installer_dir_tar."/".$h->ID.".resources/installerImage.png");
  1696. $exec="cd ".$installer_dir_tar." && productbuild --distribution ".$h->ID.".distribution.xml --resources ".$h->ID.".resources ".$h->ID."_Procesy5_".str_replace('.','_',$h->SERVER_ADDRESS).".pkg" ;
  1697. exec($exec ,$out,$exit);
  1698. DEBUG_S(-3,'Robie glownego instalatora pkg',array($exec,$out,$exit),__FILE__,__FUNCTION__,__LINE__);
  1699. echo "<hr><A href='{$installer_url}".$h->ID."_Procesy5_".str_replace('.','_',$h->SERVER_ADDRESS).".pkg'> ściągnij glownego instalacje Procesy5 ".$h->ID."_Procesy5_".str_replace('.','_',$h->SERVER_ADDRESS).".pkg</a>\n";
  1700. } else {
  1701. if(!isset($_REQUEST['START'])||!isset($_REQUEST['STOP'])||empty($_REQUEST['ID']))
  1702. return 0;
  1703. if(!empty($_REQUEST['TEST'])) {
  1704. DEBUG_S(-3,'Komendy',$cmd);
  1705. } else {
  1706. foreach($cmd as $command_id=>$command) {
  1707. //if ($command_id==48) die("przerywam na $command_id");
  1708. if(!empty($_REQUEST['START'])) {
  1709. if($command_id<$_REQUEST['START'])
  1710. continue;
  1711. }
  1712. if(!empty($_REQUEST['STOP'])) {
  1713. if($command_id>$_REQUEST['STOP'])
  1714. die('Wymuszony stop na '.$_REQUEST['STOP']);
  1715. }
  1716. if($h->INSTALL_COMPLETE_POINT>$command_id-1) {
  1717. echo ",{$command_id}";
  1718. continue; //ignorujemy wykonane z powodzeniem dzialania
  1719. }
  1720. //! command['rsh']
  1721. if(isset($command['rsh'])) {
  1722. $exec=SSH_COMMAND_REMOTE_CREATE($h->ADMIN_USERNAME,$h->SERVER_ADDRESS_IP,$h->ADMIN_USERNAME_PASSWD,$command['rsh']);
  1723. 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));
  1724. flush();
  1725. $out="";$exit="";
  1726. exec($exec,$out,$exit);
  1727. DEBUG_S(-3,$command_id.':out of ',array($out,$exit));
  1728. flush();
  1729. } else if(isset($command['scp'])) {
  1730. $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];
  1731. 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)));
  1732. flush();
  1733. exec($command_out,$out,$exit);
  1734. DEBUG_S(-3,$command_id.':out ',array($out,$exit));
  1735. flush();
  1736. } else if(isset($command['scp_root'])) {
  1737. $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 ');
  1738. exec($exec,$out,$exit);
  1739. $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/';
  1740. exec($command_out,$out,$exit);
  1741. 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));
  1742. if($exit==0) { flush();
  1743. $out="";$exit="";
  1744. $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 ');
  1745. exec($exec,$out,$exit);
  1746. 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));
  1747. }
  1748. flush();
  1749. set_time_limit(36000);
  1750. }
  1751. if($exit==0) {
  1752. array_slice($out, 0, 1000);
  1753. $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."' ";
  1754. DB::query($sql);
  1755. $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."' ";
  1756. DB::query($sql);
  1757. $command_id++;
  1758. } else {
  1759. $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."' ";
  1760. DB::query($sql);
  1761. $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."' ";
  1762. DB::query($sql);
  1763. die('error at '.$command_id);
  1764. }
  1765. }
  1766. }
  1767. }
  1768. }
  1769. }