Skip to content
GitLab
Projects
Groups
Topics
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Register
Sign in
Toggle navigation
Menu
Dirk Dankhoff
ISPConfig 3
Commits
838c874d
Commit
838c874d
authored
Mar 04, 2009
by
tbrehm
Browse files
- Added more redirect options.
- Made jailkit programs configurable per linux distribution in the installer.
parent
42b3854f
Changes
11
Hide whitespace changes
Inline
Side-by-side
install/dist/conf/centos52.conf.php
View file @
838c874d
...
...
@@ -137,5 +137,6 @@ $conf['jailkit']['installed'] = false; // will be detected automatically during
$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'
;
?>
\ No newline at end of file
install/dist/conf/debian40.conf.php
View file @
838c874d
...
...
@@ -137,5 +137,7 @@ $conf['jailkit']['installed'] = false; // will be detected automatically during
$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'
;
?>
\ No newline at end of file
install/dist/conf/fedora9.conf.php
View file @
838c874d
...
...
@@ -137,5 +137,7 @@ $conf['jailkit']['installed'] = false; // will be detected automatically during
$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'
;
?>
\ No newline at end of file
install/dist/conf/gentoo.conf.php
View file @
838c874d
...
...
@@ -95,5 +95,7 @@ $dist['mydns']['init_script'] = 'mydns';
$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'
;
?>
\ No newline at end of file
install/dist/conf/opensuse110.conf.php
View file @
838c874d
...
...
@@ -137,5 +137,7 @@ $conf['jailkit']['installed'] = false; // will be detected automatically during
$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'
;
?>
\ No newline at end of file
install/lib/installer_base.lib.php
View file @
838c874d
...
...
@@ -202,6 +202,8 @@ class installer_base {
// 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
);
...
...
@@ -908,6 +910,12 @@ class installer_base {
$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'
)
{
...
...
interface/web/sites/form/web_aliasdomain.tform.php
View file @
838c874d
<?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
##################################
)
);
?>
\ No newline at end of file
interface/web/sites/form/web_domain.tform.php
View file @
838c874d
...
...
@@ -221,7 +221,7 @@ $form["tabs"]['redirect'] = array (
'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'
,
...
...
interface/web/sites/form/web_subdomain.tform.php
View file @
838c874d
...
...
@@ -106,7 +106,7 @@ $form["tabs"]['domain'] = array (
'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'
,
...
...
server/conf/vhost.conf.master
View file @
838c874d
...
...
@@ -124,7 +124,7 @@
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>
...
...
server/plugins-available/apache2_plugin.inc.php
View file @
838c874d
...
...
@@ -472,13 +472,13 @@ class apache2_plugin {
$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
'*'
:
...
...
@@ -517,12 +517,12 @@ class apache2_plugin {
// 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
'*'
:
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment