| 1 |
#!/bin/sh |
|---|
| 2 |
|
|---|
| 3 |
OCWD=`pwd` |
|---|
| 4 |
|
|---|
| 5 |
if test "`perl -e 'print $>'`" != "0"; then |
|---|
| 6 |
echo $0 must be run as root |
|---|
| 7 |
exit 1 |
|---|
| 8 |
fi |
|---|
| 9 |
|
|---|
| 10 |
echo Creating blobs... |
|---|
| 11 |
if test "@INSTALL@" = "new"; then |
|---|
| 12 |
for i in @BLOBROOT@/blobs_@STAGING_DB@ @BLOBROOT@/blobs_@LIVE_DB@ @BLOBROOT@/blobs_@CENTRALSTAGING_DB@ @BLOBROOT@/blobs_@CENTRALLIVE_DB@; |
|---|
| 13 |
do mkdir -p $i; |
|---|
| 14 |
if test -d $i ; then |
|---|
| 15 |
cd $i |
|---|
| 16 |
tar xfz "$OCWD/blobs.tar.gz" |
|---|
| 17 |
chown -R @APACHE_USER@ * |
|---|
| 18 |
chgrp -R @APACHE_GROUP@ * |
|---|
| 19 |
chmod -R 2771 `find -type d` |
|---|
| 20 |
chmod -R 0664 `find -type f` |
|---|
| 21 |
cd $OCWD |
|---|
| 22 |
fi; |
|---|
| 23 |
done; |
|---|
| 24 |
else |
|---|
| 25 |
if test -d @BLOBROOT@/blobs_@CONVERT_DB@ ; then |
|---|
| 26 |
for i in @BLOBROOT@/blobs_@STAGING_DB@ @BLOBROOT@/blobs_@LIVE_DB@ @BLOBROOT@/blobs_@CENTRALSTAGING_DB@ @BLOBROOT@/blobs_@CENTRALLIVE_DB@; |
|---|
| 27 |
do cp -a @BLOBROOT@/blobs_@CONVERT_DB@ $i; |
|---|
| 28 |
chown -R @APACHE_USER@ $i; |
|---|
| 29 |
chgrp -R @APACHE_GROUP@ $i; |
|---|
| 30 |
done; |
|---|
| 31 |
else |
|---|
| 32 |
exit "Can't find blobs to convert at @BLOBROOT@/blobs_@CONVERT_DB@"; |
|---|
| 33 |
fi |
|---|
| 34 |
fi |
|---|
| 35 |
|
|---|
| 36 |
|
|---|
| 37 |
if test "@INSTALL@" = "new"; then |
|---|
| 38 |
echo Creating Midgard database... |
|---|
| 39 |
mysqladmin --user="@DB_ADMIN_USER@" --password="@DB_ADMIN_PASSWORD@" --host="@DB_HOST@" create @STAGING_DB@ |
|---|
| 40 |
mysql --user="@DB_ADMIN_USER@" --password="@DB_ADMIN_PASSWORD@" --host="@DB_HOST@" @STAGING_DB@ < midgarddb |
|---|
| 41 |
echo Creating BLOBs... |
|---|
| 42 |
tar xfz blobs.tar.gz -C @STAGING_BLOBDIR@ |
|---|
| 43 |
chown -R @APACHE_USER@.@APACHE_GROUP@ @STAGING_BLOBDIR@/* |
|---|
| 44 |
chmod -R 2771 `find @STAGING_BLOBDIR@ -type d` |
|---|
| 45 |
chmod -R 0664 `find @STAGING_BLOBDIR@ -type f` |
|---|
| 46 |
else |
|---|
| 47 |
mysqldump --user="@DB_ADMIN_USER@" --password="@DB_ADMIN_PASSWORD@" --host="@DB_HOST@" @CONVERT_DB@ > dbdump |
|---|
| 48 |
mysqladmin --user="@DB_ADMIN_USER@" --password="@DB_ADMIN_PASSWORD@" --host="@DB_HOST@" create @STAGING_DB@ |
|---|
| 49 |
mysql @STAGING_DB@ < dbdump |
|---|
| 50 |
if ! ./database-upgrade; then |
|---|
| 51 |
echo |
|---|
| 52 |
echo Database is not up to date, or database-upgrade did not run |
|---|
| 53 |
echo correctly. Please run database-upgrade manually |
|---|
| 54 |
exit |
|---|
| 55 |
fi |
|---|
| 56 |
fi |
|---|
| 57 |
|
|---|
| 58 |
echo Updating MySQL database... |
|---|
| 59 |
mysql --user="@DB_ADMIN_USER@" --password="@DB_ADMIN_PASSWORD@" --host="@DB_HOST@" mysql < mysql-user.sql >/dev/null 2>/dev/null |
|---|
| 60 |
mysql --user="@DB_ADMIN_USER@" --password="@DB_ADMIN_PASSWORD@" --host="@DB_HOST@" mysql < mysql-db.sql >/dev/null 2>/dev/null |
|---|
| 61 |
|
|---|
| 62 |
|
|---|
| 63 |
|
|---|
| 64 |
mkdir -p /var/spool/mgd |
|---|
| 65 |
cd /var/spool/mgd |
|---|
| 66 |
tar xfz "$OCWD/spooldirs.tar.gz" |
|---|
| 67 |
chown -R @APACHE_USER@ * |
|---|
| 68 |
chgrp -R @APACHE_GROUP@ * |
|---|
| 69 |
chmod -R 2771 `find $i`; |
|---|
| 70 |
cd $OCWD |
|---|
| 71 |
|
|---|
| 72 |
|
|---|
| 73 |
for i in @STAGING_CACHEDIR@ @LIVE_CACHEDIR@ @CENTRALSTAGING_CACHEDIR@ @CENTRALLIVE_CACHEDIR@; |
|---|
| 74 |
do mkdir -p $i; |
|---|
| 75 |
chown @APACHE_USER@ $i; |
|---|
| 76 |
chown @APACHE_GROUP@ $i; |
|---|
| 77 |
chmod 2771 $i; |
|---|
| 78 |
done; |
|---|
| 79 |
|
|---|
| 80 |
|
|---|
| 81 |
mkdir -p @WORKFLOW@; |
|---|
| 82 |
mkdir @WORKFLOW@/tmp |
|---|
| 83 |
mkdir @WORKFLOW@/bin |
|---|
| 84 |
mkdir @WORKFLOW@/lib |
|---|
| 85 |
mkdir @WORKFLOW@/etc |
|---|
| 86 |
mkdir @WORKFLOW@/cvs |
|---|
| 87 |
mkdir @WORKFLOW@/cvsrepos |
|---|
| 88 |
cp workflow.xml vcstaging.conf vclive.conf centralstaging.conf centrallive.conf @WORKFLOW@/etc |
|---|
| 89 |
cp *.php @WORKFLOW@/lib |
|---|
| 90 |
cp clients/* @WORKFLOW@/bin |
|---|
| 91 |
|
|---|
| 92 |
chown -R @APACHE_USER@ *; |
|---|
| 93 |
chown -R @APACHE_GROUP@ *; |
|---|
| 94 |
cd $OCWD; |
|---|
| 95 |
|
|---|
| 96 |
|
|---|
| 97 |
|
|---|
| 98 |
repligard -a -c @WORKFLOW@/etc/vcstaging.conf -i support.xml |
|---|
| 99 |
|
|---|
| 100 |
|
|---|
| 101 |
echo Clone database... |
|---|
| 102 |
mysqldump --user="@DB_ADMIN_USER@" --password="@DB_ADMIN_PASSWORD@" --host="@DB_HOST@" @STAGING_DB@ > dbdump |
|---|
| 103 |
for i in @LIVE_DB@ @CENTRALSTAGING_DB@ @CENTRALLIVE_DB@; |
|---|
| 104 |
do mysqladmin --user="@DB_ADMIN_USER@" --password="@DB_ADMIN_PASSWORD@" --host="@DB_HOST@" create $i |
|---|
| 105 |
mysql --user="@DB_ADMIN_USER@" --password="@DB_ADMIN_PASSWORD@" --host="@DB_HOST@" $i < dbdump; |
|---|
| 106 |
done |
|---|
| 107 |
|
|---|
| 108 |
rm dbdump; |
|---|
| 109 |
|
|---|
| 110 |
chown -R @APACHE_USER@ @WORKFLOW@; |
|---|
| 111 |
chgrp -R @APACHE_GROUP@ @WORKFLOW@; |
|---|
| 112 |
|
|---|
| 113 |
|
|---|
| 114 |
echo Create meta db and cvs... |
|---|
| 115 |
if test "@INSTALL@" = "convert"; then |
|---|
| 116 |
mysqladmin --user="@DB_ADMIN_USER@" --password="@DB_ADMIN_PASSWORD@" --host="@DB_HOST@" create @META_DB@ |
|---|
| 117 |
mysql --user="@DB_ADMIN_USER@" --password="@DB_ADMIN_PASSWORD@" --host="@DB_HOST@" @META_DB@ < global.sql |
|---|
| 118 |
sed /midgard-data.conf/d < @SYSCONFDIR@/httpd.conf > httpd.conf |
|---|
| 119 |
echo "Include $OCWD/midgard-workflow.conf" >> httpd.conf |
|---|
| 120 |
apachectl stop |
|---|
| 121 |
sleep 5 |
|---|
| 122 |
apachectl start |
|---|
| 123 |
sleep 5 |
|---|
| 124 |
@WORKFLOW@/bin/call-migrate.php |
|---|
| 125 |
apachectl stop |
|---|
| 126 |
else |
|---|
| 127 |
mysqladmin --user="@DB_ADMIN_USER@" --password="@DB_ADMIN_PASSWORD@" --host="@DB_HOST@" create @META_DB@ |
|---|
| 128 |
mysql --user="@DB_ADMIN_USER@" --password="@DB_ADMIN_PASSWORD@" --host="@DB_HOST@" @META_DB@ < metadb |
|---|
| 129 |
cd @WORKFLOW@ |
|---|
| 130 |
tar xfz $OCWD/cvs.tar.gz |
|---|
| 131 |
cd $OCWD |
|---|
| 132 |
fi |
|---|
| 133 |
|
|---|
| 134 |
chown -R @APACHE_USER@ @WORKFLOW@; |
|---|
| 135 |
chgrp -R @APACHE_GROUP@ @WORKFLOW@; |
|---|
| 136 |
|
|---|
| 137 |
if ! grep "bin/everymin.php" /etc/crontab &> /dev/null; then |
|---|
| 138 |
echo "0-59 * * * * @APACHE_USER@ @WORKFLOW@/bin/everymin.php >> /tmp/everymin.log 2>&1" >> /etc/crontab |
|---|
| 139 |
echo Notice: @WORKFLOW@/bin/everymin.php has been added to /etc/crontab. Please restart crond. |
|---|
| 140 |
fi |
|---|
| 141 |
|
|---|
| 142 |
echo "*** Install succeeded! ***" |
|---|
| 143 |
echo Do the following to complete the installation: |
|---|
| 144 |
echo - Add @WORKFLOW@ to the PHP config variable \"include_path\" |
|---|
| 145 |
echo - Include / merge midgard-workflow.conf into your apache config and reload apache. |
|---|
| 146 |
|
|---|
| 147 |
|
|---|