- Added more redirect options.
- Made jailkit programs configurable per linux distribution in the installer.
| | |
| | | $conf['jailkit']['config_dir'] = '/etc/jailkit'; |
| | | $conf['jailkit']['jk_init'] = 'jk_init.ini'; |
| | | $conf['jailkit']['jk_chrootsh'] = 'jk_chrootsh.ini'; |
| | | $conf['jailkit']['jailkit_chroot_app_programs'] = '/usr/bin/groups /usr/bin/id /usr/bin/dircolors /bin/basename /usr/bin/dirname /usr/bin/nano'; |
| | | |
| | | ?> |
| | |
| | | $conf['jailkit']['config_dir'] = '/etc/jailkit'; |
| | | $conf['jailkit']['jk_init'] = 'jk_init.ini'; |
| | | $conf['jailkit']['jk_chrootsh'] = 'jk_chrootsh.ini'; |
| | | $conf['jailkit']['jailkit_chroot_app_programs'] = '/usr/bin/groups /usr/bin/id /usr/bin/dircolors /usr/bin/lesspipe /usr/bin/basename /usr/bin/dirname /usr/bin/nano /usr/bin/pico'; |
| | | |
| | | |
| | | ?> |
| | |
| | | $conf['jailkit']['config_dir'] = '/etc/jailkit'; |
| | | $conf['jailkit']['jk_init'] = 'jk_init.ini'; |
| | | $conf['jailkit']['jk_chrootsh'] = 'jk_chrootsh.ini'; |
| | | $conf['jailkit']['jailkit_chroot_app_programs'] = '/usr/bin/groups /usr/bin/id /usr/bin/dircolors /bin/basename /usr/bin/dirname /usr/bin/nano'; |
| | | |
| | | |
| | | ?> |
| | |
| | | $conf['jailkit']['config_dir'] = '/etc/jailkit'; |
| | | $conf['jailkit']['jk_init'] = 'jk_init.ini'; |
| | | $conf['jailkit']['jk_chrootsh'] = 'jk_chrootsh.ini'; |
| | | $conf['jailkit']['jailkit_chroot_app_programs'] = '/usr/bin/groups /usr/bin/id /usr/bin/dircolors /usr/bin/lesspipe /usr/bin/basename /usr/bin/dirname /usr/bin/nano /usr/bin/pico'; |
| | | |
| | | |
| | | ?> |
| | |
| | | $conf['jailkit']['config_dir'] = '/etc/jailkit'; |
| | | $conf['jailkit']['jk_init'] = 'jk_init.ini'; |
| | | $conf['jailkit']['jk_chrootsh'] = 'jk_chrootsh.ini'; |
| | | $conf['jailkit']['jailkit_chroot_app_programs'] = '/usr/bin/groups /usr/bin/id /usr/bin/dircolors /usr/bin/lesspipe /usr/bin/basename /usr/bin/dirname /usr/bin/nano /usr/bin/pico'; |
| | | |
| | | |
| | | ?> |
| | |
| | | // TODO: Update further distribution specific parameters for server config here |
| | | $tpl_ini_array['web']['vhost_conf_dir'] = $conf['apache']['vhost_conf_dir']; |
| | | $tpl_ini_array['web']['vhost_conf_enabled_dir'] = $conf['apache']['vhost_conf_enabled_dir']; |
| | | $tpl_ini_array['web']['jailkit_chroot_app_programs'] = $conf['jailkit']['jailkit_chroot_app_programs']; |
| | | |
| | | |
| | | $server_ini_content = array_to_ini($tpl_ini_array); |
| | | $server_ini_content = mysql_real_escape_string($server_ini_content); |
| | |
| | | $file_server_enabled = ($conf['services']['file'])?1:0; |
| | | $db_server_enabled = ($conf['services']['db'])?1:0; |
| | | $vserver_server_enabled = ($conf['services']['vserver'])?1:0; |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | $sql = "UPDATE `server` SET mail_server = '$mail_server_enabled', web_server = '$web_server_enabled', dns_server = '$dns_server_enabled', file_server = '$file_server_enabled', db_server = '$db_server_enabled', vserver_server = '$vserver_server_enabled' WHERE server_id = ".intval($conf['server_id']); |
| | | |
| | | if($conf['mysql']['master_slave_setup'] == 'y') { |
| | |
| | | <?php
|
| | |
|
| | | /*
|
| | | Form Definition
|
| | |
|
| | | Tabledefinition
|
| | |
|
| | | Datatypes:
|
| | | - INTEGER (Forces the input to Int)
|
| | | - DOUBLE
|
| | | - CURRENCY (Formats the values to currency notation)
|
| | | - VARCHAR (no format check, maxlength: 255)
|
| | | - TEXT (no format check)
|
| | | - DATE (Dateformat, automatic conversion to timestamps)
|
| | |
|
| | | Formtype:
|
| | | - TEXT (Textfield)
|
| | | - TEXTAREA (Textarea)
|
| | | - PASSWORD (Password textfield, input is not shown when edited)
|
| | | - SELECT (Select option field)
|
| | | - RADIO
|
| | | - CHECKBOX
|
| | | - CHECKBOXARRAY
|
| | | - FILE
|
| | |
|
| | | VALUE:
|
| | | - Wert oder Array
|
| | |
|
| | | Hint:
|
| | | The ID field of the database table is not part of the datafield definition.
|
| | | The ID field must be always auto incement (int or bigint).
|
| | |
|
| | |
|
| | | */
|
| | |
|
| | | $form["title"] = "Web Aliasdomain";
|
| | | $form["description"] = "";
|
| | | $form["name"] = "web_domain";
|
| | | $form["action"] = "web_aliasdomain_edit.php";
|
| | | $form["db_table"] = "web_domain";
|
| | | $form["db_table_idx"] = "domain_id";
|
| | | $form["db_history"] = "yes";
|
| | | $form["tab_default"] = "domain";
|
| | | $form["list_default"] = "web_aliasdomain_list.php";
|
| | | $form["auth"] = 'yes'; // yes / no
|
| | |
|
| | | $form["auth_preset"]["userid"] = 0; // 0 = id of the user, > 0 id must match with id of current user
|
| | | $form["auth_preset"]["groupid"] = 0; // 0 = default groupid of the user, > 0 id must match with groupid of current user
|
| | | $form["auth_preset"]["perm_user"] = 'riud'; //r = read, i = insert, u = update, d = delete
|
| | | $form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete
|
| | | $form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete
|
| | |
|
| | | $form["tabs"]['domain'] = array (
|
| | | 'title' => "Domain",
|
| | | 'width' => 100,
|
| | | 'template' => "templates/web_aliasdomain_edit.htm",
|
| | | 'fields' => array (
|
| | | ##################################
|
| | | # Begin Datatable fields
|
| | | ##################################
|
| | | 'server_id' => array (
|
| | | 'datatype' => 'INTEGER',
|
| | | 'formtype' => 'SELECT',
|
| | | 'default' => '',
|
| | | 'datasource' => array ( 'type' => 'SQL',
|
| | | 'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
|
| | | 'keyfield'=> 'server_id',
|
| | | 'valuefield'=> 'server_name'
|
| | | ),
|
| | | 'value' => ''
|
| | | ),
|
| | | 'domain' => array (
|
| | | 'datatype' => 'VARCHAR',
|
| | | 'formtype' => 'TEXT',
|
| | | 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
|
| | | 'errmsg'=> 'domain_error_empty'),
|
| | | 1 => array ( 'type' => 'UNIQUE',
|
| | | 'errmsg'=> 'domain_error_unique'),
|
| | | 2 => array ( 'type' => 'REGEX',
|
| | | 'regex' => '/^[\w\.\-]{2,64}\.[a-zA-Z]{2,10}$/',
|
| | | 'errmsg'=> 'domain_error_regex'),
|
| | | ),
|
| | | 'default' => '',
|
| | | 'value' => '',
|
| | | 'width' => '30',
|
| | | 'maxlength' => '255'
|
| | | ),
|
| | | 'type' => array (
|
| | | 'datatype' => 'VARCHAR',
|
| | | 'formtype' => 'SELECT',
|
| | | 'default' => 'y',
|
| | | 'value' => array('vhost' => 'Site', 'alias' => 'Alias', 'subdomain' => 'Subdomain')
|
| | | ),
|
| | | 'parent_domain_id' => array (
|
| | | 'datatype' => 'INTEGER',
|
| | | 'formtype' => 'SELECT',
|
| | | 'default' => '',
|
| | | 'datasource' => array ( 'type' => 'SQL',
|
| | | 'querystring' => "SELECT domain_id,domain FROM web_domain WHERE type = 'vhost' AND {AUTHSQL} ORDER BY domain",
|
| | | 'keyfield'=> 'domain_id',
|
| | | 'valuefield'=> 'domain'
|
| | | ),
|
| | | 'value' => ''
|
| | | ),
|
| | | 'redirect_type' => array (
|
| | | 'datatype' => 'VARCHAR',
|
| | | 'formtype' => 'SELECT',
|
| | | 'default' => 'y',
|
| | | 'value' => array('' => 'No redirect', 'R' => 'R', 'L' => 'L')
|
| | | ),
|
| | | 'redirect_path' => array (
|
| | | 'datatype' => 'VARCHAR',
|
| | | 'formtype' => 'TEXT',
|
| | | 'default' => '',
|
| | | 'value' => '',
|
| | | 'width' => '30',
|
| | | 'maxlength' => '255'
|
| | | ),
|
| | | 'subdomain' => array (
|
| | | 'datatype' => 'VARCHAR',
|
| | | 'formtype' => 'SELECT',
|
| | | 'default' => 'y',
|
| | | 'value' => array('none' => 'none', 'www' => 'www.', '*' => '*.')
|
| | | ),
|
| | | 'active' => array (
|
| | | 'datatype' => 'VARCHAR',
|
| | | 'formtype' => 'CHECKBOX',
|
| | | 'default' => 'y',
|
| | | 'value' => array(0 => 'n',1 => 'y')
|
| | | ),
|
| | | ##################################
|
| | | # ENDE Datatable fields
|
| | | ##################################
|
| | | )
|
| | | );
|
| | |
|
| | |
|
| | | <?php |
| | | |
| | | /* |
| | | Form Definition |
| | | |
| | | Tabledefinition |
| | | |
| | | Datatypes: |
| | | - INTEGER (Forces the input to Int) |
| | | - DOUBLE |
| | | - CURRENCY (Formats the values to currency notation) |
| | | - VARCHAR (no format check, maxlength: 255) |
| | | - TEXT (no format check) |
| | | - DATE (Dateformat, automatic conversion to timestamps) |
| | | |
| | | Formtype: |
| | | - TEXT (Textfield) |
| | | - TEXTAREA (Textarea) |
| | | - PASSWORD (Password textfield, input is not shown when edited) |
| | | - SELECT (Select option field) |
| | | - RADIO |
| | | - CHECKBOX |
| | | - CHECKBOXARRAY |
| | | - FILE |
| | | |
| | | VALUE: |
| | | - Wert oder Array |
| | | |
| | | Hint: |
| | | The ID field of the database table is not part of the datafield definition. |
| | | The ID field must be always auto incement (int or bigint). |
| | | |
| | | |
| | | */ |
| | | |
| | | $form["title"] = "Web Aliasdomain"; |
| | | $form["description"] = ""; |
| | | $form["name"] = "web_domain"; |
| | | $form["action"] = "web_aliasdomain_edit.php"; |
| | | $form["db_table"] = "web_domain"; |
| | | $form["db_table_idx"] = "domain_id"; |
| | | $form["db_history"] = "yes"; |
| | | $form["tab_default"] = "domain"; |
| | | $form["list_default"] = "web_aliasdomain_list.php"; |
| | | $form["auth"] = 'yes'; // yes / no |
| | | |
| | | $form["auth_preset"]["userid"] = 0; // 0 = id of the user, > 0 id must match with id of current user |
| | | $form["auth_preset"]["groupid"] = 0; // 0 = default groupid of the user, > 0 id must match with groupid of current user |
| | | $form["auth_preset"]["perm_user"] = 'riud'; //r = read, i = insert, u = update, d = delete |
| | | $form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete |
| | | $form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete |
| | | |
| | | $form["tabs"]['domain'] = array ( |
| | | 'title' => "Domain", |
| | | 'width' => 100, |
| | | 'template' => "templates/web_aliasdomain_edit.htm", |
| | | 'fields' => array ( |
| | | ################################## |
| | | # Begin Datatable fields |
| | | ################################## |
| | | 'server_id' => array ( |
| | | 'datatype' => 'INTEGER', |
| | | 'formtype' => 'SELECT', |
| | | 'default' => '', |
| | | 'datasource' => array ( 'type' => 'SQL', |
| | | 'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name', |
| | | 'keyfield'=> 'server_id', |
| | | 'valuefield'=> 'server_name' |
| | | ), |
| | | 'value' => '' |
| | | ), |
| | | 'domain' => array ( |
| | | 'datatype' => 'VARCHAR', |
| | | 'formtype' => 'TEXT', |
| | | 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY', |
| | | 'errmsg'=> 'domain_error_empty'), |
| | | 1 => array ( 'type' => 'UNIQUE', |
| | | 'errmsg'=> 'domain_error_unique'), |
| | | 2 => array ( 'type' => 'REGEX', |
| | | 'regex' => '/^[\w\.\-]{2,64}\.[a-zA-Z]{2,10}$/', |
| | | 'errmsg'=> 'domain_error_regex'), |
| | | ), |
| | | 'default' => '', |
| | | 'value' => '', |
| | | 'width' => '30', |
| | | 'maxlength' => '255' |
| | | ), |
| | | 'type' => array ( |
| | | 'datatype' => 'VARCHAR', |
| | | 'formtype' => 'SELECT', |
| | | 'default' => 'y', |
| | | 'value' => array('vhost' => 'Site', 'alias' => 'Alias', 'subdomain' => 'Subdomain') |
| | | ), |
| | | 'parent_domain_id' => array ( |
| | | 'datatype' => 'INTEGER', |
| | | 'formtype' => 'SELECT', |
| | | 'default' => '', |
| | | 'datasource' => array ( 'type' => 'SQL', |
| | | 'querystring' => "SELECT domain_id,domain FROM web_domain WHERE type = 'vhost' AND {AUTHSQL} ORDER BY domain", |
| | | 'keyfield'=> 'domain_id', |
| | | 'valuefield'=> 'domain' |
| | | ), |
| | | 'value' => '' |
| | | ), |
| | | 'redirect_type' => array ( |
| | | 'datatype' => 'VARCHAR', |
| | | 'formtype' => 'SELECT', |
| | | 'default' => 'y', |
| | | 'value' => array('' => 'No redirect', 'no' => 'No flag', 'R' => 'R', 'L' => 'L', 'R,L' => 'R,L') |
| | | ), |
| | | 'redirect_path' => array ( |
| | | 'datatype' => 'VARCHAR', |
| | | 'formtype' => 'TEXT', |
| | | 'default' => '', |
| | | 'value' => '', |
| | | 'width' => '30', |
| | | 'maxlength' => '255' |
| | | ), |
| | | 'subdomain' => array ( |
| | | 'datatype' => 'VARCHAR', |
| | | 'formtype' => 'SELECT', |
| | | 'default' => 'y', |
| | | 'value' => array('none' => 'none', 'www' => 'www.', '*' => '*.') |
| | | ), |
| | | 'active' => array ( |
| | | 'datatype' => 'VARCHAR', |
| | | 'formtype' => 'CHECKBOX', |
| | | 'default' => 'y', |
| | | 'value' => array(0 => 'n',1 => 'y') |
| | | ), |
| | | ################################## |
| | | # ENDE Datatable fields |
| | | ################################## |
| | | ) |
| | | ); |
| | | |
| | | |
| | | ?> |
| | |
| | | 'datatype' => 'VARCHAR', |
| | | 'formtype' => 'SELECT', |
| | | 'default' => '', |
| | | 'value' => array('' => 'No redirect', 'R' => 'R', 'L' => 'L') |
| | | 'value' => array('' => 'No redirect', 'no' => 'No flag', 'R' => 'R', 'L' => 'L', 'R,L' => 'R,L') |
| | | ), |
| | | 'redirect_path' => array ( |
| | | 'datatype' => 'VARCHAR', |
| | |
| | | 'datatype' => 'VARCHAR', |
| | | 'formtype' => 'SELECT', |
| | | 'default' => 'y', |
| | | 'value' => array('' => 'No redirect', 'R' => 'R', 'L' => 'L') |
| | | 'value' => array('' => 'No redirect', 'no' => 'No flag', 'R' => 'R', 'L' => 'L', 'R,L' => 'R,L') |
| | | ), |
| | | 'redirect_path' => array ( |
| | | 'datatype' => 'VARCHAR', |
| | |
| | | RewriteEngine on |
| | | <tmpl_loop name="redirects"> |
| | | RewriteCond %{HTTP_HOST} ^<tmpl_var name='rewrite_domain'> [NC] |
| | | RewriteRule ^/(.*)$ <tmpl_var name='rewrite_target'>$1 [<tmpl_var name='rewrite_type'>] |
| | | RewriteRule ^/(.*)$ <tmpl_var name='rewrite_target'>$1 <tmpl_var name='rewrite_type'> |
| | | </tmpl_loop> |
| | | </tmpl_if> |
| | | |
| | |
| | | $rewrite_rules = array(); |
| | | if($data["new"]["redirect_type"] != '') { |
| | | $rewrite_rules[] = array( 'rewrite_domain' => $data["new"]["domain"], |
| | | 'rewrite_type' => $data["new"]["redirect_type"], |
| | | 'rewrite_type' => ($data["new"]["redirect_type"] == 'no')?'':'['.$data["new"]["redirect_type"].']', |
| | | 'rewrite_target' => $data["new"]["redirect_path"]); |
| | | |
| | | switch($data["new"]["subdomain"]) { |
| | | case 'www': |
| | | $rewrite_rules[] = array( 'rewrite_domain' => 'www.'.$data["new"]["domain"], |
| | | 'rewrite_type' => $data["new"]["redirect_type"], |
| | | 'rewrite_type' => ($data["new"]["redirect_type"] == 'no')?'':'['.$data["new"]["redirect_type"].']', |
| | | 'rewrite_target' => $data["new"]["redirect_path"]); |
| | | break; |
| | | case '*': |
| | |
| | | // Rewriting |
| | | if($alias["redirect_type"] != '') { |
| | | $rewrite_rules[] = array( 'rewrite_domain' => $alias["domain"], |
| | | 'rewrite_type' => $alias["redirect_type"], |
| | | 'rewrite_type' => ($alias["redirect_type"] == 'no')?'':'['.$alias["redirect_type"].']', |
| | | 'rewrite_target' => $alias["redirect_path"]); |
| | | switch($alias["subdomain"]) { |
| | | case 'www': |
| | | $rewrite_rules[] = array( 'rewrite_domain' => 'www.'.$alias["domain"], |
| | | 'rewrite_type' => $alias["redirect_type"], |
| | | 'rewrite_type' => ($alias["redirect_type"] == 'no')?'':'['.$alias["redirect_type"].']', |
| | | 'rewrite_target' => $alias["redirect_path"]); |
| | | break; |
| | | case '*': |