Changeset 418
- Timestamp:
- 03/19/07 01:45:46
(2 years ago)
- Author:
- rats
- Message:
* fixed typo: DEFAULT_ADMIN_ADDRES
- CONFIGS:
- fixed bugs #95 and #108: administrative domain created on Setup
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r417 |
r418 |
|
| 11 | 11 | | * gui: disable stats-alias in client menu | |
|---|
| 12 | 12 | \_________________________________________________________________/ |
|---|
| | 13 | |
|---|
| | 14 | 2007-03-18 Benedikt Heintel |
|---|
| | 15 | * fixed typo: DEFAULT_ADMIN_ADDRES |
|---|
| | 16 | - CONFIGS: |
|---|
| | 17 | * fixed bugs #95 and #108: administrative domain created on Setup |
|---|
| 13 | 18 | |
|---|
| 14 | 19 | 2007-03-17 Benedikt Heintel |
|---|
| r415 |
r418 |
|
| 16 | 16 | |
|---|
| 17 | 17 | LogFormat "%B" traff |
|---|
| 18 | | |
|---|
| 19 | | # |
|---|
| 20 | | # GUI Location. |
|---|
| 21 | | # |
|---|
| 22 | | |
|---|
| 23 | | Alias /vhcs2 /var/www/vhcs2/gui |
|---|
| 24 | | <Directory /var/www/vhcs2/gui> |
|---|
| 25 | | AllowOverride none |
|---|
| 26 | | Options MultiViews IncludesNoExec FollowSymLinks |
|---|
| 27 | | ErrorDocument 404 /vhcs2/errordocs/index.php |
|---|
| 28 | | DirectoryIndex index.html index.php |
|---|
| 29 | | </Directory> |
|---|
| 30 | | |
|---|
| 31 | | <Directory /var/www/vhcs2/gui/tools/filemanager> |
|---|
| 32 | | <IfModule mod_php4.c> |
|---|
| 33 | | php_flag register_globals On |
|---|
| 34 | | php_admin_value open_basedir "/var/www/vhcs2/gui/tools/filemanager/:/tmp/:/usr/share/php/" |
|---|
| 35 | | </IfModule> |
|---|
| 36 | | </Directory> |
|---|
| 37 | | |
|---|
| 38 | | Alias /vhcs_images /var/www/vhcs2/gui/images |
|---|
| 39 | | <Directory /var/www/vhcs2/gui/images> |
|---|
| 40 | | AllowOverride none |
|---|
| 41 | | Options MultiViews IncludesNoExec FollowSymLinks |
|---|
| 42 | | </Directory> |
|---|
| 43 | | |
|---|
| 44 | | # |
|---|
| 45 | | # Default GUI. |
|---|
| 46 | | # |
|---|
| 47 | | |
|---|
| 48 | | # Temporary changed; now it's working |
|---|
| 49 | | # will be replaced in future |
|---|
| 50 | | <VirtualHost {HOST_IP}:80> |
|---|
| 51 | | |
|---|
| 52 | | DocumentRoot /var/www/vhcs2/gui |
|---|
| 53 | | |
|---|
| 54 | | <IfModule mod_fastcgi.c> |
|---|
| 55 | | SuexecUserGroup vu2000 vu2000 |
|---|
| 56 | | </IfModule> |
|---|
| 57 | | |
|---|
| 58 | | <Directory /var/www/vhcs2/gui> |
|---|
| 59 | | Options Indexes Includes FollowSymLinks MultiViews |
|---|
| 60 | | AllowOverride None |
|---|
| 61 | | Order allow,deny |
|---|
| 62 | | Allow from all |
|---|
| 63 | | </Directory> |
|---|
| 64 | | |
|---|
| 65 | | <IfModule mod_fastcgi.c> |
|---|
| 66 | | ScriptAlias /php4/ /var/www/fcgi/master/ |
|---|
| 67 | | <Directory "/var/www/fcgi/master"> |
|---|
| 68 | | AllowOverride None |
|---|
| 69 | | Options +ExecCGI MultiViews Indexes |
|---|
| 70 | | Order allow,deny |
|---|
| 71 | | Allow from all |
|---|
| 72 | | </Directory> |
|---|
| 73 | | </IfModule> |
|---|
| 74 | | |
|---|
| 75 | | </VirtualHost> |
|---|
| 76 | 18 | |
|---|
| 77 | 19 | # |
|---|
| r414 |
r418 |
|
| 1 | 1 | <VirtualHost {DMN_IP}:80> |
|---|
| 2 | 2 | |
|---|
| 3 | | SuexecUserGroup {SUEXEC_USER} {SUEXEC_GROUP} |
|---|
| | 3 | <IfModule mod_fastcgi.c> |
|---|
| | 4 | SuexecUserGroup {SUEXEC_USER} {SUEXEC_GROUP} |
|---|
| | 5 | </IfModule> |
|---|
| 4 | 6 | |
|---|
| 5 | 7 | ServerAdmin root@{DMN_NAME} |
|---|
| … | … | |
| 17 | 19 | Alias /errors {WWW_DIR}/{DMN_NAME}/errors/ |
|---|
| 18 | 20 | |
|---|
| 19 | | Redirect /stats http://{DMN_NAME}/awstats/awstats.pl |
|---|
| 20 | | |
|---|
| 21 | 21 | ErrorDocument 401 /errors/401/index.php |
|---|
| 22 | 22 | ErrorDocument 403 /errors/403/index.php |
|---|
| 23 | 23 | ErrorDocument 404 /errors/404/index.php |
|---|
| 24 | 24 | ErrorDocument 500 /errors/500/index.php |
|---|
| | 25 | |
|---|
| | 26 | Redirect /stats http://{DMN_NAME}/awstats/awstats.pl |
|---|
| | 27 | Redirect /vhcs2 http://{BASE_SERVER_VHOST} |
|---|
| 25 | 28 | |
|---|
| 26 | 29 | # httpd dmn entry cgi support BEGIN. |
|---|
| … | … | |
| 39 | 42 | <IfModule mod_php4.c> |
|---|
| 40 | 43 | <Directory {GUI_ROOT_DIR}> |
|---|
| 41 | | php_admin_value open_basedir "{GUI_ROOT_DIR}/:/etc/vhcs2/:/proc/:{WWW_DIR}/:/tmp/:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" |
|---|
| | 44 | php_admin_value open_basedir "{GUI_ROOT_DIR}/:/etc/vhcs2/:/proc/:{WWW_DIR}/:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin" |
|---|
| 42 | 45 | php_admin_value session.save_path "{GUI_ROOT_DIR}/phptmp/" |
|---|
| 43 | 46 | </Directory> |
|---|
| r417 |
r418 |
|
| 16 | 16 | LOGIN_TIME_OUT = 20 |
|---|
| 17 | 17 | |
|---|
| 18 | | DEFAULT_ADMIN_ADDRES = |
|---|
| | 18 | DEFAULT_ADMIN_ADDRESS = |
|---|
| 19 | 19 | |
|---|
| 20 | 20 | SERVER_HOSTNAME = debian |
|---|
| 21 | 21 | |
|---|
| 22 | 22 | BASE_SERVER_IP = 127.0.0.1 |
|---|
| | 23 | |
|---|
| | 24 | BASE_SERVER_VHOST = |
|---|
| 23 | 25 | |
|---|
| 24 | 26 | MR_LOCK_FILE = /tmp/vhcs2.lock |
|---|
| … | … | |
| 120 | 122 | APACHE_BACKUP_LOG_DIR = /var/log/apache2/backup |
|---|
| 121 | 123 | |
|---|
| 122 | | APACHE_CONF_FILE = /etc/apache2/sites-available/vhcs2.conf |
|---|
| | 124 | APACHE_SITES_DIR = /etc/apache2/sites-available |
|---|
| 123 | 125 | |
|---|
| 124 | 126 | APACHE_CONF_DIR = /etc/apache2 |
|---|
| r416 |
r418 |
|
| 37 | 37 | |
|---|
| 38 | 38 | use strict; |
|---|
| 39 | | |
|---|
| 40 | 39 | use warnings; |
|---|
| | 40 | use Socket; |
|---|
| 41 | 41 | |
|---|
| 42 | 42 | ############################################################################## |
|---|
| … | … | |
| 172 | 172 | my $eth = $rdata; |
|---|
| 173 | 173 | |
|---|
| 174 | | # my $eth = '192.168.0.128'; |
|---|
| 175 | | |
|---|
| 176 | 174 | my $qmsg = "\n Please enter system network address (Enter for defaults) [$eth]: "; |
|---|
| 177 | 175 | |
|---|
| … | … | |
| 332 | 330 | |
|---|
| 333 | 331 | } else { |
|---|
| 334 | | |
|---|
| | 332 | print STDOUT "\n Passwords do not match!"; |
|---|
| 335 | 333 | return 1; |
|---|
| 336 | 334 | |
|---|
| … | … | |
| 402 | 400 | |
|---|
| 403 | 401 | } else { |
|---|
| 404 | | |
|---|
| | 402 | print STDOUT "\n Passwords do not match!"; |
|---|
| 405 | 403 | return 1; |
|---|
| 406 | 404 | |
|---|
| … | … | |
| 453 | 451 | $main::ua{'db_pma_password'} = $pass1; |
|---|
| 454 | 452 | } else { |
|---|
| | 453 | print STDOUT "\n Passwords do not match!"; |
|---|
| 455 | 454 | return 1; |
|---|
| 456 | 455 | } |
|---|
| … | … | |
| 544 | 543 | } else { |
|---|
| 545 | 544 | |
|---|
| 546 | | if ($rdata =~ /^([\W\w-]+)\@([\W\w]+\.){1}[\W\w]+$/ || |
|---|
| 547 | | $rdata =~ /^([\W\w-]+)\@([\W\w]+\.){2}[\W\w]+$/ || |
|---|
| 548 | | $rdata =~ /^([\W\w-]+)\@([\W\w]+\.){3}[\W\w]+$/) { |
|---|
| | 545 | if ($rdata =~ /^([\w\W]{1,255})\@([\w][\w-]{0,253}[\w]\.)*([\w][\w-]{0,253}[\w])\.([a-zA-Z]{2,6})$/) { |
|---|
| 549 | 546 | |
|---|
| 550 | 547 | $main::ua{'admin_email'} = $rdata; |
|---|
| 551 | 548 | |
|---|
| 552 | 549 | } else { |
|---|
| 553 | | |
|---|
| | 550 | print STDOUT "\n E-Mail address not valid!"; |
|---|
| 554 | 551 | return 1; |
|---|
| 555 | 552 | |
|---|
| … | … | |
| 564 | 561 | } |
|---|
| 565 | 562 | |
|---|
| | 563 | ask_vhost { |
|---|
| | 564 | |
|---|
| | 565 | my ($rs, $rdata) = (undef, undef); |
|---|
| | 566 | |
|---|
| | 567 | push_el(\@main:el, 'ask_vhost()', 'Starting...'); |
|---|
| | 568 | |
|---|
| | 569 | my $vhost = "admin.".gethostbyaddr($main::ua{'eth'}, AF_INET); |
|---|
| | 570 | |
|---|
| | 571 | my $qmsg = "\n Please enter the domain name VHCS OMEGA will run on [$vhost]: "; |
|---|
| | 572 | |
|---|
| | 573 | print STDOUT $qmsg; |
|---|
| | 574 | |
|---|
| | 575 | $rdata = readline(\*STDIN); chop($rdata); |
|---|
| | 576 | |
|---|
| | 577 | if (!defined($rdata) || $rdata eq '') { |
|---|
| | 578 | return 1; |
|---|
| | 579 | } |
|---|
| | 580 | else { |
|---|
| | 581 | if ($rdata =~ /^([\w][\w-]{0,253}[\w]\.)*([\w][\w-]{0,253}[\w])\.([a-zA-Z]{2,6})$/) { |
|---|
| | 582 | $main::ua{'admin_vhost'} = $rdata; |
|---|
| | 583 | } |
|---|
| | 584 | else { |
|---|
| | 585 | print STDOUT "\n Vhost not valid!"; |
|---|
| | 586 | return 1; |
|---|
| | 587 | } |
|---|
| | 588 | |
|---|
| | 589 | } |
|---|
| | 590 | |
|---|
| | 591 | push_el(\@main::el, 'ask_vhost()', 'Ending...'); |
|---|
| | 592 | |
|---|
| | 593 | return 0; |
|---|
| | 594 | } |
|---|
| | 595 | |
|---|
| 566 | 596 | |
|---|
| 567 | 597 | sub user_dialog { |
|---|
| … | … | |
| 586 | 616 | |
|---|
| 587 | 617 | } while (check_eth() == 0); |
|---|
| | 618 | |
|---|
| | 619 | do { |
|---|
| | 620 | $rs = ask_vhost(); |
|---|
| | 621 | |
|---|
| | 622 | return $rs if ($rs != 0); |
|---|
| | 623 | } while (ask_chost() == 0); |
|---|
| 588 | 624 | |
|---|
| 589 | 625 | # |
|---|
| … | … | |
| 654 | 690 | |
|---|
| 655 | 691 | #push_el(\@main::el, 'user_dialog()', "eth: $main::ua{'eth'}"); |
|---|
| | 692 | |
|---|
| | 693 | push_el(\@main::el, 'user_dialog()', "panel_vhost: $main::ua{'admin_vhost'}"); |
|---|
| 656 | 694 | |
|---|
| 657 | 695 | push_el(\@main::el, 'user_dialog()', "db_host: $main::ua{'db_host'}"); |
|---|
| … | … | |
| 968 | 1006 | return $rs if ($rs != 0); |
|---|
| 969 | 1007 | |
|---|
| | 1008 | $rs = set_conf_val('BASE_SERVER_VHOST', $main::ua{'admin_vhost'}); |
|---|
| | 1009 | |
|---|
| | 1010 | return $rs if ($rs != 0); |
|---|
| | 1011 | |
|---|
| 970 | 1012 | $rs = set_conf_val('DATABASE_HOST', $main::ua{'db_host'}); |
|---|
| 971 | 1013 | |
|---|
| … | … | |
| 1012 | 1054 | return $rs if ($rs != 0); |
|---|
| 1013 | 1055 | |
|---|
| 1014 | | $rs = set_conf_val('DEFAULT_ADMIN_ADDRES', $main::ua{'admin_email'}); |
|---|
| | 1056 | $rs = set_conf_val('DEFAULT_ADMIN_ADDRESS', $main::ua{'admin_email'}); |
|---|
| 1015 | 1057 | |
|---|
| 1016 | 1058 | $rs = store_conf(); |
|---|
| … | … | |
| 1653 | 1695 | } |
|---|
| 1654 | 1696 | |
|---|
| | 1697 | # |
|---|
| | 1698 | # Master file |
|---|
| | 1699 | # |
|---|
| | 1700 | |
|---|
| | 1701 | ($rs, $cfg_tpl) = get_file("$cfg_dir/master.conf"); |
|---|
| | 1702 | |
|---|
| | 1703 | return $rs if ($rs != 0); |
|---|
| | 1704 | |
|---|
| | 1705 | my %tag_hash = ( |
|---|
| | 1706 | '{BASE_SERVER_IP}' => $main::cfg{'BASE_SERVER_IP'}, |
|---|
| | 1707 | '{BASE_SERVER_VHOST}' => $main::cfg{'BASE_SERVER_VHOST'}, |
|---|
| | 1708 | '{DEFAULT_ADMIN_ADDRESS}' => $main::cfg{'DEFAULT_ADMIN_ADDRESS'}, |
|---|
| | 1709 | '{ROOT_DIR}' => $main::cfg{'ROOT_DIR'}, |
|---|
| | 1710 | '{APACHE_USERS_LOG_DIR}' => $main::cfg{'APACHE_USERS_LOG_DIR'}, |
|---|
| | 1711 | '{APACHE_LOG_DIR}' => $main::cfg{'APACHE_LOG_DIR'}, |
|---|
| | 1712 | '{PHP_STARTER_DIR}' => $main::cfg{'PHP_STARTER_DIR'} |
|---|
| | 1713 | ); |
|---|
| | 1714 | |
|---|
| | 1715 | ($rs, $cfg) = prep_tpl(\%tag_hash, $cfg_tpl); |
|---|
| | 1716 | |
|---|
| | 1717 | return $rs if ($rs != 0); |
|---|
| | 1718 | |
|---|
| | 1719 | $rs = store_file($main::cfg{'APACHE_SITES_DIR'}/master.conf, $cfg, 'root', 'root', 0644); |
|---|
| | 1720 | |
|---|
| | 1721 | return $rs if ($rs != 0); |
|---|
| | 1722 | |
|---|
| | 1723 | $rs = add_named_cfg_data($main::cfg{'BASE_SERVER_VHOST'}); |
|---|
| | 1724 | |
|---|
| | 1725 | return $rs if ($rs != 0); |
|---|
| | 1726 | |
|---|
| | 1727 | $rs = add_named_db_data($main::cfg{'BASE_SERVER_IP'}, $main::cfg{'BASE_SERVER_VHOST'}); |
|---|
| | 1728 | |
|---|
| | 1729 | return $rs if ($rs != 0); |
|---|
| | 1730 | |
|---|
| | 1731 | # |
|---|
| | 1732 | # Default vhost file |
|---|
| | 1733 | # |
|---|
| | 1734 | |
|---|
| 1655 | 1735 | ($rs, $cfg_tpl) = get_file("$cfg_dir/httpd.conf"); |
|---|
| 1656 | 1736 | |
|---|
| … | … | |
| 1665 | 1745 | return $rs if ($rs != 0); |
|---|
| 1666 | 1746 | |
|---|
| 1667 | | $rs = store_file($main::cfg{'APACHE_CONF_FILE'}, $cfg, 'root', 'root', 0644); |
|---|
| 1668 | | |
|---|
| 1669 | | return $rs if ($rs != 0); |
|---|
| | 1747 | $rs = store_file($main::cfg{'APACHE_SITES_DIR'}/vhcs2.conf, $cfg, 'root', 'root', 0644); |
|---|
| | 1748 | |
|---|
| | 1749 | return $rs if ($rs != 0); |
|---|
| | 1750 | |
|---|
| | 1751 | # Enable sites |
|---|
| 1670 | 1752 | |
|---|
| 1671 | 1753 | if ( -e "/usr/sbin/a2ensite" ) { |
|---|
| 1672 | 1754 | |
|---|
| 1673 | 1755 | sys_command_rs("/usr/sbin/a2ensite vhcs2.conf &> /tmp/vhcs2-setup-services.log"); |
|---|
| | 1756 | sys_command_rs("/usr/sbin/a2ensite master.conf &> /tmp/vhcs2-setup-services.log"); |
|---|
| 1674 | 1757 | |
|---|
| 1675 | 1758 | } |
|---|
| … | … | |
| 1681 | 1764 | if (-e "/usr/sbin/a2dissite") { |
|---|
| 1682 | 1765 | |
|---|
| 1683 | | sys_command_rs("/usr/sbin/a2dissite 000-default &> /tmp/vhcs2-setup-services.log"); |
|---|
| | 1766 | sys_command_rs("/usr/sbin/a2dissite 000-default &> /tmp/vhcs2-setup-services.log"); |
|---|
| 1684 | 1767 | |
|---|
| 1685 | 1768 | } |
|---|
| … | … | |
| 1723 | 1806 | return 0; |
|---|
| 1724 | 1807 | |
|---|
| | 1808 | } |
|---|
| | 1809 | |
|---|
| | 1810 | # |
|---|
| | 1811 | # Add Bind CFG |
|---|
| | 1812 | # |
|---|
| | 1813 | |
|---|
| | 1814 | sub add_named_cfg_data { |
|---|
| | 1815 | |
|---|
| | 1816 | my ($base_vhost) = @_; |
|---|
| | 1817 | |
|---|
| | 1818 | my ($rs, $rdata) = (undef, undef); |
|---|
| | 1819 | |
|---|
| | 1820 | push_el(\@main::el, 'add_named_cfg_data()', 'Starting...'); |
|---|
| | 1821 | |
|---|
| | 1822 | if (!defined($dmn_data) || $dmn_data eq '') { |
|---|
| | 1823 | push_el(\@main::el, 'add_named_cfg_data()', 'ERROR: Undefined Input Data...'); |
|---|
| | 1824 | return -1; |
|---|
| | 1825 | } |
|---|
| | 1826 | |
|---|
| | 1827 | # |
|---|
| | 1828 | # Initial data we need; |
|---|
| | 1829 | # |
|---|
| | 1830 | |
|---|
| | 1831 | my $conf_dir = $main::cfg{'CONF_DIR'}; |
|---|
| | 1832 | |
|---|
| | 1833 | my $sys_cfg = $main::cfg{'BIND_CONF_FILE'}; |
|---|
| | 1834 | |
|---|
| | 1835 | my $named_db_dir = $main::cfg{'BIND_DB_DIR'}; |
|---|
| | 1836 | |
|---|
| | 1837 | |
|---|
| | 1838 | my $tpl_dir = "$conf_dir/bind/parts"; |
|---|
| | 1839 | |
|---|
| | 1840 | my $backup_dir = "$conf_dir/bind/backup"; |
|---|
| | 1841 | |
|---|
| | 1842 | my $working_dir = "$conf_dir/bind/working"; |
|---|
| | 1843 | |
|---|
| | 1844 | |
|---|
| | 1845 | my $timestamp = time; |
|---|
| | 1846 | |
|---|
| | 1847 | my $backup_cfg = "$backup_dir/named.conf.$timestamp"; |
|---|
| | 1848 | |
|---|
| | 1849 | my $working_cfg = "$working_dir/named.conf"; |
|---|
| | 1850 | |
|---|
| | 1851 | # |
|---|
| | 1852 | # BEGIN/END tags, and templates needed for this config; |
|---|
| | 1853 | # |
|---|
| | 1854 | |
|---|
| | 1855 | my ($dta_b, $dta_e, $entry_b, $entry_e, $entry) = ('', '', '', '', ''); |
|---|
| | 1856 | |
|---|
| | 1857 | ( |
|---|
| | 1858 | $rs, |
|---|
| | 1859 | $dta_b, |
|---|
| | 1860 | $dta_e, |
|---|
| | 1861 | $entry_b, |
|---|
| | 1862 | $entry_e, |
|---|
| | 1863 | $entry |
|---|
| | 1864 | ) = get_tpl( |
|---|
| | 1865 | $tpl_dir, |
|---|
| | 1866 | 'cfg_dta_b.tpl', |
|---|
| | 1867 | 'cfg_dta_e.tpl', |
|---|
| | 1868 | 'cfg_entry_b.tpl', |
|---|
| | 1869 | 'cfg_entry_e.tpl', |
|---|
| | 1870 | 'cfg_entry.tpl' |
|---|
| | 1871 | ); |
|---|
| | 1872 | |
|---|
| | 1873 | return $rs if ($rs != 0); |
|---|
| | 1874 | |
|---|
| | 1875 | # |
|---|
| | 1876 | # Let's construct nedded tags and entries; |
|---|
| | 1877 | # |
|---|
| | 1878 | |
|---|
| | 1879 | my %tag_hash = ( |
|---|
| | 1880 | '{DMN_NAME}' => $base_vhost, |
|---|
| | 1881 | '{DB_DIR}' => $named_db_dir |
|---|
| | 1882 | ); |
|---|
| | 1883 | |
|---|
| | 1884 | my ($entry_b_val, $entry_e_val, $entry_val) = ('', '', ''); |
|---|
| | 1885 | |
|---|
| | 1886 | ( |
|---|
| | 1887 | $rs, |
|---|
| | 1888 | $entry_b_val, |
|---|
| | 1889 | $entry_e_val, |
|---|
| | 1890 | $entry_val |
|---|
| | 1891 | ) = prep_tpl( |
|---|
| | 1892 | \%tag_hash, |
|---|
| | 1893 | $entry_b, |
|---|
| | 1894 | $entry_e, |
|---|
| | 1895 | $entry |
|---|
| | 1896 | ); |
|---|
| | 1897 | |
|---|
| | 1898 | return $rs if ($rs != 0); |
|---|
| | 1899 | |
|---|
| | 1900 | # |
|---|
| | 1901 | # Let's get Sytem and Workind config files; |
|---|
| | 1902 | # |
|---|
| | 1903 | |
|---|
| | 1904 | my ($sys, $working) = ('', ''); |
|---|
| | 1905 | |
|---|
| | 1906 | |
|---|
| | 1907 | ($rs, $sys) = get_file($sys_cfg); |
|---|
| | 1908 | |
|---|
| | 1909 | return $rs if ($rs != 0); |
|---|
| | 1910 | |
|---|
| | 1911 | ($rs, $working) = get_file($working_cfg); |
|---|
| | 1912 | |
|---|
| | 1913 | return $rs if ($rs != 0); |
|---|
| | 1914 | |
|---|
| | 1915 | ($rs, $rdata) = get_tag($dta_b, $dta_e, $working); |
|---|
| | 1916 | |
|---|
| | 1917 | return $rs if ($rs != 0); |
|---|
| | 1918 | |
|---|
| | 1919 | # |
|---|
| | 1920 | # Is the new domain entry exists ? |
|---|
| | 1921 | # |
|---|
| | 1922 | |
|---|
| | 1923 | ($rs, $rdata) = get_tag($entry_b_val, $entry_e_val, $working); |
|---|
| | 1924 | |
|---|
| | 1925 | if ($rs == 0) { |
|---|
| | 1926 | |
|---|
| | 1927 | # Yes it exists ! Then we must delete it ! |
|---|
| | 1928 | |
|---|
| | 1929 | ($rs, $working) = del_tag($entry_b_val, "$entry_e_val\n", $working); |
|---|
| | 1930 | |
|---|
| | 1931 | return $rs if ($rs != 0); |
|---|
| | 1932 | |
|---|
| | 1933 | } |
|---|
| | 1934 | |
|---|
| | 1935 | ($rs, $rdata) = get_tag($entry_b, $entry_e, $working); |
|---|
| | 1936 | |
|---|
| | 1937 | return $rs if ($rs != 0); |
|---|
| | 1938 | |
|---|
| | 1939 | # |
|---|
| | 1940 | # Let's contruct the replacement and do it; |
|---|
| | 1941 | # |
|---|
| | 1942 | |
|---|
| | 1943 | my $entry_repl = "$entry_b_val$entry_val$entry_e_val\n$entry_b$entry_e"; |
|---|
| | 1944 | |
|---|
| | 1945 | ($rs, $working) = repl_tag($entry_b, $entry_e, $working, $entry_repl); |
|---|
| | 1946 | |
|---|
| | 1947 | return $rs if ($rs != 0); |
|---|
| | 1948 | |
|---|
| | 1949 | # |
|---|
| | 1950 | # Here we'll backup production config file; |
|---|
| | 1951 | # |
|---|
| | 1952 | |
|---|
| | 1953 | $rs = sys_command("cp -p $sys_cfg $backup_cfg"); |
|---|
| | 1954 | |
|---|
| | 1955 | return $rs if ($rs != 0); |
|---|
| | 1956 | |
|---|
| | 1957 | # |
|---|
| | 1958 | # Let's save working copy; |
|---|
| | 1959 | # |
|---|
| | 1960 | |
|---|
| | 1961 | $rs = store_file($working_cfg, $working, 'root', 'root', 0644); |
|---|
| | 1962 | |
|---|
| | 1963 | return $rs if ($rs != 0); |
|---|
| | 1964 | |
|---|
| | 1965 | # |
|---|
| | 1966 | # Here we'll replace data in production config file with data in working |
|---|
| | 1967 | # confing file. A little workaround will be done. If working copy data does not exist |
|---|
| | 1968 | # in production config then we will add it; |
|---|
| | 1969 | # |
|---|
| | 1970 | |
|---|
| | 1971 | ($rs, $rdata) = get_tag($dta_b, $dta_e, $sys); |
|---|
| | 1972 | |
|---|
| | 1973 | if ($rs == 0) { # YES ! Data is here ! /in production config file/; |
|---|
| | 1974 | |
|---|
| | 1975 | ($rs, $sys) = repl_tag($dta_b, $dta_e, $sys, $working); |
|---|
| | 1976 | |
|---|
| | 1977 | return $rs if ($rs != 0); |
|---|
| | 1978 | |
|---|
| | 1979 | } elsif ($rs == -5) { |
|---|
| | 1980 | |
|---|
| | 1981 | $sys .= $working; |
|---|
| | 1982 | |
|---|
| | 1983 | } else { |
|---|
| | 1984 | |
|---|
| | 1985 | return $rs; |
|---|
| | 1986 | |
|---|
| | 1987 | } |
|---|
| | 1988 | |
|---|
| | 1989 | $rs = store_file($sys_cfg, $sys, 'root', 'root', 0644); |
|---|
| | 1990 | |
|---|
| | 1991 | return $rs if ($rs != 0); |
|---|
| | 1992 | |
|---|
| | 1993 | |
|---|
| | 1994 | push_el(\@main::el, 'add_named_cfg_data()', 'Ending...'); |
|---|
| | 1995 | |
|---|
| | 1996 | return 0; |
|---|
| | 1997 | } |
|---|
| | 1998 | |
|---|
| | 1999 | # |
|---|
| | 2000 | # Add DNS DB Data |
|---|
| | 2001 | # |
|---|
| | 2002 | |
|---|
| | 2003 | sub add_named_db_data { |
|---|
| | 2004 | |
|---|
| | 2005 | my ($base_ip, $base_vhost) = @_; |
|---|
| | 2006 | |
|---|
| | 2007 | my ($rs, $rdata) = (undef, undef); |
|---|
| | 2008 | |
|---|
| | 2009 | push_el(\@main::el, 'add_named_db_data()', 'Starting...'); |
|---|
| | 2010 | |
|---|
| | 2011 | if (!defined($dmn_data) || $dmn_data eq '') { |
|---|
| | 2012 | push_el(\@main::el, 'add_named_db_data()', 'ERROR: Undefined Input Data...'); |
|---|
| | 2013 | return -1; |
|---|
| | 2014 | } |
|---|
| | 2015 | |
|---|
| | 2016 | # |
|---|
| | 2017 | # Initial data we need; |
|---|
| | 2018 | # |
|---|
| | 2019 | |
|---|
| | 2020 | my $conf_dir = $main::cfg{'CONF_DIR'}; |
|---|
| | 2021 | |
|---|
| | 2022 | my $named_db_dir = $main::cfg{'BIND_DB_DIR'}; |
|---|
| | 2023 | |
|---|
| | 2024 | my $sec_dns_ip = $main::cfg{'SECONDARY_DNS'}; |
|---|
| | 2025 | |
|---|
| | 2026 | # |
|---|
| | 2027 | # Any secondary DNS defined; |
|---|
| | 2028 | # |
|---|
| | 2029 | |
|---|
| | 2030 | if (!$sec_dns_ip) { |
|---|
| | 2031 | $sec_dns_ip = $base_ip; |
|---|
| | 2032 | } |
|---|
| | 2033 | |
|---|
| | 2034 | my $tpl_dir = "$conf_dir/bind/parts"; |
|---|
| | 2035 | |
|---|
| | 2036 | my $backup_dir = "$conf_dir/bind/backup"; |
|---|
| | 2037 | |
|---|
| | 2038 | my $working_dir = "$conf_dir/bind/working"; |
|---|
| | 2039 | |
|---|
| | 2040 | |
|---|
| | 2041 | my $db_fname = "$base_vhost.db"; |
|---|
| | 2042 | |
|---|
| | 2043 | |
|---|
| | 2044 | my $sys_cfg = "$named_db_dir/$db_fname"; |
|---|
| | 2045 | |
|---|
| | 2046 | my $working_cfg = "$working_dir/$db_fname"; |
|---|
| | 2047 | |
|---|
| | 2048 | # |
|---|
| | 2049 | # Let's get needed tags and templates; |
|---|
| | 2050 | # |
|---|
| | 2051 | |
|---|
| | 2052 | my ($entry, $dns2_b, $dns2_e) = ('', '', ''); |
|---|
| | 2053 | |
|---|
| | 2054 | ($rs, $entry, $dns2_b, $dns2_e) = get_tpl( |
|---|
| | 2055 | $tpl_dir, |
|---|
| | 2056 | 'db_master_e.tpl', |
|---|
| | 2057 | 'db_dns2_b.tpl', |
|---|
| | 2058 | 'db_dns2_e.tpl' |
|---|
| | 2059 | ); |
|---|
| | 2060 | |
|---|
| | 2061 | return $rs if ($rs != 0); |
|---|
| | 2062 | |
|---|
| | 2063 | # |
|---|
| | 2064 | # RFC 1912 |
|---|
| | 2065 | # |
|---|
| | 2066 | |
|---|
| | 2067 | my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); |
|---|
| | 2068 | |
|---|
| | 2069 | my $time2 = sprintf "%4d%02d%02d00",$year+1900,$mon+1,$mday; |
|---|
| | 2070 | |
|---|
| | 2071 | # |
|---|
| | 2072 | # Let's prepare them; |
|---|
| | 2073 | # |
|---|
| | 2074 | |
|---|
| | 2075 | my %tag_hash = ( |
|---|
| | 2076 | '{DMN_NAME}' => $base_vhost, |
|---|
| | 2077 | '{DMN_IP}' => $base_ip, |
|---|
| | 2078 | '{BASE_SERVER_IP}' => $base_ip, |
|---|
| | 2079 | '{SECONDARY_DNS_IP}' => $sec_dns_ip, |
|---|
| | 2080 | '{TIMESTAMP}' => $time2 |
|---|
| | 2081 | ); |
|---|
| | 2082 | |
|---|
| | 2083 | ($rs, $entry, $dns2_b, $dns2_e) = prep_tpl( |
|---|
| | 2084 | \%tag_hash, |
|---|
| | 2085 | $entry, |
|---|
| | 2086 | $dns2_b, |
|---|
| | 2087 | $dns2_e |
|---|
| | 2088 | ); |
|---|
| | 2089 | |
|---|
| | 2090 | return $rs if ($rs != 0); |
|---|
| | 2091 | |
|---|
| | 2092 | # |
|---|
| | 2093 | # Let's store generated data; |
|---|
| | 2094 | # |
|---|
| | 2095 | |
|---|
| | 2096 | $rs = store_file($working_cfg, $entry, 'root', 'root', 0644); |
|---|
| | 2097 | |
|---|
| | 2098 | return $rs if ($rs != 0); |
|---|
| | 2099 | |
|---|
| | 2100 | $rs = store_file($sys_cfg, $entry, 'root', 'root', 0644); |
|---|
| | 2101 | |
|---|
| | 2102 | return $rs if ($rs != 0); |
|---|
| | 2103 | |
|---|
| | 2104 | push_el(\@main::el, 'add_named_db_data()', 'Ending...'); |
|---|
| | 2105 | |
|---|
| | 2106 | |
|---|
| | 2107 | return 0; |
|---|
| 1725 | 2108 | } |
|---|
| 1726 | 2109 | |
|---|
| r154 |
r418 |
|
| 2 | 2 | |
|---|
| 3 | 3 | # VHCS(tm) - Virtual Hosting Control System |
|---|
| 4 | | # Copyright (c) 2001-2004 by moleSoftware GmbH |
|---|
| | 4 | # Copyright (c) 2001-2006 by moleSoftware GmbH |
|---|
| 5 | 5 | # http://www.molesoftware.com |
|---|
| | 6 | # Copyright (c) 2006-2007 by isp Control Panel |
|---|
| | 7 | # http://isp-control.net |
|---|
| 6 | 8 | # |
|---|
| 7 | 9 | # |
|---|
| … | … | |
| 24 | 26 | # |
|---|
| 25 | 27 | # |
|---|
| 26 | | # The VHCS Home Page is at: |
|---|
| | 28 | # The VHCS ω Home Page is at: |
|---|
| 27 | 29 | # |
|---|
| 28 | | # http://www.vhcs.net |
|---|
| | 30 | # http://isp-control.net |
|---|
| | 31 | # |
|---|
| 29 | 32 | |
|---|
| 30 | 33 | |
|---|
| … | … | |
| 430 | 433 | sys_command_rs("$main::cfg{'CMD_HTTPD'} stop &> /tmp/vhcs2-uninstall-services.log"); |
|---|
| 431 | 434 | |
|---|
| 432 | | $rs = del_file($main::cfg{'APACHE_CONF_FILE'}); |
|---|
| | 435 | $rs = del_file($main::cfg{'APACHE_SITES_DIR'}/vhcs2.conf); |
|---|
| | 436 | |
|---|
| | 437 | return $rs if ($rs != 0); |
|---|
| | 438 | |
|---|
| | 439 | $rs = del_file($main::cfg{'APACHE_SITES_DIR'}/master.conf); |
|---|
| 433 | 440 | |
|---|
| 434 | 441 | return $rs if ($rs != 0); |
|---|
| r414 |
r418 |
|
| 2 | 2 | |
|---|
| 3 | 3 | # VHCS(tm) - Virtual Hosting Control System |
|---|
| 4 | | # Copyright (c) 2001-2004 by moleSoftware GmbH |
|---|
| | 4 | # Copyright (c) 2001-2006 by moleSoftware GmbH |
|---|
| 5 | 5 | # http://www.molesoftware.com |
|---|
| | 6 | # Copyright (c) 2006-2007 by isp Control Panel |
|---|
| | 7 | # http://isp-control.net |
|---|
| 6 | 8 | # |
|---|
| 7 | 9 | # |
|---|
| … | … | |
| 24 | 26 | # |
|---|
| 25 | 27 | # |
|---|
| 26 | | # The VHCS Home Page is at: |
|---|
| | 28 | # The VHCS ω Home Page is at: |
|---|
| 27 | 29 | # |
|---|
| 28 | | # http://www.vhcs.net |
|---|
| | 30 | # http://isp-control.net |
|---|
| | 31 | # |
|---|
| 29 | 32 | |
|---|
| 30 | 33 | |
|---|
| … | … | |
| 1059 | 1062 | |
|---|
| 1060 | 1063 | |
|---|
| 1061 | | my $sys_cfg = $main::cfg{'APACHE_CONF_FILE'}; |
|---|
| | 1064 | my $sys_cfg = $main::cfg{'APACHE_SITES_DIR'}/vhcs2.conf; |
|---|
| 1062 | 1065 | |
|---|
| 1063 | 1066 | my $working_cfg = "$working_dir/vhcs2.conf"; |
|---|
| … | … | |
| 1398 | 1401 | |
|---|
| 1399 | 1402 | |
|---|
| 1400 | | my $sys_cfg = $main::cfg{'APACHE_CONF_FILE'}; |
|---|
| | 1403 | my $sys_cfg = $main::cfg{'APACHE_SITES_DIR'}/vhcs2.conf; |
|---|
| 1401 | 1404 | |
|---|
| 1402 | 1405 | my $working_cfg = "$working_dir/vhcs2.conf"; |
|---|
| r416 |
r418 |
|
| 587 | 587 | |
|---|
| 588 | 588 | # |
|---|
| 589 | | # RFC 1912 template fix by Puuhis ;) |
|---|
| | 589 | # RFC 1912 |
|---|
| 590 | 590 | # |
|---|
| 591 | 591 | |
|---|
| … | … | |
| 950 | 950 | '{DMN_NAME}' => $dmn_name, |
|---|
| 951 | 951 | '{DMN_IP}' => $dmn_ip, |
|---|
| | 952 | '{BASE_SERVER_VHOST}' => $main::cfg{'BASE_SERVER_VHOST'}, |
|---|
| 952 | 953 | '{WWW_DIR}' => $main::cfg{'APACHE_WWW_DIR'}, |
|---|
| 953 | 954 | '{STARTER_DIR}' => $main::cfg{'PHP_STARTER_DIR'}, |
|---|
| … | … | |
| 1103 | 1104 | |
|---|
| 1104 | 1105 | |
|---|
| 1105 | | my $sys_cfg = $main::cfg{'APACHE_CONF_FILE'}; |
|---|
| | 1106 | my $sys_cfg = $main::cfg{'APACHE_SITES_DIR'}/vhcs2.conf; |
|---|
| 1106 | 1107 | |
|---|
| 1107 | 1108 | my $working_cfg = "$working_dir/vhcs2.conf"; |
|---|
| … | … | |
| 1468 | 1469 | |
|---|
| 1469 | 1470 | |
|---|
| 1470 | | my $sys_cfg = $main::cfg{'APACHE_CONF_FILE'}; |
|---|
| | 1471 | my $sys_cfg = $main::cfg{'APACHE_SITES_DIR'}/vhcs2.conf; |
|---|
| 1471 | 1472 | |
|---|
| 1472 | 1473 | my $working_cfg = "$working_dir/vhcs2.conf"; |
|---|
| r387 |
r418 |
|
| 2 | 2 | |
|---|
| 3 | 3 | # VHCS(tm) - Virtual Hosting Control System |
|---|
| 4 | | # Copyright (c) 2001-2004 by moleSoftware GmbH |
|---|
| | 4 | # Copyright (c) 2001-2006 by moleSoftware GmbH |
|---|
| 5 | 5 | # http://www.molesoftware.com |
|---|
| | 6 | # Copyright (c) 2006-2007 by isp Control Panel |
|---|
| | 7 | # http://isp-control.net |
|---|
| 6 | 8 | # |
|---|
| 7 | 9 | # |
|---|
| … | … | |
| 24 | 26 | # |
|---|
| 25 | 27 | # |
|---|
| 26 | | # The VHCS Home Page is at: |
|---|
| | 28 | # The VHCS ω Home Page is at: |
|---|
| 27 | 29 | # |
|---|
| 28 | | # http://www.vhcs.net |
|---|
| 29 | | |
|---|
| | 30 | # http://isp-control.net |
|---|
| | 31 | # |
|---|
| 30 | 32 | |
|---|
| 31 | 33 | use FindBin; |
|---|
| … | … | |
| 837 | 839 | |
|---|
| 838 | 840 | |
|---|
| 839 | | my $sys_cfg = $main::cfg{'APACHE_CONF_FILE'}; |
|---|
| | 841 | my $sys_cfg = "$main::cfg{'APACHE_SITES_DIR'}/vhcs2.conf"; |
|---|
| 840 | 842 | |
|---|
| 841 | 843 | my $timestamp = time; |
|---|
| … | … | |
| 1127 | 1129 | |
|---|
| 1128 | 1130 | |
|---|
| 1129 | | my $sys_cfg = $main::cfg{'APACHE_CONF_FILE'}; |
|---|
| | 1131 | my $sys_cfg = "$main::cfg{'APACHE_SITES_DIR'}/vhcs2.conf"; |
|---|
| 1130 | 1132 | |
|---|
| 1131 | 1133 | my $timestamp = time; |
|---|
| r414 |
r418 |
|
| 1 | 1 | <html> |
|---|
| 2 | 2 | <head> |
|---|
| 3 | | <title>VHCS ERROR</title> |
|---|
| | 3 | <title>VHCS OMEGA ERROR</title> |
|---|
| 4 | 4 | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
|---|
| 5 | 5 | <link href="/vhcs2/themes/omega_original/css/vhcs.css" rel="stylesheet" type="text/css"> |
|---|
| r352 |
r418 |
|
| 1664 | 1664 | |
|---|
| 1665 | 1665 | |
|---|
| 1666 | | $send_log_to = $cfg['DEFAULT_ADMIN_ADDRES']; |
|---|
| 1667 | | |
|---|
| 1668 | | /* now send email if DEFAULT_ADMIN_ADDRES != '' */ |
|---|
| | 1666 | $send_log_to = $cfg['DEFAULT_ADMIN_ADDRESS']; |
|---|
| | 1667 | |
|---|
| | 1668 | /* now send email if DEFAULT_ADMIN_ADDRESS != '' */ |
|---|
| 1669 | 1669 | if ($send_log_to != '') { |
|---|
| 1670 | 1670 | |
|---|
| 1671 | 1671 | global $cfg, $default_hostname, $default_base_server_ip, $Version, $VersionH, $BuildDate, $admin_login; |
|---|
| 1672 | 1672 | |
|---|
| 1673 | | $admin_email = $cfg['DEFAULT_ADMIN_ADDRES']; |
|---|
| | 1673 | $admin_email = $cfg['DEFAULT_ADMIN_ADDRESS']; |
|---|
| 1674 | 1674 | $default_hostname = $cfg['SERVER_HOSTNAME']; |
|---|
| 1675 | 1675 | $default_base_server_ip = $cfg['BASE_SERVER_IP']; |
|---|
| r174 |
r418 |
|
| 179 | 179 | |
|---|
| 180 | 180 | // And send the email... |
|---|
| 181 | | mail($cfg['DEFAULT_ADMIN_ADDRES'], $subject, $mail_text, sprintf("From: %s", $cfg['DEFAULT_ADMIN_ADDRES'])); |
|---|
| | 181 | mail($cfg['DEFAULT_ADMIN_ADDRESS'], $subject, $mail_text, sprintf("From: %s", $cfg['DEFAULT_ADMIN_ADDRESS'])); |
|---|
| 182 | 182 | } |
|---|
| 183 | 183 | |
|---|
|