tbrehm
2009-03-12 66768acec9ab538c978ac7f3a89c21009c7be18e
Added a new update script.
3 files added
1 files renamed
4 files modified
169 ■■■■ changed files
docs/INSTALL_OPENSUSE_11_1.txt 23 ●●●●● patch | view | raw | blame | history
install/dist/lib/fedora.lib.php 14 ●●●● patch | view | raw | blame | history
install/dist/lib/opensuse.lib.php 14 ●●●● patch | view | raw | blame | history
install/lib/installer_base.lib.php 14 ●●●● patch | view | raw | blame | history
server/scripts/ispconfig_update.php 94 ●●●●● patch | view | raw | blame | history
server/scripts/ispconfig_update.sh 3 ●●●●● patch | view | raw | blame | history
server/scripts/update_from_svn.sh patch | view | raw | blame | history
server/scripts/update_from_tgz.sh 7 ●●●●● patch | view | raw | blame | history
docs/INSTALL_OPENSUSE_11_1.txt
@@ -201,27 +201,4 @@
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*
install/dist/lib/fedora.lib.php
@@ -735,10 +735,16 @@
        //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');
install/dist/lib/opensuse.lib.php
@@ -753,10 +753,16 @@
        //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');
install/lib/installer_base.lib.php
@@ -1026,10 +1026,16 @@
            
        }
        
        //* 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');
server/scripts/ispconfig_update.php
New file
@@ -0,0 +1,94 @@
<?php
/*
Copyright (c) 2009, Till Brehm, projektfarm Gmbh
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
    * Redistributions of source code must retain the above copyright notice,
      this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright notice,
      this list of conditions and the following disclaimer in the documentation
      and/or other materials provided with the distribution.
    * Neither the name of ISPConfig nor the names of its contributors
      may be used to endorse or promote products derived from this software without
      specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
function simple_query($query, $answers, $default)
{
        $finished = false;
        do {
            $answers_str = implode(',', $answers);
            swrite($this->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');
}
?>
server/scripts/ispconfig_update.sh
New file
@@ -0,0 +1,3 @@
#!/bin/bash
php -q /usr/local/ispconfig/server/scripts/ispconfig_update.php
server/scripts/update_from_svn.sh
server/scripts/update_from_tgz.sh
New file
@@ -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