Changeset 996

Show
Ignore:
Timestamp:
02/08/08 18:24:19 (7 months ago)
Author:
rats
Message:

Fixed: serveral errors on Upgrade process

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/CHANGELOG

    r995 r996  
    11ispCP ω 1.0.0 Changelog 
    22~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     3 
     42008-02-08 Benedikt Heintel 
     5        - SETUP: 
     6                * Fixed: serveral errors on Upgrade process 
    37 
    482008-02-07 Benedikt Heintel 
  • trunk/docs/Debian/INSTALL

    r994 r996  
    6060 
    61612. Change to the newly created directory: 
    62         # cd ./ispcp-1.0.0 
     62        # cd ./ispcp-omega-1.0.0-rc4 
    6363 
    64643. Install the required modules 
     
    137137 
    1381382. Change to the newly created directory: 
    139         # cd ./ispcp-1.0.0 
     139        # cd ./ispcp-omega-1.0.0-rc4 
    140140 
    1411413. Install the required modules 
     
    1831836. Save key files 
    184184        # cp -v /var/www/ispcp/engine/ispcp-db-keys.pl /tmp/ispcp-1.0.0/var/www/ispcp/engine/ 
    185         # cp -v /var/www/ispcp/engine/messager/ispcp-db-keys.pl /tmp/ispcp-1.0.0/var/www/ispcp/engine/messager 
     185        # cp -v /var/www/ispcp/engine/messager/ispcp-db-keys.pl /tmp/ispcp-1.0.0/var/www/ispcp/engine/messager/ 
    186186        # cp -v /var/www/ispcp/gui/include/ispcp-db-keys.php /tmp/ispcp-1.0.0/var/www/ispcp/gui/include/ 
    187187 
  • trunk/engine/Makefile

    r976 r996  
    7474        $(CMD_INSTALL) ./setup/reset-setup $(SYSTEM_ENGINE_ROOT)/setup 
    7575        $(CMD_INSTALL) ./setup/ispcp-setup $(SYSTEM_ENGINE_ROOT)/setup 
     76        $(CMD_INSTALL) ./setup/ispcp-setup-methods.pl $(SYSTEM_ENGINE_ROOT)/setup 
    7677        $(CMD_INSTALL) ./setup/ispcp-uninstall $(SYSTEM_ENGINE_ROOT)/setup 
    7778        $(CMD_INSTALL) ./setup/vhcs2.4.7-ispcp.sql $(SYSTEM_ENGINE_ROOT)/setup 
  • trunk/engine/ispcp-dmn-mngr

    r976 r996  
    20762076                return $rs if ($rs != 0); 
    20772077 
    2078                 my $decoded_dmn_name = idn_to_unicode($dmn_name, 'utf-8'); 
     2078            my $decoded_dmn_name = idn_to_unicode($dmn_name, 'utf-8'); 
    20792079                my %tag_hash = ( 
    20802080                                                '{DOMAIN_NAME}' => $decoded_dmn_name, 
     
    23052305        } 
    23062306 
    2307        
    2308         # PHP4 and PHP5 Directory for usual user 
    2309        
    2310  
    2311         if (! -d "$starter_dir/$dmn_name/php4") { 
    2312  
    2313             $rs = make_dir( 
    2314                                             "$starter_dir/$dmn_name/php4", 
    2315                                             $sys_user, 
    2316                                             $sys_group, 
    2317                                             0750 
    2318                                             ); 
    2319  
    2320             return $rs if ($rs != 0); 
    2321        
    2322  
    2323         if (! -d "$starter_dir/$dmn_name/php5") { 
    2324  
    2325             $rs = make_dir( 
    2326                                             "$starter_dir/$dmn_name/php5", 
    2327                                             $sys_user, 
    2328                                             $sys_group, 
    2329                                             0750 
    2330                                             ); 
    2331  
    2332             return $rs if ($rs != 0); 
     2307   
     2308    # PHP4 and PHP5 Directory for usual user 
     2309   
     2310 
     2311    if (! -d "$starter_dir/$dmn_name/php4") { 
     2312 
     2313        $rs = make_dir( 
     2314                                        "$starter_dir/$dmn_name/php4", 
     2315                                        $sys_user, 
     2316                                        $sys_group, 
     2317                                        0750 
     2318                                        ); 
     2319 
     2320        return $rs if ($rs != 0); 
     2321   
     2322 
     2323    if (! -d "$starter_dir/$dmn_name/php5") { 
     2324 
     2325        $rs = make_dir( 
     2326                                        "$starter_dir/$dmn_name/php5", 
     2327                                        $sys_user, 
     2328                                        $sys_group, 
     2329                                        0750 
     2330                                        ); 
     2331 
     2332        return $rs if ($rs != 0); 
    23332333        } 
    23342334 
  • trunk/engine/ispcp_common_methods.pl

    r971 r996  
    18421842 
    18431843sub get_conf { 
    1844  
    18451844    push_el(\@main::el, 'get_conf()', 'Starting...'); 
    18461845 
    1847     my ($rs, $fline) = get_file($main::cfg_file); 
     1846        my $file_name; 
     1847 
     1848        if ( defined($_[0]) ) { 
     1849                $file_name = $_[0]; 
     1850        } 
     1851        else { 
     1852                $file_name = $main::cfg_file; 
     1853        } 
     1854 
     1855    my ($rs, $fline) = get_file($file_name); 
    18481856 
    18491857    return -1 if ($rs != 0); 
  • trunk/engine/setup/first-check.sh

    r963 r996  
    1313fi 
    1414echo "Everything fine until here" 
    15  
  • trunk/engine/setup/ispcp-setup

    r982 r996  
    3535use lib "$FindBin::Bin/.."; 
    3636require 'ispcp_common_code.pl'; 
     37require 'ispcp-setup-methods.pl'; 
    3738 
    3839use strict; 
     
    9091        return (0, $rdata); 
    9192 
    92 } 
    93  
    94 sub ask_hostname { 
    95  
    96         my ($rs, $rdata) = (undef, undef); 
    97  
    98         push_el(\@main::el, 'ask_hostname()', 'Starting...'); 
    99  
    100         my $hostname = undef; 
    101  
    102         ($rs, $hostname) = get_sys_hostname(); 
    103  
    104         return $rs if ($rs != 0); 
    105  
    106         my $qmsg = "\tPlease enter fully qualified hostname. [$hostname]: "; 
    107  
    108         print STDOUT $qmsg; 
    109  
    110         $rdata = readline(\*STDIN); chop($rdata); 
    111  
    112         if (!defined($rdata) || $rdata eq '') { 
    113  
    114                 $rdata = $hostname; 
    115  
    116         } 
    117  
    118         if ($rdata =~ /^((([\w][\w-]{0,253}[\w])\.)*)([\w][\w-]{0,253}[\w])\.([a-zA-Z]{2,6})$/) { 
    119  
    120                  $main::ua{'hostname'} = $rdata; 
    121                  $main::ua{'hostname_local'} = ( ($1) ? $1 : $4); 
    122          $main::ua{'hostname_local'} =~ s/^([^.]+).+$/$1/; 
    123         } else { 
    124  
    125                 print STDOUT "\n\tHostname is not a valid domain name!\n"; 
    126                 return 1; 
    127  
    128         } 
    129  
    130         push_el(\@main::el, 'ask_hostname()', 'Ending...'); 
    131  
    132         return 0; 
    133  
    134 } 
    135  
    136 sub ask_eth { 
    137  
    138         my ($rs, $rdata) = (undef, undef); 
    139  
    140         push_el(\@main::el, 'ask_eth()', 'Starting...'); 
    141  
    142         #my $cmd = "/sbin/ifconfig |awk \'BEGIN{FS=\":\";}{print \$2}\'|awk \'{if(NR==2)print \$1}\' 1>/tmp/ispcp-setup.ip"; 
    143  
    144         my $cmd = "/sbin/ifconfig |grep -v inet6|grep inet|grep -v 127.0.0.1|awk ' {print \$2}'|head -n 1|awk -F: '{print \$NF}' 1>/tmp/ispcp-setup.ip"; 
    145  
    146         $rs = sys_command($cmd); 
    147  
    148         return ($rs, '') if ($rs != 0); 
    149  
    150         ($rs, $rdata) = get_file("/tmp/ispcp-setup.ip"); 
    151  
    152         return ($rs, '') if ($rs != 0); 
    153  
    154         chop($rdata); 
    155  
    156         $rs = del_file("/tmp/ispcp-setup.ip"); 
    157  
    158         $rs = sys_command($cmd); 
    159  
    160         return $rs if ($rs != 0); 
    161  
    162         my $eth = $rdata; 
    163  
    164         my $qmsg = "\n\tPlease enter system network address. [$eth]: "; 
    165  
    166         print STDOUT $qmsg; 
    167  
    168         $rdata = readline(\*STDIN); chop($rdata); 
    169  
    170         if (!defined($rdata) || $rdata eq '') { 
    171  
    172                 $main::ua{'eth_ip'} = $eth; 
    173  
    174         } else { 
    175  
    176                 $main::ua{'eth_ip'} = $rdata; 
    177  
    178         } 
    179  
    180         if (check_eth($main::ua{'eth_ip'}) != 0) { 
    181                 return 0; 
    182         } 
    183  
    184         push_el(\@main::el, 'ask_eth()', 'Ending...'); 
    185  
    186         return 1; 
    187  
    188 } 
    189  
    190 sub check_eth { 
    191  
    192         my ($ip) = @_; 
    193  
    194         return 0 if (!($ip  =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/)); 
    195  
    196         $ip  =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/; 
    197         my ($d1, $d2, $d3, $d4) = ($1, $2, $3, $4); 
    198  
    199         return 0 if (($d1 <= 0) || ($d1 >= 255)); 
    200  
    201         return 0 if (($d2 < 0) || ($d2 > 255)); 
    202  
    203         return 0 if (($d3 < 0) || ($d3 > 255)); 
    204  
    205         return 0 if (($d4 <= 0) || ($d4 >= 255)); 
    206  
    207         return 1; 
    208  
    209 } 
    210  
    211 sub ask_db_host { 
    212  
    213         my ($rs, $rdata) = (undef, undef); 
    214  
    215         push_el(\@main::el, 'ask_db_host()', 'Starting...'); 
    216  
    217         my $db_host = 'localhost'; 
    218  
    219         my $qmsg = "\n\tPlease enter SQL server host. [$db_host]: "; 
    220  
    221         print STDOUT $qmsg; 
    222  
    223         $rdata = readline(\*STDIN); chop($rdata); 
    224  
    225         if (!defined($rdata) || $rdata eq '') { 
    226  
    227                 $main::ua{'db_host'} = $db_host; 
    228  
    229         } else { 
    230  
    231                 $main::ua{'db_host'} = $rdata; 
    232  
    233         } 
    234  
    235         push_el(\@main::el, 'ask_db_host()', 'Ending...'); 
    236  
    237         return 0; 
    238  
    239 } 
    240  
    241 sub ask_db_name { 
    242  
    243         my ($rs, $rdata) = (undef, undef); 
    244  
    245         push_el(\@main::el, 'ask_db_name()', 'Starting...'); 
    246  
    247         my $db_name = 'ispcp'; 
    248  
    249         my $qmsg = "\n\tPlease enter system SQL database. [$db_name]: "; 
    250  
    251         print STDOUT $qmsg; 
    252  
    253         $rdata = readline(\*STDIN); chop($rdata); 
    254  
    255         if (!defined($rdata) || $rdata eq '') { 
    256  
    257                 $main::ua{'db_name'} = $db_name; 
    258  
    259         } else { 
    260  
    261                 $main::ua{'db_name'} = $rdata; 
    262  
    263         } 
    264  
    265         push_el(\@main::el, 'ask_db_name()', 'Ending...'); 
    266  
    267         return 0; 
    268  
    269 } 
    270  
    271  
    272 sub ask_db_user { 
    273  
    274         my ($rs, $rdata) = (undef, undef); 
    275  
    276         push_el(\@main::el, 'ask_db_user()', 'Starting...'); 
    277  
    278         my $db_user = 'root'; 
    279  
    280         my $qmsg = "\n\tPlease enter system SQL user. [$db_user]: "; 
    281  
    282         print STDOUT $qmsg; 
    283  
    284         $rdata = readline(\*STDIN); chop($rdata); 
    285  
    286         if (!defined($rdata) || $rdata eq '') { 
    287  
    288                 $main::ua{'db_user'} = $db_user; 
    289  
    290         } else { 
    291  
    292                 $main::ua{'db_user'} = $rdata; 
    293  
    294         } 
    295  
    296         push_el(\@main::el, 'ask_db_user()', 'Ending...'); 
    297  
    298         return 0; 
    299  
    300 } 
    301  
    302 sub ask_db_password { 
    303  
    304         my ($rs, $pass1, $pass2) = (undef, undef, undef); 
    305  
    306         push_el(\@main::el, 'ask_db_password()', 'Starting...'); 
    307  
    308         my $db_password = 'none'; 
    309  
    310         my $qmsg = "\n\tPlease enter system SQL password. [$db_password]: "; 
    311  
    312         $pass1 = read_password($qmsg); 
    313  
    314         if (!defined($pass1) || $pass1 eq '') { 
    315  
    316                 $main::ua{'db_password'} = ''; 
    317  
    318         } else { 
    319  
    320                 $qmsg = "\tPlease repeat system SQL password: "; 
    321  
    322                 $pass2 = read_password($qmsg); 
    323  
    324                 if ($pass1 eq $pass2) { 
    325  
    326                         $main::ua{'db_password'} = $pass1; 
    327  
    328                 } else { 
    329                         print STDOUT "\n\tPasswords do not match!"; 
    330                         return 1; 
    331  
    332                 } 
    333  
    334         } 
    335  
    336         push_el(\@main::el, 'ask_db_password()', 'Ending...'); 
    337  
    338         return 0; 
    339  
    340 } 
    341  
    342 sub ask_db_ftp_user { 
    343  
    344         my ($rs, $rdata) = (undef, undef); 
    345  
    346         push_el(\@main::el, 'ask_db_ftp_user()', 'Starting...'); 
    347  
    348         my $db_user = 'vftp'; 
    349  
    350         my $qmsg = "\n\tPlease enter ispCP ftp SQL user. [$db_user]: "; 
    351  
    352         print STDOUT $qmsg; 
    353  
    354         $rdata = readline(\*STDIN); chop($rdata); 
    355  
    356         if (!defined($rdata) || $rdata eq '') { 
    357  
    358                 $main::ua{'db_ftp_user'} = $db_user; 
    359  
    360         } else { 
    361  
    362                 $main::ua{'db_ftp_user'} = $rdata; 
    363  
    364         } 
    365  
    366         push_el(\@main::el, 'ask_db_ftp_user()', 'Ending...'); 
    367  
    368         return 0; 
    369  
    370 } 
    371  
    372 sub ask_db_ftp_password { 
    373  
    374         my ($rs, $pass1, $pass2) = (undef, undef, undef); 
    375  
    376         push_el(\@main::el, 'ask_db_ftp_password()', 'Starting...'); 
    377  
    378         my $db_password = undef; 
    379  
    380         my $qmsg = "\n\tPlease enter ispCP ftp SQL user password. [auto generate]: "; 
    381  
    382         $pass1 = read_password($qmsg); 
    383  
    384         if (!defined($pass1) || $pass1 eq '') { 
    385  
    386                 $db_password = gen_sys_rand_num(18); 
    387                 $db_password =~ s/'//g;; 
    388                 $main::ua{'db_ftp_password'} = $db_password; 
    389                 print STDOUT "\tispCP ftp SQL user password set to: $db_password\n"; 
    390  
    391         } else { 
    392  
    393                 $qmsg = "\tPlease repeat ispCP ftp SQL user password: "; 
    394  
    395                 $pass2 = read_password($qmsg); 
    396  
    397                 if ($pass1 eq $pass2) { 
    398  
    399                         $main::ua{'db_ftp_password'} = $pass1; 
    400  
    401                 } else { 
    402                         print STDOUT "\n\tPasswords do not match!"; 
    403                         return 1; 
    404  
    405                 } 
    406  
    407         } 
    408  
    409         push_el(\@main::el, 'ask_db_ftp_password()', 'Ending...'); 
    410  
    411         return 0; 
    412  
    413 } 
    414  
    415 sub ask_db_pma_user { 
    416  
    417         my ($rs, $rdata) = (undef, undef); 
    418         push_el(\@main::el, 'ask_db_pma_user()', 'Starting...'); 
    419         my $db_user = 'pma'; 
    420  
    421         my $qmsg = "\n\tPlease enter ispCP phpMyAdmin Control user. [$db_user]: "; 
    422         print STDOUT $qmsg; 
    423         $rdata = readline(\*STDIN); chop($rdata); 
    424  
    425         if (!defined($rdata) || $rdata eq '') { 
    426                 $main::ua{'db_pma_user'} = $db_user; 
    427         } else { 
    428                 $main::ua{'db_pma_user'} = $rdata; 
    429         } 
    430  
    431         push_el(\@main::el, 'ask_db_pma_user()', 'Ending...'); 
    432         return 0; 
    433 } 
    434  
    435 sub ask_db_pma_password { 
    436  
    437         my ($rs, $pass1, $pass2) = (undef, undef, undef); 
    438         push_el(\@main::el, 'ask_db_pma_password()', 'Starting...'); 
    439  
    440         my $db_password = undef; 
    441  
    442         my $qmsg = "\n\tPlease enter ispCP phpMyAdmin Control user password. [auto generate]: "; 
    443         $pass1 = read_password($qmsg); 
    444  
    445         if (!defined($pass1) || $pass1 eq '') { 
    446  
    447                 $db_password = gen_sys_rand_num(18); 
    448                 $main::ua{'db_pma_password'} = $db_password; 
    449                 print STDOUT "\tphpMyAdmin Control user password set to: $db_password\n"; 
    450  
    451         } else { 
    452                 $qmsg = "\tPlease repeat ispCP phpMyAdmin Control user password: "; 
    453                 $pass2 = read_password($qmsg); 
    454  
    455                 if ($pass1 eq $pass2) { 
    456                         $main::ua{'db_pma_password'} = $pass1; 
    457                 } else { 
    458                         print STDOUT "\n\tPasswords do not match!"; 
    459                         return 1; 
    460                 } 
    461         } 
    462  
    463         push_el(\@main::el, 'ask_db_pma_password()', 'Ending...'); 
    464         return 0; 
    465  
    466 } 
    467  
    468 sub ask_admin { 
    469  
    470         my ($rs, $rdata) = (undef, undef); 
    471  
    472         push_el(\@main::el, 'ask_admin()', 'Starting...'); 
    473  
    474         my $admin = 'admin'; 
    475  
    476         my $qmsg = "\n\tPlease enter administrator login name. [$admin]: "; 
    477  
    478         print STDOUT $qmsg; 
    479  
    480         $rdata = readline(\*STDIN); chop($rdata); 
    481  
    482         if (!defined($rdata) || $rdata eq '') { 
    483  
    484                 $main::ua{'admin'} = $admin; 
    485  
    486         } else { 
    487  
    488                 $main::ua{'admin'} = $rdata; 
    489  
    490         } 
    491  
    492         push_el(\@main::el, 'ask_admin()', 'Ending...'); 
    493  
    494         return 0; 
    495  
    496 } 
    497  
    498 sub ask_admin_password { 
    499  
    500         my ($rs, $pass1, $pass2) = (undef, undef, undef); 
    501  
    502         push_el(\@main::el, 'ask_admin_password()', 'Starting...'); 
    503  
    504         my $qmsg = "\n\tPlease enter administrator password: "; 
    505  
    506         $pass1 = read_password($qmsg); 
    507  
    508         if (!defined($pass1) || $pass1 eq '') { 
    509                 print STDOUT "\n\tPassword too short!"; 
    510                 return 1; 
    511         } else { 
    512                 if (length($pass1) < 5) { 
    513                         print STDOUT "\n\tPassword too short!"; 
    514                         return 1; 
    515                 } 
    516                 $qmsg = "\tPlease repeat administrator password: "; 
    517                 $pass2 = read_password($qmsg); 
    518  
    519                 if ($pass1 =~ m/[a-zA-Z]/ && $pass1 =~ m/[0-9]/) { 
    520  
    521                         if ($pass1 eq $pass2) { 
    522                                 $main::ua{'admin_password'} = $pass1; 
    523                         } else { 
    524                                 print STDOUT "\n\tPasswords do not match!"; 
    525                                 return 1; 
    526                         } 
    527                 } 
    528                 else { 
    529                         print STDOUT "\n\tPasswords must contain at least digits and chars!"; 
    530                         return 1; 
    531                 } 
    532         } 
    533  
    534         push_el(\@main::el, 'ask_admin_password()', 'Ending...'); 
    535  
    536         return 0; 
    537  
    538 } 
    539  
    540 sub ask_admin_email { 
    541  
    542         my ($rs, $rdata) = (undef, undef); 
    543  
    544         push_el(\@main::el, 'ask_admin_email()', 'Starting...'); 
    545  
    546         my $qmsg = "\n\tPlease enter admininistrator email address: "; 
    547  
    548         print STDOUT $qmsg; 
    549  
    550         $rdata = readline(\*STDIN); chop($rdata); 
    551  
    552         if (!defined($rdata) || $rdata eq '') { 
    553  
    554                 return 1; 
    555  
    556         } else { 
    557  
    558                 if ($rdata =~ /^([\w\W]{1,255})\@([\w][\w-]{0,253}[\w]\.)*([\w][\w-]{0,253}[\w])\.([a-zA-Z]{2,6})$/) { 
    559  
    560                         $main::ua{'admin_email'} = $rdata; 
    561  
    562                 } else { 
    563                         print STDOUT "\n\tE-Mail address not valid!"; 
    564                         return 1; 
    565  
    566                 } 
    567  
    568         } 
    569  
    570         push_el(\@main::el, 'ask_admin_email()', 'Ending...'); 
    571  
    572         return 0; 
    573  
    574 } 
    575  
    576 sub ask_vhost { 
    577  
    578         my ($rs, $rdata) = (undef, undef); 
    579  
    580         push_el(\@main::el, 'ask_vhost()', 'Starting...'); 
    581  
    582         my $eth = $main::ua{'eth_ip'}; 
    583  
    584         my $addr = gethostbyaddr($main::ua{'eth_ip'}, AF_INET); 
    585  
    586         if (!$addr) { 
    587                 $addr = $main::ua{'hostname'}; 
    588         } 
    589  
    590         my $vhost = "admin.$addr"; 
    591  
    592         my $qmsg = "\n\tPlease enter the domain name where ispCP OMEGA will run on [$vhost]: "; 
    593  
    594         print STDOUT $qmsg; 
    595  
    596         $rdata = readline(\*STDIN); 
    597         chop($rdata); 
    598  
    599         if (!defined($rdata) || $rdata eq '') { 
    600                 $main::ua{'admin_vhost'} = $vhost; 
    601         } 
    602         else { 
    603                 if ($rdata =~ /^([\w][\w-]{0,253}[\w]\.)*([\w][\w-]{0,253}[\w])\.([a-zA-Z]{2,6})$/) { 
    604                         $main::ua{'admin_vhost'} = $rdata; 
    605                 } 
    606                 else { 
    607                         print STDOUT "\n\tVhost not valid!"; 
    608                         return 1; 
    609                 } 
    610         } 
    611  
    612         push_el(\@main::el, 'ask_vhost()', 'Ending...'); 
    613  
    614         return 0; 
    615 } 
    616  
    617 sub ask_awstats_on { 
    618  
    619         my $rdata = undef; 
    620  
    621         push_el(\@main::el, 'ask_awstats_on()', 'Starting...'); 
    622  
    623         my $qmsg = "\n\tActivate AWStats. [no]: "; 
    624  
    625         print STDOUT $qmsg; 
    626  
    627         $rdata = readline(\*STDIN); 
    628         chop($rdata); 
    629  
    630         if (!defined($rdata) || $rdata eq '') { 
    631                 $main::ua{'awstats_on'} = 'no'; 
    632         } 
    633         else { 
    634                 if ($rdata eq 'yes' || $rdata eq 'y') { 
    635                         $main::ua{'awstats_on'} = 'yes'; 
    636                 } 
    637                 elsif ($rdata eq 'no' || $rdata eq 'n') { 
    638                         $main::ua{'awstats_on'} = 'no'; 
    639                 } 
    640                 else { 
    641                         print STDOUT "\n\tOnly '(y)es' and '(n)o' are allowed!"; 
    642                         return 1; 
    643                 } 
    644         } 
    645  
    646         push_el(\@main::el, 'ask_awstats_on()', 'Ending...'); 
    647  
    648         return 0; 
    649 } 
    650  
    651 sub ask_awstats_dyn { 
    652  
    653         my $rdata = undef; 
    654  
    655         push_el(\@main::el, 'ask_awstats_dyn()', 'Starting...'); 
    656  
    657         my $qmsg = "\n\tAWStats Mode:\n\tPossible values [d]ynamic and [s]tatic. [dynamic]: "; 
    658  
    659         print STDOUT $qmsg; 
    660  
    661         $rdata = readline(\*STDIN); 
    662         chop($rdata); 
    663  
    664         if (!defined($rdata) || $rdata eq '') { 
    665                 $main::ua{'awstats_dyn'} = '0'; 
    666         } 
    667         else { 
    668                 if ($rdata eq 'dynamic' || $rdata eq 'd') { 
    669                         $main::ua{'awstats_dyn'} = '0'; 
    670                 } 
    671                 elsif ($rdata eq 'static' || $rdata eq 's') { 
    672                         $main::ua{'awstats_dyn'} = '1'; 
    673                 } 
    674                 else { 
    675                         print STDOUT "\n\tOnly '[d]ynamic' or '[s]tatic' are allowed!"; 
    676                         return 1; 
    677                 } 
    678         } 
    679  
    680         push_el(\@main::el, 'ask_awstats_dyn()', 'Ending...'); 
    681  
    682         return 0; 
    683 } 
    684  
    685 sub ask_php_version { 
    686  
    687         my $rdata = undef; 
    688  
    689         push_el(\@main::el, 'ask_php_version()', 'Starting...'); 
    690  
    691         my $qmsg = "\n\tUse which PHP Version? (4 or 5). [5]: "; 
    692  
    693         print STDOUT $qmsg; 
    694  
    695         $rdata = readline(\*STDIN); 
    696         chop($rdata); 
    697  
    698         if (!defined($rdata) || $rdata eq '') { 
    699                 $main::ua{'php_version'} = '5'; 
    700         } 
    701         else { 
    702                 if ($rdata eq 'php4' || $rdata eq '4') { 
    703                         $main::ua{'php_version'} = '4'; 
    704                 } 
    705                 elsif ($rdata eq 'php5' || $rdata eq '5') { 
    706                         $main::ua{'php_version'} = '5'; 
    707                 } 
    708                 else { 
    709                         print STDOUT "\n\tOnly 'php(4)' and 'php(5)' are allowed!"; 
    710                         return 1; 
    711                 } 
    712         } 
    713  
    714         push_el(\@main::el, 'ask_php_version()', 'Ending...'); 
    715  
    716         return 0; 
    717 } 
    718  
    719 sub ask_second_dns { 
    720  
    721         my $rdata = undef; 
    722  
    723         push_el(\@main::el, 'ask_php_version()', 'Starting...'); 
    724  
    725         my $qmsg = "\n\tIP of Secondary DNS. (optional) []: "; 
    726  
    727         print STDOUT $qmsg; 
    728  
    729         $rdata = readline(\*STDIN); 
    730         chop($rdata); 
    731  
    732         if (!defined($rdata) || $rdata eq '') { 
    733                 $main::ua{'secondary_dns'} = ''; 
    734         } 
    735         else { 
    736                 if (check_eth($rdata) != 0) { 
    737                         $main::ua{'secondary_dns'} = $rdata; 
    738                 } 
    739                 else { 
    740                         print STDOUT "\n\tNo valid IP, please retry!"; 
    741                         return 1; 
    742                 } 
    743         } 
    744  
    745         push_el(\@main::el, 'ask_php_version()', 'Ending...'); 
    746  
    747         return 0; 
    748 } 
    749  
    750 sub ask_mysql_prefix { 
    751  
    752         my $rdata = undef; 
    753  
    754         push_el(\@main::el, 'ask_php_version()', 'Starting...'); 
    755  
    756         my $qmsg = "\n\tUse MySQL Prefix.\n\tPossible values: [i]nfront, [b]ehind, [n]one. [none]: "; 
    757  
    758         print STDOUT $qmsg; 
    759  
    760         $rdata = readline(\*STDIN); 
    761         chop($rdata); 
    762  
    763         if (!defined($rdata) || $rdata eq '' || $rdata eq 'none' || $rdata eq 'n') { 
    764                 $main::ua{'mysql_prefix'} = 'no'; 
    765                 $main::ua{'mysql_prefix_type'} = ''; 
    766         } 
    767         else { 
    768                 if ($rdata eq 'infront' || $rdata eq 'i') { 
    769                         $main::ua{'mysql_prefix'} = 'yes'; 
    770                         $main::ua{'mysql_prefix_type'} = 'infront'; 
    771                 } 
    772                 elsif ($rdata eq 'behind' || $rdata eq 'b') { 
    773                         $main::ua{'mysql_prefix'} = 'yes'; 
    774                         $main::ua{'mysql_prefix_type'} = 'behind'; 
    775                 } 
    776                 else { 
    777                         print STDOUT "\n\tNot allowed Value, please retry!"; 
    778                         return 1; 
    779                 } 
    780         } 
    781  
    782         push_el(\@main::el, 'ask_php_version()', 'Ending...'); 
    783  
    784         return 0; 
    78593} 
    78694 
     
    1337645        # 
    1338646 
    1339         my $sql = "show tables;"; 
     647        my $sql = "SHOW TABLES;"; 
    1340648 
    1341649        ($rs, $rdata) = doSQL($sql); 
     
    1347655 
    1348656                # Let's reset data; 
    1349  
    1350657 
    1351658                $main::db = undef; 
     
    1359666                                                        ); 
    1360667 
    1361                 $sql = "drop database $store_db_name;"; 
     668                $sql = "DROP DATABASE IF EXISTS $store_db_name;"; 
    1362669 
    1363670                ($rs, $rdata) = doSQL($sql); 
     
    1399706 
    1400707        # 
    1401         # languages tables
     708        # English language table
    1402709        # 
    1403710 
     
    1579886 
    1580887        push_el(\@main::el, 'setup_sql()', 'Ending...'); 
    1581  
    1582         return 0; 
    1583  
    1584 } 
    1585  
    1586 sub setup_crontab { 
    1587  
    1588         my ($rs, $rdata, $awstats, $rkhunter, $ckrootkit) = (undef, undef, ''); 
    1589  
    1590         push_el(\@main::el, 'setup_crontab()', 'Starting...'); 
    1591  
    1592         my $cfg_dir = "$main::cfg{'CONF_DIR'}/cron.d"; 
    1593  
    1594         my $bk_dir = "$cfg_dir/backup"; 
    1595  
    1596         my $wrk_dir = "$cfg_dir/working"; 
    1597  
    1598         my ($cfg_tpl, $cfg, $cmd) = (undef, undef, undef); 
    1599  
    1600         if (! -e "$bk_dir/ispcp") { 
    1601  
    1602                 ($rs, $cfg_tpl) = get_tpl($cfg_dir, 'ispcp'); 
    1603  
    1604                 return $rs if ($rs != 0); 
    1605  
    1606                 $awstats = ""; 
    1607                 if ($main::cfg{'AWSTATS_ACTIVE'} ne 'yes' || $main::cfg{'AWSTATS_MODE'} eq 1) { 
    1608                         $awstats = "#"; 
    1609                 } 
    1610  
    1611                 $rkhunter = `which rkhunter`; 
    1612                 $ckrootkit = `which chkrootkit`; 
    1613  
    1614         $rkhunter =~ s/[ \t\n]$//g; 
    1615         $ckrootkit =~ s/[ \t\n]$//g; 
    1616  
    1617                 my %tag_hash = ( 
    1618                                                 '{LOG_DIR}' => $main::cfg{'LOG_DIR'}, 
    1619                                                 '{CONF_DIR}' => $main::cfg{'CONF_DIR'}, 
    1620                                                 '{QUOTA_ROOT_DIR}' => $main::cfg{'QUOTA_ROOT_DIR'}, 
    1621                                                 '{TRAFF_ROOT_DIR}' => $main::cfg{'TRAFF_ROOT_DIR'}, 
    1622                                                 '{TOOLS_ROOT_DIR}' => $main::cfg{'TOOLS_ROOT_DIR'}, 
    1623                                                 '{BACKUP_ROOT_DIR}' => $main::cfg{'BACKUP_ROOT_DIR'}, 
    1624                                                 '{AWSTATS_ROOT_DIR}' => $main::cfg{'AWSTATS_ROOT_DIR'}, 
    1625                                                 '{RKHUNTER_LOG}' => $main::cfg{'RKHUNTER_LOG'}, 
    1626                                                 '{CHKROOTKIT_LOG}' => $main::cfg{'CHKROOTKIT_LOG'}, 
    1627                                                 '{AWSTATS_ENGINE_DIR}' => $main::cfg{'AWSTATS_ENGINE_DIR'}, 
    1628                                                 '{AW-ENABLED}' => $awstats, 
    1629                                                 '{RK-ENABLED}' => !length($rkhunter)? "#" : "", 
    1630                                                 '{RKHUNTER}'   => $rkhunter, 
    1631                                                 '{CR-ENABLED}' => !length($ckrootkit)? "#" : "", 
    1632                                                 '{CHKROOTKIT}'  => $ckrootkit 
    1633                                            ); 
    1634  
    1635                 ($rs, $cfg) = prep_tpl(\%tag_hash, $cfg_tpl); 
    1636  
    1637                 return $rs if ($rs != 0); 
    1638  
    1639                 $rs = store_file("$bk_dir/ispcp", $cfg, 'root', 'root', 0644); 
    1640  
    1641                 return $rs if ($rs != 0); 
    1642  
    1643                 $cmd = "$main::cfg{'CMD_CP'} -p -f $bk_dir/ispcp $wrk_dir/"; 
    1644  
    1645                 $rs = sys_command_rs($cmd); 
    1646  
    1647                 return $rs if ($rs != 0); 
    1648  
    1649         } 
    1650  
    1651         $cmd = "$main::cfg{'CMD_CP'} -f $wrk_dir/ispcp /etc/cron.d/"; 
    1652  
    1653         $rs = sys_command_rs($cmd); 
    1654  
    1655         return $rs if ($rs != 0); 
    1656  
    1657         push_el(\@main::el, 'setup_crontab()', 'Ending...'); 
    1658888 
    1659889        return 0; 
     
    1749979} 
    1750980 
    1751 sub setup_named { 
     981sub setup_host_system { 
     982        push_el(\@main::el, 'setup_host_system()', 'Starting...'); 
    1752983 
    1753984        my ($rs, $rdata) = (undef, undef); 
    1754985 
    1755         push_el(\@main::el, 'setup_named()', 'Starting...'); 
    1756  
    1757         my $cfg_dir = "$main::cfg{'CONF_DIR'}/bind"; 
    1758  
    1759         my $bk_dir = "$cfg_dir/backup"; 
    1760  
    1761         my $wrk_dir = "$cfg_dir/working"; 
    1762  
    1763         my ($cfg_tpl, $cfg, $cmd) = (undef, undef, undef); 
    1764  
    1765         return 0 if ($main::cfg{'CMD_NAMED'} eq 'no'); 
    1766  
    1767         sys_command_rs("$main::cfg{'CMD_NAMED'} stop &> /tmp/ispcp-setup-services.log"); 
    1768  
    1769         ($rs, $cfg_tpl) = get_file("$cfg_dir/named.conf"); 
    1770  
    1771         return $rs if ($rs != 0); 
    1772  
    1773         if (! -e "$bk_dir/named.conf.ispcp") { 
    1774  
    1775                 $cmd = "$main::cfg{'CMD_CP'} -p $main::cfg{'BIND_CONF_FILE'} $bk_dir/named.conf.system"; 
    1776  
    1777                 $rs = sys_command($cmd); 
    1778  
    1779                 return $rs if ($rs != 0); 
    1780  
    1781                 $cfg = get_file($main::cfg{'BIND_CONF_FILE'}); 
    1782  
    1783                 return $rs if ($rs != 0); 
    1784  
    1785                 $rs = store_file("$bk_dir/named.conf.ispcp", "$cfg$cfg_tpl", 'root', 'root', 0644); 
    1786  
    1787                 return $rs if ($rs != 0)