This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

httpd-vhosts.conf not properly made
#1
httpd-vhosts.conf not properly made
At my just installed Sentora server there is no "NameVirtualHost *:80" at the beginning of the "httpd-vhosts.conf" so no domain will works.
If i manually place it at the same place it at the beginning it works.
So i think it's a little bug.

I previously got this bug:
Code:
Begin writing Apache Config to: /etc/zpanel/configs/apache/httpd-vhosts.conf
PHP Notice:  Undefined variable: customPorts in /etc/zpanel/panel/modules/apache_admin/hooks/OnDaemonRun.hook.php on line 75
PHP Warning:  array_unique() expects parameter 1 to be array, null given in /etc/zpanel/panel/modules/apache_admin/hooks/OnDaemonRun.hook.php on line 75

Line 75 of that file:
Code:
$customPortList = array_unique($customPorts);

Also reported issue at github.
I hope i am doing it right, github is still new to me..

My Sentora DemoMy GithubAuxio Github
Zentora themeS-Type themeCstyleX theme
flat-color-iconssmall-n-flat-icons

Sentora's development takes way too long, so i'm transitioning to HestiaCP.
Reply
Thanks given by:
#2
RE: httpd-vhosts.conf not properly made
NameVirtualHosts is deprecated and no longer required.
Quote:The NameVirtualHost directive no longer has any effect, other than to emit a warning. Any address/port combination appearing in multiple virtual hosts is implicitly treated as a name-based virtual host.
http://httpd.apache.org/docs/2.4/mod/cor...irtualhost

Checking on your error...

That error has nothing to do with the lack of NameVirtualHost, but a bug that was report a while back in GitHub.
As stated by Bobby:
Quote:Just as a heads up, I'm working on a 'fix' at present for the PHP array warnings (they are nothing major) and don't stop the daemon from working!

After a change to the installer by myself yesterday (and me testing a new install today) it would appear that the daemon issue is now fixed and Apache restarts without any issues!

Cheers,
Bobby
in this post: http://forums.zpanelcp.com/Thread-PHP-Wa...on-php-run
Here is the content for the fixed /zpanel/modules/apache_admin/hooks/OnDaemonRun.hook.php:
PHP Code:
<?php

echo fs_filehandler::NewLine() . "START Apache Config Hook." fs_filehandler::NewLine();
if ( 
ui_module::CheckModuleEnabled'Apache Config' ) ) {
    echo 
"Apache Admin module ENABLED..." fs_filehandler::NewLine();
    
TriggerApacheQuotaUsage();
    if ( 
ctrl_options::GetSystemOption'apache_changed' ) == strtolower"true" ) ) {
        echo 
"Apache Config has changed..." fs_filehandler::NewLine();
        if ( 
ctrl_options::GetSystemOption'apache_backup' ) == strtolower"true" ) ) {
            echo 
"Backing up Apache Config to: " ctrl_options::GetSystemOption'apache_budir' ) . fs_filehandler::NewLine();
            
BackupVhostConfigFile();
        }
        echo 
"Begin writing Apache Config to: " ctrl_options::GetSystemOption'apache_vhost' ) . fs_filehandler::NewLine();
        
WriteVhostConfigFile();
    }
    else {
        echo 
"Apache Config has NOT changed...nothing to do." fs_filehandler::NewLine();
    }
}
else {
    echo 
"Apache Admin module DISABLED...nothing to do." fs_filehandler::NewLine();
}
echo 
"END Apache Config Hook." fs_filehandler::NewLine();

/**
 *
 * @param string $vhostName
 * @param numeric $customPort
 * @param string $userEmail
 * @return string
 *
 */
function BuildVhostPortForward$vhostName$customPort$userEmail )
{
    
$line fs_filehandler::NewLine() . fs_filehandler::NewLine();
    
$line .= "# DOMAIN: " $vhostName fs_filehandler::NewLine();
    
$line .= "# PORT FORWARD FROM 80 TO: " $customPort fs_filehandler::NewLine();
    
$line .= "<virtualhost *:80>" fs_filehandler::NewLine();
    
$line .= "ServerName " $vhostName fs_filehandler::NewLine();
    
$line .= "ServerAlias " $vhostName " www." $vhostName fs_filehandler::NewLine();
    
$line .= "ServerAdmin " $userEmail fs_filehandler::NewLine();
    
$line .= "RewriteEngine on" fs_filehandler::NewLine();
    
$line .= "ReWriteCond %{SERVER_PORT} !^" $customPort "$" fs_filehandler::NewLine();
    if ( 
$customPort === "443" ) {
        
$line .= "RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L] " fs_filehandler::NewLine();
    }
    else {
        
$line .= "RewriteRule ^/(.*) http://%{HTTP_HOST}:" $customPort "/$1 [NC,R,L] " fs_filehandler::NewLine();
    }
    
$line .= "</virtualhost>" fs_filehandler::NewLine();
    
$line .= "# END DOMAIN: " $vhostName fs_filehandler::NewLine() . fs_filehandler::NewLine();

    return 
$line;
}

function 
WriteVhostConfigFile()
{
    global 
$zdbh;

    
//Get email for server admin of zpanel
    
$getserveremail $zdbh->query"SELECT ac_email_vc FROM x_accounts where ac_id_pk=1" )->fetch();
    if ( 
$getserveremail'ac_email_vc' ] != "" ) {
        
$serveremail $getserveremail'ac_email_vc' ];
    }
    else {
        
$serveremail "postmaster@" ctrl_options::GetSystemOption'zpanel_domain' );
    }

    
$customPort = array( );
    
$portQuery  $zdbh->prepare"SELECT vh_custom_port_in, vh_deleted_ts FROM zpanel_core.x_vhosts WHERE vh_custom_port_in IS NOT NULL AND vh_deleted_ts IS NULL" );
    
$portQuery->execute();
    while ( 
$rowport    $portQuery->fetch() ) {
        
$customPorts[ ] = $rowport'vh_custom_port_in' ];
    }
    
$customPortList array_unique($customPorts);

    
/*
     * ##############################################################################################################
     * #
     * # Default Virtual Host Container
     * #
     * ##############################################################################################################
     */

    
$line "################################################################" fs_filehandler::NewLine();
    
$line .= "# Apache VHOST configuration file" fs_filehandler::NewLine();
    
$line .= "# Automatically generated by ZPanel " sys_versions::ShowZpanelVersion() . fs_filehandler::NewLine();
    
$line .= "# Generated on: " datectrl_options::GetSystemOption'zpanel_df' ), time() ) . fs_filehandler::NewLine();
    
$line .= "################################################################" fs_filehandler::NewLine();
    
$line .= "" fs_filehandler::NewLine();

    
// ZPanel default virtual host container
    
$line .= "# Configuration for ZPanel control panel." fs_filehandler::NewLine();
    
$line .= "<VirtualHost *:" ctrl_options::GetSystemOption'zpanel_port' ) . ">" fs_filehandler::NewLine();
    
$line .= "ServerAdmin " $serveremail fs_filehandler::NewLine();
    
$line .= "DocumentRoot \"" ctrl_options::GetSystemOption'zpanel_root' ) . "\"" fs_filehandler::NewLine();
    
$line .= "ServerName " ctrl_options::GetSystemOption'zpanel_domain' ) . "" fs_filehandler::NewLine();
    
$line .= "AddType application/x-httpd-php .php" fs_filehandler::NewLine();
    
$line .= "<Directory \"" ctrl_options::GetSystemOption'zpanel_root' ) . "\">" fs_filehandler::NewLine();
    
$line .= "Options FollowSymLinks" fs_filehandler::NewLine();
    
$line .= "    AllowOverride All" fs_filehandler::NewLine();
    
$line .= "    Order allow,deny" fs_filehandler::NewLine();
    
$line .= "    Allow from all" fs_filehandler::NewLine();
    
$line .= "</Directory>" fs_filehandler::NewLine();
    
$line .= "" fs_filehandler::NewLine();
    
$line .= "# Custom settings are loaded below this line (if any exist)" fs_filehandler::NewLine();

    
// Global custom zpanel entry
    
$line .= ctrl_options::GetSystemOption'global_zpcustom' ) . fs_filehandler::NewLine();

    
$line .= "</VirtualHost>" fs_filehandler::NewLine();

    
$line .= "" fs_filehandler::NewLine();
    
$line .= "################################################################" fs_filehandler::NewLine();
    
$line .= "# ZPanel generated VHOST configurations below....." fs_filehandler::NewLine();
    
$line .= "################################################################" fs_filehandler::NewLine();
    
$line .= "" fs_filehandler::NewLine();

    
/*
     * ##############################################################################################################
     * #
     * # All Virtual Host Containers
     * #
     * ##############################################################################################################
     */

    // Zpanel virtual host container configuration
    
$sql      $zdbh->prepare"SELECT * FROM x_vhosts WHERE vh_deleted_ts IS NULL" );
    
$sql->execute();
    while ( 
$rowvhost $sql->fetch() ) {

        
// Grab some variables we will use for later...
        
$vhostuser ctrl_users::GetUserDetail$rowvhost'vh_acc_fk' ] );
        
$bandwidth ctrl_users::GetQuotaUsages'bandwidth'$vhostuser'userid' ] );
        
$diskspace ctrl_users::GetQuotaUsages'diskspace'$vhostuser'userid' ] );
        
// Set the vhosts to "LIVE"
        
$vsql      $zdbh->prepare"UPDATE x_vhosts SET vh_active_in=1 WHERE vh_id_pk=:id" );
        
$vsql->bindParam':id'$rowvhost'vh_id_pk' ] );
        
$vsql->execute();
        
// Add a default email if no email found for client.
        
if ( fs_director::CheckForEmptyValue$vhostuser'email' ] ) ) {
            
$useremail "postmaster@" $rowvhost'vh_name_vc' ];
        }
        else {
            
$useremail $vhostuser'email' ];
        }
        
// Check if domain or subdomain to see if we add an alias with 'www'
        
if ( $rowvhost'vh_type_in' ] == ) {
            
$serveralias $rowvhost'vh_name_vc' ];
        }
        else {
            
$serveralias $rowvhost'vh_name_vc' ] . " www." $rowvhost'vh_name_vc' ];
        }

        if ( 
fs_director::CheckForEmptyValue$rowvhost'vh_custom_port_in' ] ) ) {
            
$vhostPort ctrl_options::GetSystemOption'apache_port' );
        }
        else {
            
$vhostPort $rowvhost'vh_custom_port_in' ];
        }

        if ( 
fs_director::CheckForEmptyValue$rowvhost'vh_custom_ip_vc' ] ) ) {
            
$vhostIp "*";
        }
        else {
            
$vhostIp $rowvhost'vh_custom_ip_vc' ];
        }




        
//Domain is enabled
        //Line1: Domain enabled - Client also is enabled.
        //Line2: Domain enabled - Client may be disabled, but 'Allow Disabled' = 'true' in apache settings.
        
if ( $rowvhost'vh_enabled_in' ] == && ctrl_users::CheckUserEnabled$rowvhost'vh_acc_fk' ] ) ||
            
$rowvhost'vh_enabled_in' ] == && ctrl_options::GetSystemOption'apache_allow_disabled' ) == strtolower"true" ) ) {

            
/*
             * ##################################################
             * #
             * # Disk Quotas Check
             * #
             * ##################################################
             */

            //Domain is beyond its diskusage
            
if ( $vhostuser'diskquota' ] != && $diskspace $vhostuser'diskquota' ] ) {
                
$line .= "# DOMAIN: " $rowvhost'vh_name_vc' ] . fs_filehandler::NewLine();
                
$line .= "# THIS DOMAIN HAS BEEN DISABLED FOR QUOTA OVERAGE" fs_filehandler::NewLine();
                
$line .= "<virtualhost " $vhostIp ":" $vhostPort ">" fs_filehandler::NewLine();
                
$line .= "ServerName " $rowvhost'vh_name_vc' ] . fs_filehandler::NewLine();
                
$line .= "ServerAlias " $rowvhost'vh_name_vc' ] . " www." $rowvhost'vh_name_vc' ] . fs_filehandler::NewLine();
                
$line .= "ServerAdmin " $useremail fs_filehandler::NewLine();
                
$line .= "DocumentRoot \"" ctrl_options::GetSystemOption'static_dir' ) . "diskexceeded\"" fs_filehandler::NewLine();
                
$line .= "<Directory />" fs_filehandler::NewLine();
                
$line .= "Options FollowSymLinks Indexes" fs_filehandler::NewLine();
                
$line .= "AllowOverride All" fs_filehandler::NewLine();
                
$line .= "Order Allow,Deny" fs_filehandler::NewLine();
                
$line .= "Allow from all" fs_filehandler::NewLine();
                
$line .= "</Directory>" fs_filehandler::NewLine();
                
$line .= ctrl_options::GetSystemOption'php_handler' ) . fs_filehandler::NewLine();
                
$line .= ctrl_options::GetSystemOption'dir_index' ) . fs_filehandler::NewLine();
                
$line .= "</virtualhost>" fs_filehandler::NewLine();
                
$line .= "# END DOMAIN: " $rowvhost'vh_name_vc' ] . fs_filehandler::NewLine();
                
$line .= "################################################################" fs_filehandler::NewLine();
                
$line .= fs_filehandler::NewLine();
                if ( 
$rowvhost'vh_portforward_in' ] <> ) {
                    
$line .= BuildVhostPortForward$rowvhost'vh_name_vc' ], $vhostPort$useremail );
                }
                
$line .= fs_filehandler::NewLine();
                
/*
                 * ##################################################
                 * #
                 * # Bandwidth Quotas Check
                 * #
                 * ##################################################
                 */

                //Domain is beyond its quota
            
}
            elseif ( 
$vhostuser'bandwidthquota' ] != && $bandwidth $vhostuser'bandwidthquota' ] ) {
                
$line .= "# DOMAIN: " $rowvhost'vh_name_vc' ] . fs_filehandler::NewLine();
                
$line .= "# THIS DOMAIN HAS BEEN DISABLED FOR BANDWIDTH OVERAGE" fs_filehandler::NewLine();
                
$line .= "<virtualhost " $vhostIp ":" $vhostPort ">" fs_filehandler::NewLine();
                
$line .= "ServerName " $rowvhost'vh_name_vc' ] . fs_filehandler::NewLine();
                
$line .= "ServerAlias " $rowvhost'vh_name_vc' ] . " www." $rowvhost'vh_name_vc' ] . fs_filehandler::NewLine();
                
$line .= "ServerAdmin " $useremail fs_filehandler::NewLine();
                
$line .= "DocumentRoot \"" ctrl_options::GetSystemOption'static_dir' ) . "bandwidthexceeded\"" fs_filehandler::NewLine();
                
$line .= "<Directory />" fs_filehandler::NewLine();
                
$line .= "Options FollowSymLinks Indexes" fs_filehandler::NewLine();
                
$line .= "AllowOverride All" fs_filehandler::NewLine();
                
$line .= "Order Allow,Deny" fs_filehandler::NewLine();
                
$line .= "Allow from all" fs_filehandler::NewLine();
                
$line .= "</Directory>" fs_filehandler::NewLine();
                
$line .= ctrl_options::GetSystemOption'php_handler' ) . fs_filehandler::NewLine();
                
$line .= ctrl_options::GetSystemOption'dir_index' ) . fs_filehandler::NewLine();
                
$line .= "</virtualhost>" fs_filehandler::NewLine();
                
$line .= "# END DOMAIN: " $rowvhost'vh_name_vc' ] . fs_filehandler::NewLine();
                
$line .= "################################################################" fs_filehandler::NewLine();
                
$line .= fs_filehandler::NewLine();
                if ( 
$rowvhost'vh_portforward_in' ] <> ) {
                    
$line .= BuildVhostPortForward$rowvhost'vh_name_vc' ], $vhostPort$useremail );
                }
                
$line .= fs_filehandler::NewLine();
                
/*
                 * ##################################################
                 * #
                 * # Parked Domain
                 * #
                 * ##################################################
                 */

                //Domain is a PARKED domain.
            
}
            elseif ( 
$rowvhost'vh_type_in' ] == ) {
                
$line .= "# DOMAIN: " $rowvhost'vh_name_vc' ] . fs_filehandler::NewLine();
                
$line .= "<virtualhost " $vhostIp ":" $vhostPort ">" fs_filehandler::NewLine();
                
$line .= "ServerName " $rowvhost'vh_name_vc' ] . fs_filehandler::NewLine();
                
$line .= "ServerAlias " $rowvhost'vh_name_vc' ] . " www." $rowvhost'vh_name_vc' ] . fs_filehandler::NewLine();
                
$line .= "ServerAdmin " $useremail fs_filehandler::NewLine();
                
$line .= "DocumentRoot \"" ctrl_options::GetSystemOption'parking_path' ) . "\"" fs_filehandler::NewLine();
                
$line .= "<Directory />" fs_filehandler::NewLine();
                
$line .= "Options FollowSymLinks Indexes" fs_filehandler::NewLine();
                
$line .= "AllowOverride All" fs_filehandler::NewLine();
                
$line .= "Order Allow,Deny" fs_filehandler::NewLine();
                
$line .= "Allow from all" fs_filehandler::NewLine();
                
$line .= "</Directory>" fs_filehandler::NewLine();
                
$line .= ctrl_options::GetSystemOption'php_handler' ) . fs_filehandler::NewLine();
                
$line .= ctrl_options::GetSystemOption'dir_index' ) . fs_filehandler::NewLine();
                
$line .= "# Custom Global Settings (if any exist)" fs_filehandler::NewLine();
                
$line .= ctrl_options::GetSystemOption'global_vhcustom' ) . fs_filehandler::NewLine();
                
$line .= "# Custom VH settings (if any exist)" fs_filehandler::NewLine();
                
$line .= $rowvhost'vh_custom_tx' ] . fs_filehandler::NewLine();
                
$line .= "</virtualhost>" fs_filehandler::NewLine();
                
$line .= "# END DOMAIN: " $rowvhost'vh_name_vc' ] . fs_filehandler::NewLine();
                
$line .= "################################################################" fs_filehandler::NewLine();
                
$line .= fs_filehandler::NewLine();
                if ( 
$rowvhost'vh_portforward_in' ] <> ) {
                    
$line .= BuildVhostPortForward$rowvhost'vh_name_vc' ], $vhostPort$useremail );
                }
                
$line .= fs_filehandler::NewLine();
                
/*
                 * ##################################################
                 * #
                 * # Regular or Sub domain
                 * #
                 * ##################################################
                 */

                //Domain is a regular domain or a subdomain.
            
}
            else {
                
$line .= "# DOMAIN: " $rowvhost'vh_name_vc' ] . fs_filehandler::NewLine();
                
$line .= "<virtualhost " $vhostIp ":" $vhostPort ">" fs_filehandler::NewLine();

                
/*
                 * todo
                 */
                // Bandwidth Settings
                //$line .= "Include C:/ZPanel/bin/apache/conf/mod_bw/mod_bw/mod_bw_Administration.conf" . fs_filehandler::NewLine();
                // Server name, alias, email settings
                
$line .= "ServerName " $rowvhost'vh_name_vc' ] . fs_filehandler::NewLine();
                
$line .= "ServerAlias " $serveralias fs_filehandler::NewLine();
                
$line .= "ServerAdmin " $useremail fs_filehandler::NewLine();
                
// Document root
                
$line .= "DocumentRoot \"" ctrl_options::GetSystemOption'hosted_dir' ) . $vhostuser'username' ] . "/public_html" $rowvhost'vh_directory_vc' ] . "\"" fs_filehandler::NewLine();
                
// Get Package openbasedir and suhosin enabled options
                
if ( ctrl_options::GetSystemOption'use_openbase' ) == "true" ) {
                    if ( 
$rowvhost'vh_obasedir_in' ] <> ) {
                        
$line .= "php_admin_value open_basedir \"" ctrl_options::GetSystemOption'hosted_dir' ) . $vhostuser'username' ] . "/public_html" $rowvhost'vh_directory_vc' ] . ctrl_options::GetSystemOption'openbase_seperator' ) . ctrl_options::GetSystemOption'openbase_temp' ) . "\"" fs_filehandler::NewLine();
                    }
                }
                if ( 
ctrl_options::GetSystemOption'use_suhosin' ) == "true" ) {
                    if ( 
$rowvhost'vh_suhosin_in' ] <> ) {
                        
$line .= ctrl_options::GetSystemOption'suhosin_value' ) . fs_filehandler::NewLine();
                    }
                }
                
// Logs
                
if ( !is_dirctrl_options::GetSystemOption'log_dir' ) . "domains/" $vhostuser'username' ] . "/" ) ) {
                    
fs_director::CreateDirectoryctrl_options::GetSystemOption'log_dir' ) . "domains/" $vhostuser'username' ] . "/" );
                }
                
$line .= "ErrorLog \"" ctrl_options::GetSystemOption'log_dir' ) . "domains/" $vhostuser'username' ] . "/" $rowvhost'vh_name_vc' ] . "-error.log\" " fs_filehandler::NewLine();
                
$line .= "CustomLog \"" ctrl_options::GetSystemOption'log_dir' ) . "domains/" $vhostuser'username' ] . "/" $rowvhost'vh_name_vc' ] . "-access.log\" " ctrl_options::GetSystemOption'access_log_format' ) . fs_filehandler::NewLine();
                
$line .= "CustomLog \"" ctrl_options::GetSystemOption'log_dir' ) . "domains/" $vhostuser'username' ] . "/" $rowvhost'vh_name_vc' ] . "-bandwidth.log\" " ctrl_options::GetSystemOption'bandwidth_log_format' ) . fs_filehandler::NewLine();

                
// Directory options
                
$line .= "<Directory />" fs_filehandler::NewLine();
                
$line .= "Options FollowSymLinks Indexes" fs_filehandler::NewLine();
                
$line .= "AllowOverride All" fs_filehandler::NewLine();
                
$line .= "Order Allow,Deny" fs_filehandler::NewLine();
                
$line .= "Allow from all" fs_filehandler::NewLine();
                
$line .= "</Directory>" fs_filehandler::NewLine();

                
// Get Package php and cgi enabled options
                
$rows        $zdbh->prepare"SELECT * FROM x_packages WHERE pk_id_pk=:packageid AND pk_deleted_ts IS NULL" );
                
$rows->bindParam':packageid'$vhostuser'packageid' ] );
                
$rows->execute();
                
$packageinfo $rows->fetch();
                if ( 
$packageinfo'pk_enablephp_in' ] <> ) {
                    
$line .= ctrl_options::GetSystemOption'php_handler' ) . fs_filehandler::NewLine();
                }
                if ( 
$packageinfo'pk_enablecgi_in' ] <> ) {
                    
$line .= ctrl_options::GetSystemOption'cgi_handler' ) . fs_filehandler::NewLine();
                    if ( !
is_dirctrl_options::GetSystemOption'hosted_dir' ) . $vhostuser'username' ] . "/public_html" $rowvhost'vh_directory_vc' ] . "/_cgi-bin" ) ) {
                        
fs_director::CreateDirectoryctrl_options::GetSystemOption'hosted_dir' ) . $vhostuser'username' ] . "/public_html" $rowvhost'vh_directory_vc' ] . "/_cgi-bin" );
                    }
                }

                
// Error documents:- Error pages are added automatically if they are found in the _errorpages directory
                // and if they are a valid error code, and saved in the proper format, i.e. <error_number>.html
                
$errorpages ctrl_options::GetSystemOption'hosted_dir' ) . $vhostuser'username' ] . "/public_html" $rowvhost'vh_directory_vc' ] . "/_errorpages";
                if ( 
is_dir$errorpages ) ) {
                    if ( 
$handle opendir$errorpages ) ) {
                        while ( (
$file readdir$handle )) !== false ) {
                            if ( 
$file != "." && $file != ".." ) {
                                
$page explode"."$file );
                                if ( !
fs_director::CheckForEmptyValueCheckErrorDocument$page] ) ) ) {
                                    
$line .= "ErrorDocument " $page] . " /_errorpages/" $page] . ".html" fs_filehandler::NewLine();
                                }
                            }
                        }
                        
closedir$handle );
                    }
                }

                
// Directory indexes
                
$line .= ctrl_options::GetSystemOption'dir_index' ) . fs_filehandler::NewLine();

                
// Global custom global vh entry
                
$line .= "# Custom Global Settings (if any exist)" fs_filehandler::NewLine();
                
$line .= ctrl_options::GetSystemOption'global_vhcustom' ) . fs_filehandler::NewLine();

                
// Client custom vh entry
                
$line .= "# Custom VH settings (if any exist)" fs_filehandler::NewLine();
                
$line .= $rowvhost'vh_custom_tx' ] . fs_filehandler::NewLine();

                
// End Virtual Host Settings
                
$line .= "</virtualhost>" fs_filehandler::NewLine();
                
$line .= "# END DOMAIN: " $rowvhost'vh_name_vc' ] . fs_filehandler::NewLine();
                
$line .= "################################################################" fs_filehandler::NewLine();
                
$line .= fs_filehandler::NewLine();
                if ( 
$rowvhost'vh_portforward_in' ] <> ) {
                    
$line .= BuildVhostPortForward$rowvhost'vh_name_vc' ], $vhostPort$useremail );
                }
                
$line .= fs_filehandler::NewLine();
            }

            
/*
             * ##################################################
             * #
             * # Disabled domain
             * #
             * ##################################################
             */
        
}
        else {
            
//Domain is NOT enabled
            
$line .= "# DOMAIN: " $rowvhost'vh_name_vc' ] . fs_filehandler::NewLine();
            
$line .= "# THIS DOMAIN HAS BEEN DISABLED" fs_filehandler::NewLine();
            
$line .= "<virtualhost " $vhostIp ":" $vhostPort ">" fs_filehandler::NewLine();
            
$line .= "ServerName " $rowvhost'vh_name_vc' ] . fs_filehandler::NewLine();
            
$line .= "ServerAlias " $rowvhost'vh_name_vc' ] . " www." $rowvhost'vh_name_vc' ] . fs_filehandler::NewLine();
            
$line .= "ServerAdmin " $useremail fs_filehandler::NewLine();
            
$line .= "DocumentRoot \"" ctrl_options::GetSystemOption'static_dir' ) . "disabled\"" fs_filehandler::NewLine();
            
$line .= "<Directory />" fs_filehandler::NewLine();
            
$line .= "Options FollowSymLinks Indexes" fs_filehandler::NewLine();
            
$line .= "AllowOverride All" fs_filehandler::NewLine();
            
$line .= "Order Allow,Deny" fs_filehandler::NewLine();
            
$line .= "Allow from all" fs_filehandler::NewLine();
            
$line .= "</Directory>" fs_filehandler::NewLine();
            
$line .= ctrl_options::GetSystemOption'dir_index' ) . fs_filehandler::NewLine();
            
$line .= "</virtualhost>" fs_filehandler::NewLine();
            
$line .= "# END DOMAIN: " $rowvhost'vh_name_vc' ] . fs_filehandler::NewLine();
            
$line .= "################################################################" fs_filehandler::NewLine();
        }
    }

    
/*
     * ##############################################################################################################
     * #
     * # Write vhost file to disk
     * #
     * ##############################################################################################################
     */

    // write the vhost config file
    
$vhconfigfile ctrl_options::GetSystemOption'apache_vhost' );
    if ( 
fs_filehandler::UpdateFile$vhconfigfile0777$line ) ) {
        
// Reset Apache settings to reflect that config file has been written, until the next change.
        
$time time();
        
$vsql $zdbh->prepare"UPDATE x_settings
                                    SET so_value_tx=:time
                                    WHERE so_name_vc='apache_changed'" 
);
        
$vsql->bindParam':time'$time );
        
$vsql->execute();
        echo 
"Finished writting Apache Config... Now reloading Apache..." fs_filehandler::NewLine();
        
        
$returnValue 0;

        if (
sys_versions::ShowOSPlatformVersion() == "Windows") {
            
system("" ctrl_options::GetSystemOption('httpd_exe') . " " ctrl_options::GetSystemOption('apache_restart') . ""$returnValue);
        } else {
            
$command ctrl_options::GetSystemOption'zsudo' );
            
$args = array(
                
"service",
                
ctrl_options::GetSystemOption'apache_sn' ),
                
ctrl_options::GetSystemOption'apache_restart' )
            );
            
$returnValue ctrl_system::systemCommand$command$args );
        }
        
        echo 
"Apache reload " . ((=== $returnValue ) ? "suceeded" "failed") . "." fs_filehandler::NewLine();

    } else {
        return 
false;
    }
}

function 
CheckErrorDocument$error )
{
    
$errordocs = array( 100101102200201202203204205206207,
        
300301302303304305306307400401402,
        
403404405406407408409410411412413,
        
414415416417418419420421422423424,
        
425426500501502503504505506507508,
        
509510 );
    if ( 
in_array$error$errordocs ) ) {
        return 
true;
    }
    else {
        return 
false;
    }
}

function 
BackupVhostConfigFile()
{
    echo 
"Apache VHost backups are enabled... Backing up current vhost.conf to: " ctrl_options::GetSystemOption'apache_budir' ) . fs_filehandler::NewLine();
    if ( !
is_dirctrl_options::GetSystemOption'apache_budir' ) ) ) {
        
fs_director::CreateDirectoryctrl_options::GetSystemOption'apache_budir' ) );
    }
    
copyctrl_options::GetSystemOption'apache_vhost' ), ctrl_options::GetSystemOption'apache_budir' ) . "VHOST_BACKUP_" time() . "" );
    
fs_director::SetFileSystemPermissionsctrl_options::GetSystemOption'apache_budir' ) . ctrl_options::GetSystemOption'apache_vhost' ) . ".BU"0777 );
    if ( 
ctrl_options::GetSystemOption'apache_purgebu' ) == strtolower"true" ) ) {
        echo 
"Apache VHost purges are enabled... Purging backups older than: " ctrl_options::GetSystemOption'apache_purge_date' ) . " days..." fs_filehandler::NewLine();
        echo 
"[FILE][PURGE_DATE][FILE_DATE][ACTION]" fs_filehandler::NewLine();
        
$purge_date ctrl_options::GetSystemOption'apache_purge_date' );
        if ( 
$handle     = @opendirctrl_options::GetSystemOption'apache_budir' ) ) ) {
            while ( 
false !== ($file readdir$handle )) ) {
                if ( 
$file != "." && $file != ".." ) {
                    
$filetime = @filemtimectrl_options::GetSystemOption'apache_budir' ) . $file );
                    if ( 
$filetime == NULL ) {
                        
$filetime = @filemtimeutf8_decodectrl_options::GetSystemOption'apache_budir' ) . $file ) );
                    }
                    
$filetime floor( (time() - $filetime) / 86400 );
                    echo 
"" $file " - " $purge_date " - " $filetime "";
                    if ( 
$purge_date $filetime ) {
                        
//delete the file
                        
echo " - Deleting file..." fs_filehandler::NewLine();
                        
unlinkctrl_options::GetSystemOption'apache_budir' ) . $file );
                    }
                    else {
                        echo 
" - Skipping file..." fs_filehandler::NewLine();
                    }
                }
            }
        }
        echo 
"Purging old backups complete..." fs_filehandler::NewLine();
    }
    echo 
"Apache backups complete..." fs_filehandler::NewLine();
}

function 
TriggerApacheQuotaUsage()
{
    global 
$zdbh;
    global 
$controller;
    
$sql      $zdbh->prepare"SELECT * FROM x_vhosts WHERE vh_deleted_ts IS NULL" );
    
$sql->execute();
    while ( 
$rowvhost $sql->fetch() ) {
        if ( 
$rowvhost'vh_enabled_in' ] == && ctrl_users::CheckUserEnabled$rowvhost'vh_acc_fk' ] ) ||
            
$rowvhost'vh_enabled_in' ] == && ctrl_options::GetSystemOption'apache_allow_disabled' ) == strtolower"true" ) ) {

            
//$checksize = $zdbh->query("SELECT * FROM x_bandwidth WHERE bd_month_in = " . date("Ym") . " AND bd_acc_fk = " . $rowvhost['vh_acc_fk'] . "")->fetch();

            
$date      date"Ym" );
            
$findsize  $zdbh->prepare"SELECT * FROM x_bandwidth WHERE bd_month_in = :date AND bd_acc_fk = :acc" );
            
$findsize->bindParam':date'$date );
            
$findsize->bindParam':acc'$rowvhost'vh_acc_fk' ] );
            
$findsize->execute();
            
$checksize $findsize->fetch();

            
$currentuser ctrl_users::GetUserDetail$rowvhost'vh_acc_fk' ] );
            if ( 
$checksize'bd_diskover_in' ] != $checksize'bd_diskcheck_in' ] && $checksize'bd_diskover_in' ] == ) {
                echo 
"Disk usage over quota, triggering Apache..." fs_filehandler::NewLine();
                
$updateapache $zdbh->prepare"UPDATE x_settings SET so_value_tx = 'true' WHERE so_name_vc ='apache_changed'" );
                
$updateapache->execute();

                
//$updateapache = $zdbh->query("UPDATE x_bandwidth SET bd_diskcheck_in = 1 WHERE bd_acc_fk =" . $rowvhost['vh_acc_fk'] . "");
                
$updateapache2 $zdbh->prepare"UPDATE x_bandwidth SET bd_diskcheck_in = 1 WHERE bd_acc_fk = :acc" );
                
$updateapache2->bindParam':acc'$rowvhost'vh_acc_fk' ] );
                
$updateapache2->execute();
            }
            if ( 
$checksize'bd_diskover_in' ] != $checksize'bd_diskcheck_in' ] && $checksize'bd_diskover_in' ] == ) {
                echo 
"Disk usage under quota, triggering Apache..." fs_filehandler::NewLine();
                
$updateapache $zdbh->prepare"UPDATE x_settings SET so_value_tx = 'true' WHERE so_name_vc ='apache_changed'" );
                
$updateapache->execute();

                
//$updateapache = $zdbh->query("UPDATE x_bandwidth SET bd_diskcheck_in = 0 WHERE bd_acc_fk =" . $rowvhost['vh_acc_fk'] . "");
                
$updateapache2 $zdbh->prepare"UPDATE x_bandwidth SET bd_diskcheck_in = 0 WHERE bd_acc_fk = :acc" );
                
$updateapache2->bindParam':acc'$rowvhost'vh_acc_fk' ] );
                
$updateapache2->execute();
            }
            if ( 
$checksize'bd_transover_in' ] != $checksize'bd_transcheck_in' ] && $checksize'bd_transover_in' ] == ) {
                echo 
"Bandwidth usage over quota, triggering Apache..." fs_filehandler::NewLine();
                
$updateapache $zdbh->prepare"UPDATE x_settings SET so_value_tx = 'true' WHERE so_name_vc ='apache_changed'" );
                
$updateapache->execute();

                
//$updateapache = $zdbh->query("UPDATE x_bandwidth SET bd_transcheck_in = 1 WHERE bd_acc_fk =" . $rowvhost['vh_acc_fk'] . "");
                
$updateapache2 $zdbh->prepare"UPDATE x_bandwidth SET bd_transcheck_in = 1 WHERE bd_acc_fk = :acc" );
                
$updateapache2->bindParam':acc'$rowvhost'vh_acc_fk' ] );
                
$updateapache2->execute();
            }
            if ( 
$checksize'bd_transover_in' ] != $checksize'bd_transcheck_in' ] && $checksize'bd_transover_in' ] == ) {
                echo 
"Bandwidth usage under quota, triggering Apache..." fs_filehandler::NewLine();
                
$updateapache $zdbh->prepare"UPDATE x_settings SET so_value_tx = 'true' WHERE so_name_vc ='apache_changed'" );
                
$updateapache->execute();

                
//$updateapache = $zdbh->query("UPDATE x_bandwidth SET bd_transcheck_in = 0 WHERE bd_acc_fk =" . $rowvhost['vh_acc_fk'] . "");
                
$updateapache2 $zdbh->prepare"UPDATE x_bandwidth SET bd_transcheck_in = 0 WHERE bd_acc_fk = :acc" );
                
$updateapache2->bindParam':acc'$rowvhost'vh_acc_fk' ] );
                
$updateapache2->execute();
            }
        }
    }
}

?>
-TGates - Project Council

SEARCH the Forums or read the DOCUMENTATION before posting!
Support Sentora and Donate: HERE

Find my support or modules useful? Donate to TGates HERE
Developers and code testers needed!
Contact TGates for more information
Reply
Thanks given by:
#3
RE: httpd-vhosts.conf not properly made
(08-13-2014, 04:32 AM)TGates Wrote: NameVirtualHosts is deprecated and no longer required.
Quote:The NameVirtualHost directive no longer has any effect, other than to emit a warning. Any address/port combination appearing in multiple virtual hosts is implicitly treated as a name-based virtual host.
http://httpd.apache.org/docs/2.4/mod/cor...irtualhost

oke, but i am not yet running 2.4 on a fresh install:
Code:
[root@demo ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)
[root@demo ~]# httpd -v
Server version: Apache/2.2.15 (Unix)
Server built:   Jul 23 2014 14:15:00

My Sentora DemoMy GithubAuxio Github
Zentora themeS-Type themeCstyleX theme
flat-color-iconssmall-n-flat-icons

Sentora's development takes way too long, so i'm transitioning to HestiaCP.
Reply
Thanks given by:
#4
RE: httpd-vhosts.conf not properly made
It should work just fine. Make a backup just in case Wink
-TGates - Project Council

SEARCH the Forums or read the DOCUMENTATION before posting!
Support Sentora and Donate: HERE

Find my support or modules useful? Donate to TGates HERE
Developers and code testers needed!
Contact TGates for more information
Reply
Thanks given by:


Possibly Related Threads…
Thread Author Replies Views Last Post
Site Not Updating changes made in The HTML file me7leelee 4 7 ,968 05-20-2020, 06:29 PM
Last Post: 5050
what files edit /etc/sentora/configs/apache/httpd-vhosts.conf mungujakisa 11 24 ,139 08-21-2018, 10:11 AM
Last Post: TGates
Important HTTPD not starting timce2000 4 9 ,886 03-17-2018, 06:43 AM
Last Post: TGates

Forum Jump:


Users browsing this thread: 1 Guest(s)