added support for another discovered writable directory
[openemr.git] / contrib / util / installScripts / cvsDemoInstall
blob37b5342dc536fe51559c54df6fb46b00585385c4
1 #!/bin/sh
3 #This program is free software; you can redistribute it and/or modify
4 #it under the terms of the GNU General Public License as published by
5 #the Free Software Foundation; either version 2 of the License, or
6 #(at your option) any later version.
8 # author Brady Miller
9 # email brady@sparmy.com
10 # date 02/20/09
13 #This script is called by the the OpenEMR CVS demo and developer appliance.
14 # It configures the CVS Demo and the Developer Appliance
15 # It will configure OpenEMR (bypassing setup.php).
16 # Logs errors
19 # PATH VARIABLES
20 WEB=/var/www/html
21 OPENEMR=$WEB/openemr
22 LOG=$WEB/log/logSetup.txt
23 CVS=/home/openemr/cvs
25 # OTHER VARIABLES
26 setHost="localhost" #mysql server (if not different from php, then localhost)
27 setLoginhost="localhost" #php/apache server (if not different from mysql, then localhost)
28 setPort="3306" #MySQL port
29 setDbname="openemr" #MySQL openemr database name
30 setLogin="openemr" #username to MySQL openemr database
31 setPass="openemr" #password to MySQL openemr database
32 setRoot="root" #MySQL server root username
33 setRootpass="" #MySQL server root password
34 setIuser="admin" #initial user login name
35 setIuname="Administrator" #initial user full name
36 setIgroup="Default" #practice group name
37 setOpenemrWebPath=/openemr #path on browser to openemr
38 setInst="1" #CONSTANT, don't set
40 #FIRST DEAL WITH STUFF SPECIFIC TO THE CVS DEMO AND DEVELOPER APPLIANCE
41 #Replace manual with newest version from cvs
42 echo "Configuring appliance"
43 echo "Configuring appliance" >> $LOG
44 cp -f $OPENEMR/contrib/util/installScripts/cvsDemoMisc/developerApplianceManual.txt /home/openemr/docs/manual.txt
45 chown openemr:openemr /home/openemr/docs/manual.txt
46 cp -f $OPENEMR/contrib/util/installScripts/cvsDemoMisc/developerApplianceManual.txt $WEB/manual.txt
47 echo "Done configuring appliance"
48 echo "Done configuring appliance" >> $LOG
49 #Package the cvs version into a tarball and zip file to be available thru web browser
50 # This is basically to allow download of most recent cvs version from the cvs Demo appliance
51 # It will also ease transfer/testing openemr on windows systems when using the Developer appliance
52 echo "Creating OpenEMR CVS packages"
53 echo "Creating OpenEMR CVS packages" >> $LOG
54 mkdir $WEB/files
55 cd $CVS
56 tar -czf $WEB/files/openemr-cvs.tar.gz openemr
57 cd $WEB/files
58 md5sum openemr-cvs.tar.gz > openemr-linux-md5.txt
59 cd $CVS
60 zip -rq $WEB/files/openemr-cvs.zip openemr
61 cd $WEB/files
62 md5sum openemr-cvs.zip > openemr-windows-md5.txt
63 date > date-cvs.txt
64 echo "Done creating OpenEMR CVS packages"
65 echo "Done creating OpenEMR CVS packages" >> $LOG
67 #INSTALL AND CONFIGURE OPENEMR
68 echo "Configuring OpenEMR"
69 echo "Configuring OpenEMR" >> $LOG
70 # Set file and directory permissions
71 chmod 666 $OPENEMR/library/sqlconf.php
72 chmod 666 $OPENEMR/gacl/gacl.ini.php
73 chmod 666 $OPENEMR/gacl/gacl.class.php
74 chmod 666 $OPENEMR/interface/globals.php
75 chown -R apache:apache $OPENEMR/documents
76 chown -R apache:apache $OPENEMR/edi
77 chown -R apache:apache $OPENEMR/era
78 chown -R apache:apache $OPENEMR/library/freeb
79 chown -R apache:apache $OPENEMR/custom/letter_templates
80 chown -R apache:apache $OPENEMR/interface/main/calendar/modules/PostCalendar/pntemplates/cache
81 chown -R apache:apache $OPENEMR/interface/main/calendar/modules/PostCalendar/pntemplates/compiled
82 chown -R apache:apache $OPENEMR/gacl/admin/templates_c
84 # CONVERT setup.php file to script, then run it
86 cp $OPENEMR/setup.php $OPENEMR/TEMPsetup.php
87 # Set the path variable in setup.php
88 sed -e 's@\$manualPath = \"\"\;@\$manualPath = \"'$OPENEMR'\/\"\;@' <$OPENEMR/TEMPsetup.php >$OPENEMR/TEMP2setup.php
89 mv -f $OPENEMR/TEMP2setup.php $OPENEMR/TEMPsetup.php
90 # Set the variables in setup.php
91 sed -e 's@\/\/END POST VARIABLES@\
92 $host = '\'''$setHost''\'';\
93 $server = '\'''$setHost''\'';\
94 $port = '$setPort';\
95 $dbname = '\'''$setDbname''\'';\
96 $root = '\'''$setRoot''\'';\
97 $login = '\'''$setLogin''\'';\
98 $pass = '\'''$setPass''\'';\
99 $loginhost = '\'''$setLoginhost''\'';\
100 $rootpass = '\'''$setRootpass''\'';\
101 $iuser = '\'''$setIuser''\'';\
102 $iuname = '\'''$setIuname''\'';\
103 $igroup = '\'''$setIgroup''\'';\
104 $openemrBasePath = '\'''$OPENEMR''\'';\
105 $openemrWebPath = '\'''$setOpenemrWebPath''\'';\
106 $inst = 1;@' <$OPENEMR/TEMPsetup.php >$OPENEMR/TEMP2setup.php
107 mv -f $OPENEMR/TEMP2setup.php $OPENEMR/TEMPsetup.php
108 # Remove form functionality
109 sed -e 's@<INPUT TYPE='\''SUBMIT'\'' VALUE='\''Continue'\''>@ @' <$OPENEMR/TEMPsetup.php >$OPENEMR/TEMP2setup.php
110 mv -f $OPENEMR/TEMP2setup.php $OPENEMR/TEMPsetup.php
111 #prepare gacl/setup.php script
112 cp $OPENEMR/gacl/setup.php $OPENEMR/gacl/TEMP2setup.php
113 sed -e 's@.\/gacl\/gacl.ini.php@'$OPENEMR'\/gacl\/gacl.ini.php@' <$OPENEMR/gacl/setup.php >$OPENEMR/gacl/TEMPsetup.php
114 mv -f $OPENEMR/gacl/TEMPsetup.php $OPENEMR/gacl/setup.php
115 sed -e 's@.\/gacl\/admin\/gacl_admin.inc.php@'$OPENEMR'\/gacl\/admin\/gacl_admin.inc.php@' <$OPENEMR/gacl/setup.php >$OPENEMR/gacl/TEMPsetup.php
116 mv -f $OPENEMR/gacl/TEMPsetup.php $OPENEMR/gacl/setup.php
117 sed -e 's@.\/gacl\/schema.xml@'$OPENEMR'\/gacl\/schema.xml@' <$OPENEMR/gacl/setup.php >$OPENEMR/gacl/TEMPsetup.php
118 mv -f $OPENEMR/gacl/TEMPsetup.php $OPENEMR/gacl/setup.php
119 #prepare library/acl.inc script
120 cp $OPENEMR/library/acl.inc $OPENEMR/library/TEMP2acl.inc
121 sed -e 's@\$phpgacl_location = \"gacl\";@\$phpgacl_location = \"'$OPENEMR'\/gacl\";@' <$OPENEMR/library/acl.inc >$OPENEMR/library/TEMPacl.inc
122 mv -f $OPENEMR/library/TEMPacl.inc $OPENEMR/library/acl.inc
123 # (step 3) Set up OpenEMR and MySQL
124 sed -e 's@$state = $_POST\["state"\];@$state = 3;@' <$OPENEMR/TEMPsetup.php >$OPENEMR/TEMP2setup.php
125 mv -f $OPENEMR/TEMP2setup.php $OPENEMR/TEMPsetup.php
126 php -f $OPENEMR/TEMPsetup.php >> $LOG
127 # (step 4) Configure sqlconf.php file
128 sed -e 's@$state = 3;@$state = 4;@' <$OPENEMR/TEMPsetup.php >$OPENEMR/TEMP2setup.php
129 mv -f $OPENEMR/TEMP2setup.php $OPENEMR/TEMPsetup.php
130 php -f $OPENEMR/TEMPsetup.php >> $LOG
131 rm -f $OPENEMR/TEMPsetup.php
132 #reinstitute file permissions
133 chmod 644 $OPENEMR/library/sqlconf.php
134 chmod 644 $OPENEMR/gacl/gacl.ini.php
135 chmod 644 $OPENEMR/gacl/gacl.class.php
136 chmod 644 $OPENEMR/interface/globals.php
137 #replace original acl.inc and gacl/setup.php script
138 mv $OPENEMR/library/TEMP2acl.inc $OPENEMR/library/acl.inc
139 mv $OPENEMR/gacl/TEMP2setup.php $OPENEMR/gacl/setup.php
140 echo "Done configuring OpenEMR"
141 echo "Done configuring OpenEMR" >> $LOG