From 66768acec9ab538c978ac7f3a89c21009c7be18e Mon Sep 17 00:00:00 2001 From: tbrehm Date: Thu, 12 Mar 2009 18:48:52 +0000 Subject: [PATCH] Added a new update script. --- docs/INSTALL_OPENSUSE_11_1.txt | 23 ----- install/dist/lib/fedora.lib.php | 14 ++- install/dist/lib/opensuse.lib.php | 14 ++- install/lib/installer_base.lib.php | 14 ++- server/scripts/ispconfig_update.php | 94 +++++++++++++++++++ server/scripts/ispconfig_update.sh | 3 + .../scripts}/update_from_svn.sh | 0 server/scripts/update_from_tgz.sh | 7 ++ 8 files changed, 134 insertions(+), 35 deletions(-) create mode 100644 server/scripts/ispconfig_update.php create mode 100644 server/scripts/ispconfig_update.sh rename {helper_scripts => server/scripts}/update_from_svn.sh (100%) create mode 100644 server/scripts/update_from_tgz.sh diff --git a/docs/INSTALL_OPENSUSE_11_1.txt b/docs/INSTALL_OPENSUSE_11_1.txt index 3d2c6231c2..3ba50eb75c 100644 --- a/docs/INSTALL_OPENSUSE_11_1.txt +++ b/docs/INSTALL_OPENSUSE_11_1.txt @@ -201,27 +201,4 @@ Install a webbased Email Client yast2 -i squirrelmail ----------------------------------------------------------------------------------------------------------- -Hints: - -debian 4.0 under openvz: - -VPSID=101 -for CAP in CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE -do - vzctl set $VPSID --capability ${CAP}:on --save -done - ----------------------------------------------------------------------------------------------------------- - -Installing Jailkit: - -cd /tmp -wget http://olivier.sessink.nl/jailkit/jailkit-2.5.tar.gz -tar xvfz jailkit-2.5.tar.gz -cd jailkit-2.5 -./configure -make -make install -rm -rf jailkit-2.5* diff --git a/install/dist/lib/fedora.lib.php b/install/dist/lib/fedora.lib.php index 3cb35f92cb..bc22bf36c6 100644 --- a/install/dist/lib/fedora.lib.php +++ b/install/dist/lib/fedora.lib.php @@ -735,10 +735,16 @@ class installer_dist extends installer_base { //exec('chmod +r /var/log/clamav/clamav.log'); //exec('chmod +r /var/log/clamav/freshclam.log'); - //* Install the SVN update script - exec('cp ../helper_scripts/update_from_svn.sh /usr/local/bin/ispconfig_update_from_svn.sh'); - exec('chown root /usr/local/bin/ispconfig_update_from_svn.sh'); - exec('chmod 700 /usr/local/bin/ispconfig_update_from_svn.sh'); + //* Install the update script + if(is_file('/usr/local/bin/ispconfig_update_from_svn.sh')) unlink('/usr/local/bin/ispconfig_update_from_svn.sh'); + exec('chown root /usr/local/ispconfig/server/scripts/update_from_svn.sh'); + exec('chmod 700 /usr/local/ispconfig/server/scripts/update_from_svn.sh'); + exec('chown root /usr/local/ispconfig/server/scripts/update_from_tgz.sh'); + exec('chmod 700 /usr/local/ispconfig/server/scripts/update_from_tgz.sh'); + exec('chown root /usr/local/ispconfig/server/scripts/ispconfig_update.sh'); + exec('chmod 700 /usr/local/ispconfig/server/scripts/ispconfig_update.sh'); + exec('ln -s /usr/local/ispconfig/server/scripts/ispconfig_update.sh /usr/local/bin/ispconfig_update_from_svn.sh'); + exec('ln -s /usr/local/ispconfig/server/scripts/ispconfig_update.sh /usr/local/bin/ispconfig_update.sh'); // set the fast cgi starter script to executable // exec('chmod 755 '.$install_dir.'/interface/bin/php-fcgi'); diff --git a/install/dist/lib/opensuse.lib.php b/install/dist/lib/opensuse.lib.php index b55b9045a0..958ba84d8b 100644 --- a/install/dist/lib/opensuse.lib.php +++ b/install/dist/lib/opensuse.lib.php @@ -753,10 +753,16 @@ class installer_dist extends installer_base { //exec('chmod +r /var/log/clamav/clamav.log'); //exec('chmod +r /var/log/clamav/freshclam.log'); - //* Install the SVN update script - exec('cp ../helper_scripts/update_from_svn.sh /usr/local/bin/ispconfig_update_from_svn.sh'); - exec('chown root /usr/local/bin/ispconfig_update_from_svn.sh'); - exec('chmod 700 /usr/local/bin/ispconfig_update_from_svn.sh'); + //* Install the update script + if(is_file('/usr/local/bin/ispconfig_update_from_svn.sh')) unlink('/usr/local/bin/ispconfig_update_from_svn.sh'); + exec('chown root /usr/local/ispconfig/server/scripts/update_from_svn.sh'); + exec('chmod 700 /usr/local/ispconfig/server/scripts/update_from_svn.sh'); + exec('chown root /usr/local/ispconfig/server/scripts/update_from_tgz.sh'); + exec('chmod 700 /usr/local/ispconfig/server/scripts/update_from_tgz.sh'); + exec('chown root /usr/local/ispconfig/server/scripts/ispconfig_update.sh'); + exec('chmod 700 /usr/local/ispconfig/server/scripts/ispconfig_update.sh'); + exec('ln -s /usr/local/ispconfig/server/scripts/ispconfig_update.sh /usr/local/bin/ispconfig_update_from_svn.sh'); + exec('ln -s /usr/local/ispconfig/server/scripts/ispconfig_update.sh /usr/local/bin/ispconfig_update.sh'); //set the fast cgi starter script to executable //exec('chmod 755 '.$install_dir.'/interface/bin/php-fcgi'); diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php index ac9876d308..1668bdfd85 100644 --- a/install/lib/installer_base.lib.php +++ b/install/lib/installer_base.lib.php @@ -1026,10 +1026,16 @@ class installer_base { } - //* Install the SVN update script - exec('cp ../helper_scripts/update_from_svn.sh /usr/local/bin/ispconfig_update_from_svn.sh'); - exec('chown root /usr/local/bin/ispconfig_update_from_svn.sh'); - exec('chmod 700 /usr/local/bin/ispconfig_update_from_svn.sh'); + //* Install the update script + if(is_file('/usr/local/bin/ispconfig_update_from_svn.sh')) unlink('/usr/local/bin/ispconfig_update_from_svn.sh'); + exec('chown root /usr/local/ispconfig/server/scripts/update_from_svn.sh'); + exec('chmod 700 /usr/local/ispconfig/server/scripts/update_from_svn.sh'); + exec('chown root /usr/local/ispconfig/server/scripts/update_from_tgz.sh'); + exec('chmod 700 /usr/local/ispconfig/server/scripts/update_from_tgz.sh'); + exec('chown root /usr/local/ispconfig/server/scripts/ispconfig_update.sh'); + exec('chmod 700 /usr/local/ispconfig/server/scripts/ispconfig_update.sh'); + exec('ln -s /usr/local/ispconfig/server/scripts/ispconfig_update.sh /usr/local/bin/ispconfig_update_from_svn.sh'); + exec('ln -s /usr/local/ispconfig/server/scripts/ispconfig_update.sh /usr/local/bin/ispconfig_update.sh'); //* Make the logs readable for the ispconfig user if(@is_file('/var/log/mail.log')) exec('chmod +r /var/log/mail.log'); diff --git a/server/scripts/ispconfig_update.php b/server/scripts/ispconfig_update.php new file mode 100644 index 0000000000..bd9b2aa79b --- /dev/null +++ b/server/scripts/ispconfig_update.php @@ -0,0 +1,94 @@ +lng($query).' ('.$answers_str.') ['.$default.']: '); + $input = sread(); + + //* Stop the installation + if($input == 'quit') { + swriteln($this->lng("Installation terminated by user.\n")); + die(); + } + + //* Select the default + if($input == '') { + $answer = $default; + $finished = true; + } + + //* Set answer id valid + if(in_array($input, $answers)) { + $answer = $input; + $finished = true; + } + + } while ($finished == false); + swriteln(); + return $answer; +} + +require_once('/usr/local/ispconfig/server/lib/config.inc.php'); + + +echo "\n\n".str_repeat('-',80)."\n"; +echo " _____ ___________ _____ __ _ +|_ _/ ___| ___ \ / __ \ / _(_) + | | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ + | | `--. \ __/ | | / _ \| '_ \| _| |/ _` | + _| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | + \___/\____/\_| \____/\___/|_| |_|_| |_|\__, | + __/ | + |___/ "; +echo "\n".str_repeat('-',80)."\n"; +echo "\n\n>> Update \n\n"; +echo "Please choose the update method. For production systems select 'stable'. \nThe update from svn is only for development systems and may break your current setup.\n\n"; + +$method = $inst->simple_query('Select update method', array('stable','svn'), 'stable'); + +if($method == 'stable') { + $new_version = file_get_contents('http://www.ispconfig.org/downloads/ispconfig3_version.txt') or die('Unable to retrieve version file.'); + $new_version = trim($new_version); + if($new_version != ISPC_APP_VERSION) { + exec('/usr/local/ispconfig/server/scripts/update_from_tgz.sh') + } else { + echo "There are no updates available.\n"; + } +} else { + exec('/usr/local/ispconfig/server/scripts/update_from_svn.sh'); +} + + + +?> \ No newline at end of file diff --git a/server/scripts/ispconfig_update.sh b/server/scripts/ispconfig_update.sh new file mode 100644 index 0000000000..e3689cf4e6 --- /dev/null +++ b/server/scripts/ispconfig_update.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +php -q /usr/local/ispconfig/server/scripts/ispconfig_update.php \ No newline at end of file diff --git a/helper_scripts/update_from_svn.sh b/server/scripts/update_from_svn.sh similarity index 100% rename from helper_scripts/update_from_svn.sh rename to server/scripts/update_from_svn.sh diff --git a/server/scripts/update_from_tgz.sh b/server/scripts/update_from_tgz.sh new file mode 100644 index 0000000000..d9579798d0 --- /dev/null +++ b/server/scripts/update_from_tgz.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +cd /tmp +wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz +cd ispconfig3_install/install/ +php -q update.php +rm -rf /tmp/ispconfig3_install/install \ No newline at end of file -- GitLab