diff --git a/interface/lib/classes/remote.d/sites.inc.php b/interface/lib/classes/remote.d/sites.inc.php
index 19958010bec883d1207ef08b50522bf99b4fd64a..018d00c8aed8777c6cd71434f198bb65342f58c4 100644
--- a/interface/lib/classes/remote.d/sites.inc.php
+++ b/interface/lib/classes/remote.d/sites.inc.php
@@ -450,12 +450,81 @@ class remoting_sites extends remoting {
 
 	// ----------------------------------------------------------------------------------------------------------
 
+	//* Get record details
+	public function sites_web_vhost_aliasdomain_get($session_id, $primary_id)
+	{
+		global $app;
+
+		if(!$this->checkPerm($session_id, 'sites_web_vhost_aliasdomain_get')) {
+			throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.');
+			return false;
+		}
+		$app->uses('remoting_lib');
+		$app->remoting_lib->loadFormDef('../sites/form/web_vhost_aliasdomain.tform.php');
+		return $app->remoting_lib->getDataRecord($primary_id);
+	}
+
+	//* Add a record
+	public function sites_web_vhost_aliasdomain_add($session_id, $client_id, $params)
+	{
+		global $app;
+		if(!$this->checkPerm($session_id, 'sites_web_vhost_aliasdomain_add')) {
+			throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.');
+			return false;
+		}
+
+		//* Set a few params to "not empty" values which get overwritten by the sites_web_domain_plugin
+		if($params['document_root'] == '') $params['document_root'] = '-';
+		if($params['system_user'] == '') $params['system_user'] = '-';
+		if($params['system_group'] == '') $params['system_group'] = '-';
+
+		//* Set a few defaults for nginx servers
+		if($params['pm_max_children'] == '') $params['pm_max_children'] = 1;
+		if($params['pm_start_servers'] == '') $params['pm_start_servers'] = 1;
+		if($params['pm_min_spare_servers'] == '') $params['pm_min_spare_servers'] = 1;
+		if($params['pm_max_spare_servers'] == '') $params['pm_max_spare_servers'] = 1;
+
+		$domain_id = $this->insertQuery('../sites/form/web_vhost_aliasdomain.tform.php', $client_id, $params, 'sites:web_vhost_aliasdomain:on_after_insert');
+		return $domain_id;
+	}
+
+	//* Update a record
+	public function sites_web_vhost_aliasdomain_update($session_id, $client_id, $primary_id, $params)
+	{
+		if(!$this->checkPerm($session_id, 'sites_web_vhost_aliasdomain_update')) {
+			throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.');
+			return false;
+		}
+
+		//* Set a few defaults for nginx servers
+		if($params['pm_max_children'] == '') $params['pm_max_children'] = 1;
+		if($params['pm_start_servers'] == '') $params['pm_start_servers'] = 1;
+		if($params['pm_min_spare_servers'] == '') $params['pm_min_spare_servers'] = 1;
+		if($params['pm_max_spare_servers'] == '') $params['pm_max_spare_servers'] = 1;
+
+		$affected_rows = $this->updateQuery('../sites/form/web_vhost_aliasdomain.tform.php', $client_id, $primary_id, $params, 'sites:web_vhost_aliasdomain:on_after_insert');
+		return $affected_rows;
+	}
+
+	//* Delete a record
+	public function sites_web_vhost_aliasdomain_delete($session_id, $primary_id)
+	{
+		if(!$this->checkPerm($session_id, 'sites_web_vhost_aliasdomain_delete')) {
+			throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.');
+			return false;
+		}
+		$affected_rows = $this->deleteQuery('../sites/form/web_vhost_aliasdomain.tform.php', $primary_id);
+		return $affected_rows;
+	}
+
+	// ----------------------------------------------------------------------------------------------------------
+
 	//* Get record details
 	public function sites_web_vhost_subdomain_get($session_id, $primary_id)
 	{
 		global $app;
 
-		if(!$this->checkPerm($session_id, 'sites_web_subdomain_get')) {
+		if(!$this->checkPerm($session_id, 'sites_web_vhost_subdomain_get')) {
 			throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.');
 			return false;
 		}
@@ -468,7 +537,7 @@ class remoting_sites extends remoting {
 	public function sites_web_vhost_subdomain_add($session_id, $client_id, $params)
 	{
 		global $app;
-		if(!$this->checkPerm($session_id, 'sites_web_subdomain_add')) {
+		if(!$this->checkPerm($session_id, 'sites_web_vhost_subdomain_add')) {
 			throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.');
 			return false;
 		}
@@ -491,7 +560,7 @@ class remoting_sites extends remoting {
 	//* Update a record
 	public function sites_web_vhost_subdomain_update($session_id, $client_id, $primary_id, $params)
 	{
-		if(!$this->checkPerm($session_id, 'sites_web_subdomain_update')) {
+		if(!$this->checkPerm($session_id, 'sites_web_vhost_subdomain_update')) {
 			throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.');
 			return false;
 		}
@@ -509,7 +578,7 @@ class remoting_sites extends remoting {
 	//* Delete a record
 	public function sites_web_vhost_subdomain_delete($session_id, $primary_id)
 	{
-		if(!$this->checkPerm($session_id, 'sites_web_subdomain_delete')) {
+		if(!$this->checkPerm($session_id, 'sites_web_vhost_subdomain_delete')) {
 			throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.');
 			return false;
 		}
diff --git a/interface/lib/plugins/sites_web_vhost_aliasdomain_plugin.inc.php b/interface/lib/plugins/sites_web_vhost_aliasdomain_plugin.inc.php
new file mode 100644
index 0000000000000000000000000000000000000000..c94db2a27d811b6a06158895aa9d9dd55119e625
--- /dev/null
+++ b/interface/lib/plugins/sites_web_vhost_aliasdomain_plugin.inc.php
@@ -0,0 +1,68 @@
+<?php
+/**
+ * sites_web_vhost_aliasdomain_plugin plugin
+ *
+ * @author Marius Cramer <m.cramer@pixcept.de> pixcept KG 2012, copied and adapted from web_domain plugin by:
+ * @author Julio Montoya <gugli100@gmail.com> BeezNest 2010
+ */
+
+
+class sites_web_vhost_aliasdomain_plugin {
+
+	var $plugin_name        = 'sites_web_vhost_aliasdomain_plugin';
+	var $class_name         = 'sites_web_vhost_aliasdomain_plugin';
+
+	// TODO: This function is a duplicate from the one in interface/web/sites/web_vhost_aliasdomain_edit.php
+	//       There should be a single "token replacement" function to be called from modules and
+	//  from the main code.
+	// Returna a "3/2/1" path hash from a numeric id '123'
+	function id_hash($id, $levels) {
+		$hash = "" . $id % 10 ;
+		$id /= 10 ;
+		$levels -- ;
+		while ( $levels > 0 ) {
+			$hash .= "/" . $id % 10 ;
+			$id /= 10 ;
+			$levels-- ;
+		}
+		return $hash;
+	}
+
+	/*
+            This function is called when the plugin is loaded
+    */
+	function onLoad() {
+		global $app;
+		//Register for the events
+		// both event call the same function as the things to do do not differ here
+		$app->plugin->registerEvent('sites:web_vhost_aliasdomain:on_after_insert', 'sites_web_vhost_aliasdomain_plugin', 'sites_web_vhost_aliasdomain_edit');
+		$app->plugin->registerEvent('sites:web_vhost_aliasdomain:on_after_update', 'sites_web_vhost_aliasdomain_plugin', 'sites_web_vhost_aliasdomain_edit');
+	}
+
+	/*
+		Function to create the sites_web_vhost_aliasdomain rule and insert it into the custom rules
+    */
+	function sites_web_vhost_aliasdomain_edit($event_name, $page_form) {
+		global $app, $conf;
+
+		// Get configuration for the web system
+		$app->uses("getconf");
+		$web_config = $app->getconf->get_server_config($app->functions->intval($page_form->dataRecord['server_id']), 'web');
+
+		$parent_domain = $app->db->queryOneRecord("SELECT * FROM `web_domain` WHERE `domain_id` = '" . $app->functions->intval($page_form->dataRecord['parent_domain_id']) . "'");
+
+		// Set the values for document_root, system_user and system_group
+		$system_user = $app->db->quote($parent_domain['system_user']);
+		$system_group = $app->db->quote($parent_domain['system_group']);
+		$document_root = $app->db->quote($parent_domain['document_root']);
+		$php_open_basedir = str_replace("[website_path]/web", $document_root.'/'.$page_form->dataRecord['web_folder'], $web_config["php_open_basedir"]);
+		$php_open_basedir = str_replace("[website_domain]/web", $page_form->dataRecord['domain'].'/'.$page_form->dataRecord['web_folder'], $php_open_basedir);
+		$php_open_basedir = str_replace("[website_path]", $document_root, $php_open_basedir);
+		$php_open_basedir = $app->db->quote(str_replace("[website_domain]", $page_form->dataRecord['domain'], $php_open_basedir));
+		$htaccess_allow_override = $app->db->quote($parent_domain['allow_override']);
+
+		$sql = "UPDATE web_domain SET sys_groupid = ".$app->functions->intval($parent_domain['sys_groupid']).",system_user = '$system_user', system_group = '$system_group', document_root = '$document_root', allow_override = '$htaccess_allow_override', php_open_basedir = '$php_open_basedir'  WHERE domain_id = ".$page_form->id;
+		$app->db->query($sql);
+	}
+
+}
diff --git a/interface/web/admin/form/system_config.tform.php b/interface/web/admin/form/system_config.tform.php
index 6c0e8da2846e5a5a6cc134f18f1889ca86ea5817..eaa0f6f27389838e183c90efc08d77c49acd0312 100644
--- a/interface/web/admin/form/system_config.tform.php
+++ b/interface/web/admin/form/system_config.tform.php
@@ -154,6 +154,12 @@ $form["tabs"]['sites'] = array (
 			'default' => 'n',
 			'value'  => array(0 => 'n', 1 => 'y')
 		),
+		'vhost_aliasdomains' => array (
+			'datatype' => 'VARCHAR',
+			'formtype' => 'CHECKBOX',
+			'default' => 'n',
+			'value'  => array(0 => 'n', 1 => 'y')
+		),
 		'client_username_web_check_disabled' => array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'CHECKBOX',
diff --git a/interface/web/admin/lib/lang/ar_system_config.lng b/interface/web/admin/lib/lang/ar_system_config.lng
index a534fa742532a7725068e00c0a5c01fd390ae6dd..e5a4663f1e99bd22524c3733f0c743b367f256b3 100644
--- a/interface/web/admin/lib/lang/ar_system_config.lng
+++ b/interface/web/admin/lib/lang/ar_system_config.lng
@@ -39,8 +39,10 @@ $wb['smtp_missing_admin_mail_txt'] = 'Please enter the admin name and admin mail
 $wb['tab_change_discard_txt'] = 'Discard changes on tab change';
 $wb['tab_change_warning_txt'] = 'Tab change warning';
 $wb['tab_change_warning_note_txt'] = 'Show a warning on tab change in edit forms if any data has been altered by the user.';
-$wb['vhost_subdomains_txt'] = 'Create Subdomains as web site';
+$wb['vhost_subdomains_txt'] = 'Create subdomains as web site';
 $wb['vhost_subdomains_note_txt'] = 'You cannot disable this as long as vhost subdomains exist in the system!';
+$wb['vhost_aliasdomains_txt'] = 'Create aliasdomains as web site';
+$wb['vhost_aliasdomains_note_txt'] = 'You cannot disable this as long as vhost aliasdomains exist in the system!';
 $wb['phpmyadmin_url_error_regex'] = 'Invalid phpmyadmin URL';
 $wb['use_combobox_txt'] = 'Use jQuery UI Combobox';
 $wb['use_loadindicator_txt'] = 'Use Load Indicator';
diff --git a/interface/web/admin/lib/lang/bg_system_config.lng b/interface/web/admin/lib/lang/bg_system_config.lng
index 282ab42c29203016949a961251cfeeb757663658..b622ac9a239005890b7b7379ae9b1e97114b7f7c 100644
--- a/interface/web/admin/lib/lang/bg_system_config.lng
+++ b/interface/web/admin/lib/lang/bg_system_config.lng
@@ -41,6 +41,8 @@ $wb['tab_change_warning_txt'] = 'Tab change warning';
 $wb['tab_change_warning_note_txt'] = 'Show a warning on tab change in edit forms if any data has been altered by the user.';
 $wb['vhost_subdomains_txt'] = 'Create Subdomains as web site';
 $wb['vhost_subdomains_note_txt'] = 'You cannot disable this as long as vhost subdomains exist in the system!';
+$wb['vhost_aliasdomains_txt'] = 'Create aliasdomains as web site';
+$wb['vhost_aliasdomains_note_txt'] = 'You cannot disable this as long as vhost aliasdomains exist in the system!';
 $wb['phpmyadmin_url_error_regex'] = 'Invalid phpmyadmin URL';
 $wb['use_combobox_txt'] = 'Use jQuery UI Combobox';
 $wb['use_loadindicator_txt'] = 'Use Load Indicator';
diff --git a/interface/web/admin/lib/lang/br_system_config.lng b/interface/web/admin/lib/lang/br_system_config.lng
index 544fcc19d2375da477bb00ac674fd20b58a96c1f..fd3be081dd9bbc5654effe2be106cc459927eec2 100644
--- a/interface/web/admin/lib/lang/br_system_config.lng
+++ b/interface/web/admin/lib/lang/br_system_config.lng
@@ -39,8 +39,10 @@ $wb['smtp_missing_admin_mail_txt'] = 'Please enter the admin name and admin mail
 $wb['tab_change_discard_txt'] = 'Discard changes on tab change';
 $wb['tab_change_warning_txt'] = 'Tab change warning';
 $wb['tab_change_warning_note_txt'] = 'Show a warning on tab change in edit forms if any data has been altered by the user.';
-$wb['vhost_subdomains_txt'] = 'Create Subdomains as web site';
+$wb['vhost_subdomains_txt'] = 'Create subdomains as web site';
 $wb['vhost_subdomains_note_txt'] = 'You cannot disable this as long as vhost subdomains exist in the system!';
+$wb['vhost_aliasdomains_txt'] = 'Create aliasdomains as web site';
+$wb['vhost_aliasdomains_note_txt'] = 'You cannot disable this as long as vhost aliasdomains exist in the system!';
 $wb['phpmyadmin_url_error_regex'] = 'Invalid phpmyadmin URL';
 $wb['use_combobox_txt'] = 'Use jQuery UI Combobox';
 $wb['use_loadindicator_txt'] = 'Use Load Indicator';
diff --git a/interface/web/admin/lib/lang/cz_system_config.lng b/interface/web/admin/lib/lang/cz_system_config.lng
index 40804371ec133add1ce6893cb0d6eb63b5805c85..d3776abbbbf7303144e0e4dd8d40444ff212d1e5 100644
--- a/interface/web/admin/lib/lang/cz_system_config.lng
+++ b/interface/web/admin/lib/lang/cz_system_config.lng
@@ -41,6 +41,8 @@ $wb['tab_change_warning_txt'] = 'Záložka změna varování';
 $wb['tab_change_warning_note_txt'] = 'Show a warning on tab change in edit forms if any data has been altered by the user.';
 $wb['vhost_subdomains_txt'] = 'Vytvořit subdomény jako webové stránky';
 $wb['vhost_subdomains_note_txt'] = 'You cannot disable this as long as vhost subdomains exist in the system!';
+$wb['vhost_aliasdomains_txt'] = 'Vytvořit aliasdomény jako webové stránky';
+$wb['vhost_aliasdomains_note_txt'] = 'You cannot disable this as long as vhost aliasdomains exist in the system!';
 $wb['phpmyadmin_url_error_regex'] = 'phpmyadmin neplatné URL';
 $wb['use_combobox_txt'] = 'Použití jQuery UI Combobox';
 $wb['use_loadindicator_txt'] = 'Použití indikátoru zatížení';
diff --git a/interface/web/admin/lib/lang/de_system_config.lng b/interface/web/admin/lib/lang/de_system_config.lng
index 1c9f17db47a33c971ddeae263ea96f06a5fbcc5c..5349ade34d3000c7b79449ba865aadf6728bdd31 100644
--- a/interface/web/admin/lib/lang/de_system_config.lng
+++ b/interface/web/admin/lib/lang/de_system_config.lng
@@ -11,6 +11,8 @@ $wb['shelluser_prefix_txt'] = 'Shell Benutzer Präfix';
 $wb['ftpuser_prefix_txt'] = 'FTP Benutzer Präfix';
 $wb['vhost_subdomains_txt'] = 'Subdomains als Webseite anlegen';
 $wb['vhost_subdomains_note_txt'] = 'Diese Einstellung kann nicht wieder deaktiviert werden, wenn Vhost Subdomains im System vorhanden sind!';
+$wb['vhost_aliasdomains_txt'] = 'Aliasdomains als Webseite anlegen';
+$wb['vhost_aliasdomains_note_txt'] = 'Diese Einstellung kann nicht wieder deaktiviert werden, wenn Vhost Aliasdomains im System vorhanden sind!';
 $wb['dbname_prefix_error_regex'] = 'Zeichen nicht erlaubt in Datenbank Namen Präfix.';
 $wb['dbuser_prefix_error_regex'] = 'Zeichen nicht erlaubt in Datenbank Benutzer Präfix.';
 $wb['ftpuser_prefix_error_regex'] = 'Zeichen nicht erlaubt in FTP Benutzer Präfix.';
diff --git a/interface/web/admin/lib/lang/el_system_config.lng b/interface/web/admin/lib/lang/el_system_config.lng
index 1660f18c603c0717b3116bab8628883d528b08ee..3cbadd11105cd79c701980a5b381b170089b6677 100644
--- a/interface/web/admin/lib/lang/el_system_config.lng
+++ b/interface/web/admin/lib/lang/el_system_config.lng
@@ -41,6 +41,8 @@ $wb['tab_change_warning_txt'] = 'Προειδοποίηση αλλαγής κα
 $wb['tab_change_warning_note_txt'] = 'Εμφάνιση μιας προειδοποίησης κατα την αλλαγή καρτέλας σε φόρμες επεξεργασίας που έχουν τροποποιηθεί από τον χρήστη.';
 $wb['vhost_subdomains_txt'] = 'Δημιουργία Subdomains ως web site';
 $wb['vhost_subdomains_note_txt'] = 'Δεν μπορεί να γίνει απενεργοποίηση όσο υπάρχουν vhost subdomains στο σύστημα!';
+$wb['vhost_aliasdomains_txt'] = 'Δημιουργία aliasdomains ως web site';
+$wb['vhost_aliasdomains_note_txt'] = 'Δεν μπορεί να γίνει απενεργοποίηση όσο υπάρχουν vhost aliasdomains στο σύστημα!';
 $wb['phpmyadmin_url_error_regex'] = 'Μη έγκυρο URL phpmyadmin';
 $wb['use_combobox_txt'] = 'Χρήση jQuery UI Combobox';
 $wb['use_loadindicator_txt'] = 'Χρήση Load Indicator (ενδεικτή φόρτωσης)';
diff --git a/interface/web/admin/lib/lang/en_system_config.lng b/interface/web/admin/lib/lang/en_system_config.lng
index 755efd966094982a36bb0fdce7d8ad1333405418..1c045cf272b30879cea345cd6b994cd17da05d19 100644
--- a/interface/web/admin/lib/lang/en_system_config.lng
+++ b/interface/web/admin/lib/lang/en_system_config.lng
@@ -13,8 +13,10 @@ $wb["dbuser_prefix_txt"] = 'Database user prefix';
 $wb["shelluser_prefix_txt"] = 'Shell user prefix';
 $wb["webdavuser_prefix_txt"] = 'Webdav user prefix';
 $wb["ftpuser_prefix_txt"] = 'FTP user prefix';
-$wb['vhost_subdomains_txt'] = 'Create Subdomains as web site';
+$wb['vhost_subdomains_txt'] = 'Create subdomains as web site';
 $wb['vhost_subdomains_note_txt'] = 'You cannot disable this as long as vhost subdomains exist in the system!';
+$wb['vhost_aliasdomains_txt'] = 'Create aliasdomains as web site';
+$wb['vhost_aliasdomains_note_txt'] = 'You cannot disable this as long as vhost aliasdomains exist in the system!';
 $wb["dbname_prefix_error_regex"] = 'Char not allowed in database name prefix.';
 $wb["dbuser_prefix_error_regex"] = 'Char not allowed in database user prefix.';
 $wb["ftpuser_prefix_error_regex"] = 'Char not allowed in ftp user prefix.';
diff --git a/interface/web/admin/lib/lang/es_system_config.lng b/interface/web/admin/lib/lang/es_system_config.lng
index a4d878cadd700e551412d7d9096088b847293bea..293eceacb6899e19750e69588d3084b53287b429 100644
--- a/interface/web/admin/lib/lang/es_system_config.lng
+++ b/interface/web/admin/lib/lang/es_system_config.lng
@@ -32,8 +32,10 @@ $wb['smtp_missing_admin_mail_txt'] = 'Please enter the admin name and admin mail
 $wb['tab_change_discard_txt'] = 'Discard changes on tab change';
 $wb['tab_change_warning_txt'] = 'Tab change warning';
 $wb['tab_change_warning_note_txt'] = 'Show a warning on tab change in edit forms if any data has been altered by the user.';
-$wb['vhost_subdomains_txt'] = 'Create Subdomains as web site';
+$wb['vhost_subdomains_txt'] = 'Create subdomains as web site';
 $wb['vhost_subdomains_note_txt'] = 'You cannot disable this as long as vhost subdomains exist in the system!';
+$wb['vhost_aliasdomains_txt'] = 'Create aliasdomains as web site';
+$wb['vhost_aliasdomains_note_txt'] = 'You cannot disable this as long as vhost aliasdomains exist in the system!';
 $wb['maintenance_mode_txt'] = 'Maintenance Mode';
 $wb['smtp_enabled_txt'] = 'Use SMTP to send system mails';
 $wb['smtp_host_txt'] = 'SMTP host';
diff --git a/interface/web/admin/lib/lang/fi_system_config.lng b/interface/web/admin/lib/lang/fi_system_config.lng
index 75658ee44ebbd27bab593843f64eedf4419be043..a6021921dcf4e0cb0b0fbf00004d694c9cced62b 100755
--- a/interface/web/admin/lib/lang/fi_system_config.lng
+++ b/interface/web/admin/lib/lang/fi_system_config.lng
@@ -39,8 +39,10 @@ $wb['smtp_missing_admin_mail_txt'] = 'Please enter the admin name and admin mail
 $wb['tab_change_discard_txt'] = 'Discard changes on tab change';
 $wb['tab_change_warning_txt'] = 'Tab change warning';
 $wb['tab_change_warning_note_txt'] = 'Show a warning on tab change in edit forms if any data has been altered by the user.';
-$wb['vhost_subdomains_txt'] = 'Create Subdomains as web site';
+$wb['vhost_subdomains_txt'] = 'Create subdomains as web site';
 $wb['vhost_subdomains_note_txt'] = 'You cannot disable this as long as vhost subdomains exist in the system!';
+$wb['vhost_aliasdomains_txt'] = 'Create aliasdomains as web site';
+$wb['vhost_aliasdomains_note_txt'] = 'You cannot disable this as long as vhost aliasdomains exist in the system!';
 $wb['phpmyadmin_url_error_regex'] = 'Invalid phpmyadmin URL';
 $wb['use_combobox_txt'] = 'Use jQuery UI Combobox';
 $wb['use_loadindicator_txt'] = 'Use Load Indicator';
diff --git a/interface/web/admin/lib/lang/fr_system_config.lng b/interface/web/admin/lib/lang/fr_system_config.lng
index 262bbe329e8f4160018b7c1ce4475f2ed2e8fc08..cd4c16b7f8e0303aeec6cd22ac6f6687cbe370c5 100644
--- a/interface/web/admin/lib/lang/fr_system_config.lng
+++ b/interface/web/admin/lib/lang/fr_system_config.lng
@@ -39,8 +39,10 @@ $wb['smtp_missing_admin_mail_txt'] = 'Please enter the admin name and admin mail
 $wb['tab_change_discard_txt'] = 'Discard changes on tab change';
 $wb['tab_change_warning_txt'] = 'Tab change warning';
 $wb['tab_change_warning_note_txt'] = 'Show a warning on tab change in edit forms if any data has been altered by the user.';
-$wb['vhost_subdomains_txt'] = 'Create Subdomains as web site';
+$wb['vhost_subdomains_txt'] = 'Create subdomains as web site';
 $wb['vhost_subdomains_note_txt'] = 'You cannot disable this as long as vhost subdomains exist in the system!';
+$wb['vhost_aliasdomains_txt'] = 'Create aliasdomains as web site';
+$wb['vhost_aliasdomains_note_txt'] = 'You cannot disable this as long as vhost aliasdomains exist in the system!';
 $wb['phpmyadmin_url_error_regex'] = 'Invalid phpmyadmin URL';
 $wb['use_combobox_txt'] = 'Use jQuery UI Combobox';
 $wb['use_loadindicator_txt'] = 'Use Load Indicator';
diff --git a/interface/web/admin/lib/lang/hr_system_config.lng b/interface/web/admin/lib/lang/hr_system_config.lng
index 63f816b79ed19f96fb19088bbda21ab18c5a4840..e81554a7bf089214bcf3b5213f098b2627165703 100644
--- a/interface/web/admin/lib/lang/hr_system_config.lng
+++ b/interface/web/admin/lib/lang/hr_system_config.lng
@@ -39,8 +39,10 @@ $wb['smtp_missing_admin_mail_txt'] = 'Please enter the admin name and admin mail
 $wb['tab_change_discard_txt'] = 'Discard changes on tab change';
 $wb['tab_change_warning_txt'] = 'Tab change warning';
 $wb['tab_change_warning_note_txt'] = 'Show a warning on tab change in edit forms if any data has been altered by the user.';
-$wb['vhost_subdomains_txt'] = 'Create Subdomains as web site';
+$wb['vhost_subdomains_txt'] = 'Create subdomains as web site';
 $wb['vhost_subdomains_note_txt'] = 'You cannot disable this as long as vhost subdomains exist in the system!';
+$wb['vhost_aliasdomains_txt'] = 'Create aliasdomains as web site';
+$wb['vhost_aliasdomains_note_txt'] = 'You cannot disable this as long as vhost aliasdomains exist in the system!';
 $wb['phpmyadmin_url_error_regex'] = 'Invalid phpmyadmin URL';
 $wb['use_combobox_txt'] = 'Use jQuery UI Combobox';
 $wb['use_loadindicator_txt'] = 'Use Load Indicator';
diff --git a/interface/web/admin/lib/lang/hu_system_config.lng b/interface/web/admin/lib/lang/hu_system_config.lng
index 500828481c6d6449ec9a727bd8b15dba55ca6c32..4380d9dcc73644c56f7923ddf0cda0021903f99a 100644
--- a/interface/web/admin/lib/lang/hu_system_config.lng
+++ b/interface/web/admin/lib/lang/hu_system_config.lng
@@ -39,8 +39,10 @@ $wb['smtp_missing_admin_mail_txt'] = 'Please enter the admin name and admin mail
 $wb['tab_change_discard_txt'] = 'Discard changes on tab change';
 $wb['tab_change_warning_txt'] = 'Tab change warning';
 $wb['tab_change_warning_note_txt'] = 'Show a warning on tab change in edit forms if any data has been altered by the user.';
-$wb['vhost_subdomains_txt'] = 'Create Subdomains as web site';
+$wb['vhost_subdomains_txt'] = 'Create subdomains as web site';
 $wb['vhost_subdomains_note_txt'] = 'You cannot disable this as long as vhost subdomains exist in the system!';
+$wb['vhost_aliasdomains_txt'] = 'Create aliasdomains as web site';
+$wb['vhost_aliasdomains_note_txt'] = 'You cannot disable this as long as vhost aliasdomains exist in the system!';
 $wb['phpmyadmin_url_error_regex'] = 'Invalid phpmyadmin URL';
 $wb['use_combobox_txt'] = 'Use jQuery UI Combobox';
 $wb['use_loadindicator_txt'] = 'Use Load Indicator';
diff --git a/interface/web/admin/lib/lang/id_system_config.lng b/interface/web/admin/lib/lang/id_system_config.lng
index 81997b708f08820f7f63ff078bdd2c509bb76124..b4c5133eeef0bd9cd29448a754f1f5a942ce37b6 100644
--- a/interface/web/admin/lib/lang/id_system_config.lng
+++ b/interface/web/admin/lib/lang/id_system_config.lng
@@ -39,8 +39,10 @@ $wb['smtp_missing_admin_mail_txt'] = 'Please enter the admin name and admin mail
 $wb['tab_change_discard_txt'] = 'Discard changes on tab change';
 $wb['tab_change_warning_txt'] = 'Tab change warning';
 $wb['tab_change_warning_note_txt'] = 'Show a warning on tab change in edit forms if any data has been altered by the user.';
-$wb['vhost_subdomains_txt'] = 'Create Subdomains as web site';
+$wb['vhost_subdomains_txt'] = 'Create subdomains as web site';
 $wb['vhost_subdomains_note_txt'] = 'You cannot disable this as long as vhost subdomains exist in the system!';
+$wb['vhost_aliasdomains_txt'] = 'Create aliasdomains as web site';
+$wb['vhost_aliasdomains_note_txt'] = 'You cannot disable this as long as vhost aliasdomains exist in the system!';
 $wb['phpmyadmin_url_error_regex'] = 'Invalid phpmyadmin URL';
 $wb['use_combobox_txt'] = 'Use jQuery UI Combobox';
 $wb['use_loadindicator_txt'] = 'Use Load Indicator';
diff --git a/interface/web/admin/lib/lang/it_system_config.lng b/interface/web/admin/lib/lang/it_system_config.lng
index bc26da23ea2b47f06b521a63a7d2460eb3eb6b7d..8d2ceb031f428428ea2f8f999c3debdc7ddb02f0 100644
--- a/interface/web/admin/lib/lang/it_system_config.lng
+++ b/interface/web/admin/lib/lang/it_system_config.lng
@@ -39,8 +39,10 @@ $wb['smtp_missing_admin_mail_txt'] = 'Please enter the admin name and admin mail
 $wb['tab_change_discard_txt'] = 'Discard changes on tab change';
 $wb['tab_change_warning_txt'] = 'Tab change warning';
 $wb['tab_change_warning_note_txt'] = 'Show a warning on tab change in edit forms if any data has been altered by the user.';
-$wb['vhost_subdomains_txt'] = 'Create Subdomains as web site';
+$wb['vhost_subdomains_txt'] = 'Create subdomains as web site';
 $wb['vhost_subdomains_note_txt'] = 'You cannot disable this as long as vhost subdomains exist in the system!';
+$wb['vhost_aliasdomains_txt'] = 'Create aliasdomains as web site';
+$wb['vhost_aliasdomains_note_txt'] = 'You cannot disable this as long as vhost aliasdomains exist in the system!';
 $wb['phpmyadmin_url_error_regex'] = 'Invalid phpmyadmin URL';
 $wb['use_combobox_txt'] = 'Use jQuery UI Combobox';
 $wb['use_loadindicator_txt'] = 'Use Load Indicator';
diff --git a/interface/web/admin/lib/lang/ja_system_config.lng b/interface/web/admin/lib/lang/ja_system_config.lng
index df99e6e62773f71710c05ca8e0030e0f0016f7ee..77fb47b61dc295822831aa02579125800a8dc747 100644
--- a/interface/web/admin/lib/lang/ja_system_config.lng
+++ b/interface/web/admin/lib/lang/ja_system_config.lng
@@ -39,8 +39,10 @@ $wb['smtp_missing_admin_mail_txt'] = 'Please enter the admin name and admin mail
 $wb['tab_change_discard_txt'] = 'Discard changes on tab change';
 $wb['tab_change_warning_txt'] = 'Tab change warning';
 $wb['tab_change_warning_note_txt'] = 'Show a warning on tab change in edit forms if any data has been altered by the user.';
-$wb['vhost_subdomains_txt'] = 'Create Subdomains as web site';
+$wb['vhost_subdomains_txt'] = 'Create subdomains as web site';
 $wb['vhost_subdomains_note_txt'] = 'You cannot disable this as long as vhost subdomains exist in the system!';
+$wb['vhost_aliasdomains_txt'] = 'Create aliasdomains as web site';
+$wb['vhost_aliasdomains_note_txt'] = 'You cannot disable this as long as vhost aliasdomains exist in the system!';
 $wb['phpmyadmin_url_error_regex'] = 'Invalid phpmyadmin URL';
 $wb['use_combobox_txt'] = 'Use jQuery UI Combobox';
 $wb['use_loadindicator_txt'] = 'Use Load Indicator';
diff --git a/interface/web/admin/lib/lang/nl_system_config.lng b/interface/web/admin/lib/lang/nl_system_config.lng
index 59c4a3b981949372e82655d53d6598df6a712ea7..4a0bb6a3b38d6068c9019bc4e2ae5a048ca7fbf0 100644
--- a/interface/web/admin/lib/lang/nl_system_config.lng
+++ b/interface/web/admin/lib/lang/nl_system_config.lng
@@ -42,8 +42,10 @@ $wb['smtp_missing_admin_mail_txt'] = 'Please enter the admin name and admin mail
 $wb['tab_change_discard_txt'] = 'Discard changes on tab change';
 $wb['tab_change_warning_txt'] = 'Tab change warning';
 $wb['tab_change_warning_note_txt'] = 'Show a warning on tab change in edit forms if any data has been altered by the user.';
-$wb['vhost_subdomains_txt'] = 'Create Subdomains as web site';
+$wb['vhost_subdomains_txt'] = 'Create subdomains as web site';
 $wb['vhost_subdomains_note_txt'] = 'You cannot disable this as long as vhost subdomains exist in the system!';
+$wb['vhost_aliasdomains_txt'] = 'Create aliasdomains as web site';
+$wb['vhost_aliasdomains_note_txt'] = 'You cannot disable this as long as vhost aliasdomains exist in the system!';
 $wb['phpmyadmin_url_error_regex'] = 'Invalid phpmyadmin URL';
 $wb['use_combobox_txt'] = 'Use jQuery UI Combobox';
 $wb['use_loadindicator_txt'] = 'Use Load Indicator';
diff --git a/interface/web/admin/lib/lang/pl_system_config.lng b/interface/web/admin/lib/lang/pl_system_config.lng
index a3cd3c6bd9ef7e160446bdde78d31959efa759ad..a30fd04d29ebe23637fb95721099ab14249aa593 100644
--- a/interface/web/admin/lib/lang/pl_system_config.lng
+++ b/interface/web/admin/lib/lang/pl_system_config.lng
@@ -34,6 +34,8 @@ $wb['tab_change_warning_txt'] = 'Ostrzegaj przy zmianie zakładki';
 $wb['tab_change_warning_note_txt'] = 'Pokaż ostrzeżenie przy zmianie zakładki jeżeli zostały zmienione dane przez użytkownika.';
 $wb['vhost_subdomains_txt'] = 'Twórz subdomeny jako strony web';
 $wb['vhost_subdomains_note_txt'] = 'Nie możesz wyłączyć tego tak długo jak istnieją w systemie vhosty subdomen.';
+$wb['vhost_aliasdomains_txt'] = 'Twórz aliasdomeny jako strony web';
+$wb['vhost_aliasdomains_note_txt'] = 'Nie możesz wyłączyć tego tak długo jak istnieją w systemie vhosty aliasdomen.';
 $wb['maintenance_mode_txt'] = 'Tryb serwisowy';
 $wb['smtp_enabled_txt'] = 'Używaj SMTP do wysyłania powiadomień systemowych';
 $wb['smtp_host_txt'] = 'Host SMTP';
diff --git a/interface/web/admin/lib/lang/pt_system_config.lng b/interface/web/admin/lib/lang/pt_system_config.lng
index 49bd93e9ccabbac5dc86ee1a2c89e4a055fb3924..efaf567b292227216747f4d22b5c00c361a96d74 100644
--- a/interface/web/admin/lib/lang/pt_system_config.lng
+++ b/interface/web/admin/lib/lang/pt_system_config.lng
@@ -39,8 +39,10 @@ $wb['smtp_missing_admin_mail_txt'] = 'Please enter the admin name and admin mail
 $wb['tab_change_discard_txt'] = 'Discard changes on tab change';
 $wb['tab_change_warning_txt'] = 'Tab change warning';
 $wb['tab_change_warning_note_txt'] = 'Show a warning on tab change in edit forms if any data has been altered by the user.';
-$wb['vhost_subdomains_txt'] = 'Create Subdomains as web site';
+$wb['vhost_subdomains_txt'] = 'Create subdomains as web site';
 $wb['vhost_subdomains_note_txt'] = 'You cannot disable this as long as vhost subdomains exist in the system!';
+$wb['vhost_aliasdomains_txt'] = 'Create aliasdomains as web site';
+$wb['vhost_aliasdomains_note_txt'] = 'You cannot disable this as long as vhost aliasdomains exist in the system!';
 $wb['phpmyadmin_url_error_regex'] = 'Invalid phpmyadmin URL';
 $wb['use_combobox_txt'] = 'Use jQuery UI Combobox';
 $wb['use_loadindicator_txt'] = 'Use Load Indicator';
diff --git a/interface/web/admin/lib/lang/ro_system_config.lng b/interface/web/admin/lib/lang/ro_system_config.lng
index e2b701afc3d03570d248d0ce33e647d978f10a0d..c688f608b2965fcbcfde8d9e051aa74bfdf9d1b9 100644
--- a/interface/web/admin/lib/lang/ro_system_config.lng
+++ b/interface/web/admin/lib/lang/ro_system_config.lng
@@ -39,8 +39,10 @@ $wb['smtp_missing_admin_mail_txt'] = 'Please enter the admin name and admin mail
 $wb['tab_change_discard_txt'] = 'Discard changes on tab change';
 $wb['tab_change_warning_txt'] = 'Tab change warning';
 $wb['tab_change_warning_note_txt'] = 'Show a warning on tab change in edit forms if any data has been altered by the user.';
-$wb['vhost_subdomains_txt'] = 'Create Subdomains as web site';
+$wb['vhost_subdomains_txt'] = 'Create subdomains as web site';
 $wb['vhost_subdomains_note_txt'] = 'You cannot disable this as long as vhost subdomains exist in the system!';
+$wb['vhost_aliasdomains_txt'] = 'Create aliasdomains as web site';
+$wb['vhost_aliasdomains_note_txt'] = 'You cannot disable this as long as vhost aliasdomains exist in the system!';
 $wb['phpmyadmin_url_error_regex'] = 'Invalid phpmyadmin URL';
 $wb['use_combobox_txt'] = 'Use jQuery UI Combobox';
 $wb['use_loadindicator_txt'] = 'Use Load Indicator';
diff --git a/interface/web/admin/lib/lang/ru_system_config.lng b/interface/web/admin/lib/lang/ru_system_config.lng
index 612fe505396fe3447194505fc815eff941832bcc..e0926dd71ef67c656c20df7a9add2d68c8eb49b6 100644
--- a/interface/web/admin/lib/lang/ru_system_config.lng
+++ b/interface/web/admin/lib/lang/ru_system_config.lng
@@ -39,8 +39,10 @@ $wb['smtp_missing_admin_mail_txt'] = 'Please enter the admin name and admin mail
 $wb['tab_change_discard_txt'] = 'Discard changes on tab change';
 $wb['tab_change_warning_txt'] = 'Tab change warning';
 $wb['tab_change_warning_note_txt'] = 'Show a warning on tab change in edit forms if any data has been altered by the user.';
-$wb['vhost_subdomains_txt'] = 'Create Subdomains as web site';
+$wb['vhost_subdomains_txt'] = 'Create subdomains as web site';
 $wb['vhost_subdomains_note_txt'] = 'You cannot disable this as long as vhost subdomains exist in the system!';
+$wb['vhost_aliasdomains_txt'] = 'Create aliasdomains as web site';
+$wb['vhost_aliasdomains_note_txt'] = 'You cannot disable this as long as vhost aliasdomains exist in the system!';
 $wb['phpmyadmin_url_error_regex'] = 'Invalid phpmyadmin URL';
 $wb['use_combobox_txt'] = 'Use jQuery UI Combobox';
 $wb['use_loadindicator_txt'] = 'Use Load Indicator';
diff --git a/interface/web/admin/lib/lang/se_system_config.lng b/interface/web/admin/lib/lang/se_system_config.lng
index e2b701afc3d03570d248d0ce33e647d978f10a0d..c688f608b2965fcbcfde8d9e051aa74bfdf9d1b9 100644
--- a/interface/web/admin/lib/lang/se_system_config.lng
+++ b/interface/web/admin/lib/lang/se_system_config.lng
@@ -39,8 +39,10 @@ $wb['smtp_missing_admin_mail_txt'] = 'Please enter the admin name and admin mail
 $wb['tab_change_discard_txt'] = 'Discard changes on tab change';
 $wb['tab_change_warning_txt'] = 'Tab change warning';
 $wb['tab_change_warning_note_txt'] = 'Show a warning on tab change in edit forms if any data has been altered by the user.';
-$wb['vhost_subdomains_txt'] = 'Create Subdomains as web site';
+$wb['vhost_subdomains_txt'] = 'Create subdomains as web site';
 $wb['vhost_subdomains_note_txt'] = 'You cannot disable this as long as vhost subdomains exist in the system!';
+$wb['vhost_aliasdomains_txt'] = 'Create aliasdomains as web site';
+$wb['vhost_aliasdomains_note_txt'] = 'You cannot disable this as long as vhost aliasdomains exist in the system!';
 $wb['phpmyadmin_url_error_regex'] = 'Invalid phpmyadmin URL';
 $wb['use_combobox_txt'] = 'Use jQuery UI Combobox';
 $wb['use_loadindicator_txt'] = 'Use Load Indicator';
diff --git a/interface/web/admin/lib/lang/sk_system_config.lng b/interface/web/admin/lib/lang/sk_system_config.lng
index 1340eee8bb2f91584b9f24e7c78b3bc03f3ad24c..bbebf4c4028db8ae9ee8eb3bd88904b810af763e 100644
--- a/interface/web/admin/lib/lang/sk_system_config.lng
+++ b/interface/web/admin/lib/lang/sk_system_config.lng
@@ -39,8 +39,10 @@ $wb['smtp_missing_admin_mail_txt'] = 'Please enter the admin name and admin mail
 $wb['tab_change_discard_txt'] = 'Discard changes on tab change';
 $wb['tab_change_warning_txt'] = 'Tab change warning';
 $wb['tab_change_warning_note_txt'] = 'Show a warning on tab change in edit forms if any data has been altered by the user.';
-$wb['vhost_subdomains_txt'] = 'Create Subdomains as web site';
+$wb['vhost_subdomains_txt'] = 'Create subdomains as web site';
 $wb['vhost_subdomains_note_txt'] = 'You cannot disable this as long as vhost subdomains exist in the system!';
+$wb['vhost_aliasdomains_txt'] = 'Create aliasdomains as web site';
+$wb['vhost_aliasdomains_note_txt'] = 'You cannot disable this as long as vhost aliasdomains exist in the system!';
 $wb['phpmyadmin_url_error_regex'] = 'Invalid phpmyadmin URL';
 $wb['use_combobox_txt'] = 'Use jQuery UI Combobox';
 $wb['use_loadindicator_txt'] = 'Use Load Indicator';
diff --git a/interface/web/admin/lib/lang/tr_system_config.lng b/interface/web/admin/lib/lang/tr_system_config.lng
index 8a5fd3a86f5ed1557e7041ed67c992b81e7b4148..0acf8832c43d3cd7f1c09a3409544831efc38da3 100644
--- a/interface/web/admin/lib/lang/tr_system_config.lng
+++ b/interface/web/admin/lib/lang/tr_system_config.lng
@@ -39,8 +39,10 @@ $wb['smtp_missing_admin_mail_txt'] = 'Please enter the admin name and admin mail
 $wb['tab_change_discard_txt'] = 'Discard changes on tab change';
 $wb['tab_change_warning_txt'] = 'Tab change warning';
 $wb['tab_change_warning_note_txt'] = 'Show a warning on tab change in edit forms if any data has been altered by the user.';
-$wb['vhost_subdomains_txt'] = 'Create Subdomains as web site';
+$wb['vhost_subdomains_txt'] = 'Create subdomains as web site';
 $wb['vhost_subdomains_note_txt'] = 'You cannot disable this as long as vhost subdomains exist in the system!';
+$wb['vhost_aliasdomains_txt'] = 'Create aliasdomains as web site';
+$wb['vhost_aliasdomains_note_txt'] = 'You cannot disable this as long as vhost aliasdomains exist in the system!';
 $wb['phpmyadmin_url_error_regex'] = 'Invalid phpmyadmin URL';
 $wb['use_combobox_txt'] = 'Use jQuery UI Combobox';
 $wb['use_loadindicator_txt'] = 'Use Load Indicator';
diff --git a/interface/web/admin/system_config_edit.php b/interface/web/admin/system_config_edit.php
index 35140b459d2fd5da781827984837d31688697e29..9c69cfa401da62cbdb7138a4ee8780aef9efea76 100644
--- a/interface/web/admin/system_config_edit.php
+++ b/interface/web/admin/system_config_edit.php
@@ -147,6 +147,12 @@ class page_action extends tform_actions {
 			if($check['cnt'] > 0) {
 				$new_config['vhost_subdomains'] = 'y';
 			}
+		} elseif($section == 'sites' && $new_config['vhost_aliasdomains'] != 'y' && $server_config_array['vhost_aliasdomains'] == 'y') {
+			// check for existing vhost aliasdomains, if found the mode cannot be disabled
+			$check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_domain` WHERE `type` = 'vhostalias'");
+			if($check['cnt'] > 0) {
+				$new_config['vhost_aliasdomains'] = 'y';
+			}
 		} elseif($section == 'mail') {
 			if($new_config['smtp_pass'] == '') $new_config['smtp_pass'] = $server_config_array['mail']['smtp_pass'];
 		} elseif($section == 'misc' && $new_config['session_timeout'] != $server_config_array['misc']['session_timeout']) {
diff --git a/interface/web/admin/templates/system_config_sites_edit.htm b/interface/web/admin/templates/system_config_sites_edit.htm
index 65f37b7820d9f731c56921f3a18b9b78a1774c98..f98493ee79be98c6562b9ffc63a5d31e1718c422 100644
--- a/interface/web/admin/templates/system_config_sites_edit.htm
+++ b/interface/web/admin/templates/system_config_sites_edit.htm
@@ -45,6 +45,12 @@
                     {tmpl_var name='vhost_subdomains'}&nbsp;{tmpl_var name='vhost_subdomains_note_txt'}
                 </div>
             </div>
+            <div class="ctrlHolder">
+                <p class="label">{tmpl_var name='vhost_aliasdomains_txt'}</p>
+                <div class="multiField">
+                    {tmpl_var name='vhost_aliasdomains'}&nbsp;{tmpl_var name='vhost_aliasdomains_note_txt'}
+                </div>
+            </div>
             <div class="ctrlHolder">
                 <p class="label">{tmpl_var name='client_username_web_check_disabled_txt'}</p>
                 <div class="multiField">
diff --git a/interface/web/dashboard/ajax_get_json.php b/interface/web/dashboard/ajax_get_json.php
index 48294188deec943ed8ef344cff8321f8ee86b94d..2bc21d4e03e95f77ce90d01c1fe8dbed4e1d9233 100644
--- a/interface/web/dashboard/ajax_get_json.php
+++ b/interface/web/dashboard/ajax_get_json.php
@@ -66,6 +66,9 @@ if($type == 'globalsearch'){
 	// vhostsubdomains
 	$result[] = _search('sites', 'web_vhost_subdomain', "AND type = 'vhostsubdomain'");
 
+	// vhostaliasdomains
+	$result[] = _search('sites', 'web_vhost_aliasdomain', "AND type = 'vhostalias'");
+
 	// FTP users
 	$result[] = _search('sites', 'ftp_user');
 
diff --git a/interface/web/dashboard/dashlets/limits.php b/interface/web/dashboard/dashlets/limits.php
index b361f6e9bad424612a6cb22a374b5d1281213f53..13c0a4a2f5ecb39878e1653c04e1c7bcb0a7c92a 100644
--- a/interface/web/dashboard/dashlets/limits.php
+++ b/interface/web/dashboard/dashlets/limits.php
@@ -71,7 +71,7 @@ class dashlet_limits {
 
 		$limits[] = array('field' => 'limit_web_aliasdomain',
 			'db_table' => 'web_domain',
-			'db_where' => "type = 'alias'");
+						  'db_where' => "(type = 'alias' OR type = 'vhostalias')");
 
 		$limits[] = array('field' => 'limit_ftp_user',
 			'db_table' => 'ftp_user',
diff --git a/interface/web/data.sql b/interface/web/data.sql
index 67234bd43c89f1db862f1f9c5327953606208e99..0c15827b2c0d42aa04e12e7f6521556cf1342c74 100644
--- a/interface/web/data.sql
+++ b/interface/web/data.sql
@@ -322,6 +322,57 @@ INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES (
 INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'nginx_directives', '0', '', '');
 INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'proxy_directives', '0', '', '');
 INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_subdomain_edit.php', 'php_fpm_use_socket', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'domain', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'web_folder', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'traffic_quota', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'parent_domain_id', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'sel_domain', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'parent_domain_id', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'aliasdomain', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'php', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'fastcgi_php_version', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'cgi', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'ssi', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'perl', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'ruby', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'python', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'suexec', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'errordocs', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'ssl', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'active', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'redirect_path', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'redirect_type', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'seo_redirect', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'ssl_state', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'ssl_locality', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'ssl_organisation', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'ssl_organisation_unit', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'ssl_country', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'ssl_domain', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'ssl_action', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'ssl_key', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'ssl_request', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'ssl_cert', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'ssl_bundle', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'stats_password', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'repeat_password', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'stats_type', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'backup_interval', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'backup_copies', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'allow_override', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'pm_max_children', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'pm_start_servers', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'pm_min_spare_servers', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'pm_max_spare_servers', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'pm_process_idle_timeout', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'pm_max_requests', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'php_open_basedir', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'pm', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'custom_php_ini', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'apache_directives', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'nginx_directives', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'proxy_directives', '0', '', '');
+INSERT IGNORE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_vhost_aliasdomain_edit.php', 'php_fpm_use_socket', '0', '', '');
 REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_folder_edit.php', 'path', '0', '', 'Welches Verzeichnis von Ihrer Webseite m&ouml;chten Sie mit einem Passwort sch&uuml;tzen?');
 REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_folder_edit.php', 'parent_domain_id', '0', '', 'Zu welcher Webseite soll ein Passwortschutz angelegt werden?');
 REPLACE INTO `help_tooltips` (`url`, `field`, `demo`, `en`, `de`) VALUES ('/sites/web_folder_edit.php', 'active', '0', '', 'Ist diese Option gesetzt, ist der Passwortschutz aktiv.');
diff --git a/interface/web/index.php b/interface/web/index.php
index 8b448419aee9e3576bcc5601688a521842742831..80eab1110e8c915037aa89b3dae986dc87ad9c23 100644
--- a/interface/web/index.php
+++ b/interface/web/index.php
@@ -74,7 +74,7 @@ if(@is_dir($js_d)) {
 	closedir($dir);
 }
 
-$app->tpl->setLoop('js_d_includes', $js_d_files);
+if (!empty($js_d_files)) $app->tpl->setLoop('js_d_includes', $js_d_files);
 unset($js_d_files);
 
 $app->tpl_defaults();
diff --git a/interface/web/sites/aps_install_package.php b/interface/web/sites/aps_install_package.php
index 8ba04efd2103d47358df6188f0c0ccdd1e5c6287..2e2e7bc761d837e9233a6e923031ebbe971769d0 100644
--- a/interface/web/sites/aps_install_package.php
+++ b/interface/web/sites/aps_install_package.php
@@ -87,7 +87,7 @@ $domains = array();
 $domain_for_user = '';
 if(!$adminflag) $domain_for_user = "AND (sys_userid = '".$app->db->quote($_SESSION['s']['user']['userid'])."'
     OR sys_groupid = '".$app->db->quote($_SESSION['s']['user']['userid'])."' )";
-$domains_assoc = $app->db->queryAllRecords("SELECT domain FROM web_domain WHERE document_root != '' AND (type = 'vhost' OR type = 'vhostsubdomain') AND active = 'y' ".$domain_for_user." ORDER BY domain;");
+$domains_assoc = $app->db->queryAllRecords("SELECT domain FROM web_domain WHERE document_root != '' AND (type = 'vhost' OR type = 'vhostsubdomain' OR type = 'vhostalias') AND active = 'y' ".$domain_for_user." ORDER BY domain;");
 if(!empty($domains_assoc)) foreach($domains_assoc as $domain) $domains[] = $domain['domain'];
 
 	// If data has been submitted, validate it
diff --git a/interface/web/sites/form/web_folder.tform.php b/interface/web/sites/form/web_folder.tform.php
index ab8d4747ce15a3b1fdb3897fbdbfa2cffa38b6cf..5fec523a690d55f416a6f8243adcac9aa1fbbe92 100644
--- a/interface/web/sites/form/web_folder.tform.php
+++ b/interface/web/sites/form/web_folder.tform.php
@@ -74,7 +74,7 @@ $form["tabs"]['folder'] = array (
 			'formtype' => 'SELECT',
 			'default' => '',
 			'datasource' => array (  'type' => 'SQL',
-				'querystring' => "SELECT web_domain.domain_id, CONCAT(web_domain.domain, ' :: ', server.server_name) AS parent_domain FROM web_domain, server WHERE (web_domain.type = 'vhost' OR web_domain.type = 'vhostsubdomain') AND web_domain.server_id = server.server_id AND {AUTHSQL::web_domain} ORDER BY web_domain.domain",
+				'querystring' => "SELECT web_domain.domain_id, CONCAT(web_domain.domain, ' :: ', server.server_name) AS parent_domain FROM web_domain, server WHERE (web_domain.type = 'vhost' OR web_domain.type = 'vhostsubdomain' OR web_domain.type = 'vhostalias') AND web_domain.server_id = server.server_id AND {AUTHSQL::web_domain} ORDER BY web_domain.domain",
 				'keyfield'=> 'domain_id',
 				'valuefield'=> 'parent_domain'
 			),
diff --git a/interface/web/sites/form/web_vhost_aliasdomain.tform.php b/interface/web/sites/form/web_vhost_aliasdomain.tform.php
new file mode 100644
index 0000000000000000000000000000000000000000..1b877a645ebb3aee401a22364cba044961fc7146
--- /dev/null
+++ b/interface/web/sites/form/web_vhost_aliasdomain.tform.php
@@ -0,0 +1,735 @@
+<?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).
+
+	Search:
+	- searchable = 1 or searchable = 2 include the field in the search
+	- searchable = 1: this field will be the title of the search result
+	- searchable = 2: this field will be included in the description of the search result
+
+
+*/
+
+$form["title"]    = "Aliasdomain";
+$form["description"]  = "";
+$form["name"]    = "web_vhost_aliasdomain";
+$form["action"]   = "web_vhost_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_vhost_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
+
+$wildcard_available = false;
+$ssl_available = true;
+if(!$app->auth->is_admin()) {
+	$client_group_id = $_SESSION["s"]["user"]["default_group"];
+	$client = $app->db->queryOneRecord("SELECT limit_wildcard, limit_ssl FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+
+	if($client['limit_ssl'] != 'y') $ssl_available = false;
+}
+
+$app->uses('getconf');
+$web_config = $app->getconf->get_global_config('sites');
+
+$form["tabs"]['domain'] = array (
+	'title'  => "Domain",
+	'width'  => 100,
+	'template'  => "templates/web_vhost_aliasdomain_edit.htm",
+	'readonly' => false,
+	'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 mirror_server_id = 0 AND web_server = 1 AND {AUTHSQL} ORDER BY server_name',
+				'keyfield'=> 'server_id',
+				'valuefield'=> 'server_name'
+			),
+			'value'  => ''
+		),
+		'ip_address' => array (
+			'datatype' => 'VARCHAR',
+			'formtype' => 'SELECT',
+			'default' => '',
+			/*'datasource'	=> array ( 	'type'	=> 'SQL',
+										'querystring' => "SELECT ip_address,ip_address FROM server_ip WHERE ip_type = 'IPv4' AND {AUTHSQL} ORDER BY ip_address",
+										'keyfield'=> 'ip_address',
+										'valuefield'=> 'ip_address'
+									 ),*/
+			'value'  => '',
+			'searchable' => 2
+		),
+		'ipv6_address' => array (
+			'datatype' => 'VARCHAR',
+			'formtype' => 'SELECT',
+			'default' => '',
+			/*'datasource'	=> array ( 	'type'	=> 'SQL',
+										'querystring' => "SELECT ip_address,ip_address FROM server_ip WHERE ip_type = 'IPv6' AND {AUTHSQL} ORDER BY ip_address",
+										'keyfield'=> 'ip_address',
+										'valuefield'=> 'ip_address'
+									 ),*/
+			'value'  => '',
+			'searchable' => 2
+		),
+		'domain' => array (
+			'datatype' => 'VARCHAR',
+			'formtype' => 'TEXT',
+			'filters'   => array( 0 => array( 'event' => 'SAVE',
+					'type' => 'IDNTOASCII'),
+				1 => array( 'event' => 'SHOW',
+					'type' => 'IDNTOUTF8'),
+				2 => array( 'event' => 'SAVE',
+					'type' => 'TOLOWER')
+			),
+			'validators'    => array (  0 => array (    'type'  => 'CUSTOM',
+					'class' => 'validate_domain',
+					'function' => 'alias_domain',
+					'errmsg'=> 'domain_error_regex'),
+			),
+			'default' => '',
+			'value'  => '',
+			'width'  => '30',
+			'maxlength' => '255',
+			'searchable' => 1
+		),
+		'type' => array (
+			'datatype' => 'VARCHAR',
+			'formtype' => 'SELECT',
+			'default' => 'y',
+			'value'  => array('vhost' => 'Site', 'alias' => 'Alias', 'vhostalias' => 'Alias', 'subdomain' => 'Subdomain', 'vhostsubdomain' => 'Subdomain')
+		),
+		'parent_domain_id' => array (
+			'datatype' => 'INTEGER',
+			'formtype' => 'SELECT',
+			'default' => '',
+			'datasource' => array (  'type' => 'SQL',
+				'querystring' => "SELECT web_domain.domain_id, CONCAT(web_domain.domain, ' :: ', server.server_name) AS parent_domain FROM web_domain, server WHERE web_domain.type = 'vhost' AND web_domain.server_id = server.server_id AND {AUTHSQL::web_domain} ORDER BY web_domain.domain",
+				'keyfield'=> 'domain_id',
+				'valuefield'=> 'parent_domain'
+			),
+			'value'  => ''
+		),
+		'web_folder' => array (
+			'datatype' => 'VARCHAR',
+			'validators' => array (  0 => array ( 'type' => 'REGEX',
+					'regex' => '@^((?!.*\.\.)[\w/_\.\-]{1,100})$@',
+					'errmsg'=> 'web_folder_error_regex'),
+			),
+			'formtype' => 'TEXT',
+			'default' => '',
+			'value'  => '',
+			'width'  => '30',
+			'maxlength' => '255'
+		),
+		'vhost_type' => array (
+			'datatype' => 'VARCHAR',
+			'formtype' => 'SELECT',
+			'default' => 'y',
+			'value'  => array('name' => 'Namebased', 'ip' => 'IP-Based')
+		),
+		'hd_quota' => array (
+			'datatype' => 'INTEGER',
+			'formtype' => 'TEXT',
+			'default' => '0',
+			'value'  => '',
+			'width'  => '7',
+			'maxlength' => '7'
+		),
+		'traffic_quota' => array (
+			'datatype' => 'INTEGER',
+			'formtype' => 'TEXT',
+			'validators' => array (  0 => array ( 'type' => 'NOTEMPTY',
+					'errmsg'=> 'traffic_quota_error_empty'),
+				1 => array ( 'type' => 'REGEX',
+					'regex' => '/^(\-1|[0-9]{1,10})$/',
+					'errmsg'=> 'traffic_quota_error_regex'),
+			),
+			'default' => '-1',
+			'value'  => '',
+			'width'  => '7',
+			'maxlength' => '7'
+		),
+		'cgi' => array (
+			'datatype' => 'VARCHAR',
+			'formtype' => 'CHECKBOX',
+			'default' => 'n',
+			'value'  => array(0 => 'n', 1 => 'y')
+		),
+		'ssi' => array (
+			'datatype' => 'VARCHAR',
+			'formtype' => 'CHECKBOX',
+			'default' => 'n',
+			'value'  => array(0 => 'n', 1 => 'y')
+		),
+		'suexec' => array (
+			'datatype' => 'VARCHAR',
+			'formtype' => 'CHECKBOX',
+			'default' => 'y',
+			'value'  => array(0 => 'n', 1 => 'y')
+		),
+		'errordocs' => array (
+			'datatype' => 'INTEGER',
+			'formtype' => 'CHECKBOX',
+			'default' => '1',
+			'value'  => array(0 => '0', 1 => '1')
+		),
+		'subdomain' => array (
+			'datatype' => 'VARCHAR',
+			'formtype' => 'SELECT',
+			'default' => 'www',
+			'value'  => ($wildcard_available ? array('none' => 'none_txt', 'www' => 'www.', '*' => '*.') : array('none' => 'none_txt', 'www' => 'www.'))
+		),
+		'ssl' => array (
+			'datatype' => 'VARCHAR',
+			'formtype' => 'CHECKBOX',
+			'default' => 'n',
+			'value'  => array(0 => 'n', 1 => 'y')
+		),
+		'php' => array (
+			'datatype' => 'VARCHAR',
+			'formtype' => 'SELECT',
+			'default' => 'fast-cgi',
+			'valuelimit' => 'client:web_php_options',
+			'value'  => array('no' => 'disabled_txt', 'fast-cgi' => 'Fast-CGI', 'cgi' => 'CGI', 'mod' => 'Mod-PHP', 'suphp' => 'SuPHP', 'php-fpm' => 'PHP-FPM'),
+			'searchable' => 2
+		),
+		'fastcgi_php_version' => array (
+			'datatype' => 'VARCHAR',
+			'formtype' => 'SELECT',
+			'default' => '',
+			/*'datasource'	=> array ( 	'type'	=> 'SQL',
+										'querystring' => "SELECT ip_address,ip_address FROM server_ip WHERE ip_type = 'IPv4' AND {AUTHSQL} ORDER BY ip_address",
+										'keyfield'=> 'ip_address',
+										'valuefield'=> 'ip_address'
+									 ),*/
+			'value'  => ''
+		),
+		'perl' => array (
+			'datatype' => 'VARCHAR',
+			'formtype' => 'CHECKBOX',
+			'default' => 'n',
+			'value'  => array(0 => 'n', 1 => 'y')
+		),
+		'ruby' => array (
+			'datatype' => 'VARCHAR',
+			'formtype' => 'CHECKBOX',
+			'default' => 'n',
+			'value'  => array(0 => 'n', 1 => 'y')
+		),
+		'python' => array (
+			'datatype' => 'VARCHAR',
+			'formtype' => 'CHECKBOX',
+			'default' => 'n',
+			'value'  => array(0 => 'n', 1 => 'y')
+		),
+		'active' => array (
+			'datatype' => 'VARCHAR',
+			'formtype' => 'CHECKBOX',
+			'default' => 'y',
+			'value'  => array(0 => 'n', 1 => 'y')
+		),
+		//#################################
+		// ENDE Datatable fields
+		//#################################
+	)
+);
+
+
+$form["tabs"]['redirect'] = array (
+	'title'  => "Redirect",
+	'width'  => 100,
+	'template'  => "templates/web_vhost_aliasdomain_redirect.htm",
+	'readonly' => false,
+	'fields'  => array (
+		//#################################
+		// Begin Datatable fields
+		//#################################
+		'redirect_type' => array (
+			'datatype' => 'VARCHAR',
+			'formtype' => 'SELECT',
+			'default' => '',
+			'value'  => array('' => 'no_redirect_txt', 'no' => 'no_flag_txt', 'R' => 'R', 'L' => 'L', 'R,L' => 'R,L', 'R=301,L' => 'R=301,L', 'last' => 'last', 'break' => 'break', 'redirect' => 'redirect', 'permanent' => 'permanent', 'proxy' => 'proxy')
+		),
+		'redirect_path' => array (
+			'datatype' => 'VARCHAR',
+			'validators' => array (  0 => array ( 'type' => 'REGEX',
+					'regex' => '@^(([\.]{0})|((ftp|https?)://([-\w\.]+)+(:\d+)?(/([\w/_\.\,\-\+\?\~!:%]*(\?\S+)?)?)?)|(\[scheme\]://([-\w\.]+)+(:\d+)?(/([\w/_\.\-\,\+\?\~!:%]*(\?\S+)?)?)?)|(/(?!.*\.\.)[\w/_\.\-]{1,255}/))$@',
+					'errmsg'=> 'redirect_error_regex'),
+			),
+			'formtype' => 'TEXT',
+			'default' => '',
+			'value'  => '',
+			'width'  => '30',
+			'maxlength' => '255'
+		),
+		'seo_redirect' => array (
+			'datatype' => 'VARCHAR',
+			'formtype' => 'SELECT',
+			'default' => '',
+			'value'  => array('' => 'no_redirect_txt', 'non_www_to_www' => 'domain.tld => www.domain.tld', 'www_to_non_www' => 'www.domain.tld => domain.tld', '*_domain_tld_to_domain_tld' => '*.doman.tld => domain.tld', '*_domain_tld_to_www_domain_tld' => '*.domain.tld => www.domain.tld', '*_to_domain_tld' => '* => domain.tld', '*_to_www_domain_tld' => '* => www.domain.tld')
+		),
+		'rewrite_rules' => array (
+			'datatype' => 'TEXT',
+			'formtype' => 'TEXT',
+			'default' => '',
+			'value'  => '',
+			'width'  => '30',
+			'maxlength' => '255'
+		),
+		//#################################
+		// ENDE Datatable fields
+		//#################################
+	)
+);
+
+if($ssl_available) {
+	$form["tabs"]['ssl'] = array (
+		'title'  => "SSL",
+		'width'  => 100,
+		'template'  => "templates/web_vhost_aliasdomain_ssl.htm",
+		'readonly' => false,
+		'fields'  => array (
+			//#################################
+			// Begin Datatable fields
+			//#################################
+			'ssl_state' => array (
+				'datatype' => 'VARCHAR',
+				'formtype' => 'TEXT',
+				'validators' => array (  0 => array ( 'type' => 'REGEX',
+						'regex' => '/^(([\.]{0})|([a-zA-Z0-9\ \.\-\_\,]{1,255}))$/',
+						'errmsg'=> 'ssl_state_error_regex'),
+				),
+				'default' => '',
+				'value'  => '',
+				'width'  => '30',
+				'maxlength' => '255'
+			),
+			'ssl_locality' => array (
+				'datatype' => 'VARCHAR',
+				'formtype' => 'TEXT',
+				'validators' => array (  0 => array ( 'type' => 'REGEX',
+						'regex' => '/^(([\.]{0})|([a-zA-Z0-9\ \.\-\_\,]{1,255}))$/',
+						'errmsg'=> 'ssl_locality_error_regex'),
+				),
+				'default' => '',
+				'value'  => '',
+				'width'  => '30',
+				'maxlength' => '255'
+			),
+			'ssl_organisation' => array (
+				'datatype' => 'VARCHAR',
+				'formtype' => 'TEXT',
+				'validators' => array (  0 => array ( 'type' => 'REGEX',
+						'regex' => '/^(([\.]{0})|([a-zA-Z0-9\ \.\-\_\,]{1,255}))$/',
+						'errmsg'=> 'ssl_organisation_error_regex'),
+				),
+				'default' => '',
+				'value'  => '',
+				'width'  => '30',
+				'maxlength' => '255'
+			),
+			'ssl_organisation_unit' => array (
+				'datatype' => 'VARCHAR',
+				'formtype' => 'TEXT',
+				'validators' => array (  0 => array ( 'type' => 'REGEX',
+						'regex' => '/^(([\.]{0})|([a-zA-Z0-9\ \.\-\_\,]{1,255}))$/',
+						'errmsg'=> 'ssl_organistaion_unit_error_regex'),
+				),
+				'default' => '',
+				'value'  => '',
+				'width'  => '30',
+				'maxlength' => '255'
+			),
+			/*
+		'ssl_country' => array (
+			'datatype'	=> 'VARCHAR',
+			'formtype'	=> 'TEXT',
+			'validators'	=> array ( 	0 => array (	'type'	=> 'REGEX',
+														'regex' => '/^(([\.]{0})|([A-Z]{2,2}))$/',
+														'errmsg'=> 'ssl_country_error_regex'),
+									),
+			'default'	=> '',
+			'value'		=> '',
+			'width'		=> '2',
+			'maxlength'	=> '2'
+		),
+		*/
+			'ssl_country' => array (
+				'datatype' => 'VARCHAR',
+				'formtype' => 'SELECT',
+				'default' => '',
+				'datasource' => array (  'type' => 'SQL',
+					'querystring' => 'SELECT iso,printable_name FROM country ORDER BY printable_name',
+					'keyfield'=> 'iso',
+					'valuefield'=> 'printable_name'
+				),
+				'value'  => ''
+			),
+			'ssl_domain' => array (
+				'datatype' => 'VARCHAR',
+				'formtype' => 'TEXT',
+				'default' => '',
+				'value'  => '',
+				'width'  => '30',
+				'maxlength' => '255'
+			),
+			'ssl_key' => array (
+				'datatype' => 'TEXT',
+				'formtype' => 'TEXTAREA',
+				'default' => '',
+				'value'  => '',
+				'cols'  => '30',
+				'rows'  => '10'
+			),
+			'ssl_request' => array (
+				'datatype' => 'TEXT',
+				'formtype' => 'TEXTAREA',
+				'default' => '',
+				'value'  => '',
+				'cols'  => '30',
+				'rows'  => '10'
+			),
+			'ssl_cert' => array (
+				'datatype' => 'TEXT',
+				'formtype' => 'TEXTAREA',
+				'default' => '',
+				'value'  => '',
+				'cols'  => '30',
+				'rows'  => '10'
+			),
+			'ssl_bundle' => array (
+				'datatype' => 'TEXT',
+				'formtype' => 'TEXTAREA',
+				'default' => '',
+				'value'  => '',
+				'cols'  => '30',
+				'rows'  => '10'
+			),
+			'ssl_action' => array (
+				'datatype' => 'VARCHAR',
+				'formtype' => 'SELECT',
+				'default' => '',
+				'value'  => array('' => 'none_txt', 'save' => 'save_certificate_txt', 'create' => 'create_certificate_txt', 'del' => 'delete_certificate_txt')
+			),
+			//#################################
+			// ENDE Datatable fields
+			//#################################
+		)
+	);
+}
+
+//* Statistics
+$form["tabs"]['stats'] = array (
+	'title'  => "Stats",
+	'width'  => 100,
+	'template'  => "templates/web_vhost_aliasdomain_stats.htm",
+	'readonly' => false,
+	'fields'  => array (
+		//#################################
+		// Begin Datatable fields
+		//#################################
+		'stats_password' => array (
+			'datatype' => 'VARCHAR',
+			'formtype' => 'PASSWORD',
+			'encryption' => 'CRYPT',
+			'default' => '',
+			'value'  => '',
+			'width'  => '30',
+			'maxlength' => '255'
+		),
+		'stats_type' => array (
+			'datatype' => 'VARCHAR',
+			'formtype' => 'SELECT',
+			'default' => 'webalizer',
+			'value'  => array('webalizer' => 'Webalizer', 'awstats' => 'AWStats')
+		),
+		//#################################
+		// ENDE Datatable fields
+		//#################################
+	)
+);
+
+// if($_SESSION["s"]["user"]["typ"] == 'admin') {
+
+//* Backup
+$form["tabs"]['backup'] = array (
+	'title'  => "Backup",
+	'width'  => 100,
+	'template'  => "templates/web_vhost_aliasdomain_backup.htm",
+	'readonly' => false,
+	'fields'  => array (
+		//#################################
+		// Begin Datatable fields
+		//#################################
+		'backup_interval' => array (
+			'datatype' => 'VARCHAR',
+			'formtype' => 'SELECT',
+			'default' => '',
+			'value'  => array('none' => 'No backup', 'daily' => 'Daily', 'weekly' => 'Weekly', 'monthly' => 'Monthly')
+		),
+		'backup_copies' => array (
+			'datatype' => 'INTEGER',
+			'formtype' => 'SELECT',
+			'default' => '',
+			'value'  => array('1' => '1', '2' => '2', '3' => '3', '4' => '4', '5' => '5', '6' => '6', '7' => '7', '8' => '8', '9' => '9', '10' => '10')
+		),
+		'backup_excludes' => array (
+			'datatype' => 'VARCHAR',
+			'validators' => array (  0 => array ( 'type' => 'REGEX',
+					'regex' => '@^(?!.*\.\.)[-a-zA-Z0-9_/.~,*]*$@',
+					'errmsg'=> 'backup_excludes_error_regex'),
+			),
+			'formtype' => 'TEXT',
+			'default' => '',
+			'value'  => '',
+			'width'  => '30',
+			'maxlength' => '255'
+		),
+		//#################################
+		// ENDE Datatable fields
+		//#################################
+	),
+	'plugins' => array (
+		'backup_records' => array (
+			'class'   => 'plugin_backuplist',
+			'options' => array(
+			)
+		)
+	)
+);
+
+// }
+
+if($_SESSION["s"]["user"]["typ"] == 'admin'
+	|| ($web_config['reseller_can_use_options'] == 'y' && $app->auth->has_clients($_SESSION['s']['user']['userid']))) {
+
+	$form["tabs"]['advanced'] = array (
+		'title'  => "Options",
+		'width'  => 100,
+		'template'  => "templates/web_vhost_aliasdomain_advanced.htm",
+		'readonly' => false,
+		'fields'  => array (
+			//#################################
+			// Begin Datatable fields
+			//#################################
+			'document_root' => array (
+				'datatype' => 'VARCHAR',
+				'formtype' => 'TEXT',
+				'validators' => array (  0 => array ( 'type' => 'NOTEMPTY',
+						'errmsg'=> 'documentroot_error_empty'),
+				),
+				'default' => '',
+				'value'  => '',
+				'width'  => '30',
+				'maxlength' => '255'
+			),
+			'system_user' => array (
+				'datatype' => 'VARCHAR',
+				'formtype' => 'TEXT',
+				'validators' => array (  0 => array ( 'type' => 'NOTEMPTY',
+						'errmsg'=> 'sysuser_error_empty'),
+				),
+				'default' => '',
+				'value'  => '',
+				'width'  => '30',
+				'maxlength' => '255'
+			),
+			'system_group' => array (
+				'datatype' => 'VARCHAR',
+				'formtype' => 'TEXT',
+				'validators' => array (  0 => array ( 'type' => 'NOTEMPTY',
+						'errmsg'=> 'sysgroup_error_empty'),
+				),
+				'default' => '',
+				'value'  => '',
+				'width'  => '30',
+				'maxlength' => '255'
+			),
+			'allow_override' => array (
+				'datatype' => 'VARCHAR',
+				'formtype' => 'TEXT',
+				'validators' => array (  0 => array ( 'type' => 'NOTEMPTY',
+						'errmsg'=> 'allow_override_error_empty'),
+				),
+				'default' => 'All',
+				'value'  => '',
+				'width'  => '30',
+				'maxlength' => '255'
+			),
+			'php_fpm_use_socket' => array (
+				'datatype' => 'VARCHAR',
+				'formtype' => 'CHECKBOX',
+				'default' => 'n',
+				'value'  => array(0 => 'n', 1 => 'y')
+			),
+			'pm' => array (
+				'datatype' => 'VARCHAR',
+				'formtype' => 'SELECT',
+				'default' => 'dynamic',
+				'value'  => array('static' => 'static', 'dynamic' => 'dynamic', 'ondemand' => 'ondemand (PHP Version >= 5.3.9)')
+			),
+			'pm_max_children' => array (
+				'datatype' => 'INTEGER',
+				'formtype' => 'TEXT',
+				'validators' => array (  0 => array ( 'type' => 'REGEX',
+						'regex' => '/^([1-9][0-9]{0,10})$/',
+						'errmsg'=> 'pm_max_children_error_regex'),
+				),
+				'default' => '10',
+				'value'  => '',
+				'width'  => '3',
+				'maxlength' => '3'
+			),
+			'pm_start_servers' => array (
+				'datatype' => 'INTEGER',
+				'formtype' => 'TEXT',
+				'validators' => array (  0 => array ( 'type' => 'REGEX',
+						'regex' => '/^([1-9][0-9]{0,10})$/',
+						'errmsg'=> 'pm_start_servers_error_regex'),
+				),
+				'default' => '2',
+				'value'  => '',
+				'width'  => '3',
+				'maxlength' => '3'
+			),
+			'pm_min_spare_servers' => array (
+				'datatype' => 'INTEGER',
+				'formtype' => 'TEXT',
+				'validators' => array (  0 => array ( 'type' => 'REGEX',
+						'regex' => '/^([1-9][0-9]{0,10})$/',
+						'errmsg'=> 'pm_min_spare_servers_error_regex'),
+				),
+				'default' => '1',
+				'value'  => '',
+				'width'  => '3',
+				'maxlength' => '3'
+			),
+			'pm_max_spare_servers' => array (
+				'datatype' => 'INTEGER',
+				'formtype' => 'TEXT',
+				'validators' => array (  0 => array ( 'type' => 'REGEX',
+						'regex' => '/^([1-9][0-9]{0,10})$/',
+						'errmsg'=> 'pm_max_spare_servers_error_regex'),
+				),
+				'default' => '5',
+				'value'  => '',
+				'width'  => '3',
+				'maxlength' => '3'
+			),
+			'pm_process_idle_timeout' => array (
+				'datatype' => 'INTEGER',
+				'formtype' => 'TEXT',
+				'validators' => array (  0 => array ( 'type' => 'REGEX',
+						'regex' => '/^([1-9][0-9]{0,10})$/',
+						'errmsg'=> 'pm_process_idle_timeout_error_regex'),
+				),
+				'default' => '10',
+				'value'  => '',
+				'width'  => '3',
+				'maxlength' => '6'
+			),
+			'pm_max_requests' => array (
+				'datatype' => 'INTEGER',
+				'formtype' => 'TEXT',
+				'validators' => array (  0 => array ( 'type' => 'REGEX',
+						'regex' => '/^([0-9]{1,11})$/',
+						'errmsg'=> 'pm_max_requests_error_regex'),
+				),
+				'default' => '0',
+				'value'  => '',
+				'width'  => '3',
+				'maxlength' => '6'
+			),
+			'php_open_basedir' => array (
+				'datatype' => 'VARCHAR',
+				'formtype' => 'TEXT',
+				/*'validators'	=> array ( 	0 => array (	'type'	=> 'NOTEMPTY',
+														'errmsg'=> 'php_open_basedir_error_empty'),
+									),   */
+				'default' => 'All',
+				'value'  => '',
+				'width'  => '30',
+				'maxlength' => '255'
+			),
+			'custom_php_ini' => array (
+				'datatype' => 'TEXT',
+				'formtype' => 'TEXT',
+				'default' => '',
+				'value'  => '',
+				'width'  => '30',
+				'maxlength' => '255'
+			),
+			'apache_directives' => array (
+				'datatype' => 'TEXT',
+				'formtype' => 'TEXT',
+				'default' => '',
+				'value'  => '',
+				'width'  => '30',
+				'maxlength' => '255'
+			),
+			'nginx_directives' => array (
+				'datatype' => 'TEXT',
+				'formtype' => 'TEXT',
+				'default' => '',
+				'value'  => '',
+				'width'  => '30',
+				'maxlength' => '255'
+			),
+			'proxy_directives' => array (
+				'datatype' => 'TEXT',
+				'formtype' => 'TEXT',
+				'default' => '',
+				'value'  => '',
+				'width'  => '30',
+				'maxlength' => '255'
+			),
+			//#################################
+			// ENDE Datatable fields
+			//#################################
+		)
+	);
+
+}
+
+
+?>
diff --git a/interface/web/sites/form/web_vhost_subdomain.tform.php b/interface/web/sites/form/web_vhost_subdomain.tform.php
index 2e30efa8705b00fbd58e4121577a9ae63172d5fd..de2fba800ac0265c1ea4049f181600ad798130f5 100644
--- a/interface/web/sites/form/web_vhost_subdomain.tform.php
+++ b/interface/web/sites/form/web_vhost_subdomain.tform.php
@@ -136,7 +136,7 @@ $form["tabs"]['domain'] = array (
 			'datatype' => 'VARCHAR',
 			'formtype' => 'SELECT',
 			'default' => 'y',
-			'value'  => array('vhost' => 'Site', 'alias' => 'Alias', 'subdomain' => 'Subdomain', 'vhostsubdomain' => 'Subdomain')
+			'value'  => array('vhost' => 'Site', 'alias' => 'Alias', 'vhostalias' => 'Alias', 'subdomain' => 'Subdomain', 'vhostsubdomain' => 'Subdomain')
 		),
 		'parent_domain_id' => array (
 			'datatype' => 'INTEGER',
diff --git a/interface/web/sites/lib/lang/ar_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/ar_web_vhost_aliasdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..b87c788126dbd5785e1b73ac049e6f04b5ee7735
--- /dev/null
+++ b/interface/web/sites/lib/lang/ar_web_vhost_aliasdomain.lng
@@ -0,0 +1,118 @@
+<?php
+$wb['parent_domain_id_txt'] = 'Parent Website';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['backup_interval_txt'] = 'Backup interval';
+$wb['backup_copies_txt'] = 'Number of backup copies';
+$wb['ssl_state_txt'] = 'State';
+$wb['ssl_locality_txt'] = 'Locality';
+$wb['ssl_organisation_txt'] = 'Organisation';
+$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
+$wb['ssl_country_txt'] = 'Country';
+$wb['ssl_key_txt'] = 'SSL Key';
+$wb['ssl_request_txt'] = 'SSL Request';
+$wb['ssl_cert_txt'] = 'SSL Certificate';
+$wb['ssl_bundle_txt'] = 'SSL Bundle';
+$wb['ssl_action_txt'] = 'SSL Action';
+$wb['ssl_domain_txt'] = 'SSL Domain';
+$wb['server_id_txt'] = 'Server';
+$wb['domain_txt'] = 'Domain';
+$wb['host_txt'] = 'Hostname';
+$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
+$wb['type_txt'] = 'Type';
+$wb['redirect_type_txt'] = 'Redirect Type';
+$wb['redirect_path_txt'] = 'Redirect Path';
+$wb['active_txt'] = 'Active';
+$wb['document_root_txt'] = 'Documentroot';
+$wb['system_user_txt'] = 'Linux User';
+$wb['system_group_txt'] = 'Linux Group';
+$wb['ip_address_txt'] = 'IPv4-Address';
+$wb['ipv6_address_txt'] = 'IPv6-Address';
+$wb['vhost_type_txt'] = 'VHost Type';
+$wb['hd_quota_txt'] = 'Harddisk Quota';
+$wb['traffic_quota_txt'] = 'Traffic Quota';
+$wb['cgi_txt'] = 'CGI';
+$wb['ssi_txt'] = 'SSI';
+$wb['errordocs_txt'] = 'Own Error-Documents';
+$wb['subdomain_txt'] = 'Auto-Subdomain';
+$wb['ssl_txt'] = 'SSL';
+$wb['suexec_txt'] = 'SuEXEC';
+$wb['php_txt'] = 'PHP';
+$wb['client_txt'] = 'Client';
+$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
+$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
+$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
+$wb['apache_directives_txt'] = 'Apache Directives';
+$wb['domain_error_empty'] = 'Domain is empty.';
+$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
+$wb['domain_error_regex'] = 'Domain name invalid.';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
+$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
+$wb['error_ssl_state_empty'] = 'SSL State is empty.';
+$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
+$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
+$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
+$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
+$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
+$wb['client_group_id_txt'] = 'Client';
+$wb['stats_password_txt'] = 'Webstatistics password';
+$wb['allow_override_txt'] = 'Apache AllowOverride';
+$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
+$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
+$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
+$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
+$wb['php_open_basedir_txt'] = 'PHP open_basedir';
+$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
+$wb['ruby_txt'] = 'Ruby';
+$wb['stats_user_txt'] = 'Webstatistics username';
+$wb['stats_type_txt'] = 'Webstatistics program';
+$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
+$wb['none_txt'] = 'None';
+$wb['disabled_txt'] = 'Disabled';
+$wb['no_redirect_txt'] = 'No redirect';
+$wb['no_flag_txt'] = 'No flag';
+$wb['save_certificate_txt'] = 'Save certificate';
+$wb['create_certificate_txt'] = 'Create certificate';
+$wb['delete_certificate_txt'] = 'Delete certificate';
+$wb['nginx_directives_txt'] = 'nginx Directives';
+$wb['seo_redirect_txt'] = 'SEO Redirect';
+$wb['non_www_to_www_txt'] = 'Non-www -&gt; www';
+$wb['www_to_non_www_txt'] = 'www -&gt; non-www';
+$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
+$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
+$wb['python_txt'] = 'Python';
+$wb['perl_txt'] = 'Perl';
+$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
+$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
+$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
+$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
+$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children &gt;= pm.max_spare_servers &gt;= pm.start_servers &gt;= pm.min_spare_servers &gt; 0';
+$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
+$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
+$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
+$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
+$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
+$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
+$wb['fastcgi_php_version_txt'] = 'PHP Version';
+$wb['pm_txt'] = 'PHP-FPM Process Manager';
+$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
+$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
+$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
+$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
+$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
+$wb['generate_password_txt'] = 'Generate Password';
+$wb['repeat_password_txt'] = 'Repeat Password';
+$wb['password_mismatch_txt'] = 'The passwords do not match.';
+$wb['password_match_txt'] = 'The passwords do match.';
+$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
+$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
+$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
+$wb['proxy_directives_txt'] = 'Proxy Directives';
+$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
+?>
diff --git a/interface/web/sites/lib/lang/ar_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/ar_web_vhost_aliasdomain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..ae8bfec7a823f5df6ab606c4ff1f425ad578105a
--- /dev/null
+++ b/interface/web/sites/lib/lang/ar_web_vhost_aliasdomain_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Aliasdomain';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['parent_domain_id_txt'] = 'Website';
+$wb['domain_txt'] = 'Aliasdomain';
+$wb['add_new_record_txt'] = 'Add new aliasdomain';
+?>
diff --git a/interface/web/sites/lib/lang/bg_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/bg_web_vhost_aliasdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..b87c788126dbd5785e1b73ac049e6f04b5ee7735
--- /dev/null
+++ b/interface/web/sites/lib/lang/bg_web_vhost_aliasdomain.lng
@@ -0,0 +1,118 @@
+<?php
+$wb['parent_domain_id_txt'] = 'Parent Website';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['backup_interval_txt'] = 'Backup interval';
+$wb['backup_copies_txt'] = 'Number of backup copies';
+$wb['ssl_state_txt'] = 'State';
+$wb['ssl_locality_txt'] = 'Locality';
+$wb['ssl_organisation_txt'] = 'Organisation';
+$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
+$wb['ssl_country_txt'] = 'Country';
+$wb['ssl_key_txt'] = 'SSL Key';
+$wb['ssl_request_txt'] = 'SSL Request';
+$wb['ssl_cert_txt'] = 'SSL Certificate';
+$wb['ssl_bundle_txt'] = 'SSL Bundle';
+$wb['ssl_action_txt'] = 'SSL Action';
+$wb['ssl_domain_txt'] = 'SSL Domain';
+$wb['server_id_txt'] = 'Server';
+$wb['domain_txt'] = 'Domain';
+$wb['host_txt'] = 'Hostname';
+$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
+$wb['type_txt'] = 'Type';
+$wb['redirect_type_txt'] = 'Redirect Type';
+$wb['redirect_path_txt'] = 'Redirect Path';
+$wb['active_txt'] = 'Active';
+$wb['document_root_txt'] = 'Documentroot';
+$wb['system_user_txt'] = 'Linux User';
+$wb['system_group_txt'] = 'Linux Group';
+$wb['ip_address_txt'] = 'IPv4-Address';
+$wb['ipv6_address_txt'] = 'IPv6-Address';
+$wb['vhost_type_txt'] = 'VHost Type';
+$wb['hd_quota_txt'] = 'Harddisk Quota';
+$wb['traffic_quota_txt'] = 'Traffic Quota';
+$wb['cgi_txt'] = 'CGI';
+$wb['ssi_txt'] = 'SSI';
+$wb['errordocs_txt'] = 'Own Error-Documents';
+$wb['subdomain_txt'] = 'Auto-Subdomain';
+$wb['ssl_txt'] = 'SSL';
+$wb['suexec_txt'] = 'SuEXEC';
+$wb['php_txt'] = 'PHP';
+$wb['client_txt'] = 'Client';
+$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
+$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
+$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
+$wb['apache_directives_txt'] = 'Apache Directives';
+$wb['domain_error_empty'] = 'Domain is empty.';
+$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
+$wb['domain_error_regex'] = 'Domain name invalid.';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
+$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
+$wb['error_ssl_state_empty'] = 'SSL State is empty.';
+$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
+$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
+$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
+$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
+$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
+$wb['client_group_id_txt'] = 'Client';
+$wb['stats_password_txt'] = 'Webstatistics password';
+$wb['allow_override_txt'] = 'Apache AllowOverride';
+$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
+$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
+$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
+$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
+$wb['php_open_basedir_txt'] = 'PHP open_basedir';
+$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
+$wb['ruby_txt'] = 'Ruby';
+$wb['stats_user_txt'] = 'Webstatistics username';
+$wb['stats_type_txt'] = 'Webstatistics program';
+$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
+$wb['none_txt'] = 'None';
+$wb['disabled_txt'] = 'Disabled';
+$wb['no_redirect_txt'] = 'No redirect';
+$wb['no_flag_txt'] = 'No flag';
+$wb['save_certificate_txt'] = 'Save certificate';
+$wb['create_certificate_txt'] = 'Create certificate';
+$wb['delete_certificate_txt'] = 'Delete certificate';
+$wb['nginx_directives_txt'] = 'nginx Directives';
+$wb['seo_redirect_txt'] = 'SEO Redirect';
+$wb['non_www_to_www_txt'] = 'Non-www -&gt; www';
+$wb['www_to_non_www_txt'] = 'www -&gt; non-www';
+$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
+$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
+$wb['python_txt'] = 'Python';
+$wb['perl_txt'] = 'Perl';
+$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
+$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
+$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
+$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
+$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children &gt;= pm.max_spare_servers &gt;= pm.start_servers &gt;= pm.min_spare_servers &gt; 0';
+$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
+$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
+$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
+$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
+$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
+$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
+$wb['fastcgi_php_version_txt'] = 'PHP Version';
+$wb['pm_txt'] = 'PHP-FPM Process Manager';
+$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
+$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
+$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
+$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
+$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
+$wb['generate_password_txt'] = 'Generate Password';
+$wb['repeat_password_txt'] = 'Repeat Password';
+$wb['password_mismatch_txt'] = 'The passwords do not match.';
+$wb['password_match_txt'] = 'The passwords do match.';
+$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
+$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
+$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
+$wb['proxy_directives_txt'] = 'Proxy Directives';
+$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
+?>
diff --git a/interface/web/sites/lib/lang/bg_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/bg_web_vhost_aliasdomain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..8e60e143c29a1030a2767fa15c4d13b9b5957ccf
--- /dev/null
+++ b/interface/web/sites/lib/lang/bg_web_vhost_aliasdomain_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Aliasdomain';
+$wb['active_txt'] = 'Активен';
+$wb['server_id_txt'] = 'Сървър';
+$wb['parent_domain_id_txt'] = 'Сайт';
+$wb['domain_txt'] = 'Aliasdomain';
+$wb['add_new_record_txt'] = 'Нов aliasdomain';
+?>
diff --git a/interface/web/sites/lib/lang/br_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/br_web_vhost_aliasdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..b87c788126dbd5785e1b73ac049e6f04b5ee7735
--- /dev/null
+++ b/interface/web/sites/lib/lang/br_web_vhost_aliasdomain.lng
@@ -0,0 +1,118 @@
+<?php
+$wb['parent_domain_id_txt'] = 'Parent Website';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['backup_interval_txt'] = 'Backup interval';
+$wb['backup_copies_txt'] = 'Number of backup copies';
+$wb['ssl_state_txt'] = 'State';
+$wb['ssl_locality_txt'] = 'Locality';
+$wb['ssl_organisation_txt'] = 'Organisation';
+$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
+$wb['ssl_country_txt'] = 'Country';
+$wb['ssl_key_txt'] = 'SSL Key';
+$wb['ssl_request_txt'] = 'SSL Request';
+$wb['ssl_cert_txt'] = 'SSL Certificate';
+$wb['ssl_bundle_txt'] = 'SSL Bundle';
+$wb['ssl_action_txt'] = 'SSL Action';
+$wb['ssl_domain_txt'] = 'SSL Domain';
+$wb['server_id_txt'] = 'Server';
+$wb['domain_txt'] = 'Domain';
+$wb['host_txt'] = 'Hostname';
+$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
+$wb['type_txt'] = 'Type';
+$wb['redirect_type_txt'] = 'Redirect Type';
+$wb['redirect_path_txt'] = 'Redirect Path';
+$wb['active_txt'] = 'Active';
+$wb['document_root_txt'] = 'Documentroot';
+$wb['system_user_txt'] = 'Linux User';
+$wb['system_group_txt'] = 'Linux Group';
+$wb['ip_address_txt'] = 'IPv4-Address';
+$wb['ipv6_address_txt'] = 'IPv6-Address';
+$wb['vhost_type_txt'] = 'VHost Type';
+$wb['hd_quota_txt'] = 'Harddisk Quota';
+$wb['traffic_quota_txt'] = 'Traffic Quota';
+$wb['cgi_txt'] = 'CGI';
+$wb['ssi_txt'] = 'SSI';
+$wb['errordocs_txt'] = 'Own Error-Documents';
+$wb['subdomain_txt'] = 'Auto-Subdomain';
+$wb['ssl_txt'] = 'SSL';
+$wb['suexec_txt'] = 'SuEXEC';
+$wb['php_txt'] = 'PHP';
+$wb['client_txt'] = 'Client';
+$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
+$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
+$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
+$wb['apache_directives_txt'] = 'Apache Directives';
+$wb['domain_error_empty'] = 'Domain is empty.';
+$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
+$wb['domain_error_regex'] = 'Domain name invalid.';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
+$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
+$wb['error_ssl_state_empty'] = 'SSL State is empty.';
+$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
+$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
+$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
+$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
+$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
+$wb['client_group_id_txt'] = 'Client';
+$wb['stats_password_txt'] = 'Webstatistics password';
+$wb['allow_override_txt'] = 'Apache AllowOverride';
+$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
+$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
+$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
+$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
+$wb['php_open_basedir_txt'] = 'PHP open_basedir';
+$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
+$wb['ruby_txt'] = 'Ruby';
+$wb['stats_user_txt'] = 'Webstatistics username';
+$wb['stats_type_txt'] = 'Webstatistics program';
+$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
+$wb['none_txt'] = 'None';
+$wb['disabled_txt'] = 'Disabled';
+$wb['no_redirect_txt'] = 'No redirect';
+$wb['no_flag_txt'] = 'No flag';
+$wb['save_certificate_txt'] = 'Save certificate';
+$wb['create_certificate_txt'] = 'Create certificate';
+$wb['delete_certificate_txt'] = 'Delete certificate';
+$wb['nginx_directives_txt'] = 'nginx Directives';
+$wb['seo_redirect_txt'] = 'SEO Redirect';
+$wb['non_www_to_www_txt'] = 'Non-www -&gt; www';
+$wb['www_to_non_www_txt'] = 'www -&gt; non-www';
+$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
+$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
+$wb['python_txt'] = 'Python';
+$wb['perl_txt'] = 'Perl';
+$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
+$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
+$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
+$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
+$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children &gt;= pm.max_spare_servers &gt;= pm.start_servers &gt;= pm.min_spare_servers &gt; 0';
+$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
+$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
+$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
+$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
+$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
+$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
+$wb['fastcgi_php_version_txt'] = 'PHP Version';
+$wb['pm_txt'] = 'PHP-FPM Process Manager';
+$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
+$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
+$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
+$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
+$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
+$wb['generate_password_txt'] = 'Generate Password';
+$wb['repeat_password_txt'] = 'Repeat Password';
+$wb['password_mismatch_txt'] = 'The passwords do not match.';
+$wb['password_match_txt'] = 'The passwords do match.';
+$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
+$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
+$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
+$wb['proxy_directives_txt'] = 'Proxy Directives';
+$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
+?>
diff --git a/interface/web/sites/lib/lang/br_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/br_web_vhost_aliasdomain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..78dbdd02282cefefe9fba8873a033ba32ac16322
--- /dev/null
+++ b/interface/web/sites/lib/lang/br_web_vhost_aliasdomain_list.lng
@@ -0,0 +1,9 @@
+<?php
+<?php
+$wb['list_head_txt'] = 'Domínio Alias';
+$wb['active_txt'] = 'Ativo';
+$wb['server_id_txt'] = 'Servidor';
+$wb['parent_domain_id_txt'] = 'Website';
+$wb['domain_txt'] = 'Domínio Alias';
+$wb['add_new_record_txt'] = 'Adcionar novo domínio alias';
+?>
\ No newline at end of file
diff --git a/interface/web/sites/lib/lang/cz_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/cz_web_vhost_aliasdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..ab47f26dc4238e5de6ed7ab52b0f1997319f3a26
--- /dev/null
+++ b/interface/web/sites/lib/lang/cz_web_vhost_aliasdomain.lng
@@ -0,0 +1,119 @@
+<?php
+$wb['parent_domain_id_txt'] = 'Parent Website';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['backup_interval_txt'] = 'Interval zálohování';
+$wb['backup_copies_txt'] = 'Počet záložních kopií';
+$wb['ssl_state_txt'] = 'Stát';
+$wb['ssl_locality_txt'] = 'Lokalita';
+$wb['ssl_organisation_txt'] = 'Organizace';
+$wb['ssl_organisation_unit_txt'] = 'Organizační jednotka';
+$wb['ssl_country_txt'] = 'ZemÄ›';
+$wb['ssl_key_txt'] = 'SSL klíč';
+$wb['ssl_request_txt'] = 'SSL požadavek';
+$wb['ssl_cert_txt'] = 'SSL certifikát';
+$wb['ssl_bundle_txt'] = 'SSL Bundle';
+$wb['ssl_action_txt'] = 'SSL akce';
+$wb['ssl_domain_txt'] = 'SSL Doména';
+$wb['server_id_txt'] = 'Server';
+$wb['domain_txt'] = 'Doména';
+$wb['host_txt'] = 'Hostname';
+$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
+$wb['type_txt'] = 'Verze';
+$wb['redirect_type_txt'] = 'Typ přesměrování';
+$wb['redirect_path_txt'] = 'Cesta přesměrování';
+$wb['active_txt'] = 'Aktivní';
+$wb['document_root_txt'] = 'Documentroot';
+$wb['system_user_txt'] = 'Linux User';
+$wb['system_group_txt'] = 'Linux Group';
+$wb['ip_address_txt'] = 'IPv4-Address';
+$wb['ipv6_address_txt'] = 'IPv6-Address';
+$wb['vhost_type_txt'] = 'VHost Type';
+$wb['hd_quota_txt'] = 'Harddisk Quota';
+$wb['traffic_quota_txt'] = 'Traffic Quota';
+$wb['cgi_txt'] = 'CGI';
+$wb['ssi_txt'] = 'SSI';
+$wb['errordocs_txt'] = 'Own Error-Documents';
+$wb['subdomain_txt'] = 'Auto-Subdomain';
+$wb['ssl_txt'] = 'SSL';
+$wb['suexec_txt'] = 'SuEXEC';
+$wb['php_txt'] = 'PHP';
+$wb['client_txt'] = 'Klient';
+$wb['limit_web_domain_txt'] = 'The max. Počet webových stránek for your account is reached.';
+$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
+$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
+$wb['apache_directives_txt'] = 'Apache Directives';
+$wb['domain_error_empty'] = 'Doména je prázdná.';
+$wb['domain_error_unique'] = 'Webové stránky nebo sub-doména / alias-domény již existuje s tímto doménovým jménem.';
+$wb['domain_error_regex'] = 'Neplatné doménové jméno.';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
+$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
+$wb['error_ssl_state_empty'] = 'SSL State is empty.';
+$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
+$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
+$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
+$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
+$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
+$wb['client_group_id_txt'] = 'Klient';
+$wb['stats_password_txt'] = 'Webstatistics password';
+$wb['allow_override_txt'] = 'Apache AllowOverride';
+$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
+$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
+$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
+$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
+$wb['php_open_basedir_txt'] = 'PHP open_basedir';
+$wb['traffic_quota_exceeded_txt'] = 'Traffik kvóta překročena';
+$wb['ruby_txt'] = 'Ruby';
+$wb['stats_user_txt'] = 'Webstatistics username';
+$wb['stats_type_txt'] = 'Webstatistics program';
+$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
+$wb['none_txt'] = 'None';
+$wb['disabled_txt'] = 'Disabled';
+$wb['no_redirect_txt'] = 'No redirect';
+$wb['no_flag_txt'] = 'No flag';
+$wb['save_certificate_txt'] = 'Uložit certifikát';
+$wb['create_certificate_txt'] = 'Vytvořit certifikát';
+$wb['delete_certificate_txt'] = 'Smazat certifikát';
+$wb['nginx_directives_txt'] = 'nginx Directives';
+$wb['seo_redirect_txt'] = 'SEO přesměrování';
+$wb['non_www_to_www_txt'] = 'Non-www -&gt; www';
+$wb['www_to_non_www_txt'] = 'www -&gt; non-www';
+$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
+$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
+$wb['python_txt'] = 'Python';
+$wb['perl_txt'] = 'Perl';
+$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
+$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
+$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
+$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
+$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children &gt;= pm.max_spare_servers &gt;= pm.start_servers &gt;= pm.min_spare_servers &gt; 0';
+$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
+$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
+$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
+$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
+$wb['hd_quota_error_regex'] = 'Kvóta pevného disku je neplatná.';
+$wb['traffic_quota_error_regex'] = 'Traffik kvóta je neplatná.';
+$wb['fastcgi_php_version_txt'] = 'PHP verze';
+$wb['pm_txt'] = 'PHP-FPM Process Manager';
+$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
+$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
+$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
+$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
+$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
+$wb['generate_password_txt'] = 'Generovat heslo';
+$wb['repeat_password_txt'] = 'Opakujte heslo';
+$wb['password_mismatch_txt'] = 'Hesla se neshodují.';
+$wb['password_match_txt'] = 'Hesla se shodují.';
+$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
+$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
+$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
+$wb['proxy_directives_txt'] = 'Proxy Directives';
+$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
+?>
+
diff --git a/interface/web/sites/lib/lang/cz_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/cz_web_vhost_aliasdomain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..08a25f2acedb39c4b825e836403ac311e1a824df
--- /dev/null
+++ b/interface/web/sites/lib/lang/cz_web_vhost_aliasdomain_list.lng
@@ -0,0 +1,9 @@
+<?php
+$wb['list_head_txt'] = 'Alias doména';
+$wb['active_txt'] = 'Aktivní';
+$wb['server_id_txt'] = 'Server';
+$wb['parent_domain_id_txt'] = 'Webová stránka';
+$wb['domain_txt'] = 'Alias doména';
+$wb['add_new_record_txt'] = 'Přidat alias doménu';
+?>
+
diff --git a/interface/web/sites/lib/lang/de_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/de_web_vhost_aliasdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..d234b401cdc949091be72631ea7e7880ca169c7e
--- /dev/null
+++ b/interface/web/sites/lib/lang/de_web_vhost_aliasdomain.lng
@@ -0,0 +1,125 @@
+<?php
+$wb['domain_txt'] = 'Aliasdomain';
+$wb['web_folder_txt'] = 'Basisordner';
+$wb['web_folder_invalid_txt'] = 'Dieser Ordner darf nicht als Basisordner verwendet werden.';
+$wb['web_folder_unique_txt'] = 'Dieser Ordner wird bereits verwendet, bitte geben Sie einen anderen Basisordner an.';
+$wb['ssl_state_txt'] = 'Bundesland';
+$wb['ssl_locality_txt'] = 'Ort';
+$wb['ssl_organisation_txt'] = 'Firma';
+$wb['ssl_organisation_unit_txt'] = 'Abteilung';
+$wb['ssl_country_txt'] = 'Land';
+$wb['ssl_key_txt'] = 'SSL-Key';
+$wb['ssl_request_txt'] = 'SSL-Request';
+$wb['ssl_cert_txt'] = 'SSL-Zertifikat';
+$wb['ssl_bundle_txt'] = 'SSL-Bundle';
+$wb['ssl_action_txt'] = 'SSL-Aktion';
+$wb['server_id_txt'] = 'Server';
+$wb['type_txt'] = 'Typ';
+$wb['parent_domain_id_txt'] = 'Hauptwebseite';
+$wb['web_folder_error_regex'] = 'Ungültige Ordnerangabe, bitte keinen / eingeben.';
+$wb['redirect_type_txt'] = 'Redirect-Typ';
+$wb['redirect_path_txt'] = 'Redirect-Pfad';
+$wb['active_txt'] = 'Aktiv';
+$wb['document_root_txt'] = 'Documentroot';
+$wb['system_user_txt'] = 'Linux-Benutzer';
+$wb['system_group_txt'] = 'Linux-Gruppe';
+$wb['ip_address_txt'] = 'IP Adresse';
+$wb['vhost_type_txt'] = 'vHost-Typ';
+$wb['hd_quota_txt'] = 'Festplatten-Quota';
+$wb['traffic_quota_txt'] = 'Traffic-Quota';
+$wb['cgi_txt'] = 'CGI';
+$wb['ssi_txt'] = 'SSI';
+$wb['ssl_txt'] = 'SSL';
+$wb['suexec_txt'] = 'SuEXEC';
+$wb['php_txt'] = 'PHP';
+$wb['client_txt'] = 'Kunde';
+$wb['limit_web_domain_txt'] = 'Die max. Anzahl an Webdomains für Ihr Konto wurde erreicht.';
+$wb['limit_web_aliasdomain_txt'] = 'Die max. Anzahl an Aliasdomains für Ihr Konto wurde erreicht.';
+$wb['limit_web_subdomain_txt'] = 'Die max. Anzahl an Subdomains für Ihr Konto wurde erreicht.';
+$wb['apache_directives_txt'] = 'Apache-Direktiven';
+$wb['domain_error_empty'] = 'Domain ist leer.';
+$wb['domain_error_unique'] = 'Domain muss eindeutig sein';
+$wb['domain_error_regex'] = 'Domain-Name ungültig.';
+$wb['domain_error_wildcard'] = 'Wildcard-Subdomains sind nicht erlaubt.';
+$wb['hd_quota_error_empty'] = 'Harddisk-Quota ist leer.';
+$wb['traffic_quota_error_empty'] = 'Traffic-Quota ist leer.';
+$wb['errordocs_txt'] = 'Eigene Fehlerseiten';
+$wb['error_ssl_state_empty'] = 'Bundesland (SSL) ist leer.';
+$wb['error_ssl_locality_empty'] = 'Ort (SSL) ist leer.';
+$wb['error_ssl_organisation_empty'] = 'Organisation (SSL) ist leer.';
+$wb['error_ssl_organisation_unit_empty'] = 'Abteilung (SSL) ist leer.';
+$wb['error_ssl_country_empty'] = 'Land (SSL) ist leer.';
+$wb['subdomain_txt'] = 'Auto-Subdomain';
+$wb['client_group_id_txt'] = 'Kunde';
+$wb['stats_password_txt'] = 'Webstatistik-Passwort';
+$wb['ssl_domain_txt'] = 'SSL-Domain';
+$wb['allow_override_txt'] = 'Allow Override';
+$wb['limit_web_quota_free_txt'] = 'Max. mögliches Festplatten-Quota';
+$wb['ssl_state_error_regex'] = 'Ungültiges SSL-Bundesland. Gültige Zeichen sind: a-z, 0-9 und .,-_';
+$wb['ssl_locality_error_regex'] = 'Ungültiger SSL-Ort. Gülige Zeichen sind: a-z, 0-9 und .,-_';
+$wb['ssl_organisation_error_regex'] = 'Ungültige SSL-Firma. Gültige Zeichen sind: a-z, 0-9 und .,-_';
+$wb['ssl_organistaion_unit_error_regex'] = 'Ungültige SSL-Abteilung. Gültige Zeichen sind: a-z, 0-9 und .,-_';
+$wb['ssl_country_error_regex'] = 'Ungültiges SSL-Land. Gültige Zeichen sind: A-Z';
+$wb['limit_traffic_quota_free_txt'] = 'Max. mögliches Traffic-Quota';
+$wb['redirect_error_regex'] = 'Ungültiger Redirect-Pfad. Gültige Angaben sind beispielsweise: /test/ oder http://www.domain.tld/test/';
+$wb['php_open_basedir_txt'] = 'PHP open_basedir';
+$wb['backup_interval_txt'] = 'Backup-Intervall';
+$wb['backup_copies_txt'] = 'Anzahl an Backups';
+$wb['traffic_quota_exceeded_txt'] = 'Max. Datentransfer verbraucht.';
+$wb['ruby_txt'] = 'Ruby';
+$wb['stats_user_txt'] = 'Webstatistik-Benutzername';
+$wb['stats_type_txt'] = 'Webstatistik-Programm';
+$wb['custom_php_ini_txt'] = 'Individuelle php.ini-Einstellungen';
+$wb['error_ssl_cert_empty'] = 'SSL-Zertifikat-Feld ist leer.';
+$wb['none_txt'] = 'Keine';
+$wb['disabled_txt'] = 'Deaktiviert';
+$wb['no_redirect_txt'] = 'Kein Redirect';
+$wb['no_flag_txt'] = 'Kein Flag';
+$wb['save_certificate_txt'] = 'Zertifikat speichern';
+$wb['create_certificate_txt'] = 'Zertifikat erstellen';
+$wb['delete_certificate_txt'] = 'Zertifikat löschen';
+$wb['nginx_directives_txt'] = 'nginx-Direktiven';
+$wb['seo_redirect_txt'] = 'SEO-Redirect';
+$wb['non_www_to_www_txt'] = 'Nicht-www -> www';
+$wb['www_to_non_www_txt'] = 'www -> Nicht-www';
+$wb['php_fpm_use_socket_txt'] = 'Benutze Socket für PHP-FPM';
+$wb['ipv6_address_txt'] = 'IPv6-Adresse';
+$wb['error_no_sni_txt'] = 'SNI für SSL ist auf diesem Server nicht aktiviert. Sie können daher nur ein SSL-Zertifikat pro IP-Adresse eintragen.';
+$wb['python_txt'] = 'Python';
+$wb['perl_txt'] = 'Perl';
+$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
+$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
+$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
+$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
+$wb['error_php_fpm_pm_settings_txt'] = 'Die Werte der PHP-FPM pm Einstellungen müssen wie folgt sein: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
+$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children muß eine positive ganze Zahl sein.';
+$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers muß eine positive ganze Zahl sein.';
+$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers muß eine positive ganze Zahl sein.';
+$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers muß eine positive ganze Zahl sein.';
+$wb['hd_quota_error_regex'] = 'Harddisk-Quota ist ungültig.';
+$wb['traffic_quota_error_regex'] = 'Traffic-Quota ist ungültig.';
+$wb['fastcgi_php_version_txt'] = 'PHP-Version';
+$wb['pm_txt'] = 'PHP-FPM Prozess Manager';
+$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
+$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
+$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout muß eine positive ganze Zahl sein.';
+$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests muß eine ganze Zahl >= 0 sein.';
+$wb['pm_ondemand_hint_txt'] = 'Bitte beachten Sie, daß Ihre PHP Version >= 5.3.9 sein muß, wenn Sie den ondemand Prozess Manager nutzen möchten. Wenn Sie ondemand für eine ältere PHP-Version auswählen, wird PHP nicht mehr starten!';
+$wb['generate_password_txt'] = 'Passwort erzeugen';
+$wb['repeat_password_txt'] = 'Passwort wiederholen';
+$wb['password_mismatch_txt'] = 'Die Passwörter stimmen nicht überein.';
+$wb['password_match_txt'] = 'Die Passwörter stimmen überein.';
+$wb['available_php_directive_snippets_txt'] = 'Verfügbare PHP-Direktiven-Schnipsel:';
+$wb['available_apache_directive_snippets_txt'] = 'Verfügbare Apache-Direktiven-Schnipsel:';
+$wb['available_nginx_directive_snippets_txt'] = 'Verfügbare nginx-Direktiven-Schnipsel:';
+$wb['proxy_directives_txt'] = 'Proxy-Direktiven';
+$wb['available_proxy_directive_snippets_txt'] = 'Verfügbare Proxy-Direktiven-Schnipsel:';
+$wb['rewrite_rules_txt'] = 'Rewrite Rules';
+$wb['invalid_rewrite_rules_txt'] = 'Unzulässige Rewrite Rules';
+$wb['allowed_rewrite_rule_directives_txt'] = 'Erlaubte Direktiven:';
+$wb['configuration_error_txt'] = 'KONFIGURATIONSFEHLER';
+$wb['variables_txt'] = 'Variablen';
+$wb['backup_excludes_txt'] = 'Auszuschließende Verzeichnisse';
+$wb['backup_excludes_note_txt'] = '(Mehrere Verzeichnisse mit Kommas trennen. Beispiel: web/cache/*,web/backup)';
+$wb['backup_excludes_error_regex'] = 'Die auszuschließenden Verzeichnisse enthalten ungültige Zeichen.';
+?>
diff --git a/interface/web/sites/lib/lang/de_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/de_web_vhost_aliasdomain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..a5b5b3734f3b8248b83b052d2a48f556e5ab0447
--- /dev/null
+++ b/interface/web/sites/lib/lang/de_web_vhost_aliasdomain_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Aliasdomains';
+$wb['active_txt'] = 'Aktiv';
+$wb['server_id_txt'] = 'Server';
+$wb['parent_domain_id_txt'] = 'Domain';
+$wb['domain_txt'] = 'Aliasdomain';
+$wb['add_new_record_txt'] = 'Neue Aliasdomain hinzufügen';
+?>
diff --git a/interface/web/sites/lib/lang/el_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/el_web_vhost_aliasdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..7381df6bf716073110fc94a84af85ea8ede2c936
--- /dev/null
+++ b/interface/web/sites/lib/lang/el_web_vhost_aliasdomain.lng
@@ -0,0 +1,118 @@
+<?php
+$wb['parent_domain_id_txt'] = 'Γονικό Website';
+$wb['web_folder_txt'] = 'Φάκελος Web';
+$wb['web_folder_invalid_txt'] = 'Ο Φάκελος Web δεν είναι έγκυρος, διαλέξτε κάποιον άλλο.';
+$wb['web_folder_unique_txt'] = 'Ο Φάκελος Web χρησιμοποιείται ήδη, διαλέξτε κάποιον άλλο.';
+$wb['backup_interval_txt'] = 'Χρονικό διάστημα Αντιγράφων Ασφαλείας';
+$wb['backup_copies_txt'] = 'Πλήθος Αντιγράφων Ασφαλείας';
+$wb['ssl_state_txt'] = 'Κατάσταση';
+$wb['ssl_locality_txt'] = 'Τοποθεσία';
+$wb['ssl_organisation_txt'] = 'Οργανισμός';
+$wb['ssl_organisation_unit_txt'] = 'Τμήμα Οργανισμού';
+$wb['ssl_country_txt'] = 'Χώρα';
+$wb['ssl_key_txt'] = 'SSL Key';
+$wb['ssl_request_txt'] = 'SSL Request';
+$wb['ssl_cert_txt'] = 'SSL Certificate';
+$wb['ssl_bundle_txt'] = 'SSL Bundle';
+$wb['ssl_action_txt'] = 'SSL Action';
+$wb['ssl_domain_txt'] = 'SSL Domain';
+$wb['server_id_txt'] = 'Server';
+$wb['domain_txt'] = 'Domain';
+$wb['host_txt'] = 'Hostname';
+$wb['web_folder_error_regex'] = 'Εισάγατε μη έγκυρο φάκελο. Μην εισάγετε την κάθετο';
+$wb['type_txt'] = 'Τύπος';
+$wb['redirect_type_txt'] = 'Τύπος Ανακατεύθυνσης';
+$wb['redirect_path_txt'] = 'Διαδρομή Ανακατεύθυνσης';
+$wb['active_txt'] = 'Ενεργό';
+$wb['document_root_txt'] = 'Documentroot';
+$wb['system_user_txt'] = 'Χρήστης Linux';
+$wb['system_group_txt'] = 'Ομάδα Linux';
+$wb['ip_address_txt'] = 'Διεύθυνση IP';
+$wb['ipv6_address_txt'] = 'Διεύθυνση IPv6';
+$wb['vhost_type_txt'] = 'VHost Type';
+$wb['hd_quota_txt'] = 'Όριο αποθηκευτικού χώρου';
+$wb['traffic_quota_txt'] = 'Όριο μεταφοράς δεδομένων';
+$wb['cgi_txt'] = 'CGI';
+$wb['ssi_txt'] = 'SSI';
+$wb['errordocs_txt'] = 'Προσωπικά έγγραφα σφάλματος';
+$wb['subdomain_txt'] = 'Αυτόματο-Subdomain';
+$wb['ssl_txt'] = 'SSL';
+$wb['suexec_txt'] = 'SuEXEC';
+$wb['php_txt'] = 'PHP';
+$wb['client_txt'] = 'Πελάτης';
+$wb['limit_web_domain_txt'] = 'Έχετε φτάσει το μέγιστο πλήθος των web domains για τον λογαριασμό σας.';
+$wb['limit_web_aliasdomain_txt'] = 'Έχετε φτάσει το μέγιστο πλήθος των aliasdomains για τον λογαριασμό σας.';
+$wb['limit_web_subdomain_txt'] = 'Έχετε φτάσει το μέγιστο πλήθος των web subdomains για τον λογαριασμό σας.';
+$wb['apache_directives_txt'] = 'Apache directives';
+$wb['domain_error_empty'] = 'Το Domain δεν έχει οριστεί.';
+$wb['domain_error_unique'] = 'Υπάρχει ήδη ένα website ή ένα sub / aliasdomain με αυτό το όνομα domain.';
+$wb['domain_error_regex'] = 'Domain name invalid.';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+$wb['hd_quota_error_empty'] = 'Το όριο αποθηκευτικού χώρου είναι 0 ή δεν έχει οριστεί.';
+$wb['traffic_quota_error_empty'] = 'Το όριο μεταφοράς δεδομένων δεν έχει οριστεί.';
+$wb['error_ssl_state_empty'] = 'Κενή περιφέρεια SSL.';
+$wb['error_ssl_locality_empty'] = 'Κενή τοποθεσία SSL.';
+$wb['error_ssl_organisation_empty'] = 'Ο Οργανισμός SSL δεν έχει οριστεί.';
+$wb['error_ssl_organisation_unit_empty'] = 'Το SSL τμήμα Οργανισμού δεν έχει οριστεί.';
+$wb['error_ssl_country_empty'] = 'Κενή χώρα SSL.';
+$wb['error_ssl_cert_empty'] = 'Το πεδίο SSL Certificate δεν έχει οριστεί';
+$wb['client_group_id_txt'] = 'Πελάτης';
+$wb['stats_password_txt'] = 'Συνθηματικο Στατιστικών Web';
+$wb['allow_override_txt'] = 'Apache AllowOverride';
+$wb['limit_web_quota_free_txt'] = 'Όριο αποθηκευτικού χώρου';
+$wb['ssl_state_error_regex'] = 'Άκυρη πολιτεία-περιφέρεια SSL. Έγκυροι χαρακτήρες: a-z, 0-9 and .,-_';
+$wb['ssl_locality_error_regex'] = 'Άκυρο SSL Locality. Έγκυροι χαρακτήρες: a-z, 0-9 and .,-_';
+$wb['ssl_organisation_error_regex'] = 'Άκυρος Οργανισμός  SSL. Έγκυροι χαρακτήρες: a-z, 0-9 and .,-_';
+$wb['ssl_organistaion_unit_error_regex'] = 'Άκυρη μονάδα οργανισμού SSL. Έγκυροι χαρακτήρες: a-z, 0-9 and .,-_';
+$wb['ssl_country_error_regex'] = 'Άκυρη Χώρα SSL. Έγκυροι χαρακτήρες: A-Z';
+$wb['limit_traffic_quota_free_txt'] = 'Όριο μεταφοράς δεδομένων';
+$wb['redirect_error_regex'] = 'Μη έγκυρη διαδρομή ανακατεύθυνσης. Έγκυρες τιμές είναι: /test/ ή http://www.domain.tld/test/';
+$wb['php_open_basedir_txt'] = 'PHP open_basedir';
+$wb['traffic_quota_exceeded_txt'] = 'Ξεπεράστηκε το όριο μεταφοράς δεδομένων';
+$wb['ruby_txt'] = 'Ruby';
+$wb['stats_user_txt'] = 'Όνομα Χρήστη Στατιστικών Web';
+$wb['stats_type_txt'] = 'Πρόγραμμα Στατιστικών Web';
+$wb['custom_php_ini_txt'] = 'Προσαρμοσμένες ρυθμίσεις php.ini';
+$wb['none_txt'] = 'Καμία';
+$wb['disabled_txt'] = 'Απενεργοπ.';
+$wb['no_redirect_txt'] = 'Χωρίς Ανακατεύθυνση';
+$wb['no_flag_txt'] = 'Χωρίς Σημαία';
+$wb['save_certificate_txt'] = 'Αποθήκευση Πιστοποιητικού';
+$wb['create_certificate_txt'] = 'Δημιουργία Πιστοποιητικού';
+$wb['delete_certificate_txt'] = 'Διαγραφή Πιστοποιητικού';
+$wb['nginx_directives_txt'] = 'Ντιρεκτίβες nginx';
+$wb['seo_redirect_txt'] = 'Ανακατεύθυνση SEO';
+$wb['non_www_to_www_txt'] = 'Non-www -&gt; www';
+$wb['www_to_non_www_txt'] = 'www -&gt; non-www';
+$wb['php_fpm_use_socket_txt'] = 'Χρήση Socket Για PHP-FPM';
+$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
+$wb['python_txt'] = 'Python';
+$wb['perl_txt'] = 'Perl';
+$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
+$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
+$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
+$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
+$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children &gt;= pm.max_spare_servers &gt;= pm.start_servers &gt;= pm.min_spare_servers &gt; 0';
+$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
+$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
+$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
+$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
+$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
+$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
+$wb['fastcgi_php_version_txt'] = 'PHP Version';
+$wb['pm_txt'] = 'PHP-FPM Process Manager';
+$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
+$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
+$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
+$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
+$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
+$wb['generate_password_txt'] = 'Δημιουργία Συνθηματικού';
+$wb['repeat_password_txt'] = 'Επανάληψη Συνθηματικού';
+$wb['password_mismatch_txt'] = 'Τα Συνθηματικά δεν ταιριάζουν.';
+$wb['password_match_txt'] = 'Τα Συνθηματικά ταιριάζουν.';
+$wb['available_php_directive_snippets_txt'] = 'Διαθέσιμα PHP Directive Snippets:';
+$wb['available_apache_directive_snippets_txt'] = 'Διαθέσιμα Apache Directive Snippets:';
+$wb['available_nginx_directive_snippets_txt'] = 'Διαθέσιμα nginx Directive Snippets:';
+$wb['proxy_directives_txt'] = 'Proxy Directives';
+$wb['available_proxy_directive_snippets_txt'] = 'Διαθέσιμα Proxy Directive Snippets:';
+?>
diff --git a/interface/web/sites/lib/lang/el_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/el_web_vhost_aliasdomain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..4905e4240d966c4ebd5a2a25d83c482d2e636890
--- /dev/null
+++ b/interface/web/sites/lib/lang/el_web_vhost_aliasdomain_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Ψευδώνυμο domain';
+$wb['active_txt'] = 'Ενεργό';
+$wb['server_id_txt'] = 'Server';
+$wb['parent_domain_id_txt'] = 'Website';
+$wb['domain_txt'] = 'Ψευδώνυμο domain';
+$wb['add_new_record_txt'] = 'Νέο ψευδωνύμο domain';
+?>
diff --git a/interface/web/sites/lib/lang/en_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/en_web_vhost_aliasdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..3c9009ee156f03e1570912fb58859b3929408b0a
--- /dev/null
+++ b/interface/web/sites/lib/lang/en_web_vhost_aliasdomain.lng
@@ -0,0 +1,127 @@
+<?php
+$wb["parent_domain_id_txt"] = 'Parent Website';
+$wb["web_folder_txt"] = 'Web folder';
+$wb["web_folder_invalid_txt"] = 'The web folder is invalid, please choose a different one.';
+$wb["web_folder_unique_txt"] = 'The web folder is already used, please choose a different one.';
+$wb["backup_interval_txt"] = 'Backup interval';
+$wb["backup_copies_txt"] = 'Number of backup copies';
+$wb["ssl_state_txt"] = 'State';
+$wb["ssl_locality_txt"] = 'Locality';
+$wb["ssl_organisation_txt"] = 'Organisation';
+$wb["ssl_organisation_unit_txt"] = 'Organisation Unit';
+$wb["ssl_country_txt"] = 'Country';
+$wb["ssl_key_txt"] = 'SSL Key';
+$wb["ssl_request_txt"] = 'SSL Request';
+$wb["ssl_cert_txt"] = 'SSL Certificate';
+$wb["ssl_bundle_txt"] = 'SSL Bundle';
+$wb["ssl_action_txt"] = 'SSL Action';
+$wb["ssl_domain_txt"] = 'SSL Domain';
+$wb["server_id_txt"] = 'Server';
+$wb["domain_txt"] = 'Domain';
+$wb["host_txt"] = 'Hostname';
+$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
+$wb["type_txt"] = 'Type';
+$wb["parent_domain_id_txt"] = 'Parent Website';
+$wb["redirect_type_txt"] = 'Redirect Type';
+$wb["redirect_path_txt"] = 'Redirect Path';
+$wb["active_txt"] = 'Active';
+$wb["document_root_txt"] = 'Documentroot';
+$wb["system_user_txt"] = 'Linux User';
+$wb["system_group_txt"] = 'Linux Group';
+$wb["ip_address_txt"] = 'IPv4-Address';
+$wb["ipv6_address_txt"] = 'IPv6-Address';
+$wb["vhost_type_txt"] = 'VHost Type';
+$wb["hd_quota_txt"] = 'Harddisk Quota';
+$wb["traffic_quota_txt"] = 'Traffic Quota';
+$wb["cgi_txt"] = 'CGI';
+$wb["ssi_txt"] = 'SSI';
+$wb["errordocs_txt"] = 'Own Error-Documents';
+$wb["subdomain_txt"] = 'Auto-Subdomain';
+$wb["ssl_txt"] = 'SSL';
+$wb["suexec_txt"] = 'SuEXEC';
+$wb["php_txt"] = 'PHP';
+$wb["client_txt"] = 'Client';
+$wb["limit_web_domain_txt"] = 'The max. number of web domains for your account is reached.';
+$wb["limit_web_aliasdomain_txt"] = 'The max. number of aliasdomains for your account is reached.';
+$wb["limit_web_subdomain_txt"] = 'The max. number of web subdomains for your account is reached.';
+$wb["apache_directives_txt"] = 'Apache Directives';
+$wb["domain_error_empty"] = 'Domain is empty.';
+$wb["domain_error_unique"] = 'There is already a website or sub / aliasdomain with this domain name.';
+$wb["domain_error_regex"] = 'Domain name invalid.';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+$wb["hd_quota_error_empty"] = 'Harddisk quota is 0 or empty.';
+$wb["traffic_quota_error_empty"] = 'Traffic quota is empty.';
+$wb["error_ssl_state_empty"] = 'SSL State is empty.';
+$wb["error_ssl_locality_empty"] = 'SSL Locality is empty.';
+$wb["error_ssl_organisation_empty"] = 'SSL Organisation is empty.';
+$wb["error_ssl_organisation_unit_empty"] = 'SSL Organisation Unit is empty.';
+$wb["error_ssl_country_empty"] = 'SSL Country is empty.';
+$wb["error_ssl_cert_empty"] = 'SSL Certificate field is empty';
+$wb["client_group_id_txt"] = 'Client';
+$wb["stats_password_txt"] = 'Set Webstatistics password';
+$wb["allow_override_txt"] = 'Apache AllowOverride';
+$wb["limit_web_quota_free_txt"] = 'Max. available Harddisk Quota';
+$wb["ssl_state_error_regex"] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
+$wb["ssl_locality_error_regex"] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
+$wb["ssl_organisation_error_regex"] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
+$wb["ssl_organistaion_unit_error_regex"] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
+$wb["ssl_country_error_regex"] = 'Invalid SSL Country. Valid characters are: A-Z';
+$wb["limit_traffic_quota_free_txt"] = 'Max. available Traffic Quota';
+$wb["redirect_error_regex"] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
+$wb["php_open_basedir_txt"] = 'PHP open_basedir';
+$wb["traffic_quota_exceeded_txt"] = 'Traffic quota exceeded';
+$wb["ruby_txt"] = 'Ruby';
+$wb["stats_user_txt"] = 'Webstatistics username';
+$wb["stats_type_txt"] = 'Webstatistics program';
+$wb["custom_php_ini_txt"] = 'Custom php.ini settings';
+$wb['none_txt'] = 'None';
+$wb['disabled_txt'] = 'Disabled';
+$wb['no_redirect_txt'] = 'No redirect';
+$wb['no_flag_txt'] = 'No flag';
+$wb['save_certificate_txt'] = 'Save certificate';
+$wb['create_certificate_txt'] = 'Create certificate';
+$wb['delete_certificate_txt'] = 'Delete certificate';
+$wb["nginx_directives_txt"] = 'nginx Directives';
+$wb["seo_redirect_txt"] = 'SEO Redirect';
+$wb["non_www_to_www_txt"] = 'Non-www -&gt; www';
+$wb["www_to_non_www_txt"] = 'www -&gt; non-www';
+$wb["php_fpm_use_socket_txt"] = 'Use Socket For PHP-FPM';
+$wb["error_no_sni_txt"] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
+$wb["python_txt"] = 'Python';
+$wb["perl_txt"] = 'Perl';
+$wb["pm_max_children_txt"] = 'PHP-FPM pm.max_children';
+$wb["pm_start_servers_txt"] = 'PHP-FPM pm.start_servers';
+$wb["pm_min_spare_servers_txt"] = 'PHP-FPM pm.min_spare_servers';
+$wb["pm_max_spare_servers_txt"] = 'PHP-FPM pm.max_spare_servers';
+$wb["error_php_fpm_pm_settings_txt"] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children &gt;= pm.max_spare_servers &gt;= pm.start_servers &gt;= pm.min_spare_servers &gt; 0';
+$wb["pm_max_children_error_regex"] = 'PHP-FPM pm.max_children must be a positive integer value.';
+$wb["pm_start_servers_error_regex"] = 'PHP-FPM pm.start_servers must be a positive integer value.';
+$wb["pm_min_spare_servers_error_regex"] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
+$wb["pm_max_spare_servers_error_regex"] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
+$wb["hd_quota_error_regex"] = 'Harddisk quota is invalid.';
+$wb["traffic_quota_error_regex"] = 'Traffic quota is invalid.';
+$wb["fastcgi_php_version_txt"] = 'PHP Version';
+$wb["pm_txt"] = 'PHP-FPM Process Manager';
+$wb["pm_process_idle_timeout_txt"] = 'PHP-FPM pm.process_idle_timeout';
+$wb["pm_max_requests_txt"] = 'PHP-FPM pm.max_requests';
+$wb["pm_process_idle_timeout_error_regex"] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
+$wb["pm_max_requests_error_regex"] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
+$wb["pm_ondemand_hint_txt"] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
+$wb['generate_password_txt'] = 'Generate Password';
+$wb['repeat_password_txt'] = 'Repeat Password';
+$wb['password_mismatch_txt'] = 'The passwords do not match.';
+$wb['password_match_txt'] = 'The passwords do match.';
+$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
+$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
+$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
+$wb['proxy_directives_txt'] = 'Proxy Directives';
+$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
+$wb['rewrite_rules_txt'] = 'Rewrite Rules';
+$wb['invalid_rewrite_rules_txt'] = 'Invalid Rewrite Rules';
+$wb['allowed_rewrite_rule_directives_txt'] = 'Allowed Directives:';
+$wb['configuration_error_txt'] = "CONFIGURATION ERROR";
+$wb['variables_txt'] = 'Variables';
+$wb['backup_excludes_txt'] = 'Excluded Directories';
+$wb['backup_excludes_note_txt'] = '(Separate multiple directories with commas. Example: web/cache/*,web/backup)';
+$wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid characters.';
+?>
\ No newline at end of file
diff --git a/interface/web/sites/lib/lang/en_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/en_web_vhost_aliasdomain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..3699711f1c6347e0c63fce2213d890abd9edde53
--- /dev/null
+++ b/interface/web/sites/lib/lang/en_web_vhost_aliasdomain_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb["list_head_txt"] = 'Aliasdomain';
+$wb["active_txt"] = 'Active';
+$wb["server_id_txt"] = 'Server';
+$wb["parent_domain_id_txt"] = 'Website';
+$wb["domain_txt"] = 'Aliasdomain';
+$wb["add_new_record_txt"] = 'Add new aliasdomain';
+?>
\ No newline at end of file
diff --git a/interface/web/sites/lib/lang/es_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/es_web_vhost_aliasdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..b87c788126dbd5785e1b73ac049e6f04b5ee7735
--- /dev/null
+++ b/interface/web/sites/lib/lang/es_web_vhost_aliasdomain.lng
@@ -0,0 +1,118 @@
+<?php
+$wb['parent_domain_id_txt'] = 'Parent Website';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['backup_interval_txt'] = 'Backup interval';
+$wb['backup_copies_txt'] = 'Number of backup copies';
+$wb['ssl_state_txt'] = 'State';
+$wb['ssl_locality_txt'] = 'Locality';
+$wb['ssl_organisation_txt'] = 'Organisation';
+$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
+$wb['ssl_country_txt'] = 'Country';
+$wb['ssl_key_txt'] = 'SSL Key';
+$wb['ssl_request_txt'] = 'SSL Request';
+$wb['ssl_cert_txt'] = 'SSL Certificate';
+$wb['ssl_bundle_txt'] = 'SSL Bundle';
+$wb['ssl_action_txt'] = 'SSL Action';
+$wb['ssl_domain_txt'] = 'SSL Domain';
+$wb['server_id_txt'] = 'Server';
+$wb['domain_txt'] = 'Domain';
+$wb['host_txt'] = 'Hostname';
+$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
+$wb['type_txt'] = 'Type';
+$wb['redirect_type_txt'] = 'Redirect Type';
+$wb['redirect_path_txt'] = 'Redirect Path';
+$wb['active_txt'] = 'Active';
+$wb['document_root_txt'] = 'Documentroot';
+$wb['system_user_txt'] = 'Linux User';
+$wb['system_group_txt'] = 'Linux Group';
+$wb['ip_address_txt'] = 'IPv4-Address';
+$wb['ipv6_address_txt'] = 'IPv6-Address';
+$wb['vhost_type_txt'] = 'VHost Type';
+$wb['hd_quota_txt'] = 'Harddisk Quota';
+$wb['traffic_quota_txt'] = 'Traffic Quota';
+$wb['cgi_txt'] = 'CGI';
+$wb['ssi_txt'] = 'SSI';
+$wb['errordocs_txt'] = 'Own Error-Documents';
+$wb['subdomain_txt'] = 'Auto-Subdomain';
+$wb['ssl_txt'] = 'SSL';
+$wb['suexec_txt'] = 'SuEXEC';
+$wb['php_txt'] = 'PHP';
+$wb['client_txt'] = 'Client';
+$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
+$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
+$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
+$wb['apache_directives_txt'] = 'Apache Directives';
+$wb['domain_error_empty'] = 'Domain is empty.';
+$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
+$wb['domain_error_regex'] = 'Domain name invalid.';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
+$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
+$wb['error_ssl_state_empty'] = 'SSL State is empty.';
+$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
+$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
+$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
+$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
+$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
+$wb['client_group_id_txt'] = 'Client';
+$wb['stats_password_txt'] = 'Webstatistics password';
+$wb['allow_override_txt'] = 'Apache AllowOverride';
+$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
+$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
+$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
+$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
+$wb['php_open_basedir_txt'] = 'PHP open_basedir';
+$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
+$wb['ruby_txt'] = 'Ruby';
+$wb['stats_user_txt'] = 'Webstatistics username';
+$wb['stats_type_txt'] = 'Webstatistics program';
+$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
+$wb['none_txt'] = 'None';
+$wb['disabled_txt'] = 'Disabled';
+$wb['no_redirect_txt'] = 'No redirect';
+$wb['no_flag_txt'] = 'No flag';
+$wb['save_certificate_txt'] = 'Save certificate';
+$wb['create_certificate_txt'] = 'Create certificate';
+$wb['delete_certificate_txt'] = 'Delete certificate';
+$wb['nginx_directives_txt'] = 'nginx Directives';
+$wb['seo_redirect_txt'] = 'SEO Redirect';
+$wb['non_www_to_www_txt'] = 'Non-www -&gt; www';
+$wb['www_to_non_www_txt'] = 'www -&gt; non-www';
+$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
+$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
+$wb['python_txt'] = 'Python';
+$wb['perl_txt'] = 'Perl';
+$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
+$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
+$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
+$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
+$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children &gt;= pm.max_spare_servers &gt;= pm.start_servers &gt;= pm.min_spare_servers &gt; 0';
+$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
+$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
+$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
+$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
+$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
+$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
+$wb['fastcgi_php_version_txt'] = 'PHP Version';
+$wb['pm_txt'] = 'PHP-FPM Process Manager';
+$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
+$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
+$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
+$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
+$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
+$wb['generate_password_txt'] = 'Generate Password';
+$wb['repeat_password_txt'] = 'Repeat Password';
+$wb['password_mismatch_txt'] = 'The passwords do not match.';
+$wb['password_match_txt'] = 'The passwords do match.';
+$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
+$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
+$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
+$wb['proxy_directives_txt'] = 'Proxy Directives';
+$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
+?>
diff --git a/interface/web/sites/lib/lang/es_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/es_web_vhost_aliasdomain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..4b28a648e09646e38e06fe5cc58deb751b3a989f
--- /dev/null
+++ b/interface/web/sites/lib/lang/es_web_vhost_aliasdomain_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Alias de dominio';
+$wb['active_txt'] = 'Activar';
+$wb['server_id_txt'] = 'Servidor';
+$wb['parent_domain_id_txt'] = 'Sitio web';
+$wb['domain_txt'] = 'Alias de dominio';
+$wb['add_new_record_txt'] = 'Añadir nuevo alias de dominio';
+?>
diff --git a/interface/web/sites/lib/lang/fi_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/fi_web_vhost_aliasdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..b87c788126dbd5785e1b73ac049e6f04b5ee7735
--- /dev/null
+++ b/interface/web/sites/lib/lang/fi_web_vhost_aliasdomain.lng
@@ -0,0 +1,118 @@
+<?php
+$wb['parent_domain_id_txt'] = 'Parent Website';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['backup_interval_txt'] = 'Backup interval';
+$wb['backup_copies_txt'] = 'Number of backup copies';
+$wb['ssl_state_txt'] = 'State';
+$wb['ssl_locality_txt'] = 'Locality';
+$wb['ssl_organisation_txt'] = 'Organisation';
+$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
+$wb['ssl_country_txt'] = 'Country';
+$wb['ssl_key_txt'] = 'SSL Key';
+$wb['ssl_request_txt'] = 'SSL Request';
+$wb['ssl_cert_txt'] = 'SSL Certificate';
+$wb['ssl_bundle_txt'] = 'SSL Bundle';
+$wb['ssl_action_txt'] = 'SSL Action';
+$wb['ssl_domain_txt'] = 'SSL Domain';
+$wb['server_id_txt'] = 'Server';
+$wb['domain_txt'] = 'Domain';
+$wb['host_txt'] = 'Hostname';
+$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
+$wb['type_txt'] = 'Type';
+$wb['redirect_type_txt'] = 'Redirect Type';
+$wb['redirect_path_txt'] = 'Redirect Path';
+$wb['active_txt'] = 'Active';
+$wb['document_root_txt'] = 'Documentroot';
+$wb['system_user_txt'] = 'Linux User';
+$wb['system_group_txt'] = 'Linux Group';
+$wb['ip_address_txt'] = 'IPv4-Address';
+$wb['ipv6_address_txt'] = 'IPv6-Address';
+$wb['vhost_type_txt'] = 'VHost Type';
+$wb['hd_quota_txt'] = 'Harddisk Quota';
+$wb['traffic_quota_txt'] = 'Traffic Quota';
+$wb['cgi_txt'] = 'CGI';
+$wb['ssi_txt'] = 'SSI';
+$wb['errordocs_txt'] = 'Own Error-Documents';
+$wb['subdomain_txt'] = 'Auto-Subdomain';
+$wb['ssl_txt'] = 'SSL';
+$wb['suexec_txt'] = 'SuEXEC';
+$wb['php_txt'] = 'PHP';
+$wb['client_txt'] = 'Client';
+$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
+$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
+$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
+$wb['apache_directives_txt'] = 'Apache Directives';
+$wb['domain_error_empty'] = 'Domain is empty.';
+$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
+$wb['domain_error_regex'] = 'Domain name invalid.';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
+$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
+$wb['error_ssl_state_empty'] = 'SSL State is empty.';
+$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
+$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
+$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
+$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
+$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
+$wb['client_group_id_txt'] = 'Client';
+$wb['stats_password_txt'] = 'Webstatistics password';
+$wb['allow_override_txt'] = 'Apache AllowOverride';
+$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
+$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
+$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
+$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
+$wb['php_open_basedir_txt'] = 'PHP open_basedir';
+$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
+$wb['ruby_txt'] = 'Ruby';
+$wb['stats_user_txt'] = 'Webstatistics username';
+$wb['stats_type_txt'] = 'Webstatistics program';
+$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
+$wb['none_txt'] = 'None';
+$wb['disabled_txt'] = 'Disabled';
+$wb['no_redirect_txt'] = 'No redirect';
+$wb['no_flag_txt'] = 'No flag';
+$wb['save_certificate_txt'] = 'Save certificate';
+$wb['create_certificate_txt'] = 'Create certificate';
+$wb['delete_certificate_txt'] = 'Delete certificate';
+$wb['nginx_directives_txt'] = 'nginx Directives';
+$wb['seo_redirect_txt'] = 'SEO Redirect';
+$wb['non_www_to_www_txt'] = 'Non-www -&gt; www';
+$wb['www_to_non_www_txt'] = 'www -&gt; non-www';
+$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
+$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
+$wb['python_txt'] = 'Python';
+$wb['perl_txt'] = 'Perl';
+$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
+$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
+$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
+$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
+$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children &gt;= pm.max_spare_servers &gt;= pm.start_servers &gt;= pm.min_spare_servers &gt; 0';
+$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
+$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
+$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
+$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
+$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
+$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
+$wb['fastcgi_php_version_txt'] = 'PHP Version';
+$wb['pm_txt'] = 'PHP-FPM Process Manager';
+$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
+$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
+$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
+$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
+$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
+$wb['generate_password_txt'] = 'Generate Password';
+$wb['repeat_password_txt'] = 'Repeat Password';
+$wb['password_mismatch_txt'] = 'The passwords do not match.';
+$wb['password_match_txt'] = 'The passwords do match.';
+$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
+$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
+$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
+$wb['proxy_directives_txt'] = 'Proxy Directives';
+$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
+?>
diff --git a/interface/web/sites/lib/lang/fi_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/fi_web_vhost_aliasdomain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..bbea906d1b1af392b2ecced949259e67e06adee3
--- /dev/null
+++ b/interface/web/sites/lib/lang/fi_web_vhost_aliasdomain_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Aliasverkkotunnus';
+$wb['active_txt'] = 'Käytössä';
+$wb['server_id_txt'] = 'Palvelin';
+$wb['parent_domain_id_txt'] = 'Sivusto';
+$wb['domain_txt'] = 'Aliasverkkotunnus';
+$wb['add_new_record_txt'] = 'Lisää uusi aliasverkkotunnus';
+?>
diff --git a/interface/web/sites/lib/lang/fr_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/fr_web_vhost_aliasdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..b87c788126dbd5785e1b73ac049e6f04b5ee7735
--- /dev/null
+++ b/interface/web/sites/lib/lang/fr_web_vhost_aliasdomain.lng
@@ -0,0 +1,118 @@
+<?php
+$wb['parent_domain_id_txt'] = 'Parent Website';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['backup_interval_txt'] = 'Backup interval';
+$wb['backup_copies_txt'] = 'Number of backup copies';
+$wb['ssl_state_txt'] = 'State';
+$wb['ssl_locality_txt'] = 'Locality';
+$wb['ssl_organisation_txt'] = 'Organisation';
+$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
+$wb['ssl_country_txt'] = 'Country';
+$wb['ssl_key_txt'] = 'SSL Key';
+$wb['ssl_request_txt'] = 'SSL Request';
+$wb['ssl_cert_txt'] = 'SSL Certificate';
+$wb['ssl_bundle_txt'] = 'SSL Bundle';
+$wb['ssl_action_txt'] = 'SSL Action';
+$wb['ssl_domain_txt'] = 'SSL Domain';
+$wb['server_id_txt'] = 'Server';
+$wb['domain_txt'] = 'Domain';
+$wb['host_txt'] = 'Hostname';
+$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
+$wb['type_txt'] = 'Type';
+$wb['redirect_type_txt'] = 'Redirect Type';
+$wb['redirect_path_txt'] = 'Redirect Path';
+$wb['active_txt'] = 'Active';
+$wb['document_root_txt'] = 'Documentroot';
+$wb['system_user_txt'] = 'Linux User';
+$wb['system_group_txt'] = 'Linux Group';
+$wb['ip_address_txt'] = 'IPv4-Address';
+$wb['ipv6_address_txt'] = 'IPv6-Address';
+$wb['vhost_type_txt'] = 'VHost Type';
+$wb['hd_quota_txt'] = 'Harddisk Quota';
+$wb['traffic_quota_txt'] = 'Traffic Quota';
+$wb['cgi_txt'] = 'CGI';
+$wb['ssi_txt'] = 'SSI';
+$wb['errordocs_txt'] = 'Own Error-Documents';
+$wb['subdomain_txt'] = 'Auto-Subdomain';
+$wb['ssl_txt'] = 'SSL';
+$wb['suexec_txt'] = 'SuEXEC';
+$wb['php_txt'] = 'PHP';
+$wb['client_txt'] = 'Client';
+$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
+$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
+$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
+$wb['apache_directives_txt'] = 'Apache Directives';
+$wb['domain_error_empty'] = 'Domain is empty.';
+$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
+$wb['domain_error_regex'] = 'Domain name invalid.';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
+$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
+$wb['error_ssl_state_empty'] = 'SSL State is empty.';
+$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
+$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
+$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
+$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
+$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
+$wb['client_group_id_txt'] = 'Client';
+$wb['stats_password_txt'] = 'Webstatistics password';
+$wb['allow_override_txt'] = 'Apache AllowOverride';
+$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
+$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
+$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
+$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
+$wb['php_open_basedir_txt'] = 'PHP open_basedir';
+$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
+$wb['ruby_txt'] = 'Ruby';
+$wb['stats_user_txt'] = 'Webstatistics username';
+$wb['stats_type_txt'] = 'Webstatistics program';
+$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
+$wb['none_txt'] = 'None';
+$wb['disabled_txt'] = 'Disabled';
+$wb['no_redirect_txt'] = 'No redirect';
+$wb['no_flag_txt'] = 'No flag';
+$wb['save_certificate_txt'] = 'Save certificate';
+$wb['create_certificate_txt'] = 'Create certificate';
+$wb['delete_certificate_txt'] = 'Delete certificate';
+$wb['nginx_directives_txt'] = 'nginx Directives';
+$wb['seo_redirect_txt'] = 'SEO Redirect';
+$wb['non_www_to_www_txt'] = 'Non-www -&gt; www';
+$wb['www_to_non_www_txt'] = 'www -&gt; non-www';
+$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
+$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
+$wb['python_txt'] = 'Python';
+$wb['perl_txt'] = 'Perl';
+$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
+$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
+$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
+$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
+$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children &gt;= pm.max_spare_servers &gt;= pm.start_servers &gt;= pm.min_spare_servers &gt; 0';
+$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
+$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
+$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
+$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
+$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
+$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
+$wb['fastcgi_php_version_txt'] = 'PHP Version';
+$wb['pm_txt'] = 'PHP-FPM Process Manager';
+$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
+$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
+$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
+$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
+$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
+$wb['generate_password_txt'] = 'Generate Password';
+$wb['repeat_password_txt'] = 'Repeat Password';
+$wb['password_mismatch_txt'] = 'The passwords do not match.';
+$wb['password_match_txt'] = 'The passwords do match.';
+$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
+$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
+$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
+$wb['proxy_directives_txt'] = 'Proxy Directives';
+$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
+?>
diff --git a/interface/web/sites/lib/lang/fr_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/fr_web_vhost_aliasdomain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..0c6ab59b5cdf30a5baf0044d7a582baa823f0397
--- /dev/null
+++ b/interface/web/sites/lib/lang/fr_web_vhost_aliasdomain_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Alias de domaine';
+$wb['active_txt'] = 'Actif';
+$wb['server_id_txt'] = 'Serveur';
+$wb['parent_domain_id_txt'] = 'Site web';
+$wb['domain_txt'] = 'Alias de domaine';
+$wb['add_new_record_txt'] = 'Nouvel alias de domaine';
+?>
diff --git a/interface/web/sites/lib/lang/hr_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/hr_web_vhost_aliasdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..b87c788126dbd5785e1b73ac049e6f04b5ee7735
--- /dev/null
+++ b/interface/web/sites/lib/lang/hr_web_vhost_aliasdomain.lng
@@ -0,0 +1,118 @@
+<?php
+$wb['parent_domain_id_txt'] = 'Parent Website';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['backup_interval_txt'] = 'Backup interval';
+$wb['backup_copies_txt'] = 'Number of backup copies';
+$wb['ssl_state_txt'] = 'State';
+$wb['ssl_locality_txt'] = 'Locality';
+$wb['ssl_organisation_txt'] = 'Organisation';
+$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
+$wb['ssl_country_txt'] = 'Country';
+$wb['ssl_key_txt'] = 'SSL Key';
+$wb['ssl_request_txt'] = 'SSL Request';
+$wb['ssl_cert_txt'] = 'SSL Certificate';
+$wb['ssl_bundle_txt'] = 'SSL Bundle';
+$wb['ssl_action_txt'] = 'SSL Action';
+$wb['ssl_domain_txt'] = 'SSL Domain';
+$wb['server_id_txt'] = 'Server';
+$wb['domain_txt'] = 'Domain';
+$wb['host_txt'] = 'Hostname';
+$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
+$wb['type_txt'] = 'Type';
+$wb['redirect_type_txt'] = 'Redirect Type';
+$wb['redirect_path_txt'] = 'Redirect Path';
+$wb['active_txt'] = 'Active';
+$wb['document_root_txt'] = 'Documentroot';
+$wb['system_user_txt'] = 'Linux User';
+$wb['system_group_txt'] = 'Linux Group';
+$wb['ip_address_txt'] = 'IPv4-Address';
+$wb['ipv6_address_txt'] = 'IPv6-Address';
+$wb['vhost_type_txt'] = 'VHost Type';
+$wb['hd_quota_txt'] = 'Harddisk Quota';
+$wb['traffic_quota_txt'] = 'Traffic Quota';
+$wb['cgi_txt'] = 'CGI';
+$wb['ssi_txt'] = 'SSI';
+$wb['errordocs_txt'] = 'Own Error-Documents';
+$wb['subdomain_txt'] = 'Auto-Subdomain';
+$wb['ssl_txt'] = 'SSL';
+$wb['suexec_txt'] = 'SuEXEC';
+$wb['php_txt'] = 'PHP';
+$wb['client_txt'] = 'Client';
+$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
+$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
+$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
+$wb['apache_directives_txt'] = 'Apache Directives';
+$wb['domain_error_empty'] = 'Domain is empty.';
+$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
+$wb['domain_error_regex'] = 'Domain name invalid.';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
+$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
+$wb['error_ssl_state_empty'] = 'SSL State is empty.';
+$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
+$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
+$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
+$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
+$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
+$wb['client_group_id_txt'] = 'Client';
+$wb['stats_password_txt'] = 'Webstatistics password';
+$wb['allow_override_txt'] = 'Apache AllowOverride';
+$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
+$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
+$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
+$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
+$wb['php_open_basedir_txt'] = 'PHP open_basedir';
+$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
+$wb['ruby_txt'] = 'Ruby';
+$wb['stats_user_txt'] = 'Webstatistics username';
+$wb['stats_type_txt'] = 'Webstatistics program';
+$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
+$wb['none_txt'] = 'None';
+$wb['disabled_txt'] = 'Disabled';
+$wb['no_redirect_txt'] = 'No redirect';
+$wb['no_flag_txt'] = 'No flag';
+$wb['save_certificate_txt'] = 'Save certificate';
+$wb['create_certificate_txt'] = 'Create certificate';
+$wb['delete_certificate_txt'] = 'Delete certificate';
+$wb['nginx_directives_txt'] = 'nginx Directives';
+$wb['seo_redirect_txt'] = 'SEO Redirect';
+$wb['non_www_to_www_txt'] = 'Non-www -&gt; www';
+$wb['www_to_non_www_txt'] = 'www -&gt; non-www';
+$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
+$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
+$wb['python_txt'] = 'Python';
+$wb['perl_txt'] = 'Perl';
+$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
+$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
+$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
+$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
+$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children &gt;= pm.max_spare_servers &gt;= pm.start_servers &gt;= pm.min_spare_servers &gt; 0';
+$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
+$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
+$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
+$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
+$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
+$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
+$wb['fastcgi_php_version_txt'] = 'PHP Version';
+$wb['pm_txt'] = 'PHP-FPM Process Manager';
+$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
+$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
+$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
+$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
+$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
+$wb['generate_password_txt'] = 'Generate Password';
+$wb['repeat_password_txt'] = 'Repeat Password';
+$wb['password_mismatch_txt'] = 'The passwords do not match.';
+$wb['password_match_txt'] = 'The passwords do match.';
+$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
+$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
+$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
+$wb['proxy_directives_txt'] = 'Proxy Directives';
+$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
+?>
diff --git a/interface/web/sites/lib/lang/hr_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/hr_web_vhost_aliasdomain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..79ee85dfe196de0d2fcf80dde66d461413780c0e
--- /dev/null
+++ b/interface/web/sites/lib/lang/hr_web_vhost_aliasdomain_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Alias domena';
+$wb['active_txt'] = 'Aktivno';
+$wb['server_id_txt'] = 'Server';
+$wb['parent_domain_id_txt'] = 'Web stranica';
+$wb['domain_txt'] = 'Alias domena';
+$wb['add_new_record_txt'] = 'Dodaj novu alias domenu';
+?>
diff --git a/interface/web/sites/lib/lang/hu_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/hu_web_vhost_aliasdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..b87c788126dbd5785e1b73ac049e6f04b5ee7735
--- /dev/null
+++ b/interface/web/sites/lib/lang/hu_web_vhost_aliasdomain.lng
@@ -0,0 +1,118 @@
+<?php
+$wb['parent_domain_id_txt'] = 'Parent Website';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['backup_interval_txt'] = 'Backup interval';
+$wb['backup_copies_txt'] = 'Number of backup copies';
+$wb['ssl_state_txt'] = 'State';
+$wb['ssl_locality_txt'] = 'Locality';
+$wb['ssl_organisation_txt'] = 'Organisation';
+$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
+$wb['ssl_country_txt'] = 'Country';
+$wb['ssl_key_txt'] = 'SSL Key';
+$wb['ssl_request_txt'] = 'SSL Request';
+$wb['ssl_cert_txt'] = 'SSL Certificate';
+$wb['ssl_bundle_txt'] = 'SSL Bundle';
+$wb['ssl_action_txt'] = 'SSL Action';
+$wb['ssl_domain_txt'] = 'SSL Domain';
+$wb['server_id_txt'] = 'Server';
+$wb['domain_txt'] = 'Domain';
+$wb['host_txt'] = 'Hostname';
+$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
+$wb['type_txt'] = 'Type';
+$wb['redirect_type_txt'] = 'Redirect Type';
+$wb['redirect_path_txt'] = 'Redirect Path';
+$wb['active_txt'] = 'Active';
+$wb['document_root_txt'] = 'Documentroot';
+$wb['system_user_txt'] = 'Linux User';
+$wb['system_group_txt'] = 'Linux Group';
+$wb['ip_address_txt'] = 'IPv4-Address';
+$wb['ipv6_address_txt'] = 'IPv6-Address';
+$wb['vhost_type_txt'] = 'VHost Type';
+$wb['hd_quota_txt'] = 'Harddisk Quota';
+$wb['traffic_quota_txt'] = 'Traffic Quota';
+$wb['cgi_txt'] = 'CGI';
+$wb['ssi_txt'] = 'SSI';
+$wb['errordocs_txt'] = 'Own Error-Documents';
+$wb['subdomain_txt'] = 'Auto-Subdomain';
+$wb['ssl_txt'] = 'SSL';
+$wb['suexec_txt'] = 'SuEXEC';
+$wb['php_txt'] = 'PHP';
+$wb['client_txt'] = 'Client';
+$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
+$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
+$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
+$wb['apache_directives_txt'] = 'Apache Directives';
+$wb['domain_error_empty'] = 'Domain is empty.';
+$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
+$wb['domain_error_regex'] = 'Domain name invalid.';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
+$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
+$wb['error_ssl_state_empty'] = 'SSL State is empty.';
+$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
+$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
+$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
+$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
+$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
+$wb['client_group_id_txt'] = 'Client';
+$wb['stats_password_txt'] = 'Webstatistics password';
+$wb['allow_override_txt'] = 'Apache AllowOverride';
+$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
+$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
+$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
+$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
+$wb['php_open_basedir_txt'] = 'PHP open_basedir';
+$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
+$wb['ruby_txt'] = 'Ruby';
+$wb['stats_user_txt'] = 'Webstatistics username';
+$wb['stats_type_txt'] = 'Webstatistics program';
+$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
+$wb['none_txt'] = 'None';
+$wb['disabled_txt'] = 'Disabled';
+$wb['no_redirect_txt'] = 'No redirect';
+$wb['no_flag_txt'] = 'No flag';
+$wb['save_certificate_txt'] = 'Save certificate';
+$wb['create_certificate_txt'] = 'Create certificate';
+$wb['delete_certificate_txt'] = 'Delete certificate';
+$wb['nginx_directives_txt'] = 'nginx Directives';
+$wb['seo_redirect_txt'] = 'SEO Redirect';
+$wb['non_www_to_www_txt'] = 'Non-www -&gt; www';
+$wb['www_to_non_www_txt'] = 'www -&gt; non-www';
+$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
+$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
+$wb['python_txt'] = 'Python';
+$wb['perl_txt'] = 'Perl';
+$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
+$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
+$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
+$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
+$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children &gt;= pm.max_spare_servers &gt;= pm.start_servers &gt;= pm.min_spare_servers &gt; 0';
+$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
+$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
+$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
+$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
+$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
+$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
+$wb['fastcgi_php_version_txt'] = 'PHP Version';
+$wb['pm_txt'] = 'PHP-FPM Process Manager';
+$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
+$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
+$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
+$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
+$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
+$wb['generate_password_txt'] = 'Generate Password';
+$wb['repeat_password_txt'] = 'Repeat Password';
+$wb['password_mismatch_txt'] = 'The passwords do not match.';
+$wb['password_match_txt'] = 'The passwords do match.';
+$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
+$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
+$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
+$wb['proxy_directives_txt'] = 'Proxy Directives';
+$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
+?>
diff --git a/interface/web/sites/lib/lang/hu_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/hu_web_vhost_aliasdomain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..8fe58ed568ea47a77a36a3245347b8c4ff7bbac8
--- /dev/null
+++ b/interface/web/sites/lib/lang/hu_web_vhost_aliasdomain_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Aliasdomain';
+$wb['active_txt'] = 'Aktív';
+$wb['server_id_txt'] = 'Szerver';
+$wb['parent_domain_id_txt'] = 'Webhely';
+$wb['domain_txt'] = 'Aliasdomain';
+$wb['add_new_record_txt'] = 'Új Aliasdomain';
+?>
diff --git a/interface/web/sites/lib/lang/id_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/id_web_vhost_aliasdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..b87c788126dbd5785e1b73ac049e6f04b5ee7735
--- /dev/null
+++ b/interface/web/sites/lib/lang/id_web_vhost_aliasdomain.lng
@@ -0,0 +1,118 @@
+<?php
+$wb['parent_domain_id_txt'] = 'Parent Website';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['backup_interval_txt'] = 'Backup interval';
+$wb['backup_copies_txt'] = 'Number of backup copies';
+$wb['ssl_state_txt'] = 'State';
+$wb['ssl_locality_txt'] = 'Locality';
+$wb['ssl_organisation_txt'] = 'Organisation';
+$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
+$wb['ssl_country_txt'] = 'Country';
+$wb['ssl_key_txt'] = 'SSL Key';
+$wb['ssl_request_txt'] = 'SSL Request';
+$wb['ssl_cert_txt'] = 'SSL Certificate';
+$wb['ssl_bundle_txt'] = 'SSL Bundle';
+$wb['ssl_action_txt'] = 'SSL Action';
+$wb['ssl_domain_txt'] = 'SSL Domain';
+$wb['server_id_txt'] = 'Server';
+$wb['domain_txt'] = 'Domain';
+$wb['host_txt'] = 'Hostname';
+$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
+$wb['type_txt'] = 'Type';
+$wb['redirect_type_txt'] = 'Redirect Type';
+$wb['redirect_path_txt'] = 'Redirect Path';
+$wb['active_txt'] = 'Active';
+$wb['document_root_txt'] = 'Documentroot';
+$wb['system_user_txt'] = 'Linux User';
+$wb['system_group_txt'] = 'Linux Group';
+$wb['ip_address_txt'] = 'IPv4-Address';
+$wb['ipv6_address_txt'] = 'IPv6-Address';
+$wb['vhost_type_txt'] = 'VHost Type';
+$wb['hd_quota_txt'] = 'Harddisk Quota';
+$wb['traffic_quota_txt'] = 'Traffic Quota';
+$wb['cgi_txt'] = 'CGI';
+$wb['ssi_txt'] = 'SSI';
+$wb['errordocs_txt'] = 'Own Error-Documents';
+$wb['subdomain_txt'] = 'Auto-Subdomain';
+$wb['ssl_txt'] = 'SSL';
+$wb['suexec_txt'] = 'SuEXEC';
+$wb['php_txt'] = 'PHP';
+$wb['client_txt'] = 'Client';
+$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
+$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
+$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
+$wb['apache_directives_txt'] = 'Apache Directives';
+$wb['domain_error_empty'] = 'Domain is empty.';
+$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
+$wb['domain_error_regex'] = 'Domain name invalid.';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
+$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
+$wb['error_ssl_state_empty'] = 'SSL State is empty.';
+$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
+$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
+$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
+$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
+$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
+$wb['client_group_id_txt'] = 'Client';
+$wb['stats_password_txt'] = 'Webstatistics password';
+$wb['allow_override_txt'] = 'Apache AllowOverride';
+$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
+$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
+$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
+$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
+$wb['php_open_basedir_txt'] = 'PHP open_basedir';
+$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
+$wb['ruby_txt'] = 'Ruby';
+$wb['stats_user_txt'] = 'Webstatistics username';
+$wb['stats_type_txt'] = 'Webstatistics program';
+$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
+$wb['none_txt'] = 'None';
+$wb['disabled_txt'] = 'Disabled';
+$wb['no_redirect_txt'] = 'No redirect';
+$wb['no_flag_txt'] = 'No flag';
+$wb['save_certificate_txt'] = 'Save certificate';
+$wb['create_certificate_txt'] = 'Create certificate';
+$wb['delete_certificate_txt'] = 'Delete certificate';
+$wb['nginx_directives_txt'] = 'nginx Directives';
+$wb['seo_redirect_txt'] = 'SEO Redirect';
+$wb['non_www_to_www_txt'] = 'Non-www -&gt; www';
+$wb['www_to_non_www_txt'] = 'www -&gt; non-www';
+$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
+$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
+$wb['python_txt'] = 'Python';
+$wb['perl_txt'] = 'Perl';
+$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
+$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
+$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
+$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
+$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children &gt;= pm.max_spare_servers &gt;= pm.start_servers &gt;= pm.min_spare_servers &gt; 0';
+$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
+$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
+$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
+$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
+$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
+$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
+$wb['fastcgi_php_version_txt'] = 'PHP Version';
+$wb['pm_txt'] = 'PHP-FPM Process Manager';
+$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
+$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
+$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
+$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
+$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
+$wb['generate_password_txt'] = 'Generate Password';
+$wb['repeat_password_txt'] = 'Repeat Password';
+$wb['password_mismatch_txt'] = 'The passwords do not match.';
+$wb['password_match_txt'] = 'The passwords do match.';
+$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
+$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
+$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
+$wb['proxy_directives_txt'] = 'Proxy Directives';
+$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
+?>
diff --git a/interface/web/sites/lib/lang/id_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/id_web_vhost_aliasdomain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..b4aa9e0a1aeb41a356f4f1107b3eda5d07b1ff8f
--- /dev/null
+++ b/interface/web/sites/lib/lang/id_web_vhost_aliasdomain_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Alias Domain';
+$wb['active_txt'] = 'Aktif';
+$wb['server_id_txt'] = 'Server';
+$wb['parent_domain_id_txt'] = 'Situs Web';
+$wb['domain_txt'] = 'Alias Domain';
+$wb['add_new_record_txt'] = 'Tambah Alias Domain Baru';
+?>
diff --git a/interface/web/sites/lib/lang/it_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/it_web_vhost_aliasdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..b87c788126dbd5785e1b73ac049e6f04b5ee7735
--- /dev/null
+++ b/interface/web/sites/lib/lang/it_web_vhost_aliasdomain.lng
@@ -0,0 +1,118 @@
+<?php
+$wb['parent_domain_id_txt'] = 'Parent Website';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['backup_interval_txt'] = 'Backup interval';
+$wb['backup_copies_txt'] = 'Number of backup copies';
+$wb['ssl_state_txt'] = 'State';
+$wb['ssl_locality_txt'] = 'Locality';
+$wb['ssl_organisation_txt'] = 'Organisation';
+$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
+$wb['ssl_country_txt'] = 'Country';
+$wb['ssl_key_txt'] = 'SSL Key';
+$wb['ssl_request_txt'] = 'SSL Request';
+$wb['ssl_cert_txt'] = 'SSL Certificate';
+$wb['ssl_bundle_txt'] = 'SSL Bundle';
+$wb['ssl_action_txt'] = 'SSL Action';
+$wb['ssl_domain_txt'] = 'SSL Domain';
+$wb['server_id_txt'] = 'Server';
+$wb['domain_txt'] = 'Domain';
+$wb['host_txt'] = 'Hostname';
+$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
+$wb['type_txt'] = 'Type';
+$wb['redirect_type_txt'] = 'Redirect Type';
+$wb['redirect_path_txt'] = 'Redirect Path';
+$wb['active_txt'] = 'Active';
+$wb['document_root_txt'] = 'Documentroot';
+$wb['system_user_txt'] = 'Linux User';
+$wb['system_group_txt'] = 'Linux Group';
+$wb['ip_address_txt'] = 'IPv4-Address';
+$wb['ipv6_address_txt'] = 'IPv6-Address';
+$wb['vhost_type_txt'] = 'VHost Type';
+$wb['hd_quota_txt'] = 'Harddisk Quota';
+$wb['traffic_quota_txt'] = 'Traffic Quota';
+$wb['cgi_txt'] = 'CGI';
+$wb['ssi_txt'] = 'SSI';
+$wb['errordocs_txt'] = 'Own Error-Documents';
+$wb['subdomain_txt'] = 'Auto-Subdomain';
+$wb['ssl_txt'] = 'SSL';
+$wb['suexec_txt'] = 'SuEXEC';
+$wb['php_txt'] = 'PHP';
+$wb['client_txt'] = 'Client';
+$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
+$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
+$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
+$wb['apache_directives_txt'] = 'Apache Directives';
+$wb['domain_error_empty'] = 'Domain is empty.';
+$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
+$wb['domain_error_regex'] = 'Domain name invalid.';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
+$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
+$wb['error_ssl_state_empty'] = 'SSL State is empty.';
+$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
+$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
+$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
+$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
+$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
+$wb['client_group_id_txt'] = 'Client';
+$wb['stats_password_txt'] = 'Webstatistics password';
+$wb['allow_override_txt'] = 'Apache AllowOverride';
+$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
+$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
+$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
+$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
+$wb['php_open_basedir_txt'] = 'PHP open_basedir';
+$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
+$wb['ruby_txt'] = 'Ruby';
+$wb['stats_user_txt'] = 'Webstatistics username';
+$wb['stats_type_txt'] = 'Webstatistics program';
+$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
+$wb['none_txt'] = 'None';
+$wb['disabled_txt'] = 'Disabled';
+$wb['no_redirect_txt'] = 'No redirect';
+$wb['no_flag_txt'] = 'No flag';
+$wb['save_certificate_txt'] = 'Save certificate';
+$wb['create_certificate_txt'] = 'Create certificate';
+$wb['delete_certificate_txt'] = 'Delete certificate';
+$wb['nginx_directives_txt'] = 'nginx Directives';
+$wb['seo_redirect_txt'] = 'SEO Redirect';
+$wb['non_www_to_www_txt'] = 'Non-www -&gt; www';
+$wb['www_to_non_www_txt'] = 'www -&gt; non-www';
+$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
+$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
+$wb['python_txt'] = 'Python';
+$wb['perl_txt'] = 'Perl';
+$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
+$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
+$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
+$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
+$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children &gt;= pm.max_spare_servers &gt;= pm.start_servers &gt;= pm.min_spare_servers &gt; 0';
+$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
+$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
+$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
+$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
+$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
+$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
+$wb['fastcgi_php_version_txt'] = 'PHP Version';
+$wb['pm_txt'] = 'PHP-FPM Process Manager';
+$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
+$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
+$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
+$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
+$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
+$wb['generate_password_txt'] = 'Generate Password';
+$wb['repeat_password_txt'] = 'Repeat Password';
+$wb['password_mismatch_txt'] = 'The passwords do not match.';
+$wb['password_match_txt'] = 'The passwords do match.';
+$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
+$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
+$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
+$wb['proxy_directives_txt'] = 'Proxy Directives';
+$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
+?>
diff --git a/interface/web/sites/lib/lang/it_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/it_web_vhost_aliasdomain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..ae8bfec7a823f5df6ab606c4ff1f425ad578105a
--- /dev/null
+++ b/interface/web/sites/lib/lang/it_web_vhost_aliasdomain_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Aliasdomain';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['parent_domain_id_txt'] = 'Website';
+$wb['domain_txt'] = 'Aliasdomain';
+$wb['add_new_record_txt'] = 'Add new aliasdomain';
+?>
diff --git a/interface/web/sites/lib/lang/ja_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/ja_web_vhost_aliasdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..b87c788126dbd5785e1b73ac049e6f04b5ee7735
--- /dev/null
+++ b/interface/web/sites/lib/lang/ja_web_vhost_aliasdomain.lng
@@ -0,0 +1,118 @@
+<?php
+$wb['parent_domain_id_txt'] = 'Parent Website';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['backup_interval_txt'] = 'Backup interval';
+$wb['backup_copies_txt'] = 'Number of backup copies';
+$wb['ssl_state_txt'] = 'State';
+$wb['ssl_locality_txt'] = 'Locality';
+$wb['ssl_organisation_txt'] = 'Organisation';
+$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
+$wb['ssl_country_txt'] = 'Country';
+$wb['ssl_key_txt'] = 'SSL Key';
+$wb['ssl_request_txt'] = 'SSL Request';
+$wb['ssl_cert_txt'] = 'SSL Certificate';
+$wb['ssl_bundle_txt'] = 'SSL Bundle';
+$wb['ssl_action_txt'] = 'SSL Action';
+$wb['ssl_domain_txt'] = 'SSL Domain';
+$wb['server_id_txt'] = 'Server';
+$wb['domain_txt'] = 'Domain';
+$wb['host_txt'] = 'Hostname';
+$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
+$wb['type_txt'] = 'Type';
+$wb['redirect_type_txt'] = 'Redirect Type';
+$wb['redirect_path_txt'] = 'Redirect Path';
+$wb['active_txt'] = 'Active';
+$wb['document_root_txt'] = 'Documentroot';
+$wb['system_user_txt'] = 'Linux User';
+$wb['system_group_txt'] = 'Linux Group';
+$wb['ip_address_txt'] = 'IPv4-Address';
+$wb['ipv6_address_txt'] = 'IPv6-Address';
+$wb['vhost_type_txt'] = 'VHost Type';
+$wb['hd_quota_txt'] = 'Harddisk Quota';
+$wb['traffic_quota_txt'] = 'Traffic Quota';
+$wb['cgi_txt'] = 'CGI';
+$wb['ssi_txt'] = 'SSI';
+$wb['errordocs_txt'] = 'Own Error-Documents';
+$wb['subdomain_txt'] = 'Auto-Subdomain';
+$wb['ssl_txt'] = 'SSL';
+$wb['suexec_txt'] = 'SuEXEC';
+$wb['php_txt'] = 'PHP';
+$wb['client_txt'] = 'Client';
+$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
+$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
+$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
+$wb['apache_directives_txt'] = 'Apache Directives';
+$wb['domain_error_empty'] = 'Domain is empty.';
+$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
+$wb['domain_error_regex'] = 'Domain name invalid.';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
+$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
+$wb['error_ssl_state_empty'] = 'SSL State is empty.';
+$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
+$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
+$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
+$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
+$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
+$wb['client_group_id_txt'] = 'Client';
+$wb['stats_password_txt'] = 'Webstatistics password';
+$wb['allow_override_txt'] = 'Apache AllowOverride';
+$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
+$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
+$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
+$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
+$wb['php_open_basedir_txt'] = 'PHP open_basedir';
+$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
+$wb['ruby_txt'] = 'Ruby';
+$wb['stats_user_txt'] = 'Webstatistics username';
+$wb['stats_type_txt'] = 'Webstatistics program';
+$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
+$wb['none_txt'] = 'None';
+$wb['disabled_txt'] = 'Disabled';
+$wb['no_redirect_txt'] = 'No redirect';
+$wb['no_flag_txt'] = 'No flag';
+$wb['save_certificate_txt'] = 'Save certificate';
+$wb['create_certificate_txt'] = 'Create certificate';
+$wb['delete_certificate_txt'] = 'Delete certificate';
+$wb['nginx_directives_txt'] = 'nginx Directives';
+$wb['seo_redirect_txt'] = 'SEO Redirect';
+$wb['non_www_to_www_txt'] = 'Non-www -&gt; www';
+$wb['www_to_non_www_txt'] = 'www -&gt; non-www';
+$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
+$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
+$wb['python_txt'] = 'Python';
+$wb['perl_txt'] = 'Perl';
+$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
+$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
+$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
+$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
+$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children &gt;= pm.max_spare_servers &gt;= pm.start_servers &gt;= pm.min_spare_servers &gt; 0';
+$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
+$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
+$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
+$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
+$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
+$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
+$wb['fastcgi_php_version_txt'] = 'PHP Version';
+$wb['pm_txt'] = 'PHP-FPM Process Manager';
+$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
+$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
+$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
+$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
+$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
+$wb['generate_password_txt'] = 'Generate Password';
+$wb['repeat_password_txt'] = 'Repeat Password';
+$wb['password_mismatch_txt'] = 'The passwords do not match.';
+$wb['password_match_txt'] = 'The passwords do match.';
+$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
+$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
+$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
+$wb['proxy_directives_txt'] = 'Proxy Directives';
+$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
+?>
diff --git a/interface/web/sites/lib/lang/ja_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/ja_web_vhost_aliasdomain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..1407d49ae9841426ae3ba501eb2e20bee6c1c08e
--- /dev/null
+++ b/interface/web/sites/lib/lang/ja_web_vhost_aliasdomain_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'エイリアスドメイン';
+$wb['active_txt'] = '有効';
+$wb['server_id_txt'] = 'サーバー';
+$wb['parent_domain_id_txt'] = 'ウェブサイト';
+$wb['domain_txt'] = 'エイリアスドメイン';
+$wb['add_new_record_txt'] = 'エイリアスドメインを追加する';
+?>
diff --git a/interface/web/sites/lib/lang/nl_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/nl_web_vhost_aliasdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..b87c788126dbd5785e1b73ac049e6f04b5ee7735
--- /dev/null
+++ b/interface/web/sites/lib/lang/nl_web_vhost_aliasdomain.lng
@@ -0,0 +1,118 @@
+<?php
+$wb['parent_domain_id_txt'] = 'Parent Website';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['backup_interval_txt'] = 'Backup interval';
+$wb['backup_copies_txt'] = 'Number of backup copies';
+$wb['ssl_state_txt'] = 'State';
+$wb['ssl_locality_txt'] = 'Locality';
+$wb['ssl_organisation_txt'] = 'Organisation';
+$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
+$wb['ssl_country_txt'] = 'Country';
+$wb['ssl_key_txt'] = 'SSL Key';
+$wb['ssl_request_txt'] = 'SSL Request';
+$wb['ssl_cert_txt'] = 'SSL Certificate';
+$wb['ssl_bundle_txt'] = 'SSL Bundle';
+$wb['ssl_action_txt'] = 'SSL Action';
+$wb['ssl_domain_txt'] = 'SSL Domain';
+$wb['server_id_txt'] = 'Server';
+$wb['domain_txt'] = 'Domain';
+$wb['host_txt'] = 'Hostname';
+$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
+$wb['type_txt'] = 'Type';
+$wb['redirect_type_txt'] = 'Redirect Type';
+$wb['redirect_path_txt'] = 'Redirect Path';
+$wb['active_txt'] = 'Active';
+$wb['document_root_txt'] = 'Documentroot';
+$wb['system_user_txt'] = 'Linux User';
+$wb['system_group_txt'] = 'Linux Group';
+$wb['ip_address_txt'] = 'IPv4-Address';
+$wb['ipv6_address_txt'] = 'IPv6-Address';
+$wb['vhost_type_txt'] = 'VHost Type';
+$wb['hd_quota_txt'] = 'Harddisk Quota';
+$wb['traffic_quota_txt'] = 'Traffic Quota';
+$wb['cgi_txt'] = 'CGI';
+$wb['ssi_txt'] = 'SSI';
+$wb['errordocs_txt'] = 'Own Error-Documents';
+$wb['subdomain_txt'] = 'Auto-Subdomain';
+$wb['ssl_txt'] = 'SSL';
+$wb['suexec_txt'] = 'SuEXEC';
+$wb['php_txt'] = 'PHP';
+$wb['client_txt'] = 'Client';
+$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
+$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
+$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
+$wb['apache_directives_txt'] = 'Apache Directives';
+$wb['domain_error_empty'] = 'Domain is empty.';
+$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
+$wb['domain_error_regex'] = 'Domain name invalid.';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
+$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
+$wb['error_ssl_state_empty'] = 'SSL State is empty.';
+$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
+$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
+$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
+$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
+$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
+$wb['client_group_id_txt'] = 'Client';
+$wb['stats_password_txt'] = 'Webstatistics password';
+$wb['allow_override_txt'] = 'Apache AllowOverride';
+$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
+$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
+$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
+$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
+$wb['php_open_basedir_txt'] = 'PHP open_basedir';
+$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
+$wb['ruby_txt'] = 'Ruby';
+$wb['stats_user_txt'] = 'Webstatistics username';
+$wb['stats_type_txt'] = 'Webstatistics program';
+$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
+$wb['none_txt'] = 'None';
+$wb['disabled_txt'] = 'Disabled';
+$wb['no_redirect_txt'] = 'No redirect';
+$wb['no_flag_txt'] = 'No flag';
+$wb['save_certificate_txt'] = 'Save certificate';
+$wb['create_certificate_txt'] = 'Create certificate';
+$wb['delete_certificate_txt'] = 'Delete certificate';
+$wb['nginx_directives_txt'] = 'nginx Directives';
+$wb['seo_redirect_txt'] = 'SEO Redirect';
+$wb['non_www_to_www_txt'] = 'Non-www -&gt; www';
+$wb['www_to_non_www_txt'] = 'www -&gt; non-www';
+$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
+$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
+$wb['python_txt'] = 'Python';
+$wb['perl_txt'] = 'Perl';
+$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
+$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
+$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
+$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
+$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children &gt;= pm.max_spare_servers &gt;= pm.start_servers &gt;= pm.min_spare_servers &gt; 0';
+$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
+$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
+$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
+$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
+$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
+$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
+$wb['fastcgi_php_version_txt'] = 'PHP Version';
+$wb['pm_txt'] = 'PHP-FPM Process Manager';
+$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
+$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
+$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
+$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
+$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
+$wb['generate_password_txt'] = 'Generate Password';
+$wb['repeat_password_txt'] = 'Repeat Password';
+$wb['password_mismatch_txt'] = 'The passwords do not match.';
+$wb['password_match_txt'] = 'The passwords do match.';
+$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
+$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
+$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
+$wb['proxy_directives_txt'] = 'Proxy Directives';
+$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
+?>
diff --git a/interface/web/sites/lib/lang/nl_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/nl_web_vhost_aliasdomain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..7a24c02a9a6f7a40758ebc98014ec56ac2442a0c
--- /dev/null
+++ b/interface/web/sites/lib/lang/nl_web_vhost_aliasdomain_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Aliasdomein';
+$wb['active_txt'] = 'Actief';
+$wb['server_id_txt'] = 'Server';
+$wb['parent_domain_id_txt'] = 'Website';
+$wb['domain_txt'] = 'Aliasdomein';
+$wb['add_new_record_txt'] = 'Toevoegen nieuw aliasdomein';
+?>
diff --git a/interface/web/sites/lib/lang/pl_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/pl_web_vhost_aliasdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..8420a9d2b7fb93871968132b431a761fceefc7fd
--- /dev/null
+++ b/interface/web/sites/lib/lang/pl_web_vhost_aliasdomain.lng
@@ -0,0 +1,118 @@
+<?php
+$wb['parent_domain_id_txt'] = 'Strona macierzysta';
+$wb['web_folder_txt'] = 'Folder strony';
+$wb['web_folder_invalid_txt'] = 'Folder strony jest nieprawidłowy, proszę wybrać inny.';
+$wb['web_folder_unique_txt'] = 'Folder strony jest już w użyciu, proszę wybrać inny.';
+$wb['backup_interval_txt'] = 'Częstotliwość kopii';
+$wb['backup_copies_txt'] = 'Liczba kopii zapasowych';
+$wb['ssl_state_txt'] = 'Województwo';
+$wb['ssl_locality_txt'] = 'Lokalizacja';
+$wb['ssl_organisation_txt'] = 'Ogranizacja';
+$wb['ssl_organisation_unit_txt'] = 'Jednostka organizacji';
+$wb['ssl_country_txt'] = 'Kraj';
+$wb['ssl_key_txt'] = 'Klucz SSL';
+$wb['ssl_request_txt'] = 'Żądanie SSL';
+$wb['ssl_cert_txt'] = 'Certyfikat SSL';
+$wb['ssl_bundle_txt'] = 'Pakiet SSL (Bundle)';
+$wb['ssl_action_txt'] = 'Czynność SSL';
+$wb['ssl_domain_txt'] = 'Domena SSL';
+$wb['server_id_txt'] = 'Serwer';
+$wb['domain_txt'] = 'Domena';
+$wb['host_txt'] = 'Nazwa hosta';
+$wb['web_folder_error_regex'] = 'Wpisano nieprawidłowy folder. Proszę nie dopisywać znaku slash: / ';
+$wb['type_txt'] = 'Rodzaj';
+$wb['redirect_type_txt'] = 'Rodzaj przekierowania';
+$wb['redirect_path_txt'] = 'Ścieżka przekierowania';
+$wb['active_txt'] = 'Aktywny';
+$wb['document_root_txt'] = 'Document root';
+$wb['system_user_txt'] = 'Użytkownik systemowy';
+$wb['system_group_txt'] = 'Grupa systemowa';
+$wb['ip_address_txt'] = 'Adres IPv4';
+$wb['ipv6_address_txt'] = 'Adres IPv6';
+$wb['vhost_type_txt'] = 'Typ VHosta';
+$wb['hd_quota_txt'] = 'Limit dysku';
+$wb['traffic_quota_txt'] = 'Limit transferu';
+$wb['cgi_txt'] = 'CGI';
+$wb['ssi_txt'] = 'SSI';
+$wb['errordocs_txt'] = 'Własne strony błędów';
+$wb['subdomain_txt'] = 'Automatyczna subdomena';
+$wb['ssl_txt'] = 'SSL';
+$wb['suexec_txt'] = 'SuEXEC';
+$wb['php_txt'] = 'PHP';
+$wb['client_txt'] = 'Klient';
+$wb['limit_web_domain_txt'] = 'Maks. liczba domen dla Twojego konta została osiągnięta.';
+$wb['limit_web_aliasdomain_txt'] = 'Maks. liczba aliasów domen dla Twojego konta została osiągnięta.';
+$wb['limit_web_subdomain_txt'] = 'Maks. liczba poddomen dla Twojego konta została osiągnięta.';
+$wb['apache_directives_txt'] = 'Dyrektywy Apache';
+$wb['domain_error_empty'] = 'Pole domeny jest puste';
+$wb['domain_error_unique'] = 'Istnieje już strona z taką domeną lub subdomeną.';
+$wb['domain_error_regex'] = 'Nazwa domeny jest nieprawidłowa.';
+$wb['domain_error_wildcard'] = 'Subdomeny typu wildcard nie sÄ… dozwolone.';
+$wb['hd_quota_error_empty'] = 'Pole limitu dysku jest puste lub wynosi 0.';
+$wb['traffic_quota_error_empty'] = 'Pole limitu transferu jest puste.';
+$wb['error_ssl_state_empty'] = 'Pole województwa dla SSL jest puste.';
+$wb['error_ssl_locality_empty'] = 'Pole lokalizacji dla SSL jest puste.';
+$wb['error_ssl_organisation_empty'] = 'Pole organizacji dla SSL jest puste.';
+$wb['error_ssl_organisation_unit_empty'] = 'Pole jednostki dla SSL jest puste.';
+$wb['error_ssl_country_empty'] = 'Pole kraju dla SSL jest puste.';
+$wb['error_ssl_cert_empty'] = 'Pole certyfikatu SSL jest puste.';
+$wb['client_group_id_txt'] = 'Klient';
+$wb['stats_password_txt'] = 'Hasło do statystyk';
+$wb['allow_override_txt'] = 'Apache AllowOverride';
+$wb['limit_web_quota_free_txt'] = 'Maks. dostępny limit dysku';
+$wb['ssl_state_error_regex'] = 'Nieprawidłowe województwo SSL. Dozwolone znaki: a-z, 0-9 i .,-_';
+$wb['ssl_locality_error_regex'] = 'Nieprawidłowa lokalizacja SSL. Dozwolone znaki: a-z, 0-9 i .,-_';
+$wb['ssl_organisation_error_regex'] = 'Nieprawidłowa organizacja SSL. Dozwolone znaki: a-z, 0-9 i .,-_';
+$wb['ssl_organistaion_unit_error_regex'] = 'Nieprawidłowa jednostka SSL. Dozwolone znaki: a-z, 0-9 i .,-_';
+$wb['ssl_country_error_regex'] = 'Nieprawidłowy kraj SSL. Dozwolone znaki: a-z, 0-9 i .,-_';
+$wb['limit_traffic_quota_free_txt'] = 'Maks. dostępny limit transferu';
+$wb['redirect_error_regex'] = 'Nieprawidłowa ścieżka przekierowania. Przykładowe prawidłowe przekierowania: /test/ lub http://www.domena.pl/test/';
+$wb['php_open_basedir_txt'] = 'PHP open_basedir';
+$wb['traffic_quota_exceeded_txt'] = 'Limit transferu został przekroczony';
+$wb['ruby_txt'] = 'Ruby';
+$wb['stats_user_txt'] = 'Login do statystyk';
+$wb['stats_type_txt'] = 'Rodzaj statystyk';
+$wb['custom_php_ini_txt'] = 'WÅ‚asne ustawienia php.ini';
+$wb['none_txt'] = 'Brak';
+$wb['disabled_txt'] = 'Wyłączone';
+$wb['no_redirect_txt'] = 'Bez przekierowania';
+$wb['no_flag_txt'] = 'Bez flagi';
+$wb['save_certificate_txt'] = 'Zapisz certyfikat';
+$wb['create_certificate_txt'] = 'Utwórz certyfikat';
+$wb['delete_certificate_txt'] = 'Usuń certyfikat';
+$wb['nginx_directives_txt'] = 'Dyrektywy nginx';
+$wb['seo_redirect_txt'] = 'Przekierowanie SEO';
+$wb['non_www_to_www_txt'] = 'bez-www -> www';
+$wb['www_to_non_www_txt'] = 'www -> bez-www';
+$wb['php_fpm_use_socket_txt'] = 'Użyj gniazda dla PHP-FPM';
+$wb['error_no_sni_txt'] = 'SNI dla SSL nie jest aktywowane dla tego serwera. Możesz włączyć tylko jeden certyfikat SSL dla jednego adresu IP.';
+$wb['python_txt'] = 'Python';
+$wb['perl_txt'] = 'Perl';
+$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
+$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
+$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
+$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
+$wb['error_php_fpm_pm_settings_txt'] = 'Wartości ustawień PHP-FPM pm muszą być następujące: pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0';
+$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children musi być dodatnią wartością całkowitą.';
+$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers musi być dodatnią wartością całkowitą.';
+$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers musi być dodatnią wartością całkowitą.';
+$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers musi być dodatnią wartością całkowitą.';
+$wb['hd_quota_error_regex'] = 'Limit dyski jest nieprawidłowy';
+$wb['traffic_quota_error_regex'] = 'Limit transferu jest nieprawidłowy';
+$wb['fastcgi_php_version_txt'] = 'Wersja PHP';
+$wb['pm_txt'] = 'PHP-FPM Process Manager';
+$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
+$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
+$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout musi być dodatnią wartością całkowitą.';
+$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests musi być wartością całkowitą >= 0.';
+$wb['pm_ondemand_hint_txt'] = 'Pamiętaj że musisz mieć wersję PHP >= 5.3.9 aby używać ondemand process manager. W przypadku starszej wersji PHP nie będzie działać w ogóle!';
+$wb['generate_password_txt'] = 'Generuj hasło';
+$wb['repeat_password_txt'] = 'Powtórz hasło';
+$wb['password_mismatch_txt'] = 'Hasła nie pasują do siebie';
+$wb['password_match_txt'] = 'Hasła pasują do siebie';
+$wb['available_php_directive_snippets_txt'] = 'Dostępne zestawy dyrektyw PHP:';
+$wb['available_apache_directive_snippets_txt'] = 'Dostępne zestawy dyrektyw Apache:';
+$wb['available_nginx_directive_snippets_txt'] = 'Dostępne zestawy dyrektyw nginx:';
+$wb['proxy_directives_txt'] = 'Dyrektywy Proxy';
+$wb['available_proxy_directive_snippets_txt'] = 'Dostępne zestawy dyrektyw Proxy:';
+?>
diff --git a/interface/web/sites/lib/lang/pl_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/pl_web_vhost_aliasdomain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..621b614fd7e6fc1b68f1372819fa272001acb660
--- /dev/null
+++ b/interface/web/sites/lib/lang/pl_web_vhost_aliasdomain_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Alias domeny';
+$wb['active_txt'] = 'Aktywny';
+$wb['server_id_txt'] = 'Serwer';
+$wb['parent_domain_id_txt'] = 'Strona www';
+$wb['domain_txt'] = 'Alias domeny';
+$wb['add_new_record_txt'] = 'Dodaj nowy alias domeny';
+?>
diff --git a/interface/web/sites/lib/lang/pt_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/pt_web_vhost_aliasdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..b87c788126dbd5785e1b73ac049e6f04b5ee7735
--- /dev/null
+++ b/interface/web/sites/lib/lang/pt_web_vhost_aliasdomain.lng
@@ -0,0 +1,118 @@
+<?php
+$wb['parent_domain_id_txt'] = 'Parent Website';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['backup_interval_txt'] = 'Backup interval';
+$wb['backup_copies_txt'] = 'Number of backup copies';
+$wb['ssl_state_txt'] = 'State';
+$wb['ssl_locality_txt'] = 'Locality';
+$wb['ssl_organisation_txt'] = 'Organisation';
+$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
+$wb['ssl_country_txt'] = 'Country';
+$wb['ssl_key_txt'] = 'SSL Key';
+$wb['ssl_request_txt'] = 'SSL Request';
+$wb['ssl_cert_txt'] = 'SSL Certificate';
+$wb['ssl_bundle_txt'] = 'SSL Bundle';
+$wb['ssl_action_txt'] = 'SSL Action';
+$wb['ssl_domain_txt'] = 'SSL Domain';
+$wb['server_id_txt'] = 'Server';
+$wb['domain_txt'] = 'Domain';
+$wb['host_txt'] = 'Hostname';
+$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
+$wb['type_txt'] = 'Type';
+$wb['redirect_type_txt'] = 'Redirect Type';
+$wb['redirect_path_txt'] = 'Redirect Path';
+$wb['active_txt'] = 'Active';
+$wb['document_root_txt'] = 'Documentroot';
+$wb['system_user_txt'] = 'Linux User';
+$wb['system_group_txt'] = 'Linux Group';
+$wb['ip_address_txt'] = 'IPv4-Address';
+$wb['ipv6_address_txt'] = 'IPv6-Address';
+$wb['vhost_type_txt'] = 'VHost Type';
+$wb['hd_quota_txt'] = 'Harddisk Quota';
+$wb['traffic_quota_txt'] = 'Traffic Quota';
+$wb['cgi_txt'] = 'CGI';
+$wb['ssi_txt'] = 'SSI';
+$wb['errordocs_txt'] = 'Own Error-Documents';
+$wb['subdomain_txt'] = 'Auto-Subdomain';
+$wb['ssl_txt'] = 'SSL';
+$wb['suexec_txt'] = 'SuEXEC';
+$wb['php_txt'] = 'PHP';
+$wb['client_txt'] = 'Client';
+$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
+$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
+$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
+$wb['apache_directives_txt'] = 'Apache Directives';
+$wb['domain_error_empty'] = 'Domain is empty.';
+$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
+$wb['domain_error_regex'] = 'Domain name invalid.';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
+$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
+$wb['error_ssl_state_empty'] = 'SSL State is empty.';
+$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
+$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
+$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
+$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
+$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
+$wb['client_group_id_txt'] = 'Client';
+$wb['stats_password_txt'] = 'Webstatistics password';
+$wb['allow_override_txt'] = 'Apache AllowOverride';
+$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
+$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
+$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
+$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
+$wb['php_open_basedir_txt'] = 'PHP open_basedir';
+$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
+$wb['ruby_txt'] = 'Ruby';
+$wb['stats_user_txt'] = 'Webstatistics username';
+$wb['stats_type_txt'] = 'Webstatistics program';
+$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
+$wb['none_txt'] = 'None';
+$wb['disabled_txt'] = 'Disabled';
+$wb['no_redirect_txt'] = 'No redirect';
+$wb['no_flag_txt'] = 'No flag';
+$wb['save_certificate_txt'] = 'Save certificate';
+$wb['create_certificate_txt'] = 'Create certificate';
+$wb['delete_certificate_txt'] = 'Delete certificate';
+$wb['nginx_directives_txt'] = 'nginx Directives';
+$wb['seo_redirect_txt'] = 'SEO Redirect';
+$wb['non_www_to_www_txt'] = 'Non-www -&gt; www';
+$wb['www_to_non_www_txt'] = 'www -&gt; non-www';
+$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
+$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
+$wb['python_txt'] = 'Python';
+$wb['perl_txt'] = 'Perl';
+$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
+$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
+$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
+$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
+$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children &gt;= pm.max_spare_servers &gt;= pm.start_servers &gt;= pm.min_spare_servers &gt; 0';
+$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
+$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
+$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
+$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
+$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
+$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
+$wb['fastcgi_php_version_txt'] = 'PHP Version';
+$wb['pm_txt'] = 'PHP-FPM Process Manager';
+$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
+$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
+$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
+$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
+$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
+$wb['generate_password_txt'] = 'Generate Password';
+$wb['repeat_password_txt'] = 'Repeat Password';
+$wb['password_mismatch_txt'] = 'The passwords do not match.';
+$wb['password_match_txt'] = 'The passwords do match.';
+$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
+$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
+$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
+$wb['proxy_directives_txt'] = 'Proxy Directives';
+$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
+?>
diff --git a/interface/web/sites/lib/lang/pt_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/pt_web_vhost_aliasdomain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..b9dd27cbb9185d9ce0a1bf03915f16e1bc2e12dc
--- /dev/null
+++ b/interface/web/sites/lib/lang/pt_web_vhost_aliasdomain_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Domínio Alias';
+$wb['active_txt'] = 'Activo';
+$wb['server_id_txt'] = 'Servidor';
+$wb['parent_domain_id_txt'] = 'Website';
+$wb['domain_txt'] = 'Domínio Alias';
+$wb['add_new_record_txt'] = 'Adicionar Alias de Domínio';
+?>
diff --git a/interface/web/sites/lib/lang/ro_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/ro_web_vhost_aliasdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..b87c788126dbd5785e1b73ac049e6f04b5ee7735
--- /dev/null
+++ b/interface/web/sites/lib/lang/ro_web_vhost_aliasdomain.lng
@@ -0,0 +1,118 @@
+<?php
+$wb['parent_domain_id_txt'] = 'Parent Website';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['backup_interval_txt'] = 'Backup interval';
+$wb['backup_copies_txt'] = 'Number of backup copies';
+$wb['ssl_state_txt'] = 'State';
+$wb['ssl_locality_txt'] = 'Locality';
+$wb['ssl_organisation_txt'] = 'Organisation';
+$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
+$wb['ssl_country_txt'] = 'Country';
+$wb['ssl_key_txt'] = 'SSL Key';
+$wb['ssl_request_txt'] = 'SSL Request';
+$wb['ssl_cert_txt'] = 'SSL Certificate';
+$wb['ssl_bundle_txt'] = 'SSL Bundle';
+$wb['ssl_action_txt'] = 'SSL Action';
+$wb['ssl_domain_txt'] = 'SSL Domain';
+$wb['server_id_txt'] = 'Server';
+$wb['domain_txt'] = 'Domain';
+$wb['host_txt'] = 'Hostname';
+$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
+$wb['type_txt'] = 'Type';
+$wb['redirect_type_txt'] = 'Redirect Type';
+$wb['redirect_path_txt'] = 'Redirect Path';
+$wb['active_txt'] = 'Active';
+$wb['document_root_txt'] = 'Documentroot';
+$wb['system_user_txt'] = 'Linux User';
+$wb['system_group_txt'] = 'Linux Group';
+$wb['ip_address_txt'] = 'IPv4-Address';
+$wb['ipv6_address_txt'] = 'IPv6-Address';
+$wb['vhost_type_txt'] = 'VHost Type';
+$wb['hd_quota_txt'] = 'Harddisk Quota';
+$wb['traffic_quota_txt'] = 'Traffic Quota';
+$wb['cgi_txt'] = 'CGI';
+$wb['ssi_txt'] = 'SSI';
+$wb['errordocs_txt'] = 'Own Error-Documents';
+$wb['subdomain_txt'] = 'Auto-Subdomain';
+$wb['ssl_txt'] = 'SSL';
+$wb['suexec_txt'] = 'SuEXEC';
+$wb['php_txt'] = 'PHP';
+$wb['client_txt'] = 'Client';
+$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
+$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
+$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
+$wb['apache_directives_txt'] = 'Apache Directives';
+$wb['domain_error_empty'] = 'Domain is empty.';
+$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
+$wb['domain_error_regex'] = 'Domain name invalid.';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
+$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
+$wb['error_ssl_state_empty'] = 'SSL State is empty.';
+$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
+$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
+$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
+$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
+$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
+$wb['client_group_id_txt'] = 'Client';
+$wb['stats_password_txt'] = 'Webstatistics password';
+$wb['allow_override_txt'] = 'Apache AllowOverride';
+$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
+$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
+$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
+$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
+$wb['php_open_basedir_txt'] = 'PHP open_basedir';
+$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
+$wb['ruby_txt'] = 'Ruby';
+$wb['stats_user_txt'] = 'Webstatistics username';
+$wb['stats_type_txt'] = 'Webstatistics program';
+$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
+$wb['none_txt'] = 'None';
+$wb['disabled_txt'] = 'Disabled';
+$wb['no_redirect_txt'] = 'No redirect';
+$wb['no_flag_txt'] = 'No flag';
+$wb['save_certificate_txt'] = 'Save certificate';
+$wb['create_certificate_txt'] = 'Create certificate';
+$wb['delete_certificate_txt'] = 'Delete certificate';
+$wb['nginx_directives_txt'] = 'nginx Directives';
+$wb['seo_redirect_txt'] = 'SEO Redirect';
+$wb['non_www_to_www_txt'] = 'Non-www -&gt; www';
+$wb['www_to_non_www_txt'] = 'www -&gt; non-www';
+$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
+$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
+$wb['python_txt'] = 'Python';
+$wb['perl_txt'] = 'Perl';
+$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
+$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
+$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
+$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
+$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children &gt;= pm.max_spare_servers &gt;= pm.start_servers &gt;= pm.min_spare_servers &gt; 0';
+$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
+$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
+$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
+$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
+$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
+$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
+$wb['fastcgi_php_version_txt'] = 'PHP Version';
+$wb['pm_txt'] = 'PHP-FPM Process Manager';
+$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
+$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
+$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
+$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
+$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
+$wb['generate_password_txt'] = 'Generate Password';
+$wb['repeat_password_txt'] = 'Repeat Password';
+$wb['password_mismatch_txt'] = 'The passwords do not match.';
+$wb['password_match_txt'] = 'The passwords do match.';
+$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
+$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
+$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
+$wb['proxy_directives_txt'] = 'Proxy Directives';
+$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
+?>
diff --git a/interface/web/sites/lib/lang/ro_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/ro_web_vhost_aliasdomain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..f63f62e246da3d49b06c0db10c814a5505fb380a
--- /dev/null
+++ b/interface/web/sites/lib/lang/ro_web_vhost_aliasdomain_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Aliasdomain';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['parent_domain_id_txt'] = 'Website';
+$wb['domain_txt'] = 'Aliasdomain';
+$wb['add_new_record_txt'] = 'Adauga un nou  aliasdomain';
+?>
diff --git a/interface/web/sites/lib/lang/ru_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/ru_web_vhost_aliasdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..b87c788126dbd5785e1b73ac049e6f04b5ee7735
--- /dev/null
+++ b/interface/web/sites/lib/lang/ru_web_vhost_aliasdomain.lng
@@ -0,0 +1,118 @@
+<?php
+$wb['parent_domain_id_txt'] = 'Parent Website';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['backup_interval_txt'] = 'Backup interval';
+$wb['backup_copies_txt'] = 'Number of backup copies';
+$wb['ssl_state_txt'] = 'State';
+$wb['ssl_locality_txt'] = 'Locality';
+$wb['ssl_organisation_txt'] = 'Organisation';
+$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
+$wb['ssl_country_txt'] = 'Country';
+$wb['ssl_key_txt'] = 'SSL Key';
+$wb['ssl_request_txt'] = 'SSL Request';
+$wb['ssl_cert_txt'] = 'SSL Certificate';
+$wb['ssl_bundle_txt'] = 'SSL Bundle';
+$wb['ssl_action_txt'] = 'SSL Action';
+$wb['ssl_domain_txt'] = 'SSL Domain';
+$wb['server_id_txt'] = 'Server';
+$wb['domain_txt'] = 'Domain';
+$wb['host_txt'] = 'Hostname';
+$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
+$wb['type_txt'] = 'Type';
+$wb['redirect_type_txt'] = 'Redirect Type';
+$wb['redirect_path_txt'] = 'Redirect Path';
+$wb['active_txt'] = 'Active';
+$wb['document_root_txt'] = 'Documentroot';
+$wb['system_user_txt'] = 'Linux User';
+$wb['system_group_txt'] = 'Linux Group';
+$wb['ip_address_txt'] = 'IPv4-Address';
+$wb['ipv6_address_txt'] = 'IPv6-Address';
+$wb['vhost_type_txt'] = 'VHost Type';
+$wb['hd_quota_txt'] = 'Harddisk Quota';
+$wb['traffic_quota_txt'] = 'Traffic Quota';
+$wb['cgi_txt'] = 'CGI';
+$wb['ssi_txt'] = 'SSI';
+$wb['errordocs_txt'] = 'Own Error-Documents';
+$wb['subdomain_txt'] = 'Auto-Subdomain';
+$wb['ssl_txt'] = 'SSL';
+$wb['suexec_txt'] = 'SuEXEC';
+$wb['php_txt'] = 'PHP';
+$wb['client_txt'] = 'Client';
+$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
+$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
+$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
+$wb['apache_directives_txt'] = 'Apache Directives';
+$wb['domain_error_empty'] = 'Domain is empty.';
+$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
+$wb['domain_error_regex'] = 'Domain name invalid.';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
+$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
+$wb['error_ssl_state_empty'] = 'SSL State is empty.';
+$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
+$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
+$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
+$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
+$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
+$wb['client_group_id_txt'] = 'Client';
+$wb['stats_password_txt'] = 'Webstatistics password';
+$wb['allow_override_txt'] = 'Apache AllowOverride';
+$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
+$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
+$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
+$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
+$wb['php_open_basedir_txt'] = 'PHP open_basedir';
+$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
+$wb['ruby_txt'] = 'Ruby';
+$wb['stats_user_txt'] = 'Webstatistics username';
+$wb['stats_type_txt'] = 'Webstatistics program';
+$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
+$wb['none_txt'] = 'None';
+$wb['disabled_txt'] = 'Disabled';
+$wb['no_redirect_txt'] = 'No redirect';
+$wb['no_flag_txt'] = 'No flag';
+$wb['save_certificate_txt'] = 'Save certificate';
+$wb['create_certificate_txt'] = 'Create certificate';
+$wb['delete_certificate_txt'] = 'Delete certificate';
+$wb['nginx_directives_txt'] = 'nginx Directives';
+$wb['seo_redirect_txt'] = 'SEO Redirect';
+$wb['non_www_to_www_txt'] = 'Non-www -&gt; www';
+$wb['www_to_non_www_txt'] = 'www -&gt; non-www';
+$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
+$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
+$wb['python_txt'] = 'Python';
+$wb['perl_txt'] = 'Perl';
+$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
+$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
+$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
+$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
+$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children &gt;= pm.max_spare_servers &gt;= pm.start_servers &gt;= pm.min_spare_servers &gt; 0';
+$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
+$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
+$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
+$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
+$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
+$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
+$wb['fastcgi_php_version_txt'] = 'PHP Version';
+$wb['pm_txt'] = 'PHP-FPM Process Manager';
+$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
+$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
+$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
+$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
+$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
+$wb['generate_password_txt'] = 'Generate Password';
+$wb['repeat_password_txt'] = 'Repeat Password';
+$wb['password_mismatch_txt'] = 'The passwords do not match.';
+$wb['password_match_txt'] = 'The passwords do match.';
+$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
+$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
+$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
+$wb['proxy_directives_txt'] = 'Proxy Directives';
+$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
+?>
diff --git a/interface/web/sites/lib/lang/ru_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/ru_web_vhost_aliasdomain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..041c188eade0f3cc1a7f0bf69234055beac58926
--- /dev/null
+++ b/interface/web/sites/lib/lang/ru_web_vhost_aliasdomain_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Доменные алиасы';
+$wb['active_txt'] = 'Активен?';
+$wb['server_id_txt'] = 'Сервер';
+$wb['parent_domain_id_txt'] = 'Web-сайт';
+$wb['domain_txt'] = 'Доменный алиас';
+$wb['add_new_record_txt'] = 'Добавить новый алиас';
+?>
diff --git a/interface/web/sites/lib/lang/se_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/se_web_vhost_aliasdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..b87c788126dbd5785e1b73ac049e6f04b5ee7735
--- /dev/null
+++ b/interface/web/sites/lib/lang/se_web_vhost_aliasdomain.lng
@@ -0,0 +1,118 @@
+<?php
+$wb['parent_domain_id_txt'] = 'Parent Website';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['backup_interval_txt'] = 'Backup interval';
+$wb['backup_copies_txt'] = 'Number of backup copies';
+$wb['ssl_state_txt'] = 'State';
+$wb['ssl_locality_txt'] = 'Locality';
+$wb['ssl_organisation_txt'] = 'Organisation';
+$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
+$wb['ssl_country_txt'] = 'Country';
+$wb['ssl_key_txt'] = 'SSL Key';
+$wb['ssl_request_txt'] = 'SSL Request';
+$wb['ssl_cert_txt'] = 'SSL Certificate';
+$wb['ssl_bundle_txt'] = 'SSL Bundle';
+$wb['ssl_action_txt'] = 'SSL Action';
+$wb['ssl_domain_txt'] = 'SSL Domain';
+$wb['server_id_txt'] = 'Server';
+$wb['domain_txt'] = 'Domain';
+$wb['host_txt'] = 'Hostname';
+$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
+$wb['type_txt'] = 'Type';
+$wb['redirect_type_txt'] = 'Redirect Type';
+$wb['redirect_path_txt'] = 'Redirect Path';
+$wb['active_txt'] = 'Active';
+$wb['document_root_txt'] = 'Documentroot';
+$wb['system_user_txt'] = 'Linux User';
+$wb['system_group_txt'] = 'Linux Group';
+$wb['ip_address_txt'] = 'IPv4-Address';
+$wb['ipv6_address_txt'] = 'IPv6-Address';
+$wb['vhost_type_txt'] = 'VHost Type';
+$wb['hd_quota_txt'] = 'Harddisk Quota';
+$wb['traffic_quota_txt'] = 'Traffic Quota';
+$wb['cgi_txt'] = 'CGI';
+$wb['ssi_txt'] = 'SSI';
+$wb['errordocs_txt'] = 'Own Error-Documents';
+$wb['subdomain_txt'] = 'Auto-Subdomain';
+$wb['ssl_txt'] = 'SSL';
+$wb['suexec_txt'] = 'SuEXEC';
+$wb['php_txt'] = 'PHP';
+$wb['client_txt'] = 'Client';
+$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
+$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
+$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
+$wb['apache_directives_txt'] = 'Apache Directives';
+$wb['domain_error_empty'] = 'Domain is empty.';
+$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
+$wb['domain_error_regex'] = 'Domain name invalid.';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
+$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
+$wb['error_ssl_state_empty'] = 'SSL State is empty.';
+$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
+$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
+$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
+$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
+$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
+$wb['client_group_id_txt'] = 'Client';
+$wb['stats_password_txt'] = 'Webstatistics password';
+$wb['allow_override_txt'] = 'Apache AllowOverride';
+$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
+$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
+$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
+$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
+$wb['php_open_basedir_txt'] = 'PHP open_basedir';
+$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
+$wb['ruby_txt'] = 'Ruby';
+$wb['stats_user_txt'] = 'Webstatistics username';
+$wb['stats_type_txt'] = 'Webstatistics program';
+$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
+$wb['none_txt'] = 'None';
+$wb['disabled_txt'] = 'Disabled';
+$wb['no_redirect_txt'] = 'No redirect';
+$wb['no_flag_txt'] = 'No flag';
+$wb['save_certificate_txt'] = 'Save certificate';
+$wb['create_certificate_txt'] = 'Create certificate';
+$wb['delete_certificate_txt'] = 'Delete certificate';
+$wb['nginx_directives_txt'] = 'nginx Directives';
+$wb['seo_redirect_txt'] = 'SEO Redirect';
+$wb['non_www_to_www_txt'] = 'Non-www -&gt; www';
+$wb['www_to_non_www_txt'] = 'www -&gt; non-www';
+$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
+$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
+$wb['python_txt'] = 'Python';
+$wb['perl_txt'] = 'Perl';
+$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
+$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
+$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
+$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
+$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children &gt;= pm.max_spare_servers &gt;= pm.start_servers &gt;= pm.min_spare_servers &gt; 0';
+$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
+$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
+$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
+$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
+$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
+$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
+$wb['fastcgi_php_version_txt'] = 'PHP Version';
+$wb['pm_txt'] = 'PHP-FPM Process Manager';
+$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
+$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
+$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
+$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
+$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
+$wb['generate_password_txt'] = 'Generate Password';
+$wb['repeat_password_txt'] = 'Repeat Password';
+$wb['password_mismatch_txt'] = 'The passwords do not match.';
+$wb['password_match_txt'] = 'The passwords do match.';
+$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
+$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
+$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
+$wb['proxy_directives_txt'] = 'Proxy Directives';
+$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
+?>
diff --git a/interface/web/sites/lib/lang/se_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/se_web_vhost_aliasdomain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..ae8bfec7a823f5df6ab606c4ff1f425ad578105a
--- /dev/null
+++ b/interface/web/sites/lib/lang/se_web_vhost_aliasdomain_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Aliasdomain';
+$wb['active_txt'] = 'Active';
+$wb['server_id_txt'] = 'Server';
+$wb['parent_domain_id_txt'] = 'Website';
+$wb['domain_txt'] = 'Aliasdomain';
+$wb['add_new_record_txt'] = 'Add new aliasdomain';
+?>
diff --git a/interface/web/sites/lib/lang/sk_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/sk_web_vhost_aliasdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..b87c788126dbd5785e1b73ac049e6f04b5ee7735
--- /dev/null
+++ b/interface/web/sites/lib/lang/sk_web_vhost_aliasdomain.lng
@@ -0,0 +1,118 @@
+<?php
+$wb['parent_domain_id_txt'] = 'Parent Website';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['backup_interval_txt'] = 'Backup interval';
+$wb['backup_copies_txt'] = 'Number of backup copies';
+$wb['ssl_state_txt'] = 'State';
+$wb['ssl_locality_txt'] = 'Locality';
+$wb['ssl_organisation_txt'] = 'Organisation';
+$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
+$wb['ssl_country_txt'] = 'Country';
+$wb['ssl_key_txt'] = 'SSL Key';
+$wb['ssl_request_txt'] = 'SSL Request';
+$wb['ssl_cert_txt'] = 'SSL Certificate';
+$wb['ssl_bundle_txt'] = 'SSL Bundle';
+$wb['ssl_action_txt'] = 'SSL Action';
+$wb['ssl_domain_txt'] = 'SSL Domain';
+$wb['server_id_txt'] = 'Server';
+$wb['domain_txt'] = 'Domain';
+$wb['host_txt'] = 'Hostname';
+$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
+$wb['type_txt'] = 'Type';
+$wb['redirect_type_txt'] = 'Redirect Type';
+$wb['redirect_path_txt'] = 'Redirect Path';
+$wb['active_txt'] = 'Active';
+$wb['document_root_txt'] = 'Documentroot';
+$wb['system_user_txt'] = 'Linux User';
+$wb['system_group_txt'] = 'Linux Group';
+$wb['ip_address_txt'] = 'IPv4-Address';
+$wb['ipv6_address_txt'] = 'IPv6-Address';
+$wb['vhost_type_txt'] = 'VHost Type';
+$wb['hd_quota_txt'] = 'Harddisk Quota';
+$wb['traffic_quota_txt'] = 'Traffic Quota';
+$wb['cgi_txt'] = 'CGI';
+$wb['ssi_txt'] = 'SSI';
+$wb['errordocs_txt'] = 'Own Error-Documents';
+$wb['subdomain_txt'] = 'Auto-Subdomain';
+$wb['ssl_txt'] = 'SSL';
+$wb['suexec_txt'] = 'SuEXEC';
+$wb['php_txt'] = 'PHP';
+$wb['client_txt'] = 'Client';
+$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
+$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
+$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
+$wb['apache_directives_txt'] = 'Apache Directives';
+$wb['domain_error_empty'] = 'Domain is empty.';
+$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
+$wb['domain_error_regex'] = 'Domain name invalid.';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
+$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
+$wb['error_ssl_state_empty'] = 'SSL State is empty.';
+$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
+$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
+$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
+$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
+$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
+$wb['client_group_id_txt'] = 'Client';
+$wb['stats_password_txt'] = 'Webstatistics password';
+$wb['allow_override_txt'] = 'Apache AllowOverride';
+$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
+$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
+$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
+$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
+$wb['php_open_basedir_txt'] = 'PHP open_basedir';
+$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
+$wb['ruby_txt'] = 'Ruby';
+$wb['stats_user_txt'] = 'Webstatistics username';
+$wb['stats_type_txt'] = 'Webstatistics program';
+$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
+$wb['none_txt'] = 'None';
+$wb['disabled_txt'] = 'Disabled';
+$wb['no_redirect_txt'] = 'No redirect';
+$wb['no_flag_txt'] = 'No flag';
+$wb['save_certificate_txt'] = 'Save certificate';
+$wb['create_certificate_txt'] = 'Create certificate';
+$wb['delete_certificate_txt'] = 'Delete certificate';
+$wb['nginx_directives_txt'] = 'nginx Directives';
+$wb['seo_redirect_txt'] = 'SEO Redirect';
+$wb['non_www_to_www_txt'] = 'Non-www -&gt; www';
+$wb['www_to_non_www_txt'] = 'www -&gt; non-www';
+$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
+$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
+$wb['python_txt'] = 'Python';
+$wb['perl_txt'] = 'Perl';
+$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
+$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
+$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
+$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
+$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children &gt;= pm.max_spare_servers &gt;= pm.start_servers &gt;= pm.min_spare_servers &gt; 0';
+$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
+$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
+$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
+$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
+$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
+$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
+$wb['fastcgi_php_version_txt'] = 'PHP Version';
+$wb['pm_txt'] = 'PHP-FPM Process Manager';
+$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
+$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
+$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
+$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
+$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
+$wb['generate_password_txt'] = 'Generate Password';
+$wb['repeat_password_txt'] = 'Repeat Password';
+$wb['password_mismatch_txt'] = 'The passwords do not match.';
+$wb['password_match_txt'] = 'The passwords do match.';
+$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
+$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
+$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
+$wb['proxy_directives_txt'] = 'Proxy Directives';
+$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
+?>
diff --git a/interface/web/sites/lib/lang/sk_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/sk_web_vhost_aliasdomain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..c626f081e23317774f4c9aa05935aa83c912bad7
--- /dev/null
+++ b/interface/web/sites/lib/lang/sk_web_vhost_aliasdomain_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Alias doména';
+$wb['active_txt'] = 'Aktívne';
+$wb['server_id_txt'] = 'Server';
+$wb['parent_domain_id_txt'] = 'Webstránky';
+$wb['domain_txt'] = 'Alias doména';
+$wb['add_new_record_txt'] = 'Pridať novú alias doménu';
+?>
diff --git a/interface/web/sites/lib/lang/tr_web_vhost_aliasdomain.lng b/interface/web/sites/lib/lang/tr_web_vhost_aliasdomain.lng
new file mode 100644
index 0000000000000000000000000000000000000000..b87c788126dbd5785e1b73ac049e6f04b5ee7735
--- /dev/null
+++ b/interface/web/sites/lib/lang/tr_web_vhost_aliasdomain.lng
@@ -0,0 +1,118 @@
+<?php
+$wb['parent_domain_id_txt'] = 'Parent Website';
+$wb['web_folder_txt'] = 'Web folder';
+$wb['web_folder_invalid_txt'] = 'The web folder is invalid, please choose a different one.';
+$wb['web_folder_unique_txt'] = 'The web folder is already used, please choose a different one.';
+$wb['backup_interval_txt'] = 'Backup interval';
+$wb['backup_copies_txt'] = 'Number of backup copies';
+$wb['ssl_state_txt'] = 'State';
+$wb['ssl_locality_txt'] = 'Locality';
+$wb['ssl_organisation_txt'] = 'Organisation';
+$wb['ssl_organisation_unit_txt'] = 'Organisation Unit';
+$wb['ssl_country_txt'] = 'Country';
+$wb['ssl_key_txt'] = 'SSL Key';
+$wb['ssl_request_txt'] = 'SSL Request';
+$wb['ssl_cert_txt'] = 'SSL Certificate';
+$wb['ssl_bundle_txt'] = 'SSL Bundle';
+$wb['ssl_action_txt'] = 'SSL Action';
+$wb['ssl_domain_txt'] = 'SSL Domain';
+$wb['server_id_txt'] = 'Server';
+$wb['domain_txt'] = 'Domain';
+$wb['host_txt'] = 'Hostname';
+$wb['web_folder_error_regex'] = 'Invalid folder entered. Please do not enter a slash.';
+$wb['type_txt'] = 'Type';
+$wb['redirect_type_txt'] = 'Redirect Type';
+$wb['redirect_path_txt'] = 'Redirect Path';
+$wb['active_txt'] = 'Active';
+$wb['document_root_txt'] = 'Documentroot';
+$wb['system_user_txt'] = 'Linux User';
+$wb['system_group_txt'] = 'Linux Group';
+$wb['ip_address_txt'] = 'IPv4-Address';
+$wb['ipv6_address_txt'] = 'IPv6-Address';
+$wb['vhost_type_txt'] = 'VHost Type';
+$wb['hd_quota_txt'] = 'Harddisk Quota';
+$wb['traffic_quota_txt'] = 'Traffic Quota';
+$wb['cgi_txt'] = 'CGI';
+$wb['ssi_txt'] = 'SSI';
+$wb['errordocs_txt'] = 'Own Error-Documents';
+$wb['subdomain_txt'] = 'Auto-Subdomain';
+$wb['ssl_txt'] = 'SSL';
+$wb['suexec_txt'] = 'SuEXEC';
+$wb['php_txt'] = 'PHP';
+$wb['client_txt'] = 'Client';
+$wb['limit_web_domain_txt'] = 'The max. number of web domains for your account is reached.';
+$wb['limit_web_aliasdomain_txt'] = 'The max. number of aliasdomains for your account is reached.';
+$wb['limit_web_subdomain_txt'] = 'The max. number of web subdomains for your account is reached.';
+$wb['apache_directives_txt'] = 'Apache Directives';
+$wb['domain_error_empty'] = 'Domain is empty.';
+$wb['domain_error_unique'] = 'There is already a website or sub / aliasdomain with this domain name.';
+$wb['domain_error_regex'] = 'Domain name invalid.';
+$wb['domain_error_wildcard'] = 'Wildcard subdomains are not allowed.';
+$wb['hd_quota_error_empty'] = 'Harddisk quota is 0 or empty.';
+$wb['traffic_quota_error_empty'] = 'Traffic quota is empty.';
+$wb['error_ssl_state_empty'] = 'SSL State is empty.';
+$wb['error_ssl_locality_empty'] = 'SSL Locality is empty.';
+$wb['error_ssl_organisation_empty'] = 'SSL Organisation is empty.';
+$wb['error_ssl_organisation_unit_empty'] = 'SSL Organisation Unit is empty.';
+$wb['error_ssl_country_empty'] = 'SSL Country is empty.';
+$wb['error_ssl_cert_empty'] = 'SSL Certificate field is empty';
+$wb['client_group_id_txt'] = 'Client';
+$wb['stats_password_txt'] = 'Webstatistics password';
+$wb['allow_override_txt'] = 'Apache AllowOverride';
+$wb['limit_web_quota_free_txt'] = 'Max. available Harddisk Quota';
+$wb['ssl_state_error_regex'] = 'Invalid SSL State. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_locality_error_regex'] = 'Invalid SSL Locality. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organisation_error_regex'] = 'Invalid SSL Organisation. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_organistaion_unit_error_regex'] = 'Invalid SSL Organisation Unit. Valid characters are: a-z, 0-9 and .,-_';
+$wb['ssl_country_error_regex'] = 'Invalid SSL Country. Valid characters are: A-Z';
+$wb['limit_traffic_quota_free_txt'] = 'Max. available Traffic Quota';
+$wb['redirect_error_regex'] = 'Invalid redirect path. Valid redirects are for example: /test/ or http://www.domain.tld/test/';
+$wb['php_open_basedir_txt'] = 'PHP open_basedir';
+$wb['traffic_quota_exceeded_txt'] = 'Traffic quota exceeded';
+$wb['ruby_txt'] = 'Ruby';
+$wb['stats_user_txt'] = 'Webstatistics username';
+$wb['stats_type_txt'] = 'Webstatistics program';
+$wb['custom_php_ini_txt'] = 'Custom php.ini settings';
+$wb['none_txt'] = 'None';
+$wb['disabled_txt'] = 'Disabled';
+$wb['no_redirect_txt'] = 'No redirect';
+$wb['no_flag_txt'] = 'No flag';
+$wb['save_certificate_txt'] = 'Save certificate';
+$wb['create_certificate_txt'] = 'Create certificate';
+$wb['delete_certificate_txt'] = 'Delete certificate';
+$wb['nginx_directives_txt'] = 'nginx Directives';
+$wb['seo_redirect_txt'] = 'SEO Redirect';
+$wb['non_www_to_www_txt'] = 'Non-www -&gt; www';
+$wb['www_to_non_www_txt'] = 'www -&gt; non-www';
+$wb['php_fpm_use_socket_txt'] = 'Use Socket For PHP-FPM';
+$wb['error_no_sni_txt'] = 'SNI for SSL is not activated on this server. You can enable only one SSL certificate on each IP address.';
+$wb['python_txt'] = 'Python';
+$wb['perl_txt'] = 'Perl';
+$wb['pm_max_children_txt'] = 'PHP-FPM pm.max_children';
+$wb['pm_start_servers_txt'] = 'PHP-FPM pm.start_servers';
+$wb['pm_min_spare_servers_txt'] = 'PHP-FPM pm.min_spare_servers';
+$wb['pm_max_spare_servers_txt'] = 'PHP-FPM pm.max_spare_servers';
+$wb['error_php_fpm_pm_settings_txt'] = 'Values of PHP-FPM pm settings must be as follows: pm.max_children &gt;= pm.max_spare_servers &gt;= pm.start_servers &gt;= pm.min_spare_servers &gt; 0';
+$wb['pm_max_children_error_regex'] = 'PHP-FPM pm.max_children must be a positive integer value.';
+$wb['pm_start_servers_error_regex'] = 'PHP-FPM pm.start_servers must be a positive integer value.';
+$wb['pm_min_spare_servers_error_regex'] = 'PHP-FPM pm.min_spare_servers must be a positive integer value.';
+$wb['pm_max_spare_servers_error_regex'] = 'PHP-FPM pm.max_spare_servers must be a positive integer value.';
+$wb['hd_quota_error_regex'] = 'Harddisk quota is invalid.';
+$wb['traffic_quota_error_regex'] = 'Traffic quota is invalid.';
+$wb['fastcgi_php_version_txt'] = 'PHP Version';
+$wb['pm_txt'] = 'PHP-FPM Process Manager';
+$wb['pm_process_idle_timeout_txt'] = 'PHP-FPM pm.process_idle_timeout';
+$wb['pm_max_requests_txt'] = 'PHP-FPM pm.max_requests';
+$wb['pm_process_idle_timeout_error_regex'] = 'PHP-FPM pm.process_idle_timeout must be a positive integer value.';
+$wb['pm_max_requests_error_regex'] = 'PHP-FPM pm.max_requests must be an integer value >= 0.';
+$wb['pm_ondemand_hint_txt'] = 'Please note that you must have PHP version >= 5.3.9 in order to use the ondemand process manager. If you select ondemand for an older PHP version, PHP will not start anymore!';
+$wb['generate_password_txt'] = 'Generate Password';
+$wb['repeat_password_txt'] = 'Repeat Password';
+$wb['password_mismatch_txt'] = 'The passwords do not match.';
+$wb['password_match_txt'] = 'The passwords do match.';
+$wb['available_php_directive_snippets_txt'] = 'Available PHP Directive Snippets:';
+$wb['available_apache_directive_snippets_txt'] = 'Available Apache Directive Snippets:';
+$wb['available_nginx_directive_snippets_txt'] = 'Available nginx Directive Snippets:';
+$wb['proxy_directives_txt'] = 'Proxy Directives';
+$wb['available_proxy_directive_snippets_txt'] = 'Available Proxy Directive Snippets:';
+?>
diff --git a/interface/web/sites/lib/lang/tr_web_vhost_aliasdomain_list.lng b/interface/web/sites/lib/lang/tr_web_vhost_aliasdomain_list.lng
new file mode 100644
index 0000000000000000000000000000000000000000..afe91af16ed28dd5e18fce92139ff6e5f0de3459
--- /dev/null
+++ b/interface/web/sites/lib/lang/tr_web_vhost_aliasdomain_list.lng
@@ -0,0 +1,8 @@
+<?php
+$wb['list_head_txt'] = 'Aliasdomain';
+$wb['active_txt'] = 'Aktif';
+$wb['server_id_txt'] = 'Sunucu';
+$wb['parent_domain_id_txt'] = 'Websitesi';
+$wb['domain_txt'] = 'Aliasdomain';
+$wb['add_new_record_txt'] = 'Yeni Aliasdomain';
+?>
diff --git a/interface/web/sites/lib/module.conf.php b/interface/web/sites/lib/module.conf.php
index c79f3eee3dfcdbc5a777752a75ac25eb1c02d1d3..02478fcc8327c37169e962bd64eda941d7371fc2 100644
--- a/interface/web/sites/lib/module.conf.php
+++ b/interface/web/sites/lib/module.conf.php
@@ -24,7 +24,7 @@ if($app->auth->get_client_limit($userid, 'web_subdomain') != 0)
 	$items[] = array(   'title'  => "Subdomain",
 		'target'  => 'content',
 		'link'      => 'sites/web_childdomain_list.php?type=subdomain',
-		'html_id'   => 'subdomain_list');
+		'html_id'   => 'childdomain_list');
 
 	// read web config
 	$app->uses('getconf');
@@ -33,7 +33,7 @@ if($app->auth->get_client_limit($userid, 'web_subdomain') != 0)
 		$items[] = array(   'title'  => "Subdomain (Vhost)",
 			'target'  => 'content',
 			'link'      => 'sites/web_vhost_subdomain_list.php',
-			'html_id'   => 'subdomain_list');
+			'html_id'   => 'childdomain_list');
 	}
 }
 
@@ -42,7 +42,17 @@ if($app->auth->get_client_limit($userid, 'web_aliasdomain') != 0)
 	$items[] = array(   'title'   => "Aliasdomain",
 		'target'  => 'content',
 		'link'    => 'sites/web_childdomain_list.php?type=aliasdomain',
-		'html_id' => 'aliasdomain_list');
+		'html_id' => 'childdomain_list');
+
+	// read web config
+	$app->uses('getconf');
+	$sys_config = $app->getconf->get_global_config('sites');
+	if($sys_config['vhost_aliasdomains'] == 'y') {
+		$items[] = array(   'title'  => "Aliasdomain (Vhost)",
+				'target'  => 'content',
+				'link'      => 'sites/web_vhost_aliasdomain_list.php',
+				'html_id'   => 'childdomain_list');
+	}
 }
 
 if(count($items))
diff --git a/interface/web/sites/lib/remote.conf.php b/interface/web/sites/lib/remote.conf.php
index 10a4640137a03f3e478306027c276f4f05fe295e..6a1614bf899b53c33c9d3b249471ea911d6ed200 100644
--- a/interface/web/sites/lib/remote.conf.php
+++ b/interface/web/sites/lib/remote.conf.php
@@ -6,7 +6,9 @@ $function_list['sites_ftp_user_get,sites_ftp_user_server_get,sites_ftp_user_add,
 $function_list['sites_shell_user_get,sites_shell_user_add,sites_shell_user_update,sites_shell_user_delete'] = 'Sites Shell-User functions';
 $function_list['sites_web_domain_get,sites_web_domain_add,sites_web_domain_update,sites_web_domain_delete,sites_web_domain_set_status'] = 'Sites Domain functions';
 $function_list['sites_web_aliasdomain_get,sites_web_aliasdomain_add,sites_web_aliasdomain_update,sites_web_aliasdomain_delete'] = 'Sites Aliasdomain functions';
+$function_list['sites_web_vhost_aliasdomain_get,sites_web_vhost_aliasdomain_add,sites_web_vhost_aliasdomain_update,sites_web_vhost_aliasdomain_delete'] = 'Sites Aliasdomain (VHost) functions';
 $function_list['sites_web_subdomain_get,sites_web_subdomain_add,sites_web_subdomain_update,sites_web_subdomain_delete'] = 'Sites Subdomain functions';
+$function_list['sites_web_vhost_subdomain_get,sites_web_vhost_subdomain_add,sites_web_vhost_subdomain_update,sites_web_vhost_subdomain_delete'] = 'Sites Subdomain (VHost) functions';
 
 
 ?>
diff --git a/interface/web/sites/list/web_folder.list.php b/interface/web/sites/list/web_folder.list.php
index aa23fac6734749edb9b6b58376b693a3feee5bf3..fedef22a2ffec74d6d54c5d35491f4aa3293815c 100644
--- a/interface/web/sites/list/web_folder.list.php
+++ b/interface/web/sites/list/web_folder.list.php
@@ -82,7 +82,7 @@ $liste["item"][] = array( 'field'  => "parent_domain_id",
 	'prefix' => "",
 	'suffix' => "",
 	'datasource' => array (  'type' => 'SQL',
-		'querystring' => "SELECT domain_id,domain FROM web_domain WHERE (type = 'vhost' OR type = 'vhostsubdomain') AND {AUTHSQL} ORDER BY domain",
+		'querystring' => "SELECT domain_id,domain FROM web_domain WHERE (type = 'vhost' OR type = 'vhostsubdomain' OR type = 'vhostalias') AND {AUTHSQL} ORDER BY domain",
 		'keyfield'=> 'domain_id',
 		'valuefield'=> 'domain'
 	),
diff --git a/interface/web/sites/list/web_vhost_aliasdomain.list.php b/interface/web/sites/list/web_vhost_aliasdomain.list.php
new file mode 100644
index 0000000000000000000000000000000000000000..a9a044f864188dc76ffbb03b385b9f22a4f4d10c
--- /dev/null
+++ b/interface/web/sites/list/web_vhost_aliasdomain.list.php
@@ -0,0 +1,105 @@
+<?php
+
+/*
+	Datatypes:
+	- INTEGER
+	- DOUBLE
+	- CURRENCY
+	- VARCHAR
+	- TEXT
+	- DATE
+*/
+
+
+
+// Name of the list
+$liste["name"]     = "web_vhost_aliasdomain";
+
+// Database table
+$liste["table"]    = "web_domain";
+
+// Index index field of the database table
+$liste["table_idx"]   = "domain_id";
+
+// Search Field Prefix
+$liste["search_prefix"]  = "search_";
+
+// Records per page
+$liste["records_per_page"]  = "15";
+
+// Script File of the list
+$liste["file"]    = "web_vhost_aliasdomain_list.php";
+
+// Script file of the edit form
+$liste["edit_file"]   = "web_vhost_aliasdomain_edit.php";
+
+// Script File of the delete script
+$liste["delete_file"]  = "web_vhost_aliasdomain_del.php";
+
+// Paging Template
+$liste["paging_tpl"]  = "templates/paging.tpl.htm";
+
+// Enable auth
+$liste["auth"]    = "yes";
+
+
+/*****************************************************
+* Suchfelder
+*****************************************************/
+
+
+$liste["item"][] = array( 'field'  => "active",
+	'datatype' => "VARCHAR",
+	'formtype' => "SELECT",
+	'op'  => "=",
+	'prefix' => "",
+	'suffix' => "",
+	'width'  => "",
+	'value'  => array('y' => "<div id=\"ir-Yes\" class=\"swap\"><span>Yes</span></div>", 'n' => "<div class=\"swap\" id=\"ir-No\"><span>No</span></div>"));
+
+
+$liste["item"][] = array( 'field'  => "server_id",
+	'datatype' => "VARCHAR",
+	'formtype' => "SELECT",
+	'op'  => "like",
+	'prefix' => "%",
+	'suffix' => "%",
+	'datasource' => array (  'type' => 'SQL',
+		'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
+		'keyfield'=> 'server_id',
+		'valuefield'=> 'server_name'
+	),
+	'width'  => "",
+	'value'  => "");
+
+$liste["item"][] = array( 'field'  => "parent_domain_id",
+	'datatype' => "VARCHAR",
+	'filters'   => array( 0 => array( 'event' => 'SHOW',
+			'type' => 'IDNTOUTF8')
+	),
+	'formtype' => "SELECT",
+	'op'  => "=",
+	'prefix' => "",
+	'suffix' => "",
+	'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'
+	),
+	'width'  => "",
+	'value'  => "");
+
+$liste["item"][] = array( 'field'  => "domain",
+	'datatype' => "VARCHAR",
+	'filters'   => array( 0 => array( 'event' => 'SHOW',
+			'type' => 'IDNTOUTF8')
+	),
+	'formtype' => "TEXT",
+	'op'  => "like",
+	'prefix' => "%",
+	'suffix' => "%",
+	'width'  => "",
+	'value'  => "");
+
+
+?>
diff --git a/interface/web/sites/templates/web_sites_stats_list.htm b/interface/web/sites/templates/web_sites_stats_list.htm
index f721dfbd215cafc2ed13eadb351c1971b47930d6..8a1241ad7ab241a7e23a3db5385c5b3e2006cfb5 100644
--- a/interface/web/sites/templates/web_sites_stats_list.htm
+++ b/interface/web/sites/templates/web_sites_stats_list.htm
@@ -30,10 +30,10 @@
                 <tmpl_loop name="records">
                     <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
                         <td class="tbl_col_domain"><a target="_blank" href="http://{tmpl_var name="domain"}/stats">{tmpl_var name="domain"}</a></td>
-                        <td class="tbl_col_this_month"><a href="#" onclick="loadContent('sites/web_<tmpl_if name='type' op='==' value='vhostsubdomain'>vhost_sub</tmpl_if>domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="this_month"}</a></td>
-                        <td class="tbl_col_last_month"><a href="#" onclick="loadContent('sites/web_<tmpl_if name='type' op='==' value='vhostsubdomain'>vhost_sub</tmpl_if>domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="last_month"}</a></td>
-                        <td class="tbl_col_this_year"><a href="#" onclick="loadContent('sites/web_<tmpl_if name='type' op='==' value='vhostsubdomain'>vhost_sub</tmpl_if>domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="this_year"}</a></td>
-                        <td class="tbl_col_last_year"><a href="#" onclick="loadContent('sites/web_<tmpl_if name='type' op='==' value='vhostsubdomain'>vhost_sub</tmpl_if>domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="last_year"}</a></td>
+                        <td class="tbl_col_this_month"><a href="#" onclick="loadContent('sites/web_<tmpl_if name='type' op='==' value='vhostsubdomain'>vhost_sub</tmpl_if><tmpl_if name='type' op='==' value='vhostalias'>vhost_alias</tmpl_if>domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="this_month"} MB</a></td>
+                        <td class="tbl_col_last_month"><a href="#" onclick="loadContent('sites/web_<tmpl_if name='type' op='==' value='vhostsubdomain'>vhost_sub</tmpl_if><tmpl_if name='type' op='==' value='vhostalias'>vhost_alias</tmpl_if>domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="last_month"} MB</a></td>
+                        <td class="tbl_col_this_year"><a href="#" onclick="loadContent('sites/web_<tmpl_if name='type' op='==' value='vhostsubdomain'>vhost_sub</tmpl_if><tmpl_if name='type' op='==' value='vhostalias'>vhost_alias</tmpl_if>domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="this_year"} MB</a></td>
+                        <td class="tbl_col_last_year"><a href="#" onclick="loadContent('sites/web_<tmpl_if name='type' op='==' value='vhostsubdomain'>vhost_sub</tmpl_if><tmpl_if name='type' op='==' value='vhostalias'>vhost_alias</tmpl_if>domain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="last_year"} MB</a></td>
                         <td class="tbl_col_buttons"></td>
                     </tr>
                 </tmpl_loop>
diff --git a/interface/web/sites/templates/web_vhost_aliasdomain_advanced.htm b/interface/web/sites/templates/web_vhost_aliasdomain_advanced.htm
new file mode 100644
index 0000000000000000000000000000000000000000..85f5027221f19a765fb7c975eabaa09b62d88437
--- /dev/null
+++ b/interface/web/sites/templates/web_vhost_aliasdomain_advanced.htm
@@ -0,0 +1,157 @@
+<h2><tmpl_var name="list_head_txt"></h2>
+<p><tmpl_var name="list_desc_txt"></p>
+
+<div class="panel panel_web_domain">
+
+    <div class="pnl_formsarea">
+        <fieldset class="inlineLabels">
+            <input name="document_root" id="document_root" value="{tmpl_var name='document_root'}" size="30" maxlength="255" type="hidden" class="textInput" />
+            <div class="ctrlHolder">
+                <label for="system_user">{tmpl_var name='system_user_txt'}</label>
+                <label for="system_user">{tmpl_var name='system_user'}</label>
+                <input name="system_user" id="system_user" value="{tmpl_var name='system_user'}" type="hidden" />
+            </div>
+            <div class="ctrlHolder">
+                <label for="system_group">{tmpl_var name='system_group_txt'}</label>
+                <label for="system_group">{tmpl_var name='system_group'}</label>
+                <input name="system_group" id="system_group" value="{tmpl_var name='system_group'}" type="hidden" />
+            </div>
+            <div class="ctrlHolder apache">
+                <label for="allow_override">{tmpl_var name='allow_override_txt'}</label>
+                <input name="allow_override" id="allow_override" value="{tmpl_var name='allow_override'}" size="30" maxlength="255" type="text" class="textInput" />
+            </div>
+            <div class="phpfpm">
+                <div class="ctrlHolder">
+                    <p class="label">{tmpl_var name='php_fpm_use_socket_txt'}</p>
+                    <div class="multiField">
+                        {tmpl_var name='php_fpm_use_socket'}
+                    </div>
+                </div>
+                <div class="ctrlHolder">
+                    <label for="pm">{tmpl_var name='pm_txt'}</label>
+                    <select name="pm" id="pm" class="selectInput">
+                        {tmpl_var name='pm'}
+                    </select>
+                </div>
+                <div class="ctrlHolder pm_ondemand" style="background: #ffdfdf; border: 1px solid #df7d7d; border-width: 1px 0; margin: 1.5em 0 1.5em 0; padding: 7px;">
+                    {tmpl_var name='pm_ondemand_hint_txt'}
+                </div>
+                <div class="ctrlHolder">
+                    <label for="pm_max_children">{tmpl_var name='pm_max_children_txt'}</label>
+                    <input name="pm_max_children" id="pm_max_children" value="{tmpl_var name='pm_max_children'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
+                </div>
+                <div class="ctrlHolder pm_dynamic">
+                    <label for="pm_start_servers">{tmpl_var name='pm_start_servers_txt'}</label>
+                    <input name="pm_start_servers" id="pm_start_servers" value="{tmpl_var name='pm_start_servers'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
+                </div>
+                <div class="ctrlHolder pm_dynamic">
+                    <label for="pm_min_spare_servers">{tmpl_var name='pm_min_spare_servers_txt'}</label>
+                    <input name="pm_min_spare_servers" id="pm_min_spare_servers" value="{tmpl_var name='pm_min_spare_servers'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
+                </div>
+                <div class="ctrlHolder pm_dynamic">
+                    <label for="pm_max_spare_servers">{tmpl_var name='pm_max_spare_servers_txt'}</label>
+                    <input name="pm_max_spare_servers" id="pm_max_spare_servers" value="{tmpl_var name='pm_max_spare_servers'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
+                </div>
+                <div class="ctrlHolder pm_ondemand">
+                    <label for="pm_process_idle_timeout">{tmpl_var name='pm_process_idle_timeout_txt'}</label>
+                    <input name="pm_process_idle_timeout" id="pm_process_idle_timeout" value="{tmpl_var name='pm_process_idle_timeout'}" size="3" maxlength="6" type="text" class="textInput formLengthLimit" />&nbsp;s
+                </div>
+                <div class="ctrlHolder">
+                    <label for="pm_max_requests">{tmpl_var name='pm_max_requests_txt'}</label>
+                    <input name="pm_max_requests" id="pm_max_requests" value="{tmpl_var name='pm_max_requests'}" size="3" maxlength="6" type="text" class="textInput formLengthLimit" />
+                </div>
+            </div>
+            <div class="ctrlHolder">
+                <label for="php_open_basedir">{tmpl_var name='php_open_basedir_txt'}</label>
+                <input name="php_open_basedir" id="php_open_basedir" value="{tmpl_var name='php_open_basedir'}" size="30" type="text" class="textInput"  style="width:400px;" />
+            </div>
+            <div class="ctrlHolder">
+                <label for="custom_php_ini">{tmpl_var name='custom_php_ini_txt'}</label>
+                <textarea name="custom_php_ini" id="custom_php_ini" rows='10' cols='50' style="width:400px;">{tmpl_var name='custom_php_ini'}</textarea>&nbsp;<b>{tmpl_var name="available_php_directive_snippets_txt"}</b><br><br>&nbsp;{tmpl_var name="php_directive_snippets_txt"}
+            </div>
+            <div class="ctrlHolder apache">
+                <label for="apache_directives">{tmpl_var name='apache_directives_txt'}</label>
+                <textarea name="apache_directives" id="apache_directives" rows='10' cols='50' style="width:400px;">{tmpl_var name='apache_directives'}</textarea>&nbsp;<b>{tmpl_var name="available_apache_directive_snippets_txt"}</b><br><br>&nbsp;{tmpl_var name="apache_directive_snippets_txt"}
+            </div>
+            <div class="ctrlHolder nginx">
+                <label for="nginx_directives">{tmpl_var name='nginx_directives_txt'}</label>
+                <textarea name="nginx_directives" id="nginx_directives" rows='10' cols='50' style="width:400px;">{tmpl_var name='nginx_directives'}</textarea>&nbsp;<b>{tmpl_var name="available_nginx_directive_snippets_txt"}</b><br><br>&nbsp;{tmpl_var name="nginx_directive_snippets_txt"}<br>----<br><b>&nbsp;{tmpl_var name='variables_txt'}:</b> <a href="javascript:void(0);" class="addPlaceholder">{DOCROOT}</a>, <a href="javascript:void(0);" class="addPlaceholder">{FASTCGIPASS}</a>
+            </div>
+			<div class="ctrlHolder proxy">
+                <label for="proxy_directives">{tmpl_var name='proxy_directives_txt'}</label>
+                <textarea name="proxy_directives" id="proxy_directives" rows='10' cols='50' style="width:400px;">{tmpl_var name='proxy_directives'}</textarea>&nbsp;<b>{tmpl_var name="available_proxy_directive_snippets_txt"}</b><br><br>&nbsp;{tmpl_var name="proxy_directive_snippets_txt"}
+            </div>
+        </fieldset>
+
+        <input type="hidden" name="id" value="{tmpl_var name='id'}">
+
+        <div class="buttonHolder buttons">
+            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','sites/web_vhost_aliasdomain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
+            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_vhost_aliasdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
+        </div>
+    </div>
+
+</div>
+<script language="JavaScript" type="text/javascript">
+    var webId = jQuery('input[name="id"]').val();
+    var serverId;
+    getServerId();
+    adjustForm();
+		
+    var pm = jQuery('#pm').val();
+    pmMode(pm);
+    jQuery('#pm').change(function(){
+        pm = jQuery(this).val();
+        pmMode(pm);
+    });
+		
+    function pmMode(pm){
+        switch(pm){
+            case "static":
+                jQuery('.pm_dynamic').add('.pm_ondemand').hide();
+                jQuery('.pm_static').show();
+                break;
+            case "dynamic":
+                jQuery('.pm_static').add('.pm_ondemand').hide();
+                jQuery('.pm_dynamic').show();
+                break;
+            case "ondemand":
+                jQuery('.pm_static').add('.pm_dynamic').hide();
+                jQuery('.pm_ondemand').show();
+                break;
+        }
+    }
+		
+    function getServerId(){
+        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getserverid"}, function(data) {
+            serverId = data.serverid;
+        });
+    }
+		
+    function adjustForm(){
+        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
+            if(data.servertype == "nginx"){
+                jQuery('.nginx').show();
+                jQuery('.apache').hide();
+            } else {
+                jQuery('.nginx').hide();
+                jQuery('.apache').show();
+            }
+        });
+        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getphptype"}, function(data) {
+            if(data.phptype == "php-fpm"){
+                jQuery('.phpfpm').show();
+            } else {
+                jQuery('.phpfpm').hide();
+            }
+        });
+		jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getredirecttype"}, function(data) {
+            if(data.redirecttype == "proxy"){
+                jQuery('.proxy').show();
+            } else {
+                jQuery('.proxy').hide();
+            }
+        });
+    }
+			
+</script>
\ No newline at end of file
diff --git a/interface/web/sites/templates/web_vhost_aliasdomain_backup.htm b/interface/web/sites/templates/web_vhost_aliasdomain_backup.htm
new file mode 100644
index 0000000000000000000000000000000000000000..8a3b0c3afc120a8a64bdc8eb4a6895516187c766
--- /dev/null
+++ b/interface/web/sites/templates/web_vhost_aliasdomain_backup.htm
@@ -0,0 +1,36 @@
+<h2><tmpl_var name="list_head_txt"></h2>
+<p><tmpl_var name="list_desc_txt"></p>
+
+<div class="panel panel_web_domain">
+
+    <div class="pnl_formsarea">
+        <fieldset class="inlineLabels"><legend>Backup</legend>
+            <div class="ctrlHolder">
+                <label for="backup_interval">{tmpl_var name='backup_interval_txt'}</label>
+                <select name="backup_interval" id="backup_interval" class="selectInput">
+                    {tmpl_var name='backup_interval'}
+                </select>
+            </div>
+            <div class="ctrlHolder">
+                <label for="backup_copies">{tmpl_var name='backup_copies_txt'}</label>
+                <select name="backup_copies" id="backup_copies" class="selectInput">
+                    {tmpl_var name='backup_copies'}
+                </select>
+            </div>
+			<div class="ctrlHolder">
+                <label for="backup_excludes">{tmpl_var name='backup_excludes_txt'}</label>
+                <input name="backup_excludes" id="backup_excludes" value="{tmpl_var name='backup_excludes'}" size="30" type="text" class="textInput" />&nbsp;{tmpl_var name='backup_excludes_note_txt'}
+            </div>
+        </fieldset>
+
+        {tmpl_var name='backup_records'}
+
+        <input type="hidden" name="id" value="{tmpl_var name='id'}">
+
+        <div class="buttonHolder buttons">
+            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','sites/web_vhost_aliasdomain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
+            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_vhost_aliasdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
+        </div>
+    </div>
+
+</div>
\ No newline at end of file
diff --git a/interface/web/sites/templates/web_vhost_aliasdomain_edit.htm b/interface/web/sites/templates/web_vhost_aliasdomain_edit.htm
new file mode 100644
index 0000000000000000000000000000000000000000..936973ae1ad9ef5d14d412885da3b7cad29e44cb
--- /dev/null
+++ b/interface/web/sites/templates/web_vhost_aliasdomain_edit.htm
@@ -0,0 +1,227 @@
+<h2><tmpl_var name="list_head_txt"></h2>
+<p><tmpl_var name="list_desc_txt"></p>
+
+<div class="panel panel_web_domain">
+
+    <div class="pnl_formsarea">
+        <fieldset class="inlineLabels">
+            <input type="hidden" name="server_id" id="server_id" value="{tmpl_var name='server_id_value'}" />
+            <div class="ctrlHolder">
+                <label for="domain">{tmpl_var name='domain_txt'}</label>
+                <tmpl_if name="domain_option">
+                    <select name="domain" id="domain" class="selectInput">
+                        {tmpl_var name='domain_option'}
+                    </select>
+                    <tmpl_else>
+                        <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput" />
+                </tmpl_if>
+            </div>
+            <div class="ctrlHolder">
+                <label for="parent_domain_id">{tmpl_var name='parent_domain_id_txt'}</label>
+                <select name="parent_domain_id" id="parent_domain_id" class="selectInput">
+                    {tmpl_var name='parent_domain_id'}
+                </select>
+            </div>
+            <div class="ctrlHolder">
+                <label for="web_folder">{tmpl_var name='web_folder_txt'}</label>
+                <input name="web_folder" id="web_folder" value="{tmpl_var name='web_folder'}" size="30" maxlength="100" type="text" class="textInput formLengthHalf"<tmpl_if name='fixed_folder' op='==' value='y'> readonly="readonly"</tmpl_if> />
+            </div>
+            <div class="ctrlHolder">
+                <label for="traffic_quota">{tmpl_var name='traffic_quota_txt'}</label>
+                <input name="traffic_quota" id="traffic_quota" value="{tmpl_var name='traffic_quota'}" size="7" maxlength="7" type="text" class="textInput formLengthLimit" />&nbsp;MB <tmpl_var name='traffic_quota_exceeded_txt'>
+            </div>
+            <tmpl_if name="limit_cgi" op="==" value="y"><div class="ctrlHolder">
+                <p class="label">{tmpl_var name='cgi_txt'}</p>
+                <div class="multiField">
+                    {tmpl_var name='cgi'}
+                </div>
+            </div></tmpl_if>
+            <tmpl_if name="limit_ssi" op="==" value="y"><div class="ctrlHolder">
+                <p class="label">{tmpl_var name='ssi_txt'}</p>
+                <div class="multiField">
+                    {tmpl_var name='ssi'}
+                </div>
+            </div></tmpl_if>
+            <tmpl_if name="limit_perl" op="==" value="y"><div class="ctrlHolder apache">
+                <p class="label">{tmpl_var name='perl_txt'}</p>
+                <div class="multiField">
+                    {tmpl_var name='perl'}
+                </div>
+            </div></tmpl_if>
+            <tmpl_if name="limit_ruby" op="==" value="y"><div class="ctrlHolder apache">
+                <p class="label">{tmpl_var name='ruby_txt'}</p>
+                <div class="multiField">
+                    {tmpl_var name='ruby'}
+                </div>
+            </div></tmpl_if>
+            <tmpl_if name="limit_python" op="==" value="y"><div class="ctrlHolder apache">
+                <p class="label">{tmpl_var name='python_txt'}</p>
+                <div class="multiField">
+                    {tmpl_var name='python'}
+                </div>
+            </div></tmpl_if>
+            <tmpl_if name="force_suexec" op="==" value="n"><div class="ctrlHolder apache">
+                <p class="label">{tmpl_var name='suexec_txt'}</p>
+                <div class="multiField">
+                    {tmpl_var name='suexec'}
+                </div>
+            </div></tmpl_if>
+            <tmpl_if name="limit_hterror" op="==" value="y"><div class="ctrlHolder">
+                <p class="label">{tmpl_var name='errordocs_txt'}</p>
+                <div class="multiField">
+                    {tmpl_var name='errordocs'}
+                </div>
+            </div></tmpl_if>
+
+            <div class="ctrlHolder">
+                <label for="subdomain">{tmpl_var name='subdomain_txt'}</label>
+                <select name="subdomain" id="subdomain" class="selectInput formLengthHalf">
+                    {tmpl_var name='subdomain'}
+                </select>
+            </div>
+            <tmpl_if name="limit_ssl" op="==" value="y"><div class="ctrlHolder">
+                <p class="label">{tmpl_var name='ssl_txt'}</p>
+                <div class="multiField">
+                    {tmpl_var name='ssl'}
+                </div>
+            </div></tmpl_if>
+            <div class="ctrlHolder">
+                <label for="php">{tmpl_var name='php_txt'}</label>
+                <select name="php" id="php" class="selectInput formLengthHalf">
+                    {tmpl_var name='php'}
+                </select>
+            </div>
+            <div class="ctrlHolder fastcgi_php_version">
+                <label for="fastcgi_php_version">{tmpl_var name='fastcgi_php_version_txt'}</label>
+                <select name="fastcgi_php_version" id="fastcgi_php_version" class="selectInput formLengthHalf">
+                    {tmpl_var name='fastcgi_php_version'}
+                </select>
+            </div>
+            <div class="ctrlHolder">
+                <p class="label">{tmpl_var name='active_txt'}</p>
+                <div class="multiField">
+                    {tmpl_var name='active'}
+                </div>
+            </div>
+        </fieldset>
+
+        <input type="hidden" name="id" value="{tmpl_var name='id'}">
+
+        <div class="buttonHolder buttons">
+            <button id="dom-edit-submit" class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}"><span>{tmpl_var name='btn_save_txt'}</span></button>
+            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_vhost_aliasdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
+        </div>
+    </div>
+
+</div>
+<script language="JavaScript" type="text/javascript">
+    var serverId;
+    var clientGroupId = jQuery('#client_group_id').val();
+    var serverIdDisabled = jQuery('#server_id_disabled').val();
+    if(serverIdDisabled > 0){
+        serverId = serverIdDisabled;
+    } else {
+        serverId = jQuery('#server_id').val();
+        jQuery('#server_id').change(function(){
+            serverId = $(this).val();
+            adjustForm();
+            reloadWebIP();
+            reloadFastcgiPHPVersions();
+        });
+    }
+    reloadServerId(true);
+		
+    jQuery('#client_group_id').change(function(){
+        clientGroupId = $(this).val();
+        reloadWebIP();
+    });
+		
+    if(jQuery('#php').val() == 'fast-cgi' || jQuery('#php').val() == 'php-fpm'){
+        jQuery('.fastcgi_php_version:hidden').show();
+    } else {
+        jQuery('.fastcgi_php_version:visible').hide();
+    }
+    jQuery('#php').change(function(){
+        reloadFastcgiPHPVersions();
+        if(jQuery(this).val() == 'fast-cgi' || jQuery(this).val() == 'php-fpm'){
+            jQuery('.fastcgi_php_version:hidden').show();
+        } else {
+            jQuery('.fastcgi_php_version:visible').hide();
+        }
+    });
+    jQuery('#parent_domain_id').change(function() {
+        reloadServerId(false);
+    });
+    
+    function reloadServerId(noFormChange) {
+        var parentWebId = jQuery('#parent_domain_id').val();
+        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : parentWebId, type : "getserverid"}, function(data) {
+            if(data.serverid) serverId = data.serverid;
+            adjustForm(noFormChange);
+            if(noFormChange) reloadFastcgiPHPVersions(noFormChange);
+        });
+    }
+    
+    function adjustForm(noFormChange){
+        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
+            if(data.servertype == "nginx"){
+                var selected = jQuery('#php').val();
+                jQuery('.apache').hide();
+                if(selected != "no" && selected != "php-fpm") {
+                    jQuery('#php option[value="php-fpm"]').attr('selected', 'selected').val('php-fpm');
+                }
+                jQuery('#php option[value="fast-cgi"]').hide();
+                jQuery('#php option[value="cgi"]').hide();
+                jQuery('#php option[value="mod"]').hide();
+                jQuery('#php option[value="suphp"]').hide();
+            } else {
+                jQuery('.apache').show();
+                jQuery('#php option[value="fast-cgi"]').show();
+                jQuery('#php option[value="cgi"]').show();
+                jQuery('#php option[value="mod"]').show();
+                jQuery('#php option[value="suphp"]').show();
+            }
+            if(noFormChange) {
+                resetFormChanged();
+                jQuery('#php').addClass('no-page-form-change').change();
+                jQuery('#php').removeClass('no-page-form-change');
+            } else {
+                jQuery('#php').change();
+            }
+        });
+    }
+		
+    function reloadWebIP() {
+        loadOptionInto('ip_address','sites/ajax_get_ip.php?ip_type=IPv4&server_id='+serverId+'&client_group_id='+clientGroupId);
+        loadOptionInto('ipv6_address','sites/ajax_get_ip.php?ip_type=IPv6&server_id='+serverId+'&client_group_id='+clientGroupId);
+    }
+		
+    function reloadFastcgiPHPVersions(noFormChange) {
+        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, php_type : jQuery('#php').val(), type : "getphpfastcgi"}, function(data) {
+            var options = '<option value="">Default</option>';
+            var phpfastcgiselected = '';
+            $.each(data, function(key, val) {
+                if($('#fastcgi_php_version').val() == key){
+                    phpfastcgiselected = ' selected="selected"';
+                } else {
+                    phpfastcgiselected = '';
+                }
+                options += '<option value="'+key+'"'+phpfastcgiselected+'>'+val+'</option>';
+            });
+            $('#fastcgi_php_version').html(options).change();
+            if(noFormChange) resetFormChanged();
+        });
+    }
+    
+    <tmpl_if name="readonly_tab">
+        jQuery('div.panel_web_domain').find('fieldset').find('input,select,button').bind('click mousedown', function(e) { e.preventDefault(); }).focus(function() { $(this).blur(); });
+        jQuery('#dom-edit-submit').click(function() {
+               submitForm('pageForm','sites/web_vhost_aliasdomain_edit.php');
+        });
+    <tmpl_else>
+        jQuery('#dom-edit-submit').click(function() {
+            submitForm('pageForm','sites/web_vhost_aliasdomain_edit.php');
+        });
+    </tmpl_if>
+			
+</script>
\ No newline at end of file
diff --git a/interface/web/sites/templates/web_vhost_aliasdomain_list.htm b/interface/web/sites/templates/web_vhost_aliasdomain_list.htm
new file mode 100644
index 0000000000000000000000000000000000000000..f07c4f39326583f4613ad3992a4a063d52b4eb26
--- /dev/null
+++ b/interface/web/sites/templates/web_vhost_aliasdomain_list.htm
@@ -0,0 +1,79 @@
+<h2><tmpl_var name="list_head_txt"></h2>
+<p><tmpl_var name="list_desc_txt"></p>
+
+<div class="panel panel_list_web_aliasdomain">
+
+    <div class="pnl_toolsarea">
+        <tmpl_if name='datalog_changes_count' op='>' value='0'>
+        <div>
+            <div class="systemmonitor-state state-info">
+                <div class="status"></div>
+                <div class="statusMsg">
+                    {tmpl_var name="datalog_changes_txt"}
+                    <ul>
+                    <tmpl_loop name="datalog_changes">
+                        <li><strong>{tmpl_var name="text"}:</strong> {tmpl_var name="count"}</li>
+                    </tmpl_loop>
+                    </ul>
+                    {tmpl_var name="datalog_changes_end_txt"}
+                </div>
+            </div><br />
+        </div>
+        </tmpl_if>
+        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
+            <div class="buttons">
+                <button class="button iconstxt icoAdd" type="button" onclick="loadContent('sites/web_vhost_aliasdomain_edit.php');">
+                    <span>{tmpl_var name="add_new_record_txt"}</span>
+                </button>
+            </div>
+        </fieldset>
+    </div>
+
+    <div class="pnl_listarea">
+        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
+            <table class="list">
+                <thead>
+                    <tr>
+                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
+                        <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
+                        <th class="tbl_col_parent_domain_id" scope="col"><tmpl_var name="parent_domain_id_txt"></th>
+                        <th class="tbl_col_domain" scope="col"><tmpl_var name="domain_txt"></th>
+                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
+                    </tr>
+                    <tr>
+                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
+                        <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
+                        <td class="tbl_col_parent_domain_id"><select name="search_parent_domain_id">{tmpl_var name='search_parent_domain_id'}</select></td>
+                        <td class="tbl_col_domain"><input type="text" name="search_domain" value="{tmpl_var name='search_domain'}" /></td>
+                        <td class="tbl_col_buttons"><button type="button" class="button icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onclick="submitForm('pageForm','sites/web_vhost_aliasdomain_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></td>
+                    </tr>
+                </thead>
+                <tbody>
+                    <tmpl_loop name="records">
+                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
+                            <td class="tbl_col_active"><a href="#" onclick="loadContent('sites/web_vhost_aliasdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
+                            <td class="tbl_col_server_id"><a href="#" onclick="loadContent('sites/web_vhost_aliasdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
+                            <td class="tbl_col_parent_domain_id"><a href="#" onclick="loadContent('sites/web_vhost_aliasdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="parent_domain_id"}</a></td>
+                            <td class="tbl_col_domain"><a href="#" onclick="loadContent('sites/web_vhost_aliasdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a></td>
+                            <td class="tbl_col_buttons">
+                                <a class="button icons16 icoDelete" href="javascript: del_record('sites/web_vhost_aliasdomain_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
+                            </td>
+                        </tr>
+                    </tmpl_loop>
+                    <tmpl_unless name="records">
+                        <tr class="tbl_row_noresults tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
+                            <td colspan="5">{tmpl_var name='globalsearch_noresults_text_txt'}</td>
+                        </tr>
+                    </tmpl_unless>
+                </tbody>
+
+                <tfoot>
+                    <tr>
+                    <td class="tbl_footer tbl_paging" colspan="5"><tmpl_var name="paging"></td>
+                    </tr>
+                </tfoot>
+            </table>
+        </fieldset>
+    </div>
+
+</div>
\ No newline at end of file
diff --git a/interface/web/sites/templates/web_vhost_aliasdomain_redirect.htm b/interface/web/sites/templates/web_vhost_aliasdomain_redirect.htm
new file mode 100644
index 0000000000000000000000000000000000000000..d1b8b307d84abd4aec7092c61e5dca258307c966
--- /dev/null
+++ b/interface/web/sites/templates/web_vhost_aliasdomain_redirect.htm
@@ -0,0 +1,84 @@
+<h2><tmpl_var name="list_head_txt"></h2>
+<p><tmpl_var name="list_desc_txt"></p>
+
+<div class="panel panel_web_domain">
+
+    <div class="pnl_formsarea">
+        <fieldset class="inlineLabels">
+            <div class="ctrlHolder">
+                <label for="redirect_type">{tmpl_var name='redirect_type_txt'}</label>
+                <select name="redirect_type" id="redirect_type" class="selectInput formLengthHalf">
+                    {tmpl_var name='redirect_type'}
+                </select>
+            </div>
+            <div class="ctrlHolder">
+                <label for="redirect_path">{tmpl_var name='redirect_path_txt'}</label>
+                <input name="redirect_path" id="redirect_path" value="{tmpl_var name='redirect_path'}" size="30" maxlength="255" type="text" class="textInput" />
+            </div>
+            <div class="ctrlHolder">
+                <label for="seo_redirect">{tmpl_var name='seo_redirect_txt'}</label>
+                <select name="seo_redirect" id="seo_redirect" class="selectInput formLengthHalf">
+                    {tmpl_var name='seo_redirect'}
+                </select>
+            </div>
+			<div class="ctrlHolder nginx">
+                <label for="rewrite_rules">{tmpl_var name='rewrite_rules_txt'}</label>
+                <textarea name="rewrite_rules" id="rewrite_rules" rows='10' cols='50' style="width:400px;">{tmpl_var name='rewrite_rules'}</textarea>&nbsp;<b>{tmpl_var name="allowed_rewrite_rule_directives_txt"}</b><br><br>&nbsp;break<br>&nbsp;if<br>&nbsp;return<br>&nbsp;rewrite<br>&nbsp;set<br><br>&nbsp;<a href="http://wiki.nginx.org/HttpRewriteModule" target="_blank">http://wiki.nginx.org/HttpRewriteModule</a>
+            </div>
+        </fieldset>
+
+        <input type="hidden" name="id" value="{tmpl_var name='id'}">
+
+        <div class="buttonHolder buttons">
+            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','sites/web_vhost_aliasdomain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
+            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_vhost_aliasdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
+        </div>
+    </div>
+
+</div>
+<script language="JavaScript" type="text/javascript">
+    var webId = jQuery('input[name="id"]').val();
+    var serverId;
+    getServerId(webId);
+		
+    function getServerId(webId){
+        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getserverid"}, function(data) {
+            serverId = data.serverid;
+            adjustForm(serverId);
+        });
+    }
+		
+    function adjustForm(serverId){
+        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
+            var selected = jQuery('#redirect_type').val();
+            if(data.servertype == "nginx"){
+                jQuery("#redirect_type option[value='R']").attr('disabled','disabled');
+                jQuery('#redirect_type option[value="L"]').attr('disabled','disabled');
+                jQuery('#redirect_type option[value="R,L"]').attr('disabled','disabled');
+                jQuery('#redirect_type option[value="R=301,L"]').attr('disabled','disabled');
+
+                jQuery('#redirect_type option[value="R"]').hide();
+                jQuery('#redirect_type option[value="L"]').hide();
+                jQuery('#redirect_type option[value="R,L"]').hide();
+                jQuery('#redirect_type option[value="R=301,L"]').hide();
+                if(selected != "no" && selected != "" && selected != "last" && selected != "break" && selected != "redirect" && selected != "permanent" && selected != "proxy") jQuery('#redirect_type option[value="no"]').attr('selected', 'selected');
+				jQuery('.nginx').show();
+            } else {
+                jQuery('#redirect_type option[value="last"]').attr('disabled','disabled');
+                jQuery('#redirect_type option[value="break"]').attr('disabled','disabled');
+                jQuery('#redirect_type option[value="redirect"]').attr('disabled','disabled');
+                jQuery('#redirect_type option[value="permanent"]').attr('disabled','disabled');
+				jQuery('#redirect_type option[value="proxy"]').attr('disabled','disabled');
+					
+                jQuery('#redirect_type option[value="last"]').hide();
+                jQuery('#redirect_type option[value="break"]').hide();
+                jQuery('#redirect_type option[value="redirect"]').hide();
+                jQuery('#redirect_type option[value="permanent"]').hide();
+				jQuery('#redirect_type option[value="proxy"]').hide();
+                if(selected != "no" && selected != "" && selected != "R" && selected != "L" && selected != "R,L" && selected != "R=301,L") jQuery('#redirect_type option[value="no"]').attr('selected', 'selected');
+				jQuery('.nginx').hide();
+            }
+        });
+    }
+			
+</script>
\ No newline at end of file
diff --git a/interface/web/sites/templates/web_vhost_aliasdomain_ssl.htm b/interface/web/sites/templates/web_vhost_aliasdomain_ssl.htm
new file mode 100644
index 0000000000000000000000000000000000000000..e442f3d0f3fe1fb3aeca4bfabb0220a1d1015e1e
--- /dev/null
+++ b/interface/web/sites/templates/web_vhost_aliasdomain_ssl.htm
@@ -0,0 +1,68 @@
+<h2><tmpl_var name="list_head_txt"></h2>
+<p><tmpl_var name="list_desc_txt"></p>
+
+<div class="panel panel_web_domain">
+
+    <div class="pnl_formsarea">
+        <fieldset class="inlineLabels">
+            <div class="ctrlHolder">
+                <label for="ssl_state">{tmpl_var name='ssl_state_txt'}</label>
+                <input name="ssl_state" id="ssl_state" value="{tmpl_var name='ssl_state'}" size="30" maxlength="255" type="text" class="textInput" />
+            </div>
+            <div class="ctrlHolder">
+                <label for="ssl_locality">{tmpl_var name='ssl_locality_txt'}</label>
+                <input name="ssl_locality" id="ssl_locality" value="{tmpl_var name='ssl_locality'}" size="30" maxlength="255" type="text" class="textInput" />
+            </div>
+            <div class="ctrlHolder">
+                <label for="ssl_organisation">{tmpl_var name='ssl_organisation_txt'}</label>
+                <input name="ssl_organisation" id="ssl_organisation" value="{tmpl_var name='ssl_organisation'}" size="30" maxlength="255" type="text" class="textInput" />
+            </div>
+            <div class="ctrlHolder">
+                <label for="ssl_organisation_unit">{tmpl_var name='ssl_organisation_unit_txt'}</label>
+                <input name="ssl_organisation_unit" id="ssl_organisation_unit" value="{tmpl_var name='ssl_organisation_unit'}" size="30" maxlength="255" type="text" class="textInput" />
+            </div>
+            <div class="ctrlHolder">
+                <label for="ssl_country">{tmpl_var name='ssl_country_txt'}</label>
+                <select name="ssl_country" id="ssl_country" class="selectInput flags">
+                    {tmpl_var name='ssl_country'}
+                </select>
+            </div>
+            <div class="ctrlHolder">
+                <label for="client_group_id">{tmpl_var name='ssl_domain_txt'}</label>
+                <select name="ssl_domain" id="ssl_domain" class="selectInput">
+                    {tmpl_var name='ssl_domain'}
+                </select>
+            </div>
+			<div class="ctrlHolder">
+                <label for="ssl_request">{tmpl_var name='ssl_key_txt'}</label>
+                <textarea name="ssl_key" id="ssl_key" rows='10' cols='30'>{tmpl_var name='ssl_key'}</textarea>
+            </div>
+            <div class="ctrlHolder">
+                <label for="ssl_request">{tmpl_var name='ssl_request_txt'}</label>
+                <textarea name="ssl_request" id="ssl_request" rows='10' cols='30'>{tmpl_var name='ssl_request'}</textarea>
+            </div>
+            <div class="ctrlHolder">
+                <label for="ssl_cert">{tmpl_var name='ssl_cert_txt'}</label>
+                <textarea name="ssl_cert" id="ssl_cert" rows='10' cols='30'>{tmpl_var name='ssl_cert'}</textarea>
+            </div>
+            <div class="ctrlHolder">
+                <label for="ssl_bundle">{tmpl_var name='ssl_bundle_txt'}</label>
+                <textarea name="ssl_bundle" id="ssl_bundle" rows='10' cols='30'>{tmpl_var name='ssl_bundle'}</textarea>
+            </div>
+            <div class="ctrlHolder">
+                <label for="ssl_action">{tmpl_var name='ssl_action_txt'}</label>
+                <select name="ssl_action" id="ssl_action" class="selectInput formLengthHalf">
+                    {tmpl_var name='ssl_action'}
+                </select>
+            </div>
+        </fieldset>
+
+        <input type="hidden" name="id" value="{tmpl_var name='id'}">
+
+        <div class="buttonHolder buttons">
+            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','sites/web_vhost_aliasdomain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
+            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_vhost_aliasdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
+        </div>
+    </div>
+
+</div>
\ No newline at end of file
diff --git a/interface/web/sites/templates/web_vhost_aliasdomain_stats.htm b/interface/web/sites/templates/web_vhost_aliasdomain_stats.htm
new file mode 100644
index 0000000000000000000000000000000000000000..d4b06bde01220c36bba92eeaa97666c548d02c69
--- /dev/null
+++ b/interface/web/sites/templates/web_vhost_aliasdomain_stats.htm
@@ -0,0 +1,37 @@
+<h2><tmpl_var name="list_head_txt"></h2>
+<p><tmpl_var name="list_desc_txt"></p>
+
+<div class="panel panel_web_domain">
+
+    <div class="pnl_formsarea">
+        <fieldset class="inlineLabels">
+            <div class="ctrlHolder">
+                <p class="label">{tmpl_var name='stats_user_txt'}</p><p class="value">admin</p>
+            </div>
+            <div class="ctrlHolder">
+                <label for="stats_password">{tmpl_var name='stats_password_txt'}</label>
+                <input name="stats_password" id="stats_password" value="{tmpl_var name='stats_password'}" size="15" maxlength="100" type="password" class="textInput" style="width:100px;" onkeyup="checkPassMatch('stats_password','repeat_password');" />&nbsp;<a href="javascript:void(0);" onclick="generatePassword('stats_password','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
+            </div>
+            <div class="ctrlHolder">
+                <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
+                <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;"  onkeyup="checkPassMatch('stats_password','repeat_password');" />
+            </div>
+            <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
+            <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_txt'}</div>
+            <div class="ctrlHolder">
+                <label for="stats_type">{tmpl_var name='stats_type_txt'}</label>
+                <select name="stats_type" id="stats_type" class="selectInput" >
+                    {tmpl_var name='stats_type'}
+                </select>
+            </div>
+        </fieldset>
+
+        <input type="hidden" name="id" value="{tmpl_var name='id'}">
+
+        <div class="buttonHolder buttons">
+            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onclick="submitForm('pageForm','sites/web_vhost_aliasdomain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
+            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onclick="loadContent('sites/web_vhost_aliasdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
+        </div>
+    </div>
+
+</div>
diff --git a/interface/web/sites/web_childdomain_edit.php b/interface/web/sites/web_childdomain_edit.php
index 627623add3bca5030ff11350b12d785aaee1f03c..435b9018c009c827d173156a04d2aefc028efa8b 100644
--- a/interface/web/sites/web_childdomain_edit.php
+++ b/interface/web/sites/web_childdomain_edit.php
@@ -81,7 +81,7 @@ class page_action extends tform_actions {
 				if(!$app->tform->checkClientLimit('limit_web_aliasdomain', "(type = 'alias' OR type = 'vhostalias')")) {
 					$app->error($app->tform->wordbook["limit_web_aliasdomain_txt"]);
 				}
-				if(!$app->tform->checkResellerLimit('limit_web_aliasdomain', "type = 'alias'")) {
+				if(!$app->tform->checkResellerLimit('limit_web_aliasdomain', "(type = 'alias' OR type = 'vhostalias')")) {
 					$app->error('Reseller: '.$app->tform->wordbook["limit_web_aliasdomain_txt"]);
 				}
 			}
diff --git a/interface/web/sites/web_domain_edit.php b/interface/web/sites/web_domain_edit.php
index f47b30d13dfde95729e139d62e3094bc800858ea..738bbabde2f484cd371087ef279ab928be219476 100644
--- a/interface/web/sites/web_domain_edit.php
+++ b/interface/web/sites/web_domain_edit.php
@@ -1012,7 +1012,7 @@ class page_action extends tform_actions {
 			$records = $app->db->queryAllRecords("SELECT domain_id, `domain`, `type`, `web_folder` FROM web_domain WHERE parent_domain_id = ".$this->id);
 			foreach($records as $rec) {
 				$update_columns = "sys_userid = '".$web_rec['sys_userid']."', sys_groupid = '".$web_rec['sys_groupid']."'";
-				if($rec['type'] == 'vhostsubdomain') {
+				if($rec['type'] == 'vhostsubdomain' || $rec['type'] == 'vhostalias') {
 					$php_open_basedir = str_replace("[website_path]/web", $document_root.'/'.$rec['web_folder'], $web_config["php_open_basedir"]);
 					$php_open_basedir = str_replace("[website_domain]/web", $rec['domain'].'/'.$rec['web_folder'], $php_open_basedir);
 					$php_open_basedir = str_replace("[website_path]", $document_root, $php_open_basedir);
@@ -1037,7 +1037,7 @@ class page_action extends tform_actions {
 
 		//* If the domain name has been changed, we will have to change all subdomains + APS instances
 		if(!empty($this->dataRecord["domain"]) && !empty($this->oldDataRecord["domain"]) && $this->dataRecord["domain"] != $this->oldDataRecord["domain"]) {
-			$records = $app->db->queryAllRecords("SELECT domain_id,domain FROM web_domain WHERE (type = 'subdomain' OR type = 'vhostsubdomain') AND domain LIKE '%.".$app->db->quote($this->oldDataRecord["domain"])."'");
+			$records = $app->db->queryAllRecords("SELECT domain_id,domain FROM web_domain WHERE (type = 'subdomain' OR type = 'vhostsubdomain' OR type = 'vhostalias') AND domain LIKE '%.".$app->db->quote($this->oldDataRecord["domain"])."'");
 			foreach($records as $rec) {
 				$subdomain = $app->db->quote(str_replace($this->oldDataRecord["domain"], $this->dataRecord["domain"], $rec['domain']));
 				$app->db->datalogUpdate('web_domain', "domain = '".$subdomain."'", 'domain_id', $rec['domain_id']);
@@ -1097,9 +1097,9 @@ class page_action extends tform_actions {
 			unset($backup_interval);
 		}
 
-		//* Change vhost subdomain ip/ipv6 if domain ip/ipv6 has changed
+		//* Change vhost subdomain and alias ip/ipv6 if domain ip/ipv6 has changed
 		if(isset($this->dataRecord['ip_address']) && ($this->dataRecord['ip_address'] != $this->oldDataRecord['ip_address'] || $this->dataRecord['ipv6_address'] != $this->oldDataRecord['ipv6_address'])) {
-			$records = $app->db->queryAllRecords("SELECT domain_id FROM web_domain WHERE type = 'vhostsubdomain' AND parent_domain_id = ".$this->id);
+			$records = $app->db->queryAllRecords("SELECT domain_id FROM web_domain WHERE (type = 'vhostsubdomain' OR type = 'vhostalias') AND parent_domain_id = ".$this->id);
 			foreach($records as $rec) {
 				$app->db->datalogUpdate('web_domain', "ip_address = '".$app->db->quote($web_rec['ip_address'])."', ipv6_address = '".$app->db->quote($web_rec['ipv6_address'])."'", 'domain_id', $rec['domain_id']);
 			}
diff --git a/interface/web/sites/web_sites_stats.php b/interface/web/sites/web_sites_stats.php
index 9bf96cb6a7e973e20e9ab6be9f0aab073605c1f1..b6e3a3da4d81533dc551d6951388c572b07e2a6e 100644
--- a/interface/web/sites/web_sites_stats.php
+++ b/interface/web/sites/web_sites_stats.php
@@ -180,7 +180,7 @@ class list_action extends listform_actions {
 }
 
 $list = new list_action;
-$list->SQLExtWhere = "(web_domain.type = 'vhost' or web_domain.type = 'vhostsubdomain')";
+$list->SQLExtWhere = "(web_domain.type = 'vhost' or web_domain.type = 'vhostsubdomain' or web_domain.type = 'vhostalias')";
 $list->SQLOrderBy = 'ORDER BY web_domain.domain';
 $list->onLoad();
 
diff --git a/interface/web/sites/web_vhost_aliasdomain_del.php b/interface/web/sites/web_vhost_aliasdomain_del.php
new file mode 100644
index 0000000000000000000000000000000000000000..2d288dd83326f8cba6343fe9a7447483cab4ef56
--- /dev/null
+++ b/interface/web/sites/web_vhost_aliasdomain_del.php
@@ -0,0 +1,73 @@
+<?php
+
+/*
+Copyright (c) 2007, Till Brehm, projektfarm Gmbh
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice,
+      this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimer in the documentation
+      and/or other materials provided with the distribution.
+    * Neither the name of ISPConfig nor the names of its contributors
+      may be used to endorse or promote products derived from this software without
+      specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/******************************************
+* Begin Form configuration
+******************************************/
+
+$list_def_file = "list/web_vhost_aliasdomain.list.php";
+$tform_def_file = "form/web_vhost_aliasdomain.tform.php";
+
+/******************************************
+* End Form configuration
+******************************************/
+
+require_once '../../lib/config.inc.php';
+require_once '../../lib/app.inc.php';
+
+//* Check permissions for module
+$app->auth->check_module_permissions('sites');
+
+$app->uses('tpl,tform,tform_actions');
+$app->load("tform_actions");
+class page_action extends tform_actions {
+
+	function onBeforeDelete() {
+		global $app; $conf;
+
+		//* Delete all web folders
+		$records = $app->db->queryAllRecords("SELECT web_folder_id FROM web_folder WHERE parent_domain_id = '".$app->functions->intval($this->id)."'");
+		foreach($records as $rec) {
+			//* Delete all web folder users
+			$records2 = $app->db->queryAllRecords("SELECT web_folder_user_id FROM web_folder_user WHERE web_folder_id = '".$app->functions->intval($rec['web_folder_id'])."'");
+			foreach($records2 as $rec2) {
+				$app->db->datalogDelete('web_folder_user', 'web_folder_user_id', $rec2['web_folder_user_id']);
+			}
+			$app->db->datalogDelete('web_folder', 'web_folder_id', $rec['web_folder_id']);
+		}
+
+	}
+
+}
+
+$page = new page_action;
+$page->onDelete();
+
+?>
diff --git a/interface/web/sites/web_vhost_aliasdomain_edit.php b/interface/web/sites/web_vhost_aliasdomain_edit.php
new file mode 100644
index 0000000000000000000000000000000000000000..49a9f27a8d2538ccc48cfbe44371f801452530f6
--- /dev/null
+++ b/interface/web/sites/web_vhost_aliasdomain_edit.php
@@ -0,0 +1,658 @@
+<?php
+/*
+Copyright (c) 2007 - 2009, Till Brehm, projektfarm Gmbh
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice,
+      this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimer in the documentation
+      and/or other materials provided with the distribution.
+    * Neither the name of ISPConfig nor the names of its contributors
+      may be used to endorse or promote products derived from this software without
+      specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+
+/******************************************
+* Begin Form configuration
+******************************************/
+
+$tform_def_file = "form/web_vhost_aliasdomain.tform.php";
+
+/******************************************
+* End Form configuration
+******************************************/
+
+require_once '../../lib/config.inc.php';
+require_once '../../lib/app.inc.php';
+
+//* Check permissions for module
+$app->auth->check_module_permissions('sites');
+
+// Loading classes
+$app->uses('tpl,tform,tform_actions,tools_sites');
+$app->load('tform_actions');
+
+class page_action extends tform_actions {
+
+	//* Returna a "3/2/1" path hash from a numeric id '123'
+	function id_hash($id, $levels) {
+		$hash = "" . $id % 10 ;
+		$id /= 10 ;
+		$levels -- ;
+		while ( $levels > 0 ) {
+			$hash .= "/" . $id % 10 ;
+			$id /= 10 ;
+			$levels-- ;
+		}
+		return $hash;
+	}
+
+	function onShowNew() {
+		global $app, $conf;
+
+		// we will check only users, not admins
+		if($_SESSION["s"]["user"]["typ"] == 'user') {
+			if(!$app->tform->checkClientLimit('limit_web_aliasdomain', "(type = 'alias' OR type = 'vhostalias')")) {
+				$app->error($app->tform->wordbook["limit_web_aliasdomain_txt"]);
+			}
+			if(!$app->tform->checkResellerLimit('limit_web_aliasdomain', "(type = 'alias' OR type = 'vhostalias')")) {
+				$app->error('Reseller: '.$app->tform->wordbook["limit_web_aliasdomain_txt"]);
+			}
+		}
+		parent::onShowNew();
+	}
+
+	function onShowEnd() {
+		global $app, $conf;
+
+		$app->uses('ini_parser,getconf');
+
+		$read_limits = array('limit_cgi', 'limit_ssi', 'limit_perl', 'limit_ruby', 'limit_python', 'force_suexec', 'limit_hterror', 'limit_wildcard', 'limit_ssl');
+
+		$parent_domain = $app->db->queryOneRecord("select * FROM web_domain WHERE domain_id = ".$app->functions->intval(@$this->dataRecord["parent_domain_id"]));
+
+		//* Client: If the logged in user is not admin and has no sub clients (no reseller)
+		if($_SESSION["s"]["user"]["typ"] != 'admin' && !$app->auth->has_clients($_SESSION['s']['user']['userid'])) {
+
+			// Get the limits of the client
+			$client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]);
+			$client = $app->db->queryOneRecord("SELECT client.limit_web_aliasdomain, client.default_webserver, client." . implode(", client.", $read_limits) . " FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+
+			//* Get global web config
+			$web_config = $app->getconf->get_server_config($parent_domain['server_id'], 'web');
+
+			//PHP Version Selection (FastCGI)
+			$server_type = 'apache';
+			if(!empty($web_config['server_type'])) $server_type = $web_config['server_type'];
+			if($server_type == 'nginx' && $this->dataRecord['php'] == 'fast-cgi') $this->dataRecord['php'] = 'php-fpm';
+			if($this->dataRecord['php'] == 'php-fpm'){
+				$php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fpm_init_script != '' AND php_fpm_ini_dir != '' AND php_fpm_pool_dir != '' AND server_id = ".$app->functions->intval($parent_domain['server_id'])." AND (client_id = 0 OR client_id=".$app->functions->intval($_SESSION['s']['user']['client_id']).")");
+			}
+			if($this->dataRecord['php'] == 'fast-cgi'){
+				$php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fastcgi_binary != '' AND php_fastcgi_ini_dir != '' AND server_id = ".$app->functions->intval($parent_domain['server_id'])." AND (client_id = 0 OR client_id=".$app->functions->intval($_SESSION['s']['user']['client_id']).")");
+			}
+			$php_select = "<option value=''>Default</option>";
+			if(is_array($php_records) && !empty($php_records)) {
+				foreach( $php_records as $php_record) {
+					if($this->dataRecord['php'] == 'php-fpm'){
+						$php_version = $php_record['name'].':'.$php_record['php_fpm_init_script'].':'.$php_record['php_fpm_ini_dir'].':'.$php_record['php_fpm_pool_dir'];
+					} else {
+						$php_version = $php_record['name'].':'.$php_record['php_fastcgi_binary'].':'.$php_record['php_fastcgi_ini_dir'];
+					}
+					$selected = ($php_version == $this->dataRecord["fastcgi_php_version"])?'SELECTED':'';
+					$php_select .= "<option value='$php_version' $selected>".$php_record['name']."</option>\r\n";
+				}
+			}
+			$app->tpl->setVar("fastcgi_php_version", $php_select);
+			unset($php_records);
+
+			// add limits to template to be able to hide settings
+			foreach($read_limits as $limit) $app->tpl->setVar($limit, $client[$limit]);
+
+
+			//* Reseller: If the logged in user is not admin and has sub clients (is a reseller)
+		} elseif ($_SESSION["s"]["user"]["typ"] != 'admin' && $app->auth->has_clients($_SESSION['s']['user']['userid'])) {
+
+			// Get the limits of the client
+			$client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]);
+			$client = $app->db->queryOneRecord("SELECT client.client_id, client.limit_web_aliasdomain, client.default_webserver, client.contact_name, CONCAT(IF(client.company_name != '', CONCAT(client.company_name, ' :: '), ''), client.contact_name, ' (', client.username, IF(client.customer_no != '', CONCAT(', ', client.customer_no), ''), ')') as contactname, sys_group.name, client." . implode(", client.", $read_limits) . " FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+
+			//* Get global web config
+			$web_config = $app->getconf->get_server_config($parent_domain['server_id'], 'web');
+
+			//PHP Version Selection (FastCGI)
+			$server_type = 'apache';
+			if(!empty($web_config['server_type'])) $server_type = $web_config['server_type'];
+			if($server_type == 'nginx' && $this->dataRecord['php'] == 'fast-cgi') $this->dataRecord['php'] = 'php-fpm';
+			if($this->dataRecord['php'] == 'php-fpm'){
+				$php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fpm_init_script != '' AND php_fpm_ini_dir != '' AND php_fpm_pool_dir != '' AND server_id = ".$app->functions->intval($parent_domain['server_id'])." AND (client_id = 0 OR client_id=".$app->functions->intval($_SESSION['s']['user']['client_id']).")");
+			}
+			if($this->dataRecord['php'] == 'fast-cgi') {
+				$php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fastcgi_binary != '' AND php_fastcgi_ini_dir != '' AND server_id = ".$app->functions->intval($parent_domain['server_id'])." AND (client_id = 0 OR client_id=".$app->functions->intval($_SESSION['s']['user']['client_id']).")");
+			}
+			$php_select = "<option value=''>Default</option>";
+			if(is_array($php_records) && !empty($php_records)) {
+				foreach( $php_records as $php_record) {
+					if($this->dataRecord['php'] == 'php-fpm'){
+						$php_version = $php_record['name'].':'.$php_record['php_fpm_init_script'].':'.$php_record['php_fpm_ini_dir'].':'.$php_record['php_fpm_pool_dir'];
+					} else {
+						$php_version = $php_record['name'].':'.$php_record['php_fastcgi_binary'].':'.$php_record['php_fastcgi_ini_dir'];
+					}
+					$selected = ($php_version == $this->dataRecord["fastcgi_php_version"])?'SELECTED':'';
+					$php_select .= "<option value='$php_version' $selected>".$php_record['name']."</option>\r\n";
+				}
+			}
+			$app->tpl->setVar("fastcgi_php_version", $php_select);
+			unset($php_records);
+
+			// add limits to template to be able to hide settings
+			foreach($read_limits as $limit) $app->tpl->setVar($limit, $client[$limit]);
+
+			$sites_config = $app->getconf->get_global_config('sites');
+			if($sites_config['reseller_can_use_options']) {
+				// Directive Snippets
+				$php_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'php' AND active = 'y'");
+				$php_directive_snippets_txt = '';
+				if(is_array($php_directive_snippets) && !empty($php_directive_snippets)){
+					foreach($php_directive_snippets as $php_directive_snippet){
+						$php_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$php_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.$php_directive_snippet['snippet'].'</pre></a> ';
+					}
+				}
+				if($php_directive_snippets_txt == '') $php_directive_snippets_txt = '------';
+				$app->tpl->setVar("php_directive_snippets_txt", $php_directive_snippets_txt);
+
+				if($server_type == 'apache'){
+					$apache_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'apache' AND active = 'y'");
+					$apache_directive_snippets_txt = '';
+					if(is_array($apache_directive_snippets) && !empty($apache_directive_snippets)){
+						foreach($apache_directive_snippets as $apache_directive_snippet){
+							$apache_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$apache_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.$apache_directive_snippet['snippet'].'</pre></a> ';
+						}
+					}
+					if($apache_directive_snippets_txt == '') $apache_directive_snippets_txt = '------';
+					$app->tpl->setVar("apache_directive_snippets_txt", $apache_directive_snippets_txt);
+				}
+
+				if($server_type == 'nginx'){
+					$nginx_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'nginx' AND active = 'y'");
+					$nginx_directive_snippets_txt = '';
+					if(is_array($nginx_directive_snippets) && !empty($nginx_directive_snippets)){
+						foreach($nginx_directive_snippets as $nginx_directive_snippet){
+							$nginx_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$nginx_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.$nginx_directive_snippet['snippet'].'</pre></a> ';
+						}
+					}
+					if($nginx_directive_snippets_txt == '') $nginx_directive_snippets_txt = '------';
+					$app->tpl->setVar("nginx_directive_snippets_txt", $nginx_directive_snippets_txt);
+				}
+
+				$proxy_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'proxy' AND active = 'y'");
+				$proxy_directive_snippets_txt = '';
+				if(is_array($proxy_directive_snippets) && !empty($proxy_directive_snippets)){
+					foreach($proxy_directive_snippets as $proxy_directive_snippet){
+						$proxy_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$proxy_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.$proxy_directive_snippet['snippet'].'</pre></a> ';
+					}
+				}
+				if($proxy_directive_snippets_txt == '') $proxy_directive_snippets_txt = '------';
+				$app->tpl->setVar("proxy_directive_snippets_txt", $proxy_directive_snippets_txt);
+			}
+
+			//* Admin: If the logged in user is admin
+		} else {
+
+			//* get global web config
+			$web_config = $app->getconf->get_server_config($parent_domain['server_id'], 'web');
+
+			//PHP Version Selection (FastCGI)
+			$server_type = 'apache';
+			if(!empty($web_config['server_type'])) $server_type = $web_config['server_type'];
+			if($server_type == 'nginx' && $this->dataRecord['php'] == 'fast-cgi') $this->dataRecord['php'] = 'php-fpm';
+			if($this->dataRecord['php'] == 'php-fpm'){
+				$php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fpm_init_script != '' AND php_fpm_ini_dir != '' AND php_fpm_pool_dir != '' AND server_id = " . $app->functions->intval($parent_domain['server_id']));
+			}
+			if($this->dataRecord['php'] == 'fast-cgi') {
+				$php_records = $app->db->queryAllRecords("SELECT * FROM server_php WHERE php_fastcgi_binary != '' AND php_fastcgi_ini_dir != '' AND server_id = " . $app->functions->intval($parent_domain['server_id']));
+			}
+			$php_select = "<option value=''>Default</option>";
+			if(is_array($php_records) && !empty($php_records)) {
+				foreach( $php_records as $php_record) {
+					if($this->dataRecord['php'] == 'php-fpm'){
+						$php_version = $php_record['name'].':'.$php_record['php_fpm_init_script'].':'.$php_record['php_fpm_ini_dir'].':'.$php_record['php_fpm_pool_dir'];
+					} else {
+						$php_version = $php_record['name'].':'.$php_record['php_fastcgi_binary'].':'.$php_record['php_fastcgi_ini_dir'];
+					}
+					$selected = ($php_version == $this->dataRecord["fastcgi_php_version"])?'SELECTED':'';
+					$php_select .= "<option value='$php_version' $selected>".$php_record['name']."</option>\r\n";
+				}
+			}
+			$app->tpl->setVar("fastcgi_php_version", $php_select);
+			unset($php_records);
+
+			foreach($read_limits as $limit) $app->tpl->setVar($limit, ($limit == 'force_suexec' ? 'n' : 'y'));
+
+			// Directive Snippets
+			$php_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'php' AND active = 'y'");
+			$php_directive_snippets_txt = '';
+			if(is_array($php_directive_snippets) && !empty($php_directive_snippets)){
+				foreach($php_directive_snippets as $php_directive_snippet){
+					$php_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$php_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.$php_directive_snippet['snippet'].'</pre></a> ';
+				}
+			}
+			if($php_directive_snippets_txt == '') $php_directive_snippets_txt = '------';
+			$app->tpl->setVar("php_directive_snippets_txt", $php_directive_snippets_txt);
+
+			if($server_type == 'apache'){
+				$apache_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'apache' AND active = 'y'");
+				$apache_directive_snippets_txt = '';
+				if(is_array($apache_directive_snippets) && !empty($apache_directive_snippets)){
+					foreach($apache_directive_snippets as $apache_directive_snippet){
+						$apache_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$apache_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.$apache_directive_snippet['snippet'].'</pre></a> ';
+					}
+				}
+				if($apache_directive_snippets_txt == '') $apache_directive_snippets_txt = '------';
+				$app->tpl->setVar("apache_directive_snippets_txt", $apache_directive_snippets_txt);
+			}
+
+			if($server_type == 'nginx'){
+				$nginx_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'nginx' AND active = 'y'");
+				$nginx_directive_snippets_txt = '';
+				if(is_array($nginx_directive_snippets) && !empty($nginx_directive_snippets)){
+					foreach($nginx_directive_snippets as $nginx_directive_snippet){
+						$nginx_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$nginx_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.$nginx_directive_snippet['snippet'].'</pre></a> ';
+					}
+				}
+				if($nginx_directive_snippets_txt == '') $nginx_directive_snippets_txt = '------';
+				$app->tpl->setVar("nginx_directive_snippets_txt", $nginx_directive_snippets_txt);
+			}
+
+			$proxy_directive_snippets = $app->db->queryAllRecords("SELECT * FROM directive_snippets WHERE type = 'proxy' AND active = 'y'");
+			$proxy_directive_snippets_txt = '';
+			if(is_array($proxy_directive_snippets) && !empty($proxy_directive_snippets)){
+				foreach($proxy_directive_snippets as $proxy_directive_snippet){
+					$proxy_directive_snippets_txt .= '<a href="javascript:void(0);" class="addPlaceholderContent">['.$proxy_directive_snippet['name'].']<pre class="addPlaceholderContent" style="display:none;">'.$proxy_directive_snippet['snippet'].'</pre></a> ';
+				}
+			}
+			if($proxy_directive_snippets_txt == '') $proxy_directive_snippets_txt = '------';
+			$app->tpl->setVar("proxy_directive_snippets_txt", $proxy_directive_snippets_txt);
+		}
+
+		$ssl_domain_select = '';
+		$tmp = $app->db->queryOneRecord("SELECT domain FROM web_domain WHERE domain_id = ".$this->id);
+		$ssl_domains = array($tmp["domain"], 'www.'.$tmp["domain"]);
+		if(is_array($ssl_domains)) {
+			foreach( $ssl_domains as $ssl_domain) {
+				$selected = ($ssl_domain == $this->dataRecord['ssl_domain'])?'SELECTED':'';
+				$ssl_domain_select .= "<option value='$ssl_domain' $selected>$ssl_domain</option>\r\n";
+			}
+		}
+
+		if($this->id > 0) {
+			$app->tpl->setVar('fixed_folder', 'y');
+			$app->tpl->setVar('server_id_value', $parent_domain['server_id']);
+		} else {
+			$app->tpl->setVar('fixed_folder', 'n');
+			$app->tpl->setVar('server_id_value', $parent_domain['server_id']);
+		}
+
+		$app->tpl->setVar("ssl_domain", $ssl_domain_select);
+		unset($ssl_domain_select);
+		unset($ssl_domains);
+		unset($ssl_domain);
+
+		$tmp_txt = ($this->dataRecord['traffic_quota_lock'] == 'y')?'<b>('.$app->tform->lng('traffic_quota_exceeded_txt').')</b>':'';
+		$app->tpl->setVar("traffic_quota_exceeded_txt", $tmp_txt);
+
+
+		$app->uses('ini_parser,getconf');
+		$settings = $app->getconf->get_global_config('domains');
+		if ($settings['use_domain_module'] == 'y') {
+			/*
+			 * The domain-module is in use.
+			*/
+			$domains = $app->tools_sites->getDomainModuleDomains();
+			$domain_select = '';
+			$selected_domain = '';
+			if(is_array($domains) && sizeof($domains) > 0) {
+				/* We have domains in the list, so create the drop-down-list */
+				foreach( $domains as $domain) {
+					$domain_select .= "<option value=" . $domain['domain_id'] ;
+					if ('.' . $domain['domain'] == substr($this->dataRecord["domain"], -strlen($domain['domain']) - 1)) {
+						$domain_select .= " selected";
+						$selected_domain = $domain['domain'];
+					}
+					$domain_select .= ">" . $app->functions->idn_decode($domain['domain']) . "</option>\r\n";
+				}
+			}
+			else {
+				/*
+				 * We have no domains in the domain-list. This means, we can not add ANY new domain.
+				 * To avoid, that the variable "domain_option" is empty and so the user can
+				 * free enter a domain, we have to create a empty option!
+				*/
+				$domain_select .= "<option value=''></option>\r\n";
+			}
+			$app->tpl->setVar("domain_option", $domain_select);
+		}
+		$app->tpl->setVar("domain", $this->dataRecord["domain"]);
+
+		parent::onShowEnd();
+	}
+
+	function onSubmit() {
+		global $app, $conf;
+
+		// Get the record of the parent domain
+		if(!@$this->dataRecord["parent_domain_id"] && $this->id) {
+			$tmp = $app->db->queryOneRecord("SELECT parent_domain_id FROM web_domain WHERE domain_id = ".$app->functions->intval($this->id));
+			if($tmp) $this->dataRecord["parent_domain_id"] = $tmp['parent_domain_id'];
+			unset($tmp);
+		}
+
+		$parent_domain = $app->db->queryOneRecord("select * FROM web_domain WHERE domain_id = ".$app->functions->intval(@$this->dataRecord["parent_domain_id"]) . " AND ".$app->tform->getAuthSQL('r'));
+		if(!$parent_domain || $parent_domain['domain_id'] != @$this->dataRecord['parent_domain_id']) $app->tform->errorMessage .= $app->tform->lng("no_domain_perm");
+
+		// Set a few fixed values
+		$this->dataRecord["type"] = 'vhostalias';
+		$this->dataRecord["server_id"] = $parent_domain["server_id"];
+		$this->dataRecord["ip_address"] = $parent_domain["ip_address"];
+		$this->dataRecord["ipv6_address"] = $parent_domain["ipv6_address"];
+		$this->dataRecord["client_group_id"] = $parent_domain["client_group_id"];
+		$this->dataRecord["vhost_type"] = 'name';
+
+		$this->parent_domain_record = $parent_domain;
+
+		$read_limits = array('limit_cgi', 'limit_ssi', 'limit_perl', 'limit_ruby', 'limit_python', 'force_suexec', 'limit_hterror', 'limit_wildcard', 'limit_ssl');
+
+		if($app->tform->getCurrentTab() == 'domain') {
+
+			/* check if the domain module is used - and check if the selected domain can be used! */
+			$app->uses('ini_parser,getconf');
+			$settings = $app->getconf->get_global_config('domains');
+			if ($settings['use_domain_module'] == 'y') {
+				$domain_check = $app->tools_sites->checkDomainModuleDomain($this->dataRecord['domain']);
+				if(!$domain_check) {
+					// invalid domain selected
+					$app->tform->errorMessage .= $app->tform->lng("domain_error_empty")."<br />";
+				} else {
+					$this->dataRecord['domain'] = $domain_check;
+				}
+			}
+
+			$this->dataRecord['web_folder'] = strtolower($this->dataRecord['web_folder']);
+			if(substr($this->dataRecord['web_folder'], 0, 1) === '/') $this->dataRecord['web_folder'] = substr($this->dataRecord['web_folder'], 1);
+			if(substr($this->dataRecord['web_folder'], -1) === '/') $this->dataRecord['web_folder'] = substr($this->dataRecord['web_folder'], 0, -1);
+			$forbidden_folders = array('', 'cgi-bin', 'log', 'private', 'ssl', 'tmp', 'webdav');
+			$check_folder = strtolower($this->dataRecord['web_folder']);
+			if(substr($check_folder, 0, 1) === '/') $check_folder = substr($check_folder, 1); // strip / at beginning to check against forbidden entries
+			if(strpos($check_folder, '/') !== false) $check_folder = substr($check_folder, 0, strpos($check_folder, '/')); // get the first part of the path to check it
+			if(in_array($check_folder, $forbidden_folders)) {
+				$app->tform->errorMessage .= $app->tform->lng("web_folder_invalid_txt")."<br>";
+			}
+
+			// vhostaliasdomains do not have a quota of their own
+			$this->dataRecord["hd_quota"] = 0;
+
+			// check for duplicate folder usage
+			/*
+            $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_domain` WHERE `type` = 'vhostalias' AND `parent_domain_id` = '" . $app->functions->intval($this->dataRecord['parent_domain_id']) . "' AND `web_folder` = '" . $app->db->quote($this->dataRecord['web_folder']) . "' AND `domain_id` != '" . $app->functions->intval($this->id) . "'");
+            if($check && $check['cnt'] > 0) {
+                $app->tform->errorMessage .= $app->tform->lng("web_folder_unique_txt")."<br>";
+            }
+			*/
+		} else {
+			$this->dataRecord["domain"] = $this->dataRecord["domain"].'.'.$parent_domain["domain"];
+		}
+
+		if($_SESSION["s"]["user"]["typ"] != 'admin') {
+			// Get the limits of the client
+			$client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]);
+			$client = $app->db->queryOneRecord("SELECT limit_traffic_quota, limit_web_aliasdomain, default_webserver, parent_client_id, limit_web_quota, client." . implode(", client.", $read_limits) . " FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
+
+			if($client['limit_cgi'] != 'y') $this->dataRecord['cgi'] = '-';
+			if($client['limit_ssi'] != 'y') $this->dataRecord['ssi'] = '-';
+			if($client['limit_perl'] != 'y') $this->dataRecord['perl'] = '-';
+			if($client['limit_ruby'] != 'y') $this->dataRecord['ruby'] = '-';
+			if($client['limit_python'] != 'y') $this->dataRecord['python'] = '-';
+			if($client['force_suexec'] != 'n') $this->dataRecord['suexec'] = 'y';
+			if($client['limit_hterror'] != 'y') $this->dataRecord['errordocs'] = '-';
+			if($client['limit_wildcard'] != 'y' && $this->dataRecord['subdomain'] == '*') $this->dataRecord['subdomain'] = '-';
+			if($client['limit_ssl'] != 'y') $this->dataRecord['ssl'] = '-';
+
+			// only generate quota and traffic warnings if value has changed
+			if($this->id > 0) {
+				$old_web_values = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$app->functions->intval($this->id));
+			} else {
+				$old_web_values = $_POST;
+			}
+
+			//* Check the traffic quota of the client
+			if(isset($_POST["traffic_quota"]) && $client["limit_traffic_quota"] > 0 && $_POST["traffic_quota"] != $old_web_values["traffic_quota"]) {
+				$tmp = $app->db->queryOneRecord("SELECT sum(traffic_quota) as trafficquota FROM web_domain WHERE domain_id != ".$app->functions->intval($this->id)." AND ".$app->tform->getAuthSQL('u'));
+				$trafficquota = $tmp["trafficquota"];
+				$new_traffic_quota = $app->functions->intval($this->dataRecord["traffic_quota"]);
+				if(($trafficquota + $new_traffic_quota > $client["limit_traffic_quota"]) || ($new_traffic_quota < 0 && $client["limit_traffic_quota"] >= 0)) {
+					$max_free_quota = floor($client["limit_traffic_quota"] - $trafficquota);
+					if($max_free_quota < 0) $max_free_quota = 0;
+					$app->tform->errorMessage .= $app->tform->lng("limit_traffic_quota_free_txt").": ".$max_free_quota." MB<br>";
+					// Set the quota field to the max free space
+					$this->dataRecord["traffic_quota"] = $max_free_quota;
+				}
+				unset($tmp);
+				unset($tmp_quota);
+			}
+
+			if($client['parent_client_id'] > 0) {
+				// Get the limits of the reseller
+				$reseller = $app->db->queryOneRecord("SELECT limit_traffic_quota, limit_web_aliasdomain, default_webserver, limit_web_quota FROM client WHERE client_id = ".$app->functions->intval($client['parent_client_id']));
+
+				//* Check the traffic quota of the client
+				if(isset($_POST["traffic_quota"]) && $reseller["limit_traffic_quota"] > 0 && $_POST["traffic_quota"] != $old_web_values["traffic_quota"]) {
+					$tmp = $app->db->queryOneRecord("SELECT sum(traffic_quota) as trafficquota FROM web_domain WHERE domain_id != ".$app->functions->intval($this->id)." AND ".$app->tform->getAuthSQL('u'));
+					$trafficquota = $tmp["trafficquota"];
+					$new_traffic_quota = $app->functions->intval($this->dataRecord["traffic_quota"]);
+					if(($trafficquota + $new_traffic_quota > $reseller["limit_traffic_quota"]) || ($new_traffic_quota < 0 && $reseller["limit_traffic_quota"] >= 0)) {
+						$max_free_quota = floor($reseller["limit_traffic_quota"] - $trafficquota);
+						if($max_free_quota < 0) $max_free_quota = 0;
+						$app->tform->errorMessage .= $app->tform->lng("limit_traffic_quota_free_txt").": ".$max_free_quota." MB<br>";
+						// Set the quota field to the max free space
+						$this->dataRecord["traffic_quota"] = $max_free_quota;
+					}
+					unset($tmp);
+					unset($tmp_quota);
+				}
+			}
+
+			// When the record is updated
+			if($this->id > 0) {
+				// restore the server ID if the user is not admin and record is edited
+				$tmp = $app->db->queryOneRecord("SELECT server_id, `web_folder`, `cgi`, `ssi`, `perl`, `ruby`, `python`, `suexec`, `errordocs`, `subdomain`, `ssl` FROM web_domain WHERE domain_id = ".$app->functions->intval($this->id));
+				$this->dataRecord['web_folder'] = $tmp['web_folder']; // cannot be changed!
+
+				// set the settings to current if not provided (or cleared due to limits)
+				if($this->dataRecord['cgi'] == '-') $this->dataRecord['cgi'] = $tmp['cgi'];
+				if($this->dataRecord['ssi'] == '-') $this->dataRecord['ssi'] = $tmp['ssi'];
+				if($this->dataRecord['perl'] == '-') $this->dataRecord['perl'] = $tmp['perl'];
+				if($this->dataRecord['ruby'] == '-') $this->dataRecord['ruby'] = $tmp['ruby'];
+				if($this->dataRecord['python'] == '-') $this->dataRecord['python'] = $tmp['python'];
+				if($this->dataRecord['suexec'] == '-') $this->dataRecord['suexec'] = $tmp['suexec'];
+				if($this->dataRecord['errordocs'] == '-') $this->dataRecord['errordocs'] = $tmp['errordocs'];
+				if($this->dataRecord['subdomain'] == '-') $this->dataRecord['subdomain'] = $tmp['subdomain'];
+				if($this->dataRecord['ssl'] == '-') $this->dataRecord['ssl'] = $tmp['ssl'];
+
+				unset($tmp);
+				// When the record is inserted
+			} else {
+				// Check if the user may add another web_domain
+				if($client["limit_web_aliasdomain"] >= 0) {
+					$tmp = $app->db->queryOneRecord("SELECT count(domain_id) as number FROM web_domain WHERE sys_groupid = $client_group_id and (type = 'alias' OR type = 'vhostalias')");
+					if($tmp["number"] >= $client["limit_web_aliasdomain"]) {
+						$app->error($app->tform->wordbook["limit_web_aliasdomain_txt"]);
+					}
+				}
+			}
+		}
+
+		//* make sure that the domain is lowercase
+		if(isset($this->dataRecord["domain"])) $this->dataRecord["domain"] = strtolower($this->dataRecord["domain"]);
+
+		//* get the server config for this server
+		$app->uses("getconf");
+		$web_config = $app->getconf->get_server_config($app->functions->intval(isset($this->dataRecord["server_id"]) ? $this->dataRecord["server_id"] : 0), 'web');
+		//* Check for duplicate ssl certs per IP if SNI is disabled
+		if(isset($this->dataRecord['ssl']) && $this->dataRecord['ssl'] == 'y' && $web_config['enable_sni'] != 'y') {
+			$sql = "SELECT count(domain_id) as number FROM web_domain WHERE `ssl` = 'y' AND ip_address = '".$app->db->quote($this->dataRecord['ip_address'])."' and domain_id != ".$this->id;
+			$tmp = $app->db->queryOneRecord($sql);
+			if($tmp['number'] > 0) $app->tform->errorMessage .= $app->tform->lng("error_no_sni_txt");
+		}
+
+		// Check if pm.max_children >= pm.max_spare_servers >= pm.start_servers >= pm.min_spare_servers > 0
+		if(isset($this->dataRecord['pm_max_children']) && $this->dataRecord['pm'] == 'dynamic') {
+			if($app->functions->intval($this->dataRecord['pm_max_children'], true) >= $app->functions->intval($this->dataRecord['pm_max_spare_servers'], true) && $app->functions->intval($this->dataRecord['pm_max_spare_servers'], true) >= $app->functions->intval($this->dataRecord['pm_start_servers'], true) && $app->functions->intval($this->dataRecord['pm_start_servers'], true) >= $app->functions->intval($this->dataRecord['pm_min_spare_servers'], true) && $app->functions->intval($this->dataRecord['pm_min_spare_servers'], true) > 0){
+
+			} else {
+				$app->tform->errorMessage .= $app->tform->lng("error_php_fpm_pm_settings_txt").'<br>';
+			}
+		}
+
+		// Check rewrite rules
+		$server_type = $web_config['server_type'];
+
+		if($server_type == 'nginx' && isset($this->dataRecord['rewrite_rules']) && trim($this->dataRecord['rewrite_rules']) != '') {
+			$rewrite_rules = trim($this->dataRecord['rewrite_rules']);
+			$rewrites_are_valid = true;
+			// use this counter to make sure all curly brackets are properly closed
+			$if_level = 0;
+			// Make sure we only have Unix linebreaks
+			$rewrite_rules = str_replace("\r\n", "\n", $rewrite_rules);
+			$rewrite_rules = str_replace("\r", "\n", $rewrite_rules);
+			$rewrite_rule_lines = explode("\n", $rewrite_rules);
+			if(is_array($rewrite_rule_lines) && !empty($rewrite_rule_lines)){
+				foreach($rewrite_rule_lines as $rewrite_rule_line){
+					// ignore comments
+					if(substr(ltrim($rewrite_rule_line), 0, 1) == '#') continue;
+					// empty lines
+					if(trim($rewrite_rule_line) == '') continue;
+					// rewrite
+					if(preg_match('@^\s*rewrite\s+(^/)?\S+(\$)?\s+\S+(\s+(last|break|redirect|permanent|))?\s*;\s*$@', $rewrite_rule_line)) continue;
+					// if
+					if(preg_match('@^\s*if\s+\(\s*\$\S+(\s+(\!?(=|~|~\*))\s+(\S+|\".+\"))?\s*\)\s*\{\s*$@', $rewrite_rule_line)){
+						$if_level += 1;
+						continue;
+					}
+					// if - check for files, directories, etc.
+					if(preg_match('@^\s*if\s+\(\s*\!?-(f|d|e|x)\s+\S+\s*\)\s*\{\s*$@', $rewrite_rule_line)){
+						$if_level += 1;
+						continue;
+					}
+					// break
+					if(preg_match('@^\s*break\s*;\s*$@', $rewrite_rule_line)){
+						continue;
+					}
+					// return code [ text ]
+					if(preg_match('@^\s*return\s+\d\d\d.*;\s*$@', $rewrite_rule_line)) continue;
+					// return code URL
+					// return URL
+					if(preg_match('@^\s*return(\s+\d\d\d)?\s+(http|https|ftp)\://([a-zA-Z0-9\.\-]+(\:[a-zA-Z0-9\.&%\$\-]+)*\@)*((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|localhost|([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(\:[0-9]+)*(/($|[a-zA-Z0-9\.\,\?\'\\\+&%\$#\=~_\-]+))*\s*;\s*$@', $rewrite_rule_line)) continue;
+					// set
+					if(preg_match('@^\s*set\s+\$\S+\s+\S+\s*;\s*$@', $rewrite_rule_line)) continue;
+					// closing curly bracket
+					if(trim($rewrite_rule_line) == '}'){
+						$if_level -= 1;
+						continue;
+					}
+					$rewrites_are_valid = false;
+					break;
+				}
+			}
+
+			if(!$rewrites_are_valid || $if_level != 0){
+				$app->tform->errorMessage .= $app->tform->lng("invalid_rewrite_rules_txt").'<br>';
+			}
+		}
+
+		parent::onSubmit();
+	}
+
+	function onAfterInsert() {
+		global $app, $conf;
+
+		// Get configuration for the web system
+		$app->uses("getconf");
+		$web_rec = $app->tform->getDataRecord($this->id);
+		$web_config = $app->getconf->get_server_config($app->functions->intval($web_rec["server_id"]), 'web');
+		//var_dump($this->parent_domain_record, $web_rec);
+		// Set the values for document_root, system_user and system_group
+		$system_user = $app->db->quote($this->parent_domain_record['system_user']);
+		$system_group = $app->db->quote($this->parent_domain_record['system_group']);
+		$document_root = $app->db->quote($this->parent_domain_record['document_root']);
+		$php_open_basedir = str_replace("[website_path]/web", $document_root.'/'.$web_rec['web_folder'], $web_config["php_open_basedir"]);
+		$php_open_basedir = str_replace("[website_domain]/web", $web_rec['domain'].'/'.$web_rec['web_folder'], $php_open_basedir);
+		$php_open_basedir = str_replace("[website_path]", $document_root, $php_open_basedir);
+		$php_open_basedir = $app->db->quote(str_replace("[website_domain]", $web_rec['domain'], $php_open_basedir));
+		$htaccess_allow_override = $app->db->quote($this->parent_domain_record['allow_override']);
+
+		$sql = "UPDATE web_domain SET sys_groupid = ".$app->functions->intval($this->parent_domain_record['sys_groupid']).",system_user = '$system_user', system_group = '$system_group', document_root = '$document_root', allow_override = '$htaccess_allow_override', php_open_basedir = '$php_open_basedir'  WHERE domain_id = ".$this->id;
+		$app->db->query($sql);
+	}
+
+	function onBeforeUpdate () {
+		global $app, $conf;
+
+		//* Check that all fields for the SSL cert creation are filled
+		if(isset($this->dataRecord['ssl_action']) && $this->dataRecord['ssl_action'] == 'create') {
+			if($this->dataRecord['ssl_state'] == '') $app->tform->errorMessage .= $app->tform->lng('error_ssl_state_empty').'<br />';
+			if($this->dataRecord['ssl_locality'] == '') $app->tform->errorMessage .= $app->tform->lng('error_ssl_locality_empty').'<br />';
+			if($this->dataRecord['ssl_organisation'] == '') $app->tform->errorMessage .= $app->tform->lng('error_ssl_organisation_empty').'<br />';
+			if($this->dataRecord['ssl_organisation_unit'] == '') $app->tform->errorMessage .= $app->tform->lng('error_ssl_organisation_unit_empty').'<br />';
+			if($this->dataRecord['ssl_country'] == '') $app->tform->errorMessage .= $app->tform->lng('error_ssl_country_empty').'<br />';
+		}
+
+		if(isset($this->dataRecord['ssl_action']) && $this->dataRecord['ssl_action'] == 'save') {
+			if(trim($this->dataRecord['ssl_cert']) == '') $app->tform->errorMessage .= $app->tform->lng('error_ssl_cert_empty').'<br />';
+		}
+
+	}
+
+	function onAfterUpdate() {
+		global $app, $conf;
+
+		// Get configuration for the web system
+		$app->uses("getconf");
+		$web_rec = $app->tform->getDataRecord($this->id);
+		$web_config = $app->getconf->get_server_config($app->functions->intval($web_rec["server_id"]), 'web');
+
+		// Set the values for document_root, system_user and system_group
+		$system_user = $app->db->quote($this->parent_domain_record['system_user']);
+		$system_group = $app->db->quote($this->parent_domain_record['system_group']);
+		$document_root = $app->db->quote($this->parent_domain_record['document_root']);
+		$php_open_basedir = str_replace("[website_path]/web", $document_root.'/'.$web_rec['web_folder'], $web_config["php_open_basedir"]);
+		$php_open_basedir = str_replace("[website_domain]/web", $web_rec['domain'].'/'.$web_rec['web_folder'], $php_open_basedir);
+		$php_open_basedir = str_replace("[website_path]", $document_root, $php_open_basedir);
+		$php_open_basedir = $app->db->quote(str_replace("[website_domain]", $web_rec['domain'], $php_open_basedir));
+		$htaccess_allow_override = $app->db->quote($this->parent_domain_record['allow_override']);
+
+		$sql = "UPDATE web_domain SET sys_groupid = ".$app->functions->intval($this->parent_domain_record['sys_groupid']).",system_user = '$system_user', system_group = '$system_group', document_root = '$document_root', allow_override = '$htaccess_allow_override', php_open_basedir = '$php_open_basedir'  WHERE domain_id = ".$this->id;
+		$app->db->query($sql);
+	}
+
+}
+
+$page = new page_action;
+$page->onLoad();
+
+?>
diff --git a/interface/web/sites/web_vhost_aliasdomain_list.php b/interface/web/sites/web_vhost_aliasdomain_list.php
new file mode 100644
index 0000000000000000000000000000000000000000..52033a15b1d2d5baf2ddf4f8b4dd567283e0bfc2
--- /dev/null
+++ b/interface/web/sites/web_vhost_aliasdomain_list.php
@@ -0,0 +1,55 @@
+<?php
+
+/*
+Copyright (c) 2007, Till Brehm, projektfarm Gmbh
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice,
+      this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimer in the documentation
+      and/or other materials provided with the distribution.
+    * Neither the name of ISPConfig nor the names of its contributors
+      may be used to endorse or promote products derived from this software without
+      specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+require_once '../../lib/config.inc.php';
+require_once '../../lib/app.inc.php';
+
+/******************************************
+* Begin Form configuration
+******************************************/
+
+$list_def_file = "list/web_vhost_aliasdomain.list.php";
+
+/******************************************
+* End Form configuration
+******************************************/
+
+//* Check permissions for module
+$app->auth->check_module_permissions('sites');
+
+$app->uses('listform_actions');
+
+// Limit the results to alias domains
+$app->listform_actions->SQLExtWhere = "web_domain.type = 'vhostalias'";
+$app->listform_actions->SQLOrderBy = 'ORDER BY web_domain.domain';
+$app->listform_actions->onLoad();
+
+
+?>
diff --git a/interface/web/themes/default-304/templates/admin/system_config_sites_edit.htm b/interface/web/themes/default-304/templates/admin/system_config_sites_edit.htm
index 121d607a38def87f3eafcb37df68596a22fdae93..c3fc9bfdd3f71a5bec07f2ecd023b3ca5a2e0ea3 100644
--- a/interface/web/themes/default-304/templates/admin/system_config_sites_edit.htm
+++ b/interface/web/themes/default-304/templates/admin/system_config_sites_edit.htm
@@ -45,6 +45,12 @@
                     {tmpl_var name='vhost_subdomains'}&nbsp;{tmpl_var name='vhost_subdomains_note_txt'}
                 </div>
             </div>
+            <div class="ctrlHolder">
+                <p class="label">{tmpl_var name='vhost_aliasdomains_txt'}</p>
+                <div class="multiField">
+                    {tmpl_var name='vhost_aliasdomains'}&nbsp;{tmpl_var name='vhost_aliasdomains_note_txt'}
+                </div>
+            </div>
         </fieldset>
             
         <input type="hidden" name="id" value="{tmpl_var name='id'}">
diff --git a/interface/web/themes/default-304/templates/main.tpl.htm b/interface/web/themes/default-304/templates/main.tpl.htm
index 862693badae953f09f8b9d4b1787b5ca6ffa04cb..58be4dece984dd0f4bb0064673f0441bdd334dd6 100644
--- a/interface/web/themes/default-304/templates/main.tpl.htm
+++ b/interface/web/themes/default-304/templates/main.tpl.htm
@@ -58,6 +58,7 @@
         <link rel="shortcut icon" href="/themes/default/images/favicon.ico" />
         <script type="text/javascript" src="js/jquery-1.6.3.min.js"></script>
         <script type="text/javascript" src="js/jquery-ui-1.8.16.custom.min.js"></script>
+        <script type="text/javascript" src="js/chosen/chosen.jquery.min.js"></script>
         <script type="text/javascript" src="js/scrigo.js.php"></script>
         <script type="text/javascript" src="js/uni-form/uni-form.jquery.js"></script>
         <script type="text/javascript" src="js/jquery.ispconfigsearch.js"></script>
diff --git a/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_advanced.htm b/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_advanced.htm
new file mode 100644
index 0000000000000000000000000000000000000000..3067cd02dfbac6ad464778e71028606ca1abe090
--- /dev/null
+++ b/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_advanced.htm
@@ -0,0 +1,146 @@
+<h2><tmpl_var name="list_head_txt"></h2>
+<p><tmpl_var name="list_desc_txt"></p>
+
+<div class="panel panel_web_domain">
+
+    <div class="pnl_formsarea">
+        <fieldset class="inlineLabels">
+            <input name="document_root" id="document_root" value="{tmpl_var name='document_root'}" size="30" maxlength="255" type="hidden" class="textInput" />
+            <div class="ctrlHolder">
+                <label for="system_user">{tmpl_var name='system_user_txt'}</label>
+                <label for="system_user">{tmpl_var name='system_user'}</label>
+                <input name="system_user" id="system_user" value="{tmpl_var name='system_user'}" type="hidden" />
+            </div>
+            <div class="ctrlHolder">
+                <label for="system_group">{tmpl_var name='system_group_txt'}</label>
+                <label for="system_group">{tmpl_var name='system_group'}</label>
+                <input name="system_group" id="system_group" value="{tmpl_var name='system_group'}" type="hidden" />
+            </div>
+            <div class="ctrlHolder apache">
+                <label for="allow_override">{tmpl_var name='allow_override_txt'}</label>
+                <input name="allow_override" id="allow_override" value="{tmpl_var name='allow_override'}" size="30" maxlength="255" type="text" class="textInput" />
+            </div>
+            <div class="phpfpm">
+                <div class="ctrlHolder">
+                    <p class="label">{tmpl_var name='php_fpm_use_socket_txt'}</p>
+                    <div class="multiField">
+                        {tmpl_var name='php_fpm_use_socket'}
+                    </div>
+                </div>
+                <div class="ctrlHolder">
+                    <label for="pm">{tmpl_var name='pm_txt'}</label>
+                    <select name="pm" id="pm" class="selectInput">
+                        {tmpl_var name='pm'}
+                    </select>
+                </div>
+                <div class="ctrlHolder pm_ondemand" style="background: #ffdfdf; border: 1px solid #df7d7d; border-width: 1px 0; margin: 1.5em 0 1.5em 0; padding: 7px;">
+                    {tmpl_var name='pm_ondemand_hint_txt'}
+                </div>
+                <div class="ctrlHolder">
+                    <label for="pm_max_children">{tmpl_var name='pm_max_children_txt'}</label>
+                    <input name="pm_max_children" id="pm_max_children" value="{tmpl_var name='pm_max_children'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
+                </div>
+                <div class="ctrlHolder pm_dynamic">
+                    <label for="pm_start_servers">{tmpl_var name='pm_start_servers_txt'}</label>
+                    <input name="pm_start_servers" id="pm_start_servers" value="{tmpl_var name='pm_start_servers'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
+                </div>
+                <div class="ctrlHolder pm_dynamic">
+                    <label for="pm_min_spare_servers">{tmpl_var name='pm_min_spare_servers_txt'}</label>
+                    <input name="pm_min_spare_servers" id="pm_min_spare_servers" value="{tmpl_var name='pm_min_spare_servers'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
+                </div>
+                <div class="ctrlHolder pm_dynamic">
+                    <label for="pm_max_spare_servers">{tmpl_var name='pm_max_spare_servers_txt'}</label>
+                    <input name="pm_max_spare_servers" id="pm_max_spare_servers" value="{tmpl_var name='pm_max_spare_servers'}" size="3" maxlength="3" type="text" class="textInput formLengthLimit" />
+                </div>
+                <div class="ctrlHolder pm_ondemand">
+                    <label for="pm_process_idle_timeout">{tmpl_var name='pm_process_idle_timeout_txt'}</label>
+                    <input name="pm_process_idle_timeout" id="pm_process_idle_timeout" value="{tmpl_var name='pm_process_idle_timeout'}" size="3" maxlength="6" type="text" class="textInput formLengthLimit" />&nbsp;s
+                </div>
+                <div class="ctrlHolder">
+                    <label for="pm_max_requests">{tmpl_var name='pm_max_requests_txt'}</label>
+                    <input name="pm_max_requests" id="pm_max_requests" value="{tmpl_var name='pm_max_requests'}" size="3" maxlength="6" type="text" class="textInput formLengthLimit" />
+                </div>
+            </div>
+            <div class="ctrlHolder">
+                <label for="php_open_basedir">{tmpl_var name='php_open_basedir_txt'}</label>
+                <input name="php_open_basedir" id="php_open_basedir" value="{tmpl_var name='php_open_basedir'}" size="30" type="text" class="textInput"  style="width:400px;" />
+            </div>
+            <div class="ctrlHolder">
+                <label for="custom_php_ini">{tmpl_var name='custom_php_ini_txt'}</label>
+                <textarea name="custom_php_ini" id="custom_php_ini" rows='10' cols='50' style="width:400px;">{tmpl_var name='custom_php_ini'}</textarea>
+            </div>
+            <div class="ctrlHolder apache">
+                <label for="apache_directives">{tmpl_var name='apache_directives_txt'}</label>
+                <textarea name="apache_directives" id="apache_directives" rows='10' cols='50' style="width:400px;">{tmpl_var name='apache_directives'}</textarea>
+            </div>
+            <div class="ctrlHolder nginx">
+                <label for="nginx_directives">{tmpl_var name='nginx_directives_txt'}</label>
+                <textarea name="nginx_directives" id="nginx_directives" rows='10' cols='50' style="width:400px;">{tmpl_var name='nginx_directives'}</textarea>
+            </div>
+        </fieldset>
+
+        <input type="hidden" name="id" value="{tmpl_var name='id'}">
+
+        <div class="buttonHolder buttons">
+            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/web_vhost_aliasdomain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
+            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('sites/web_vhost_aliasdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
+        </div>
+    </div>
+
+</div>
+<script language="JavaScript" type="text/javascript">
+    var webId = jQuery('input[name="id"]').val();
+    var serverId;
+    getServerId();
+    adjustForm();
+		
+    var pm = jQuery('#pm').val();
+    pmMode(pm);
+    jQuery('#pm').change(function(){
+        pm = jQuery(this).val();
+        pmMode(pm);
+    });
+		
+    function pmMode(pm){
+        switch(pm){
+            case "static":
+                jQuery('.pm_dynamic').add('.pm_ondemand').hide();
+                jQuery('.pm_static').show();
+                break;
+            case "dynamic":
+                jQuery('.pm_static').add('.pm_ondemand').hide();
+                jQuery('.pm_dynamic').show();
+                break;
+            case "ondemand":
+                jQuery('.pm_static').add('.pm_dynamic').hide();
+                jQuery('.pm_ondemand').show();
+                break;
+        }
+    }
+		
+    function getServerId(){
+        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getserverid"}, function(data) {
+            serverId = data.serverid;
+        });
+    }
+		
+    function adjustForm(){
+        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
+            if(data.servertype == "nginx"){
+                jQuery('.nginx').show();
+                jQuery('.apache').hide();
+            } else {
+                jQuery('.nginx').hide();
+                jQuery('.apache').show();
+            }
+        });
+        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getphptype"}, function(data) {
+            if(data.phptype == "php-fpm"){
+                jQuery('.phpfpm').show();
+            } else {
+                jQuery('.phpfpm').hide();
+            }
+        });
+    }
+			
+</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_backup.htm b/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_backup.htm
new file mode 100644
index 0000000000000000000000000000000000000000..b93b2020fc573945337c6f748a1bba09f3855483
--- /dev/null
+++ b/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_backup.htm
@@ -0,0 +1,32 @@
+<h2><tmpl_var name="list_head_txt"></h2>
+<p><tmpl_var name="list_desc_txt"></p>
+
+<div class="panel panel_web_domain">
+
+    <div class="pnl_formsarea">
+        <fieldset class="inlineLabels"><legend>Backup</legend>
+            <div class="ctrlHolder">
+                <label for="backup_interval">{tmpl_var name='backup_interval_txt'}</label>
+                <select name="backup_interval" id="backup_interval" class="selectInput">
+                    {tmpl_var name='backup_interval'}
+                </select>
+            </div>
+            <div class="ctrlHolder">
+                <label for="backup_copies">{tmpl_var name='backup_copies_txt'}</label>
+                <select name="backup_copies" id="backup_copies" class="selectInput">
+                    {tmpl_var name='backup_copies'}
+                </select>
+            </div>
+        </fieldset>
+
+        {tmpl_var name='backup_records'}
+
+        <input type="hidden" name="id" value="{tmpl_var name='id'}">
+
+        <div class="buttonHolder buttons">
+            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/web_vhost_aliasdomain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
+            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('sites/web_vhost_aliasdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
+        </div>
+    </div>
+
+</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_edit.htm b/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_edit.htm
new file mode 100644
index 0000000000000000000000000000000000000000..9c047697a5d782ecf78c782a9533d8e80d190402
--- /dev/null
+++ b/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_edit.htm
@@ -0,0 +1,208 @@
+<h2><tmpl_var name="list_head_txt"></h2>
+<p><tmpl_var name="list_desc_txt"></p>
+
+<div class="panel panel_web_domain">
+
+    <div class="pnl_formsarea">
+        <fieldset class="inlineLabels">
+            <input type="hidden" name="server_id" id="server_id" value="{tmpl_var name='server_id_value'}" />
+            <div class="ctrlHolder">
+                <label for="domain">{tmpl_var name='host_txt'}</label>
+                <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput formLengthHalf" />
+            </div>
+            <div class="ctrlHolder">
+                <label for="parent_domain_id">{tmpl_var name='domain_txt'}</label>
+                <select id="parent_domain_id" name="parent_domain_id" class="selectInput formLengthHalf">{tmpl_var name='parent_domain_id'}</select>
+            </div>
+            <div class="ctrlHolder">
+                <label for="web_folder">{tmpl_var name='web_folder_txt'}</label>
+                <input name="web_folder" id="web_folder" value="{tmpl_var name='web_folder'}" size="30" maxlength="100" type="text" class="textInput formLengthHalf"<tmpl_if name='fixed_folder' op='==' value='y'> readonly="readonly"</tmpl_if> />
+            </div>
+            <div class="ctrlHolder">
+                <label for="hd_quota">{tmpl_var name='hd_quota_txt'}</label>
+                <input name="hd_quota" id="hd_quota" value="{tmpl_var name='hd_quota'}" size="7" maxlength="7" type="text" class="textInput formLengthLimit" />&nbsp;MB
+            </div>
+            <div class="ctrlHolder">
+                <label for="traffic_quota">{tmpl_var name='traffic_quota_txt'}</label>
+                <input name="traffic_quota" id="traffic_quota" value="{tmpl_var name='traffic_quota'}" size="7" maxlength="7" type="text" class="textInput formLengthLimit" />&nbsp;MB <tmpl_var name='traffic_quota_exceeded_txt'>
+            </div>
+            <tmpl_if name="limit_cgi" op="==" value="y"><div class="ctrlHolder">
+                <p class="label">{tmpl_var name='cgi_txt'}</p>
+                <div class="multiField">
+                    {tmpl_var name='cgi'}
+                </div>
+            </div></tmpl_if>
+            <tmpl_if name="limit_ssi" op="==" value="y"><div class="ctrlHolder">
+                <p class="label">{tmpl_var name='ssi_txt'}</p>
+                <div class="multiField">
+                    {tmpl_var name='ssi'}
+                </div>
+            </div></tmpl_if>
+            <tmpl_if name="limit_perl" op="==" value="y"><div class="ctrlHolder apache">
+                <p class="label">{tmpl_var name='perl_txt'}</p>
+                <div class="multiField">
+                    {tmpl_var name='perl'}
+                </div>
+            </div></tmpl_if>
+            <tmpl_if name="limit_ruby" op="==" value="y"><div class="ctrlHolder apache">
+                <p class="label">{tmpl_var name='ruby_txt'}</p>
+                <div class="multiField">
+                    {tmpl_var name='ruby'}
+                </div>
+            </div></tmpl_if>
+            <tmpl_if name="limit_python" op="==" value="y"><div class="ctrlHolder apache">
+                <p class="label">{tmpl_var name='python_txt'}</p>
+                <div class="multiField">
+                    {tmpl_var name='python'}
+                </div>
+            </div></tmpl_if>
+            <tmpl_if name="force_suexec" op="==" value="n"><div class="ctrlHolder apache">
+                <p class="label">{tmpl_var name='suexec_txt'}</p>
+                <div class="multiField">
+                    {tmpl_var name='suexec'}
+                </div>
+            </div></tmpl_if>
+            <tmpl_if name="limit_hterror" op="==" value="y"><div class="ctrlHolder">
+                <p class="label">{tmpl_var name='errordocs_txt'}</p>
+                <div class="multiField">
+                    {tmpl_var name='errordocs'}
+                </div>
+            </div></tmpl_if>
+
+            <div class="ctrlHolder">
+                <label for="subdomain">{tmpl_var name='subdomain_txt'}</label>
+                <select name="subdomain" id="subdomain" class="selectInput formLengthHalf">
+                    {tmpl_var name='subdomain'}
+                </select>
+            </div>
+            <tmpl_if name="limit_ssl" op="==" value="y"><div class="ctrlHolder">
+                <p class="label">{tmpl_var name='ssl_txt'}</p>
+                <div class="multiField">
+                    {tmpl_var name='ssl'}
+                </div>
+            </div></tmpl_if>
+            <div class="ctrlHolder">
+                <label for="php">{tmpl_var name='php_txt'}</label>
+                <select name="php" id="php" class="selectInput formLengthHalf">
+                    {tmpl_var name='php'}
+                </select>
+            </div>
+            <div class="ctrlHolder fastcgi_php_version">
+                <label for="fastcgi_php_version">{tmpl_var name='fastcgi_php_version_txt'}</label>
+                <select name="fastcgi_php_version" id="fastcgi_php_version" class="selectInput formLengthHalf">
+                    {tmpl_var name='fastcgi_php_version'}
+                </select>
+            </div>
+            <div class="ctrlHolder">
+                <p class="label">{tmpl_var name='active_txt'}</p>
+                <div class="multiField">
+                    {tmpl_var name='active'}
+                </div>
+            </div>
+        </fieldset>
+
+        <input type="hidden" name="id" value="{tmpl_var name='id'}">
+
+        <div class="buttonHolder buttons">
+            <button id="dom-edit-submit" class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}"><span>{tmpl_var name='btn_save_txt'}</span></button>
+            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('sites/web_vhost_aliasdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
+        </div>
+    </div>
+
+</div>
+<script language="JavaScript" type="text/javascript">
+    var serverId;
+    var clientGroupId = jQuery('#client_group_id').val();
+    var serverIdDisabled = jQuery('#server_id_disabled').val();
+    if(serverIdDisabled > 0){
+        serverId = serverIdDisabled;
+    } else {
+        serverId = jQuery('#server_id').val();
+        jQuery('#server_id').change(function(){
+            serverId = $(this).val();
+            adjustForm();
+            reloadWebIP();
+            reloadFastcgiPHPVersions();
+        });
+    }
+    adjustForm();
+    reloadFastcgiPHPVersions();
+		
+    jQuery('#client_group_id').change(function(){
+        clientGroupId = $(this).val();
+        reloadWebIP();
+    });
+		
+    if(jQuery('#php').val() == 'fast-cgi' || jQuery('#php').val() == 'php-fpm'){
+        jQuery('.fastcgi_php_version:hidden').show();
+    } else {
+        jQuery('.fastcgi_php_version:visible').hide();
+    }
+    jQuery('#php').change(function(){
+        reloadFastcgiPHPVersions();
+        if(jQuery(this).val() == 'fast-cgi' || jQuery(this).val() == 'php-fpm'){
+            jQuery('.fastcgi_php_version:hidden').show();
+        } else {
+            jQuery('.fastcgi_php_version:visible').hide();
+        }
+    });
+		
+    function adjustForm(){
+        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
+            if(data.servertype == "nginx"){
+                var selected = jQuery('#php').val();
+                jQuery('.apache').hide();
+                jQuery('.apache').hide();
+                jQuery('#php option[value="fast-cgi"]').hide();
+                jQuery('#php option[value="cgi"]').hide();
+                jQuery('#php option[value="mod"]').hide();
+                jQuery('#php option[value="suphp"]').hide();
+                if(selected != "no" && selected != "php-fpm") jQuery('#php option[value="php-fpm"]').attr('selected', 'selected');
+            } else {
+                jQuery('.apache').show();
+                jQuery('.apache').show();
+                jQuery('#php option[value="fast-cgi"]').show();
+                jQuery('#php option[value="cgi"]').show();
+                jQuery('#php option[value="mod"]').show();
+                jQuery('#php option[value="suphp"]').show();
+            }
+        });
+    }
+		
+    function reloadWebIP() {
+        loadOptionInto('ip_address','sites/ajax_get_ip.php?ip_type=IPv4&server_id='+serverId+'&client_group_id='+clientGroupId);
+        loadOptionInto('ipv6_address','sites/ajax_get_ip.php?ip_type=IPv6&server_id='+serverId+'&client_group_id='+clientGroupId);
+    }
+		
+    function reloadFastcgiPHPVersions() {
+        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, php_type : jQuery('#php').val(), type : "getphpfastcgi"}, function(data) {
+            var options = '<option value="">Default</option>';
+            var phpfastcgiselected = '';
+            $.each(data, function(key, val) {
+                if($('#fastcgi_php_version').val() == key){
+                    phpfastcgiselected = ' selected="selected"';
+                } else {
+                    phpfastcgiselected = '';
+                }
+                options += '<option value="'+key+'"'+phpfastcgiselected+'>'+val+'</option>';
+            });
+            $('#fastcgi_php_version').html(options);
+        });
+    }
+    
+    <tmpl_if name="readonly_tab">
+        jQuery('div.panel_web_domain').find('fieldset').find('input,select,button').attr('disabled', 'disabled');
+        jQuery('div.tabbox_tabs').find('a').click(function() {
+               jQuery('div.panel_web_domain').find('fieldset').find('input,select,button').removeAttr('disabled');
+        });
+        jQuery('#dom-edit-submit').click(function() {
+               jQuery('div.panel_web_domain').find('fieldset').find('input,select,button').removeAttr('disabled');
+               submitForm('pageForm','sites/web_vhost_aliasdomain_edit.php');
+        });
+    <tmpl_else>
+        jQuery('#dom-edit-submit').click(function() {
+            submitForm('pageForm','sites/web_vhost_aliasdomain_edit.php');
+        });
+    </tmpl_if>
+			
+</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_list.htm b/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_list.htm
new file mode 100644
index 0000000000000000000000000000000000000000..8bd542706909cd587b6508ebeff93b0bf5ce6815
--- /dev/null
+++ b/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_list.htm
@@ -0,0 +1,60 @@
+<h2><tmpl_var name="list_head_txt"></h2>
+<p><tmpl_var name="list_desc_txt"></p>
+
+<div class="panel panel_list_web_subdomain">
+
+    <div class="pnl_toolsarea">
+        <fieldset><legend>{tmpl_var name="toolsarea_head_txt"}</legend>
+            <div class="buttons">
+                <button class="iconstxt icoAdd" type="button" onClick="loadContent('sites/web_vhost_aliasdomain_edit.php');">
+                    <span>{tmpl_var name="add_new_record_txt"}</span>
+                </button>
+            </div>
+        </fieldset>
+    </div>
+
+    <div class="pnl_listarea">
+        <fieldset><legend><tmpl_var name="list_head_txt"></legend>
+            <table class="list">
+                <thead>
+                    <tr>
+                        <th class="tbl_col_active" scope="col"><tmpl_var name="active_txt"></th>
+                        <th class="tbl_col_server_id" scope="col"><tmpl_var name="server_id_txt"></th>
+                        <th class="tbl_col_parent_domain_id" scope="col"><tmpl_var name="parent_domain_id_txt"></th>
+                        <th class="tbl_col_domain" scope="col"><tmpl_var name="domain_txt"></th>
+                        <th class="tbl_col_limit" scope="col">{tmpl_var name='search_limit'}</th>
+                    </tr>
+                    <tr>
+                        <td class="tbl_col_active"><select name="search_active">{tmpl_var name='search_active'}</select></td>
+                        <td class="tbl_col_server_id"><select name="search_server_id">{tmpl_var name='search_server_id'}</select></td>
+                        <td class="tbl_col_parent_domain_id"><select name="search_parent_domain_id">{tmpl_var name='search_parent_domain_id'}</select></td>
+                        <td class="tbl_col_domain"><input type="text" name="search_domain" value="{tmpl_var name='search_domain'}" /></td>
+                        <td class="tbl_col_buttons"><div class="buttons"><button type="button" class="icons16 icoFilter" name="Filter" id="Filter" value="{tmpl_var name="filter_txt"}" onClick="submitForm('pageForm','sites/web_vhost_aliasdomain_list.php');"><span>{tmpl_var name="filter_txt"}</span></button></div></td>
+                    </tr>
+                </thead>
+                <tbody>
+                    <tmpl_loop name="records">
+                        <tr class="tbl_row_<tmpl_if name='__EVEN__'}even<tmpl_else>uneven</tmpl_if>">
+                            <td class="tbl_col_active"><a href="#" onClick="loadContent('sites/web_vhost_aliasdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="active"}</a></td>
+                            <td class="tbl_col_server_id"><a href="#" onClick="loadContent('sites/web_vhost_aliasdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="server_id"}</a></td>
+                            <td class="tbl_col_parent_domain_id"><a href="#" onClick="loadContent('sites/web_vhost_aliasdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="parent_domain_id"}</a></td>
+                            <td class="tbl_col_domain"><a href="#" onClick="loadContent('sites/web_vhost_aliasdomain_edit.php?id={tmpl_var name='id'}');">{tmpl_var name="domain"}</a></td>
+                            <td class="tbl_col_buttons">
+                                <div class="buttons icons16">    
+                                    <a class="icons16 icoDelete" href="javascript: del_record('sites/web_vhost_aliasdomain_del.php?id={tmpl_var name='id'}&phpsessid={tmpl_var name='phpsessid'}','{tmpl_var name='delete_confirmation'}');"><span>{tmpl_var name='delete_txt'}</span></a>
+                                </div>
+                            </td>
+                        </tr>
+                    </tmpl_loop>
+                </tbody>
+
+                <tfoot>
+                    <tr>
+                    <td class="tbl_footer tbl_paging" colspan="5"><tmpl_var name="paging"></td>
+                    </tr>
+                </tfoot>
+            </table>
+        </fieldset>
+    </div>
+
+</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_redirect.htm b/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_redirect.htm
new file mode 100644
index 0000000000000000000000000000000000000000..f0781acaa606635b5b5a76a24d26f75e4da555d8
--- /dev/null
+++ b/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_redirect.htm
@@ -0,0 +1,76 @@
+<h2><tmpl_var name="list_head_txt"></h2>
+<p><tmpl_var name="list_desc_txt"></p>
+
+<div class="panel panel_web_domain">
+
+    <div class="pnl_formsarea">
+        <fieldset class="inlineLabels">
+            <div class="ctrlHolder">
+                <label for="redirect_type">{tmpl_var name='redirect_type_txt'}</label>
+                <select name="redirect_type" id="redirect_type" class="selectInput formLengthHalf">
+                    {tmpl_var name='redirect_type'}
+                </select>
+            </div>
+            <div class="ctrlHolder">
+                <label for="redirect_path">{tmpl_var name='redirect_path_txt'}</label>
+                <input name="redirect_path" id="redirect_path" value="{tmpl_var name='redirect_path'}" size="30" maxlength="255" type="text" class="textInput" />
+            </div>
+            <div class="ctrlHolder">
+                <label for="seo_redirect">{tmpl_var name='seo_redirect_txt'}</label>
+                <select name="seo_redirect" id="seo_redirect" class="selectInput formLengthHalf">
+                    {tmpl_var name='seo_redirect'}
+                </select>
+            </div>
+        </fieldset>
+
+        <input type="hidden" name="id" value="{tmpl_var name='id'}">
+
+        <div class="buttonHolder buttons">
+            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/web_vhost_aliasdomain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
+            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('sites/web_vhost_aliasdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
+        </div>
+    </div>
+
+</div>
+<script language="JavaScript" type="text/javascript">
+    var webId = jQuery('input[name="id"]').val();
+    var serverId;
+    getServerId(webId);
+		
+    function getServerId(webId){
+        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {web_id : webId, type : "getserverid"}, function(data) {
+            serverId = data.serverid;
+            adjustForm(serverId);
+        });
+    }
+		
+    function adjustForm(serverId){
+        jQuery.getJSON('sites/ajax_get_json.php'+ '?' + Math.round(new Date().getTime()), {server_id : serverId, type : "getservertype"}, function(data) {
+            var selected = jQuery('#redirect_type').val();
+            if(data.servertype == "nginx"){
+                jQuery("#redirect_type option[value='R']").attr('disabled','disabled');
+                jQuery('#redirect_type option[value="L"]').attr('disabled','disabled');
+                jQuery('#redirect_type option[value="R,L"]').attr('disabled','disabled');
+                jQuery('#redirect_type option[value="R=301,L"]').attr('disabled','disabled');
+
+                jQuery('#redirect_type option[value="R"]').hide();
+                jQuery('#redirect_type option[value="L"]').hide();
+                jQuery('#redirect_type option[value="R,L"]').hide();
+                jQuery('#redirect_type option[value="R=301,L"]').hide();
+                if(selected != "no" && selected != "" && selected != "last"  && selected != "break"  && selected != "redirect"  && selected != "permanent") jQuery('#redirect_type option[value="no"]').attr('selected', 'selected');
+            } else {
+                jQuery('#redirect_type option[value="last"]').attr('disabled','disabled');
+                jQuery('#redirect_type option[value="break"]').attr('disabled','disabled');
+                jQuery('#redirect_type option[value="redirect"]').attr('disabled','disabled');
+                jQuery('#redirect_type option[value="permanent"]').attr('disabled','disabled');
+					
+                jQuery('#redirect_type option[value="last"]').hide();
+                jQuery('#redirect_type option[value="break"]').hide();
+                jQuery('#redirect_type option[value="redirect"]').hide();
+                jQuery('#redirect_type option[value="permanent"]').hide();
+                if(selected != "no" && selected != "" && selected != "R"  && selected != "L"  && selected != "R,L" && selected != "R=301,L") jQuery('#redirect_type option[value="no"]').attr('selected', 'selected');
+            }
+        });
+    }
+			
+</script>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_ssl.htm b/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_ssl.htm
new file mode 100644
index 0000000000000000000000000000000000000000..35bd37113db3f4909d406d47fc3fc385a85ca49d
--- /dev/null
+++ b/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_ssl.htm
@@ -0,0 +1,68 @@
+<h2><tmpl_var name="list_head_txt"></h2>
+<p><tmpl_var name="list_desc_txt"></p>
+
+<div class="panel panel_web_domain">
+
+    <div class="pnl_formsarea">
+        <fieldset class="inlineLabels">
+            <div class="ctrlHolder">
+                <label for="ssl_state">{tmpl_var name='ssl_state_txt'}</label>
+                <input name="ssl_state" id="ssl_state" value="{tmpl_var name='ssl_state'}" size="30" maxlength="255" type="text" class="textInput" />
+            </div>
+            <div class="ctrlHolder">
+                <label for="ssl_locality">{tmpl_var name='ssl_locality_txt'}</label>
+                <input name="ssl_locality" id="ssl_locality" value="{tmpl_var name='ssl_locality'}" size="30" maxlength="255" type="text" class="textInput" />
+            </div>
+            <div class="ctrlHolder">
+                <label for="ssl_organisation">{tmpl_var name='ssl_organisation_txt'}</label>
+                <input name="ssl_organisation" id="ssl_organisation" value="{tmpl_var name='ssl_organisation'}" size="30" maxlength="255" type="text" class="textInput" />
+            </div>
+            <div class="ctrlHolder">
+                <label for="ssl_organisation_unit">{tmpl_var name='ssl_organisation_unit_txt'}</label>
+                <input name="ssl_organisation_unit" id="ssl_organisation_unit" value="{tmpl_var name='ssl_organisation_unit'}" size="30" maxlength="255" type="text" class="textInput" />
+            </div>
+            <div class="ctrlHolder">
+                <label for="ssl_country">{tmpl_var name='ssl_country_txt'}</label>
+                <select name="ssl_country" id="ssl_country" class="selectInput flags">
+                    {tmpl_var name='ssl_country'}
+                </select>
+            </div>
+            <div class="ctrlHolder">
+                <label for="client_group_id">{tmpl_var name='ssl_domain_txt'}</label>
+                <select name="ssl_domain" id="ssl_domain" class="selectInput">
+                    {tmpl_var name='ssl_domain'}
+                </select>
+            </div>
+			<div class="ctrlHolder">
+                <label for="ssl_request">{tmpl_var name='ssl_key_txt'}</label>
+                <textarea name="ssl_key" id="ssl_key" rows='10' cols='30'>{tmpl_var name='ssl_key'}</textarea>
+            </div>
+            <div class="ctrlHolder">
+                <label for="ssl_request">{tmpl_var name='ssl_request_txt'}</label>
+                <textarea name="ssl_request" id="ssl_request" rows='10' cols='30'>{tmpl_var name='ssl_request'}</textarea>
+            </div>
+            <div class="ctrlHolder">
+                <label for="ssl_cert">{tmpl_var name='ssl_cert_txt'}</label>
+                <textarea name="ssl_cert" id="ssl_cert" rows='10' cols='30'>{tmpl_var name='ssl_cert'}</textarea>
+            </div>
+            <div class="ctrlHolder">
+                <label for="ssl_bundle">{tmpl_var name='ssl_bundle_txt'}</label>
+                <textarea name="ssl_bundle" id="ssl_bundle" rows='10' cols='30'>{tmpl_var name='ssl_bundle'}</textarea>
+            </div>
+            <div class="ctrlHolder">
+                <label for="ssl_action">{tmpl_var name='ssl_action_txt'}</label>
+                <select name="ssl_action" id="ssl_action" class="selectInput formLengthHalf">
+                    {tmpl_var name='ssl_action'}
+                </select>
+            </div>
+        </fieldset>
+
+        <input type="hidden" name="id" value="{tmpl_var name='id'}">
+
+        <div class="buttonHolder buttons">
+            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/web_vhost_aliasdomain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
+            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('sites/web_vhost_aliasdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
+        </div>
+    </div>
+
+</div>
\ No newline at end of file
diff --git a/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_stats.htm b/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_stats.htm
new file mode 100644
index 0000000000000000000000000000000000000000..2f50a62a667721c546837b48d06aa815987d7300
--- /dev/null
+++ b/interface/web/themes/default-304/templates/sites/web_vhost_aliasdomain_stats.htm
@@ -0,0 +1,37 @@
+<h2><tmpl_var name="list_head_txt"></h2>
+<p><tmpl_var name="list_desc_txt"></p>
+
+<div class="panel panel_web_domain">
+
+    <div class="pnl_formsarea">
+        <fieldset class="inlineLabels">
+            <div class="ctrlHolder">
+                <p class="label">{tmpl_var name='stats_user_txt'}</p><p class="value">admin</p>
+            </div>
+            <div class="ctrlHolder">
+                <label for="stats_password">{tmpl_var name='stats_password_txt'}</label>
+                <input name="stats_password" id="stats_password" value="{tmpl_var name='stats_password'}" size="15" maxlength="100" type="password" class="textInput" style="width:100px;" onkeyup="checkPassMatch('stats_password','repeat_password');" />&nbsp;<a href="javascript:void(0);" onClick="generatePassword('stats_password','repeat_password');">{tmpl_var name='generate_password_txt'}</a>
+            </div>
+            <div class="ctrlHolder">
+                <label for="repeat_password">{tmpl_var name='repeat_password_txt'}</label>
+                <input name="repeat_password" id="repeat_password" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;"  onkeyup="checkPassMatch('stats_password','repeat_password');" />
+            </div>
+            <div id="confirmpasswordError" style="display:none;" class="confirmpassworderror">{tmpl_var name='password_mismatch_txt'}</div>
+            <div id="confirmpasswordOK" style="display:none;" class="confirmpasswordok">{tmpl_var name='password_match_txt'}</div>
+            <div class="ctrlHolder">
+                <label for="stats_type">{tmpl_var name='stats_type_txt'}</label>
+                <select name="stats_type" id="stats_type" class="selectInput" >
+                    {tmpl_var name='stats_type'}
+                </select>
+            </div>
+        </fieldset>
+
+        <input type="hidden" name="id" value="{tmpl_var name='id'}">
+
+        <div class="buttonHolder buttons">
+            <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','sites/web_vhost_aliasdomain_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
+            <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('sites/web_vhost_aliasdomain_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
+        </div>
+    </div>
+
+</div>
diff --git a/interface/web/themes/default/templates/main.tpl.htm b/interface/web/themes/default/templates/main.tpl.htm
index 8c20f75656765bd1637adca6513e7e4ea9c3fb44..92c16c7cb4d1bf9df2a2e9fca1b6687d0c9420d3 100644
--- a/interface/web/themes/default/templates/main.tpl.htm
+++ b/interface/web/themes/default/templates/main.tpl.htm
@@ -14,6 +14,7 @@
         <link rel="shortcut icon" href="/themes/default/images/favicon.ico" />
         <script type="text/javascript" src="js/jquery-1.6.3.min.js"></script>
         <script type="text/javascript" src="js/jquery-ui-1.8.16.custom.min.js"></script>
+        <script type="text/javascript" src="js/chosen/chosen.jquery.min.js"></script>
         <script type="text/javascript" src="js/scrigo.js.php"></script>
         <script type="text/javascript" src="js/uni-form/uni-form.jquery.js"></script>
         <script type="text/javascript" src="js/jquery.ispconfigsearch.js"></script>
diff --git a/interface/web/themes/default_64_navimg/templates/main.tpl.htm b/interface/web/themes/default_64_navimg/templates/main.tpl.htm
index c0180e1e95cb565a2f93ef839d820899fc9fd738..b91f15b232fd5326e9de78ada642cde3f5ad8f62 100644
--- a/interface/web/themes/default_64_navimg/templates/main.tpl.htm
+++ b/interface/web/themes/default_64_navimg/templates/main.tpl.htm
@@ -59,7 +59,8 @@
     <link rel="shortcut icon" href="/themes/default_304/images/favicon.ico" />
     <script type="text/javascript" src="js/jquery-1.6.3.min.js"></script>
 	<script type="text/javascript" src="js/jquery-ui-1.8.16.custom.min.js"></script>
-    <script type="text/javascript" src="js/scrigo.js.php"></script>
+    <script type="text/javascript" src="js/chosen/chosen.jquery.min.js"></script>
+        <script type="text/javascript" src="js/scrigo.js.php"></script>
     <script type="text/javascript" src="js/uni-form/uni-form.jquery.js"></script>
 	<script type="text/javascript" src="js/jquery.ispconfigsearch.js"></script>
 	<script type="text/javascript" src="js/jquery.tipsy.js"></script>
diff --git a/interface/web/themes/default_combobox/templates/main.tpl.htm b/interface/web/themes/default_combobox/templates/main.tpl.htm
index 142794e07ae03b31afce26c3001b936e3471ab94..02830afa3cebce2defb2748c6808632684d84521 100644
--- a/interface/web/themes/default_combobox/templates/main.tpl.htm
+++ b/interface/web/themes/default_combobox/templates/main.tpl.htm
@@ -59,7 +59,8 @@
     <link rel="shortcut icon" href="/themes/default_304/images/favicon.ico" />
     <script type="text/javascript" src="js/jquery-1.6.3.min.js"></script>
     <script type="text/javascript" src="js/jquery-ui-1.8.16.custom.min.js"></script>
-    <script type="text/javascript" src="js/scrigo.js.php"></script>
+    <script type="text/javascript" src="js/chosen/chosen.jquery.min.js"></script>
+        <script type="text/javascript" src="js/scrigo.js.php"></script>
     <script type="text/javascript" src="js/uni-form/uni-form.jquery.js"></script>
 	<script type="text/javascript" src="js/jquery.ispconfigsearch.js"></script>
 	<script type="text/javascript" src="js/jquery.tipsy.js"></script>
diff --git a/interface/web/themes/default_no_navimg/templates/main.tpl.htm b/interface/web/themes/default_no_navimg/templates/main.tpl.htm
index 5f45a0af9ebf5985af7acd9eada91e0345fc64b8..bd5ace99e869b7ceff2f2ab4762c690e26f9df22 100644
--- a/interface/web/themes/default_no_navimg/templates/main.tpl.htm
+++ b/interface/web/themes/default_no_navimg/templates/main.tpl.htm
@@ -59,7 +59,8 @@
     <link rel="shortcut icon" href="/themes/default_304/images/favicon.ico" />
     <script type="text/javascript" src="js/jquery-1.6.3.min.js"></script>
 	<script type="text/javascript" src="js/jquery-ui-1.8.16.custom.min.js"></script>
-    <script type="text/javascript" src="js/scrigo.js.php"></script>
+    <script type="text/javascript" src="js/chosen/chosen.jquery.min.js"></script>
+        <script type="text/javascript" src="js/scrigo.js.php"></script>
     <script type="text/javascript" src="js/uni-form/uni-form.jquery.js"></script>
 	<script type="text/javascript" src="js/jquery.ispconfigsearch.js"></script>
 	<script type="text/javascript" src="js/jquery.tipsy.js"></script>
diff --git a/server/lib/classes/aps_installer.inc.php b/server/lib/classes/aps_installer.inc.php
index 2925c7a5418bc06b22e0f60cdaf697390313ba56..5fac926c913108d07dd03fedb01f91956dfa417e 100644
--- a/server/lib/classes/aps_installer.inc.php
+++ b/server/lib/classes/aps_installer.inc.php
@@ -277,7 +277,8 @@ class ApsInstaller extends ApsBase
 		if(substr($this->document_root, -1) != '/') $this->document_root .= '/';
 
 		// Attention: ISPConfig Special: web files are in subfolder 'web' -> append it:
-		if($domain_res['type'] == 'vhostsubdomain') $this->document_root .= $domain_res['web_folder'] . '/';
+        if(($domain_res['type'] == 'vhostsubdomain') || ($domain_res['type'] == 'vhostalias'))
+        	$this->document_root .= $domain_res['web_folder'] . '/';
 		else $this->document_root .= 'web/';
 
 		// If a subfolder is given, make sure it's path doesn't begin with / i.e. /phpbb
diff --git a/server/lib/classes/cron.d/150-awstats.inc.php b/server/lib/classes/cron.d/150-awstats.inc.php
index 5b54a181cf3e5b4842c990c39655052e6e81f4d0..9803a89f13f4724a3f45accc4e879d4416998d6e 100644
--- a/server/lib/classes/cron.d/150-awstats.inc.php
+++ b/server/lib/classes/cron.d/150-awstats.inc.php
@@ -54,7 +54,7 @@ class cronjob_awstats extends cronjob {
 		// Create awstats statistics
 		//######################################################################################################
 
-		$sql = "SELECT domain_id, domain, document_root, web_folder, type, system_user, system_group, parent_domain_id FROM web_domain WHERE (type = 'vhost' or type = 'vhostsubdomain') and stats_type = 'awstats' AND server_id = ".$conf['server_id'];
+		$sql = "SELECT domain_id, domain, document_root, web_folder, type, system_user, system_group, parent_domain_id FROM web_domain WHERE (type = 'vhost' or type = 'vhostsubdomain' or type = 'vhostalias') and stats_type = 'awstats' AND server_id = ".$conf['server_id'];
 		$records = $app->db->queryAllRecords($sql);
 
 		$web_config = $app->getconf->get_server_config($conf['server_id'], 'web');
@@ -64,7 +64,7 @@ class cronjob_awstats extends cronjob {
 			$yesterday = date('Ymd', strtotime("-1 day", time()));
 
 			$log_folder = 'log';
-			if($rec['type'] == 'vhostsubdomain') {
+			if($rec['type'] == 'vhostsubdomain' || $rec['type'] == 'vhostalias') {
 				$tmp = $app->db->queryOneRecord('SELECT `domain` FROM web_domain WHERE domain_id = '.intval($rec['parent_domain_id']));
 				$subdomain_host = preg_replace('/^(.*)\.' . preg_quote($tmp['domain'], '/') . '$/', '$1', $rec['domain']);
 				if($subdomain_host == '') $subdomain_host = 'web'.$rec['domain_id'];
@@ -78,7 +78,7 @@ class cronjob_awstats extends cronjob {
 					continue;
 				}
 			}
-			$web_folder = ($rec['type'] == 'vhostsubdomain' ? $rec['web_folder'] : 'web');
+			$web_folder = (($rec['type'] == 'vhostsubdomain' || $rec['type'] == 'vhostalias') ? $rec['web_folder'] : 'web');
 			$domain = escapeshellcmd($rec['domain']);
 			$statsdir = escapeshellcmd($rec['document_root'].'/'.$web_folder.'/stats');
 			$awstats_pl = $web_config['awstats_pl'];
diff --git a/server/lib/classes/cron.d/150-webalizer.inc.php b/server/lib/classes/cron.d/150-webalizer.inc.php
index fb1d76d4230791c76138ec0530c3ba8e3e3cb4a2..1f9a921f0d383f04cea5676789ba5afcfc9b0749 100644
--- a/server/lib/classes/cron.d/150-webalizer.inc.php
+++ b/server/lib/classes/cron.d/150-webalizer.inc.php
@@ -79,7 +79,7 @@ class cronjob_webalizer extends cronjob {
 		}
 
 
-		$sql = "SELECT domain_id, domain, document_root, web_folder, type, parent_domain_id FROM web_domain WHERE (type = 'vhost' or type = 'vhostsubdomain') and stats_type = 'webalizer' AND server_id = ".$conf['server_id'];
+		$sql = "SELECT domain_id, domain, document_root, web_folder, type, parent_domain_id FROM web_domain WHERE (type = 'vhost' or type = 'vhostsubdomain' or type = 'vhostalias') and stats_type = 'webalizer' AND server_id = ".$conf['server_id'];
 		$records = $app->db->queryAllRecords($sql);
 
 		foreach($records as $rec) {
@@ -87,7 +87,7 @@ class cronjob_webalizer extends cronjob {
 			$yesterday = date('Ymd', strtotime("-1 day", time()));
 
 			$log_folder = 'log';
-			if($rec['type'] == 'vhostsubdomain') {
+			if($rec['type'] == 'vhostsubdomain' || $rec['type'] == 'vhostalias') {
 				$tmp = $app->db->queryOneRecord('SELECT `domain` FROM web_domain WHERE domain_id = '.intval($rec['parent_domain_id']));
 				$subdomain_host = preg_replace('/^(.*)\.' . preg_quote($tmp['domain'], '/') . '$/', '$1', $rec['domain']);
 				if($subdomain_host == '') $subdomain_host = 'web'.$rec['domain_id'];
@@ -103,7 +103,7 @@ class cronjob_webalizer extends cronjob {
 			}
 
 			$domain = escapeshellcmd($rec['domain']);
-			$statsdir = escapeshellcmd($rec['document_root'].'/'.($rec['type'] == 'vhostsubdomain' ? $rec['web_folder'] : 'web').'/stats');
+			$statsdir = escapeshellcmd($rec['document_root'].'/'.(($rec['type'] == 'vhostsubdomain' || $rec['type'] == 'vhostalias') ? $rec['web_folder'] : 'web').'/stats');
 			$webalizer = '/usr/bin/webalizer';
 			$webalizer_conf_main = '/etc/webalizer/webalizer.conf';
 			$webalizer_conf = escapeshellcmd($rec['document_root'].'/log/webalizer.conf');
diff --git a/server/lib/classes/cron.d/200-logfiles.inc.php b/server/lib/classes/cron.d/200-logfiles.inc.php
index addbf216386a1e30e242fa53228c4975140729d2..ebf159c877d2d05e73ef52f5fd0df084fadd1961 100644
--- a/server/lib/classes/cron.d/200-logfiles.inc.php
+++ b/server/lib/classes/cron.d/200-logfiles.inc.php
@@ -60,7 +60,7 @@ class cronjob_logfiles extends cronjob {
 		// Manage and compress web logfiles and create traffic statistics
 		//######################################################################################################
 
-		$sql = "SELECT domain_id, domain, type, document_root, web_folder, parent_domain_id FROM web_domain WHERE (type = 'vhost' or type = 'vhostsubdomain') AND server_id = ".$conf['server_id'];
+		$sql = "SELECT domain_id, domain, type, document_root, web_folder, parent_domain_id FROM web_domain WHERE (type = 'vhost' or type = 'vhostsubdomain' or type = 'vhostalias') AND server_id = ".$conf['server_id'];
 		$records = $app->db->queryAllRecords($sql);
 		foreach($records as $rec) {
 
@@ -68,7 +68,7 @@ class cronjob_logfiles extends cronjob {
 			$yesterday = date('Ymd', time() - 86400);
 
 			$log_folder = 'log';
-			if($rec['type'] == 'vhostsubdomain') {
+			if($rec['type'] == 'vhostsubdomain' || $rec['type'] == 'vhostalias') {
 				$tmp = $app->db->queryOneRecord('SELECT `domain` FROM web_domain WHERE domain_id = '.intval($rec['parent_domain_id']));
 				$subdomain_host = preg_replace('/^(.*)\.' . preg_quote($tmp['domain'], '/') . '$/', '$1', $rec['domain']);
 				if($subdomain_host == '') $subdomain_host = 'web'.$rec['domain_id'];
diff --git a/server/lib/classes/cron.d/300-quota_notify.inc.php b/server/lib/classes/cron.d/300-quota_notify.inc.php
index 57f388f70cd2f74730fa900e96a4984e92f79c77..1d24e7c76556a9b1b829b46f613066f08278eaee 100644
--- a/server/lib/classes/cron.d/300-quota_notify.inc.php
+++ b/server/lib/classes/cron.d/300-quota_notify.inc.php
@@ -119,7 +119,7 @@ class cronjob_quota_notify extends cronjob {
 			$current_month = date('Y-m');
 
 			//* Check website traffic quota
-			$sql = "SELECT sys_groupid,domain_id,domain,traffic_quota,traffic_quota_lock FROM web_domain WHERE (traffic_quota > 0 or traffic_quota_lock = 'y') and (type = 'vhost' OR type = 'vhostsubdomain')";
+			$sql = "SELECT sys_groupid,domain_id,domain,traffic_quota,traffic_quota_lock FROM web_domain WHERE (traffic_quota > 0 or traffic_quota_lock = 'y') and (type = 'vhost' OR type = 'vhostsubdomain' OR type = 'vhostalias')";
 			$records = $app->db->queryAllRecords($sql);
 			if(is_array($records)) {
 				foreach($records as $rec) {
@@ -196,7 +196,7 @@ class cronjob_quota_notify extends cronjob {
 			$global_config = $app->getconf->get_global_config('mail');
 
 			//* Check website disk quota
-			$sql = "SELECT domain_id,sys_groupid,domain,system_user,last_quota_notification,DATEDIFF(CURDATE(), last_quota_notification) as `notified_before` FROM web_domain WHERE (type = 'vhost' OR type = 'vhostsubdomain')";
+			$sql = "SELECT domain_id,sys_groupid,domain,system_user,last_quota_notification,DATEDIFF(CURDATE(), last_quota_notification) as `notified_before` FROM web_domain WHERE (type = 'vhost' OR type = 'vhostsubdomain' OR type = 'vhostalias')";
 			$records = $app->db->queryAllRecords($sql);
 			if(is_array($records) && !empty($records)) {
 
diff --git a/server/lib/classes/cron.d/500-backup.inc.php b/server/lib/classes/cron.d/500-backup.inc.php
index 23e74955718f1941a6bd53e9dd3a78bbc8dfc278..4793d28843564885a860ffc8650a84b3745791d2 100644
--- a/server/lib/classes/cron.d/500-backup.inc.php
+++ b/server/lib/classes/cron.d/500-backup.inc.php
@@ -72,7 +72,7 @@ class cronjob_backup extends cronjob {
 				chmod(escapeshellcmd($backup_dir), $backup_dir_permissions);
 			}
 
-			$sql = "SELECT * FROM web_domain WHERE server_id = '".$conf['server_id']."' AND (type = 'vhost' OR type = 'vhostsubdomain') AND active = 'y'";
+			$sql = "SELECT * FROM web_domain WHERE server_id = '".$conf['server_id']."' AND (type = 'vhost' OR type = 'vhostsubdomain' OR type = 'vhostalias') AND active = 'y'";
 			$records = $app->db->queryAllRecords($sql);
 			if(is_array($records)) {
 				foreach($records as $rec) {
diff --git a/server/mods-available/rescue_core_module.inc.php b/server/mods-available/rescue_core_module.inc.php
index 9674691f02e330eeba2358314e0a2015f593c733..94d7ba6f88140c211c91b2aa7b674ceb0943a2b7 100644
--- a/server/mods-available/rescue_core_module.inc.php
+++ b/server/mods-available/rescue_core_module.inc.php
@@ -438,7 +438,7 @@ class rescue_core_module {
 	 * @param type $daemon the name of the daemon
 	 */
 	private function _rescueDaemon($daemon){
-		global $conf;
+		global $app, $conf;
 
 		$app->uses('system');
 		// if you need to find all restarts search for "['init_scripts']"
diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index c8a5e1ed325822558f7bf0953f5cad1e49960450..8940cfd58f0acf509c1b5d3af8ba3846ce3ef10c 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -131,7 +131,7 @@ class apache2_plugin {
 		foreach($web_domains as $web_data) {
 			$custom_php_ini_dir = $web_config['website_basedir'].'/conf/'.$web_data['system_user'];
 			$web_folder = 'web';
-			if($web_data['type'] == 'vhostsubdomain') {
+			if($web_data['type'] == 'vhostsubdomain' || $web_data['type'] == 'vhostalias') {
 				$web_folder = $web_data['web_folder'];
 				$custom_php_ini_dir .= '_' . $web_folder;
 			}
@@ -192,7 +192,7 @@ class apache2_plugin {
 			$app->log("CA path error, file does not exist:".$web_config['CA_path'].'/openssl.cnf', LOGLEVEL_ERROR);
 
 		//* Only vhosts can have a ssl cert
-		if($data["new"]["type"] != "vhost" && $data["new"]["type"] != "vhostsubdomain") return;
+		if($data["new"]["type"] != "vhost" && $data["new"]["type"] != "vhostsubdomain" && $data["new"]["type"] != "vhostalias") return;
 
 		// if(!is_dir($data['new']['document_root'].'/ssl')) exec('mkdir -p '.$data['new']['document_root'].'/ssl');
 		if(!is_dir($data['new']['document_root'].'/ssl')) $app->system->mkdirpath($data['new']['document_root'].'/ssl');
@@ -396,7 +396,7 @@ class apache2_plugin {
 
 		if($this->action != 'insert') $this->action = 'update';
 
-		if($data['new']['type'] != 'vhost' && $data['new']['type'] != 'vhostsubdomain' && $data['new']['parent_domain_id'] > 0) {
+		if($data['new']['type'] != 'vhost' && $data['new']['type'] != 'vhostsubdomain' && $data['new']['type'] != 'vhostalias' && $data['new']['parent_domain_id'] > 0) {
 
 			$old_parent_domain_id = intval($data['old']['parent_domain_id']);
 			$new_parent_domain_id = intval($data['new']['parent_domain_id']);
@@ -430,7 +430,7 @@ class apache2_plugin {
 		}
 
 		if($data['new']['document_root'] == '') {
-			if($data['new']['type'] == 'vhost' || $data['new']['type'] == 'vhostsubdomain') $app->log('document_root not set', LOGLEVEL_WARN);
+			if($data['new']['type'] == 'vhost' || $data['new']['type'] == 'vhostsubdomain' || $data['new']['type'] == 'vhostalias') $app->log('document_root not set', LOGLEVEL_WARN);
 			return 0;
 		}
 		if($data['new']['system_user'] == 'root' or $data['new']['system_group'] == 'root') {
@@ -444,7 +444,7 @@ class apache2_plugin {
 
 		$web_folder = 'web';
 		$log_folder = 'log';
-		if($data['new']['type'] == 'vhostsubdomain') {
+		if($data['new']['type'] == 'vhostsubdomain' || $data['new']['type'] == 'vhostalias') {
 			$tmp = $app->db->queryOneRecord('SELECT `domain` FROM web_domain WHERE domain_id = '.intval($data['new']['parent_domain_id']));
 			$subdomain_host = preg_replace('/^(.*)\.' . preg_quote($tmp['domain'], '/') . '$/', '$1', $data['new']['domain']);
 			if($subdomain_host == '') $subdomain_host = 'web'.$data['new']['domain_id'];
@@ -521,7 +521,7 @@ class apache2_plugin {
 			//* Remove protection of old folders
 			$app->system->web_folder_protection($data['old']['document_root'], false);
 
-			if($data["new"]["type"] != "vhostsubdomain") {
+			if($data["new"]["type"] != "vhostsubdomain" && $data["new"]["type"] != "vhostalias") {
 				//* Move the site data
 				$tmp_docroot = explode('/', $data['new']['document_root']);
 				unset($tmp_docroot[count($tmp_docroot)-1]);
@@ -677,7 +677,7 @@ class apache2_plugin {
 		// setting a local var here
 
 		// normally $conf['templates'] = "/usr/local/ispconfig/server/conf";
-		if($this->action == 'insert' && ($data['new']['type'] == 'vhost' || $data['new']['type'] == 'vhostsubdomain')) {
+		if($this->action == 'insert' && ($data['new']['type'] == 'vhost' || $data['new']['type'] == 'vhostsubdomain' || $data['new']['type'] == 'vhostalias')) {
 
 			// Copy the error pages
 			if($data['new']['errordocs']) {
@@ -723,7 +723,7 @@ class apache2_plugin {
 			exec('chmod -R a+r '.escapeshellcmd($data['new']['document_root']).'/' . $web_folder . '/');
 
 			//** Copy the error documents on update when the error document checkbox has been activated and was deactivated before
-		} elseif ($this->action == 'update' && ($data['new']['type'] == 'vhost' || $data['new']['type'] == 'vhostsubdomain') && $data['old']['errordocs'] == 0 && $data['new']['errordocs'] == 1) {
+		} elseif ($this->action == 'update' && ($data['new']['type'] == 'vhost' || $data['new']['type'] == 'vhostsubdomain' || $data['new']['type'] == 'vhostalias') && $data['old']['errordocs'] == 0 && $data['new']['errordocs'] == 1) {
 
 			$error_page_path = escapeshellcmd($data['new']['document_root']).'/' . $web_folder . '/error/';
 			if (file_exists($conf['rootpath'] . '/conf-custom/error/'.substr(escapeshellcmd($conf['language']), 0, 2))) {
@@ -741,7 +741,7 @@ class apache2_plugin {
 			exec('chown -R '.$data['new']['system_user'].':'.$data['new']['system_group'].' '.$error_page_path);
 		}  // end copy error docs
 
-		// Set the quota for the user, but only for vhosts, not vhostsubdomains
+		// Set the quota for the user, but only for vhosts, not vhostsubdomains or vhostalias
 		if($username != '' && $app->system->is_user($username) && $data['new']['type'] == 'vhost') {
 			if($data['new']['hd_quota'] > 0) {
 				$blocks_soft = $data['new']['hd_quota'] * 1024;
@@ -873,7 +873,9 @@ class apache2_plugin {
 				$app->system->chown($data['new']['document_root'].'/webdav', $username);
 				$app->system->chgrp($data['new']['document_root'].'/webdav', $groupname);
 			}
-		} elseif(($this->action == 'insert' && $data['new']['type'] == 'vhostsubdomain') or ($web_config['set_folder_permissions_on_update'] == 'y' && $data['new']['type'] == 'vhostsubdomain')) {
+		} elseif((($data['new']['type'] == 'vhostsubdomain') || ($data['new']['type'] == 'vhostalias')) &&
+				 (($this->action == 'insert') || ($web_config['set_folder_permissions_on_update'] == 'y'))) {
+
 			if($web_config['security_level'] == 20) {
 				$app->system->chmod($data['new']['document_root'].'/' . $web_folder, 0710);
 				$app->system->chown($data['new']['document_root'].'/' . $web_folder, $username);
@@ -905,7 +907,7 @@ class apache2_plugin {
 
 		//* Write the custom php.ini file, if custom_php_ini fieled is not empty
 		$custom_php_ini_dir = $web_config['website_basedir'].'/conf/'.$data['new']['system_user'];
-		if($data['new']['type'] == 'vhostsubdomain') $custom_php_ini_dir .= '_' . $web_folder;
+		if($data['new']['type'] == 'vhostsubdomain' || $data['new']['type'] == 'vhostalias') $custom_php_ini_dir .= '_' . $web_folder;
 		if(!is_dir($web_config['website_basedir'].'/conf')) $app->system->mkdir($web_config['website_basedir'].'/conf');
 
 		//* add open_basedir restriction to custom php.ini content, required for suphp only
@@ -1088,7 +1090,7 @@ class apache2_plugin {
 		}
 
 		// get alias domains (co-domains and subdomains)
-		$aliases = $app->db->queryAllRecords('SELECT * FROM web_domain WHERE parent_domain_id = '.$data['new']['domain_id']." AND active = 'y' AND type != 'vhostsubdomain'");
+		$aliases = $app->db->queryAllRecords('SELECT * FROM web_domain WHERE parent_domain_id = '.$data['new']['domain_id']." AND active = 'y' AND (type != 'vhostsubdomain' OR type != 'vhostalias')");
 		$alias_seo_redirects = array();
 		switch($data['new']['subdomain']) {
 		case 'www':
@@ -1258,7 +1260,7 @@ class apache2_plugin {
 			$php_open_basedir = ($data['new']['php_open_basedir'] == '')?$data['new']['document_root']:$data['new']['php_open_basedir'];
 			$fcgi_tpl->setVar('open_basedir', escapeshellcmd($php_open_basedir));
 
-			$fcgi_starter_script = escapeshellcmd($fastcgi_starter_path.$fastcgi_config['fastcgi_starter_script'].($data['new']['type'] == 'vhostsubdomain' ? '_web' . $data['new']['domain_id'] : ''));
+			$fcgi_starter_script = escapeshellcmd($fastcgi_starter_path.$fastcgi_config['fastcgi_starter_script'].(($data['new']['type'] == 'vhostsubdomain' || $data['new']['type'] == 'vhostalias') ? '_web' . $data['new']['domain_id'] : ''));
 			$app->system->file_put_contents($fcgi_starter_script, $fcgi_tpl->grab());
 			unset($fcgi_tpl);
 
@@ -1270,7 +1272,7 @@ class apache2_plugin {
 
 			$tpl->setVar('fastcgi_alias', $fastcgi_config['fastcgi_alias']);
 			$tpl->setVar('fastcgi_starter_path', $fastcgi_starter_path);
-			$tpl->setVar('fastcgi_starter_script', $fastcgi_config['fastcgi_starter_script'].($data['new']['type'] == 'vhostsubdomain' ? '_web' . $data['new']['domain_id'] : ''));
+			$tpl->setVar('fastcgi_starter_script', $fastcgi_config['fastcgi_starter_script'].(($data['new']['type'] == 'vhostsubdomain' || $data['new']['type'] == 'vhostalias') ? '_web' . $data['new']['domain_id'] : ''));
 			$tpl->setVar('fastcgi_config_syntax', $fastcgi_config['fastcgi_config_syntax']);
 			$tpl->setVar('fastcgi_max_requests', $fastcgi_config['fastcgi_max_requests']);
 
@@ -1349,7 +1351,7 @@ class apache2_plugin {
 			//$cgi_config = $app->getconf->get_server_config($conf['server_id'], 'cgi');
 
 			$cgi_config['cgi_starter_path'] = $web_config['website_basedir'].'/php-cgi-scripts/[system_user]/';
-			$cgi_config['cgi_starter_script'] = 'php-cgi-starter'.($data['new']['type'] == 'vhostsubdomain' ? '_web' . $data['new']['domain_id'] : '');
+			$cgi_config['cgi_starter_script'] = 'php-cgi-starter'.(($data['new']['type'] == 'vhostsubdomain' || $data['new']['type'] == 'vhostalias') ? '_web' . $data['new']['domain_id'] : '');
 			$cgi_config['cgi_bin'] = '/usr/bin/php-cgi';
 
 			$cgi_starter_path = str_replace('[system_user]', $data['new']['system_user'], $cgi_config['cgi_starter_path']);
@@ -1385,7 +1387,7 @@ class apache2_plugin {
 				$cgi_tpl->setVar('php_ini_path', escapeshellcmd($fastcgi_config['fastcgi_phpini_path']));
 			}
 
-			$cgi_starter_script = escapeshellcmd($cgi_starter_path.$cgi_config['cgi_starter_script'].($data['new']['type'] == 'vhostsubdomain' ? '_web' . $data['new']['domain_id'] : ''));
+			$cgi_starter_script = escapeshellcmd($cgi_starter_path.$cgi_config['cgi_starter_script'].(($data['new']['type'] == 'vhostsubdomain' || $data['new']['type'] == 'vhostalias') ? '_web' . $data['new']['domain_id'] : ''));
 			$app->system->file_put_contents($cgi_starter_script, $cgi_tpl->grab());
 			unset($cgi_tpl);
 
@@ -1397,7 +1399,7 @@ class apache2_plugin {
 			$app->system->chgrp($cgi_starter_script, $data['new']['system_group']);
 
 			$tpl->setVar('cgi_starter_path', $cgi_starter_path);
-			$tpl->setVar('cgi_starter_script', $cgi_config['cgi_starter_script'].($data['new']['type'] == 'vhostsubdomain' ? '_web' . $data['new']['domain_id'] : ''));
+			$tpl->setVar('cgi_starter_script', $cgi_config['cgi_starter_script'].(($data['new']['type'] == 'vhostsubdomain' || $data['new']['type'] == 'vhostalias') ? '_web' . $data['new']['domain_id'] : ''));
 
 		}
 
@@ -1561,7 +1563,7 @@ class apache2_plugin {
 		}
 
 		//* Create awstats configuration
-		if($data['new']['stats_type'] == 'awstats' && ($data['new']['type'] == 'vhost' || $data['new']['type'] == 'vhostsubdomain')) {
+		if($data['new']['stats_type'] == 'awstats' && ($data['new']['type'] == 'vhost' || $data['new']['type'] == 'vhostsubdomain' || $data['new']['type'] == 'vhostalias')) {
 			$this->awstats_update($data, $web_config);
 		}
 
@@ -1718,7 +1720,7 @@ class apache2_plugin {
 		$web_config = $app->getconf->get_server_config($conf['server_id'], 'web');
 		$fastcgi_config = $app->getconf->get_server_config($conf['server_id'], 'fastcgi');
 
-		if($data['old']['type'] == 'vhost' || $data['old']['type'] == 'vhostsubdomain') $app->system->web_folder_protection($data['old']['document_root'], false);
+		if($data['old']['type'] == 'vhost' || $data['old']['type'] == 'vhostsubdomain' || $data['old']['type'] == 'vhostalias') $app->system->web_folder_protection($data['old']['document_root'], false);
 
 		//* Check if this is a chrooted setup
 		if($web_config['website_basedir'] != '' && @is_file($web_config['website_basedir'].'/etc/passwd')) {
@@ -1730,7 +1732,7 @@ class apache2_plugin {
 		//* Remove the mounts
 		$log_folder = 'log';
 		$web_folder = '';
-		if($data['old']['type'] == 'vhostsubdomain') {
+		if($data['old']['type'] == 'vhostsubdomain' || $data['old']['type'] == 'vhostalias') {
 			$tmp = $app->db->queryOneRecord('SELECT `domain`,`document_root` FROM web_domain WHERE domain_id = '.intval($data['old']['parent_domain_id']));
 			if($tmp['domain'] != ''){
 				$subdomain_host = preg_replace('/^(.*)\.' . preg_quote($tmp['domain'], '/') . '$/', '$1', $data['old']['domain']);
@@ -1776,7 +1778,7 @@ class apache2_plugin {
 			unset($subdomain_hosts);
 		}
 
-		if($data['old']['type'] == 'vhost' || $data['old']['type'] == 'vhostsubdomain'){
+		if($data['old']['type'] == 'vhost' || $data['old']['type'] == 'vhostsubdomain' || $data['old']['type'] == 'vhostalias'){
 			if(is_array($log_folders) && !empty($log_folders)){
 				foreach($log_folders as $log_folder){
 					//if($app->system->is_mounted($data['old']['document_root'].'/'.$log_folder)) exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$log_folder));
@@ -1800,7 +1802,7 @@ class apache2_plugin {
 		}
 		unset($log_folders);
 
-		if($data['old']['type'] != 'vhost' && $data['old']['type'] != 'vhostsubdomain' && $data['old']['parent_domain_id'] > 0) {
+		if($data['old']['type'] != 'vhost' && $data['old']['type'] != 'vhostsubdomain' && $data['old']['type'] != 'vhostalias' && $data['old']['parent_domain_id'] > 0) {
 			//* This is a alias domain or subdomain, so we have to update the website instead
 			$parent_domain_id = intval($data['old']['parent_domain_id']);
 			$tmp = $app->db->queryOneRecord('SELECT * FROM web_domain WHERE domain_id = '.$parent_domain_id." AND active = 'y'");
@@ -1834,7 +1836,7 @@ class apache2_plugin {
 			$app->system->unlink($vhost_file);
 			$app->log('Removing vhost file: '.$vhost_file, LOGLEVEL_DEBUG);
 
-			if($data['old']['type'] == 'vhost' || $data['old']['type'] == 'vhostsubdomain') {
+			if($data['old']['type'] == 'vhost' || $data['old']['type'] == 'vhostsubdomain' || $data['old']['type'] == 'vhostalias') {
 				$docroot = escapeshellcmd($data['old']['document_root']);
 				if($docroot != '' && !stristr($docroot, '..')) {
 					if($data['old']['type'] == 'vhost') {
@@ -1855,9 +1857,9 @@ class apache2_plugin {
 							// we use strict check as otherwise directories named '0' may not be deleted
 							$do_delete = false;
 						} else {
-							// read all vhost subdomains with same parent domain
+							// read all vhost subdomains and alias with same parent domain
 							$used_paths = array();
-							$tmp = $app->db->queryAllRecords("SELECT `web_folder` FROM web_domain WHERE type = 'vhostsubdomain' AND parent_domain_id = ".intval($data['old']['parent_domain_id'])." AND domain_id != ".intval($data['old']['domain_id']));
+							$tmp = $app->db->queryAllRecords("SELECT `web_folder` FROM web_domain WHERE (type = 'vhostsubdomain' OR type = 'vhostalias') AND parent_domain_id = ".intval($data['old']['parent_domain_id'])." AND domain_id != ".intval($data['old']['domain_id']));
 							foreach($tmp as $tmprec) {
 								// we normalize the folder entries because we need to compare them
 								$tmp_folder = preg_replace('/[\/]{2,}/', '/', $tmprec['web_folder']); // replace / occuring multiple times
@@ -1976,7 +1978,7 @@ class apache2_plugin {
 				$this->awstats_delete($data, $web_config);
 			}
 
-			if($data['old']['type'] == 'vhostsubdomain') {
+			if($data['old']['type'] == 'vhostsubdomain' || $data['old']['type'] == 'vhostalias') {
 				$app->system->web_folder_protection($parent_web_document_root, true);
 			}
 
@@ -2087,7 +2089,7 @@ class apache2_plugin {
 		}
 
 		$web_folder = 'web';
-		if($website['type'] == 'vhostsubdomain') $web_folder = $website['web_folder'];
+		if($website['type'] == 'vhostsubdomain' || $website['type'] == 'vhostalias') $web_folder = $website['web_folder'];
 
 		//* Get the folder path.
 		if(substr($folder['path'], 0, 1) == '/') $folder['path'] = substr($folder['path'], 1);
@@ -2188,7 +2190,7 @@ class apache2_plugin {
 		}
 
 		$web_folder = 'web';
-		if($website['type'] == 'vhostsubdomain') $web_folder = $website['web_folder'];
+		if($website['type'] == 'vhostsubdomain' || $website['type'] == 'vhostalias') $web_folder = $website['web_folder'];
 
 		//* Get the folder path.
 		if(substr($folder['path'], 0, 1) == '/') $folder['path'] = substr($folder['path'], 1);
@@ -2243,7 +2245,7 @@ class apache2_plugin {
 		}
 
 		$web_folder = 'web';
-		if($website['type'] == 'vhostsubdomain') $web_folder = $website['web_folder'];
+		if($website['type'] == 'vhostsubdomain' || $website['type'] == 'vhostalias') $web_folder = $website['web_folder'];
 
 		//* Get the folder path.
 		if(substr($data['old']['path'], 0, 1) == '/') $data['old']['path'] = substr($data['old']['path'], 1);
diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php
index 1a6e57ba0f601480e41340775f5d699729e448b4..abe085862c39397535b03c45d4cb6f81f3440125 100644
--- a/server/plugins-available/nginx_plugin.inc.php
+++ b/server/plugins-available/nginx_plugin.inc.php
@@ -102,7 +102,7 @@ class nginx_plugin {
 			$app->log("CA path error, file does not exist:".$web_config['CA_path'].'/openssl.cnf', LOGLEVEL_ERROR);
 
 		//* Only vhosts can have a ssl cert
-		if($data["new"]["type"] != "vhost" && $data["new"]["type"] != "vhostsubdomain") return;
+		if($data["new"]["type"] != "vhost" && $data["new"]["type"] != "vhostsubdomain" && $data["new"]["type"] != "vhostalias") return;
 
 		// if(!is_dir($data['new']['document_root'].'/ssl')) exec('mkdir -p '.$data['new']['document_root'].'/ssl');
 		if(!is_dir($data['new']['document_root'].'/ssl')) $app->system->mkdirpath($data['new']['document_root'].'/ssl');
@@ -314,7 +314,7 @@ class nginx_plugin {
 
 		if($this->action != 'insert') $this->action = 'update';
 
-		if($data['new']['type'] != 'vhost' && $data['new']['type'] != 'vhostsubdomain' && $data['new']['parent_domain_id'] > 0) {
+		if($data['new']['type'] != 'vhost' && $data['new']['type'] != 'vhostsubdomain' && $data['new']['type'] != 'vhostalias' && $data['new']['parent_domain_id'] > 0) {
 
 			$old_parent_domain_id = intval($data['old']['parent_domain_id']);
 			$new_parent_domain_id = intval($data['new']['parent_domain_id']);
@@ -348,7 +348,7 @@ class nginx_plugin {
 		}
 
 		if($data['new']['document_root'] == '') {
-			if($data['new']['type'] == 'vhost' || $data['new']['type'] == 'vhostsubdomain') $app->log('document_root not set', LOGLEVEL_WARN);
+			if($data['new']['type'] == 'vhost' || $data['new']['type'] == 'vhostsubdomain' || $data['new']['type'] == 'vhostalias') $app->log('document_root not set', LOGLEVEL_WARN);
 			return 0;
 		}
 		if($data['new']['system_user'] == 'root' or $data['new']['system_group'] == 'root') {
@@ -362,7 +362,7 @@ class nginx_plugin {
 
 		$web_folder = 'web';
 		$log_folder = 'log';
-		if($data['new']['type'] == 'vhostsubdomain') {
+		if($data['new']['type'] == 'vhostsubdomain' || $data['new']['type'] == 'vhostalias') {
 			$tmp = $app->db->queryOneRecord('SELECT `domain` FROM web_domain WHERE domain_id = '.intval($data['new']['parent_domain_id']));
 			$subdomain_host = preg_replace('/^(.*)\.' . preg_quote($tmp['domain'], '/') . '$/', '$1', $data['new']['domain']);
 			if($subdomain_host == '') $subdomain_host = 'web'.$data['new']['domain_id'];
@@ -436,7 +436,7 @@ class nginx_plugin {
 				}
 			}
 
-			if($data["new"]["type"] != "vhostsubdomain") {
+			if($data["new"]["type"] != "vhostsubdomain" && $data["new"]["type"] != "vhostalias") {
 				//* Move the site data
 				$tmp_docroot = explode('/', $data['new']['document_root']);
 				unset($tmp_docroot[count($tmp_docroot)-1]);
@@ -592,7 +592,7 @@ class nginx_plugin {
 		// setting a local var here
 
 		// normally $conf['templates'] = "/usr/local/ispconfig/server/conf";
-		if($this->action == 'insert' && ($data['new']['type'] == 'vhost' || $data['new']['type'] == 'vhostsubdomain')) {
+		if($this->action == 'insert' && ($data['new']['type'] == 'vhost' || $data['new']['type'] == 'vhostsubdomain' || $data['new']['type'] == 'vhostalias')) {
 
 			// Copy the error pages
 			if($data['new']['errordocs']) {
@@ -638,7 +638,7 @@ class nginx_plugin {
 			exec('chmod -R a+r '.escapeshellcmd($data['new']['document_root']).'/' . $web_folder . '/');
 
 			//** Copy the error documents on update when the error document checkbox has been activated and was deactivated before
-		} elseif ($this->action == 'update' && ($data['new']['type'] == 'vhost' || $data['new']['type'] == 'vhostsubdomain') && $data['old']['errordocs'] == 0 && $data['new']['errordocs'] == 1) {
+		} elseif ($this->action == 'update' && ($data['new']['type'] == 'vhost' || $data['new']['type'] == 'vhostsubdomain' || $data['new']['type'] == 'vhostalias') && $data['old']['errordocs'] == 0 && $data['new']['errordocs'] == 1) {
 
 			$error_page_path = escapeshellcmd($data['new']['document_root']).'/' . $web_folder . '/error/';
 			if (file_exists($conf['rootpath'] . '/conf-custom/error/'.substr(escapeshellcmd($conf['language']), 0, 2))) {
@@ -656,7 +656,7 @@ class nginx_plugin {
 			exec('chown -R '.$data['new']['system_user'].':'.$data['new']['system_group'].' '.$error_page_path);
 		}  // end copy error docs
 
-		// Set the quota for the user, but only for vhosts, not vhostsubdomains
+		// Set the quota for the user, but only for vhosts, not vhostsubdomains or vhostalias
 		if($username != '' && $app->system->is_user($username) && $data['new']['type'] == 'vhost') {
 			if($data['new']['hd_quota'] > 0) {
 				$blocks_soft = $data['new']['hd_quota'] * 1024;
@@ -788,7 +788,9 @@ class nginx_plugin {
 				//$app->system->chown($data['new']['document_root'].'/webdav',$username);
 				//$app->system->chgrp($data['new']['document_root'].'/webdav',$groupname);
 			}
-		} elseif(($this->action == 'insert' && $data['new']['type'] == 'vhostsubdomain') or ($web_config['set_folder_permissions_on_update'] == 'y' && $data['new']['type'] == 'vhostsubdomain')) {
+		} elseif((($data['new']['type'] == 'vhostsubdomain') || ($data['new']['type'] == 'vhostalias')) &&
+				 (($this->action == 'insert') || ($web_config['set_folder_permissions_on_update'] == 'y'))) {
+
 			if($web_config['security_level'] == 20) {
 				$app->system->chmod($data['new']['document_root'].'/' . $web_folder, 0710);
 				$app->system->chown($data['new']['document_root'].'/' . $web_folder, $username);
@@ -1293,7 +1295,7 @@ class nginx_plugin {
 		}
 
 		// get alias domains (co-domains and subdomains)
-		$aliases = $app->db->queryAllRecords('SELECT * FROM web_domain WHERE parent_domain_id = '.$data['new']['domain_id']." AND active = 'y' AND type != 'vhostsubdomain'");
+		$aliases = $app->db->queryAllRecords('SELECT * FROM web_domain WHERE parent_domain_id = '.$data['new']['domain_id']." AND active = 'y' AND (type != 'vhostsubdomain' OR type != 'vhostalias')");
 		$alias_seo_redirects = array();
 		if(is_array($aliases)) {
 			foreach($aliases as $alias) {
@@ -1610,7 +1612,7 @@ class nginx_plugin {
 		}
 
 		//* Create awstats configuration
-		if($data['new']['stats_type'] == 'awstats' && ($data['new']['type'] == 'vhost' || $data['new']['type'] == 'vhostsubdomain')) {
+		if($data['new']['stats_type'] == 'awstats' && ($data['new']['type'] == 'vhost' || $data['new']['type'] == 'vhostsubdomain' || $data['new']['type'] == 'vhostalias')) {
 			$this->awstats_update($data, $web_config);
 		}
 
@@ -1728,7 +1730,7 @@ class nginx_plugin {
 		$app->uses('system');
 		$web_config = $app->getconf->get_server_config($conf['server_id'], 'web');
 
-		if($data['old']['type'] == 'vhost' || $data['old']['type'] == 'vhostsubdomain') $app->system->web_folder_protection($data['old']['document_root'], false);
+		if($data['old']['type'] == 'vhost' || $data['old']['type'] == 'vhostsubdomain' || $data['old']['type'] == 'vhostalias') $app->system->web_folder_protection($data['old']['document_root'], false);
 
 		//* Check if this is a chrooted setup
 		if($web_config['website_basedir'] != '' && @is_file($web_config['website_basedir'].'/etc/passwd')) {
@@ -1740,7 +1742,7 @@ class nginx_plugin {
 		//* Remove the mounts
 		$log_folder = 'log';
 		$web_folder = '';
-		if($data['old']['type'] == 'vhostsubdomain') {
+		if($data['old']['type'] == 'vhostsubdomain' || $data['old']['type'] == 'vhostalias') {
 			$tmp = $app->db->queryOneRecord('SELECT `domain`,`document_root` FROM web_domain WHERE domain_id = '.intval($data['old']['parent_domain_id']));
 			if($tmp['domain'] != ''){
 				$subdomain_host = preg_replace('/^(.*)\.' . preg_quote($tmp['domain'], '/') . '$/', '$1', $data['old']['domain']);
@@ -1786,7 +1788,7 @@ class nginx_plugin {
 			unset($subdomain_hosts);
 		}
 
-		if($data['old']['type'] == 'vhost' || $data['old']['type'] == 'vhostsubdomain'){
+		if($data['old']['type'] == 'vhost' || $data['old']['type'] == 'vhostsubdomain' || $data['old']['type'] == 'vhostalias'){
 			if(is_array($log_folders) && !empty($log_folders)){
 				foreach($log_folders as $log_folder){
 					//if($app->system->is_mounted($data['old']['document_root'].'/'.$log_folder)) exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$log_folder));
@@ -1810,7 +1812,7 @@ class nginx_plugin {
 		}
 		unset($log_folders);
 
-		if($data['old']['type'] != 'vhost' && $data['old']['type'] != 'vhostsubdomain' && $data['old']['parent_domain_id'] > 0) {
+		if($data['old']['type'] != 'vhost' && $data['old']['type'] != 'vhostsubdomain' && $data['old']['type'] != 'vhostalias' && $data['old']['parent_domain_id'] > 0) {
 			//* This is a alias domain or subdomain, so we have to update the website instead
 			$parent_domain_id = intval($data['old']['parent_domain_id']);
 			$tmp = $app->db->queryOneRecord('SELECT * FROM web_domain WHERE domain_id = '.$parent_domain_id." AND active = 'y'");
@@ -1844,7 +1846,7 @@ class nginx_plugin {
 			$app->system->unlink($vhost_file);
 			$app->log('Removing vhost file: '.$vhost_file, LOGLEVEL_DEBUG);
 
-			if($data['old']['type'] == 'vhost' || $data['old']['type'] == 'vhostsubdomain') {
+			if($data['old']['type'] == 'vhost' || $data['old']['type'] == 'vhostsubdomain' || $data['old']['type'] == 'vhostalias') {
 				$docroot = escapeshellcmd($data['old']['document_root']);
 				if($docroot != '' && !stristr($docroot, '..')) {
 					if($data['old']['type'] == 'vhost') {
@@ -1867,7 +1869,7 @@ class nginx_plugin {
 						} else {
 							// read all vhost subdomains with same parent domain
 							$used_paths = array();
-							$tmp = $app->db->queryAllRecords("SELECT `web_folder` FROM web_domain WHERE type = 'vhostsubdomain' AND parent_domain_id = ".intval($data['old']['parent_domain_id'])." AND domain_id != ".intval($data['old']['domain_id']));
+							$tmp = $app->db->queryAllRecords("SELECT `web_folder` FROM web_domain WHERE (type = 'vhostsubdomain' OR type = 'vhostalias') AND parent_domain_id = ".intval($data['old']['parent_domain_id'])." AND domain_id != ".intval($data['old']['domain_id']));
 							foreach($tmp as $tmprec) {
 								// we normalize the folder entries because we need to compare them
 								$tmp_folder = preg_replace('/[\/]{2,}/', '/', $tmprec['web_folder']); // replace / occuring multiple times
@@ -2023,7 +2025,7 @@ class nginx_plugin {
 		}
 
 		$web_folder = 'web';
-		if($website['type'] == 'vhostsubdomain') $web_folder = $website['web_folder'];
+		if($website['type'] == 'vhostsubdomain' || $website['type'] == 'vhostalias') $web_folder = $website['web_folder'];
 
 		//* Get the folder path.
 		if(substr($folder['path'], 0, 1) == '/') $folder['path'] = substr($folder['path'], 1);
@@ -2102,7 +2104,7 @@ class nginx_plugin {
 		}
 
 		$web_folder = 'web';
-		if($website['type'] == 'vhostsubdomain') $web_folder = $website['web_folder'];
+		if($website['type'] == 'vhostsubdomain' || $website['type'] == 'vhostalias') $web_folder = $website['web_folder'];
 
 		//* Get the folder path.
 		if(substr($folder['path'], 0, 1) == '/') $folder['path'] = substr($folder['path'], 1);
@@ -2139,7 +2141,7 @@ class nginx_plugin {
 		}
 
 		$web_folder = 'web';
-		if($website['type'] == 'vhostsubdomain') $web_folder = $website['web_folder'];
+		if($website['type'] == 'vhostsubdomain' || $website['type'] == 'vhostalias') $web_folder = $website['web_folder'];
 
 		//* Get the folder path.
 		if(substr($data['old']['path'], 0, 1) == '/') $data['old']['path'] = substr($data['old']['path'], 1);
@@ -2210,7 +2212,7 @@ class nginx_plugin {
 					$website_auth_location['path'] .= '/';
 				}
 				$basic_auth_locations[] = array('htpasswd_location' => '/'.$website_auth_location['path'],
-					'htpasswd_path' => $website['document_root'].'/' . ($website['type'] == 'vhostsubdomain' ? $website['web_folder'] : 'web') . '/'.$website_auth_location['path']);
+					'htpasswd_path' => $website['document_root'].'/' . (($website['type'] == 'vhostsubdomain' || $website['type'] == 'vhostalias') ? $website['web_folder'] : 'web') . '/'.$website_auth_location['path']);
 			}
 		}
 		return $basic_auth_locations;
@@ -2722,7 +2724,7 @@ class nginx_plugin {
 				// web domain doesn't match hostname
 				if(substr($hostname, -strlen($web['domain'])) != $web['domain']) continue;
 				// own vhost and therefore server {} container of its own
-				//if($web['type'] == 'vhostsubdomain') continue;
+				//if($web['type'] == 'vhostsubdomain' || $web['type'] == 'vhostalias') continue;
 				// alias domains/subdomains using rewrites and therefore a server {} container of their own
 				//if(($web['type'] == 'alias' || $web['type'] == 'subdomain') && $web['redirect_type'] != '' && $web['redirect_path'] != '') continue;
 
@@ -2733,7 +2735,7 @@ class nginx_plugin {
 					if($web['domain'] == $hostname){
 						if($web['domain_id'] == $domain_id || $web['parent_domain_id'] == $domain_id){
 							// own vhost and therefore server {} container of its own
-							if($web['type'] == 'vhostsubdomain') return false;
+							if($web['type'] == 'vhostsubdomain' || $web['type'] == 'vhostalias') return false;
 							// alias domains/subdomains using rewrites and therefore a server {} container of their own
 							if(($web['type'] == 'alias' || $web['type'] == 'subdomain') && $web['redirect_type'] != '' && $web['redirect_path'] != '') return false;
 							return true;
@@ -2747,7 +2749,7 @@ class nginx_plugin {
 					if($web['domain'] == $hostname || $web['subdomain'].'.'.$web['domain'] == $hostname){
 						if($web['domain_id'] == $domain_id || $web['parent_domain_id'] == $domain_id){
 							// own vhost and therefore server {} container of its own
-							if($web['type'] == 'vhostsubdomain') return false;
+							if($web['type'] == 'vhostsubdomain' || $web['type'] == 'vhostalias') return false;
 							// alias domains/subdomains using rewrites and therefore a server {} container of their own
 							if(($web['type'] == 'alias' || $web['type'] == 'subdomain') && $web['redirect_type'] != '' && $web['redirect_path'] != '') return false;
 							return true;
@@ -2760,7 +2762,7 @@ class nginx_plugin {
 				if(preg_match($pattern, $hostname)){
 					if($web['domain_id'] == $domain_id || $web['parent_domain_id'] == $domain_id){
 						// own vhost and therefore server {} container of its own
-						if($web['type'] == 'vhostsubdomain') return false;
+						if($web['type'] == 'vhostsubdomain' || $web['type'] == 'vhostalias') return false;
 						// alias domains/subdomains using rewrites and therefore a server {} container of their own
 						if(($web['type'] == 'alias' || $web['type'] == 'subdomain') && $web['redirect_type'] != '' && $web['redirect_path'] != '') return false;
 						return true;
diff --git a/server/plugins-available/nginx_reverseproxy_plugin.inc.php b/server/plugins-available/nginx_reverseproxy_plugin.inc.php
index a17c5ba227ee02da923e4281d95b444cabdf7aaa..1f68649fbfa885c32f990905212983320cd8b018 100644
--- a/server/plugins-available/nginx_reverseproxy_plugin.inc.php
+++ b/server/plugins-available/nginx_reverseproxy_plugin.inc.php
@@ -63,7 +63,7 @@ class nginx_reverseproxy_plugin {
 
 		if($this->action != 'insert') $this->action = 'update';
 
-		if($data['new']['type'] != 'vhost' && $data['new']['type'] != 'vhostsubdomain' && $data['new']['parent_domain_id'] > 0) {
+		if($data['new']['type'] != 'vhost' && $data['new']['type'] != 'vhostsubdomain' && $data['new']['type'] != 'vhostalias' && $data['new']['parent_domain_id'] > 0) {
 
 			$old_parent_domain_id = intval($data['old']['parent_domain_id']);
 			$new_parent_domain_id = intval($data['new']['parent_domain_id']);
@@ -130,7 +130,7 @@ class nginx_reverseproxy_plugin {
 
 
 		// get alias domains (co-domains and subdomains)
-		$aliases = $app->dbmaster->queryAllRecords('SELECT * FROM web_domain WHERE parent_domain_id = '.$data['new']['domain_id']." AND type != 'vhostsubdomain' AND active = 'y'");
+		$aliases = $app->dbmaster->queryAllRecords('SELECT * FROM web_domain WHERE parent_domain_id = '.$data['new']['domain_id']." AND (type != 'vhostsubdomain' OR type != 'vhostalias') AND active = 'y'");
 		$server_alias = array();
 		switch($data['new']['subdomain']) {
 		case 'www':
@@ -280,7 +280,7 @@ class nginx_reverseproxy_plugin {
 		$nginx_config = $app->getconf->get_server_config($conf['server_id'], 'web');
 
 
-		if($data['old']['type'] == 'vhost' || $data['old']['type'] == 'vhostsubdomain') {
+		if($data['old']['type'] == 'vhost' || $data['old']['type'] == 'vhostsubdomain' || $data['old']['type'] == 'vhostalias') {
 
 			//* This is a website
 			// Deleting the vhost file, symlink and the data directory