**Tested on ispCP 1.0.5; running Ubuntu 9.10** This guide will allow you to access the different tools provided with ispCP (PhpMyAdmin, Filemanager, Webmail, etc..) to be acessible using the following addresses : - http://panel.your_company.org (ispCP Panel) - http://webmail.your_company.org (Webmail) - http://webftp.your_company.org (Filemanager) - http://pma.your_company.org (PhpMyAdmin) The standard addresses used by ispCP, such as http://your_company.org/pma (for PhpMyAdmin) or disabled by default in this tutorial. ====== Updating DNS files ====== vim /etc/ispcp/bind/parts/db_e.tpl Find : ; CNAME for web transfer ftp IN CNAME www Add after : * IN A {DMN_IP} Save & close. ====== Updating Apache files ====== Open up the file for domain aliases : vim /etc/ispcp/apache/parts/als_entry.tpl Replace : ServerAlias www.{ALS_NAME} {ALS_NAME} *.{ALS_NAME} By : ServerAlias www.{ALS_NAME} ftp.{ALS_NAME} Replace : RedirectMatch permanent ^/ftp([\/]?) {BASE_SERVER_VHOST_PREFIX}{BASE_SERVER_VHOST}/ftp/ RedirectMatch permanent ^/pma([\/]?) {BASE_SERVER_VHOST_PREFIX}{BASE_SERVER_VHOST}/pma/ RedirectMatch permanent ^/webmail([\/]?) {BASE_SERVER_VHOST_PREFIX}{BASE_SERVER_VHOST}/webmail/ RedirectMatch permanent ^/ispcp([\/]?) {BASE_SERVER_VHOST_PREFIX}{BASE_SERVER_VHOST}/ By : #RedirectMatch permanent ^/ftp([\/]?) {BASE_SERVER_VHOST_PREFIX}{BASE_SERVER_VHOST}/ftp/ #RedirectMatch permanent ^/pma([\/]?) {BASE_SERVER_VHOST_PREFIX}{BASE_SERVER_VHOST}/pma/ #RedirectMatch permanent ^/webmail([\/]?) {BASE_SERVER_VHOST_PREFIX}{BASE_SERVER_VHOST}/webmail/ #RedirectMatch permanent ^/ispcp([\/]?) {BASE_SERVER_VHOST_PREFIX}{BASE_SERVER_VHOST}/ Save & close. Open up the file for domains : vim /etc/ispcp/apache/parts/dmn_entry.tpl Replace : ServerAlias www.{DMN_NAME} {DMN_NAME} *.{DMN_NAME} {SUEXEC_USER}.{BASE_SERVER_VHOST} By : ServerAlias www.{DMN_NAME} ftp.{DMN_NAME} {SUEXEC_USER}.{BASE_SERVER_VHOST} Replace : RedirectMatch permanent ^/ftp([\/]?) {BASE_SERVER_VHOST_PREFIX}{BASE_SERVER_VHOST}/ftp/ RedirectMatch permanent ^/pma([\/]?) {BASE_SERVER_VHOST_PREFIX}{BASE_SERVER_VHOST}/pma/ RedirectMatch permanent ^/webmail([\/]?) {BASE_SERVER_VHOST_PREFIX}{BASE_SERVER_VHOST}/webmail/ RedirectMatch permanent ^/ispcp([\/]?) {BASE_SERVER_VHOST_PREFIX}{BASE_SERVER_VHOST}/ By : #RedirectMatch permanent ^/ftp([\/]?) {BASE_SERVER_VHOST_PREFIX}{BASE_SERVER_VHOST}/ftp/ #RedirectMatch permanent ^/pma([\/]?) {BASE_SERVER_VHOST_PREFIX}{BASE_SERVER_VHOST}/pma/ #RedirectMatch permanent ^/webmail([\/]?) {BASE_SERVER_VHOST_PREFIX}{BASE_SERVER_VHOST}/webmail/ #RedirectMatch permanent ^/ispcp([\/]?) {BASE_SERVER_VHOST_PREFIX}{BASE_SERVER_VHOST}/ Save & close. Open up the file for sub-domains : vim /etc/ispcp/apache/parts/sub_entry.tpl Replace : ServerAlias www.{SUB_NAME} {SUB_NAME} *.{SUB_NAME} By : ServerAlias www.{SUB_NAME} ftp.{SUB_NAME} Replace : RedirectMatch permanent ^/ftp([\/]?) {BASE_SERVER_VHOST_PREFIX}{BASE_SERVER_VHOST}/ftp/ RedirectMatch permanent ^/pma([\/]?) {BASE_SERVER_VHOST_PREFIX}{BASE_SERVER_VHOST}/pma/ RedirectMatch permanent ^/webmail([\/]?) {BASE_SERVER_VHOST_PREFIX}{BASE_SERVER_VHOST}/webmail/ RedirectMatch permanent ^/ispcp([\/]?) {BASE_SERVER_VHOST_PREFIX}{BASE_SERVER_VHOST}/ By : #RedirectMatch permanent ^/ftp([\/]?) {BASE_SERVER_VHOST_PREFIX}{BASE_SERVER_VHOST}/ftp/ #RedirectMatch permanent ^/pma([\/]?) {BASE_SERVER_VHOST_PREFIX}{BASE_SERVER_VHOST}/pma/ #RedirectMatch permanent ^/webmail([\/]?) {BASE_SERVER_VHOST_PREFIX}{BASE_SERVER_VHOST}/webmail/ #RedirectMatch permanent ^/ispcp([\/]?) {BASE_SERVER_VHOST_PREFIX}{BASE_SERVER_VHOST}/ ====== Creating panel.domain.tld, webmail.domain.tld, pma.domain.tld, and ftp.domain.tld apache files ====== ===== ispCP Panel ===== The default 00_master.conf file will be used to host the address panel.domain.tld. vim /etc/apache2/sites-available/00_master.conf Find : Before, add : ServerName SERVER_VHOST Redirect / http://panel.DOMAIN.TLD Replace : DocumentRoot /var/www/ispcp/gui ServerName {BASE_SERVER_VHOST} By : DocumentRoot /var/www/ispcp/gui ServerName panel.DOMAIN.TLD Replace : Alias /pma /var/www/ispcp/gui/tools/pma/ Alias /webmail /var/www/ispcp/gui/tools/webmail/ Alias /ftp /var/www/ispcp/gui/tools/filemanager/ By : #Alias /pma /var/www/ispcp/gui/tools/pma/ #Alias /webmail /var/www/ispcp/gui/tools/webmail/ #Alias /ftp /var/www/ispcp/gui/tools/filemanager/ Save & close. Be careful to replace ALL of the **DOMAIN.TLD** addresses by FQDN you wish to use to access the panel and its different tools, as well as **SERVER_IP** and **SERVER_VHOST** with your respective server IP address and name! ===== Webmail ===== Now we create the file used to access the webmail : vim /etc/apache2/sites-available/02_webmail.conf Paste the following code : ServerAdmin ADMIN_EMAIL_ADDRESS DocumentRoot /var/www/ispcp/gui/tools/webmail ServerName webmail.DOMAIN.TLD ErrorLog /var/log/apache2/users/webmail-error.log TransferLog /var/log/apache2/users/webmail-access.log CustomLog /var/log/apache2/webmail-traf.log traff CustomLog /var/log/apache2/webmail-combined.log combined SuexecUserGroup vu2000 vu2000 Options -Indexes Includes FollowSymLinks MultiViews AllowOverride None Order allow,deny Allow from all FCGIWrapper /var/www/fcgi/master/php5-fcgi-starter .php Options +ExecCGI AllowOverride None Options +ExecCGI Order allow,deny Allow from all ScriptAlias /php5/ /var/www/fcgi/master/ AllowOverride None Options +ExecCGI MultiViews -Indexes Order allow,deny Allow from all php_admin_value open_basedir "/var/www/ispcp/gui/tools/webmail/:/etc/ispcp/:/var/run/ispcp.lock:/proc/:/bin/df:/bin/mount:/var/log/rkhunter.log:/var/log/chkrootkit.log:/usr/share/php/" php_admin_value session.save_path "/var/www/ispcp/gui/phptmp/" php_admin_value upload_tmp_dir "/var/www/ispcp/gui/phptmp/" Again, you must replace **BASE_SERVER_IP** by your server IP, **DEFAULT_ADMIN_ADDRESS** by the admin's email address, and **DOMAIN.TLD** by the FQDN you want to use. ===== PhpMyAdmin ===== Now we create the file used to access PhpMyAdmin : vim /etc/apache2/sites-available/03_pma.conf Paste the following code : ServerAdmin ADMIN_EMAIL_ADDRESS DocumentRoot /var/www/ispcp/gui/tools/pma ServerName pma.DOMAIN.TLD ErrorLog /var/log/apache2/users/pma-error.log TransferLog /var/log/apache2/users/pma-access.log CustomLog /var/log/apache2/pma-traf.log traff CustomLog /var/log/apache2/pma-combined.log combined SuexecUserGroup vu2000 vu2000 Options -Indexes Includes FollowSymLinks MultiViews AllowOverride None Order allow,deny Allow from all FCGIWrapper /var/www/fcgi/master/php5-fcgi-starter .php Options +ExecCGI AllowOverride None Options +ExecCGI Order allow,deny Allow from all ScriptAlias /php5/ /var/www/fcgi/master/ AllowOverride None Options +ExecCGI MultiViews -Indexes Order allow,deny Allow from all php_admin_value open_basedir "/var/www/ispcp/gui/tools/pma/:/etc/ispcp/:/var/run/ispcp.lock:/proc/:/bin/df:/bin/mount:/var/log/rkhunter.log:/var/log/chkrootkit.log:/usr/share/php/" php_admin_value session.save_path "/var/www/ispcp/gui/phptmp/" php_admin_value upload_tmp_dir "/var/www/ispcp/gui/phptmp/" Don't forget, you must replace **BASE_SERVER_IP** by your server IP, **DEFAULT_ADMIN_ADDRESS** by the admin's email address, and **DOMAIN.TLD** by the FQDN you want to use. ===== Webftp ===== Finally, we create the file that will be used to access the Filemanager. vim /etc/apache2/sites-available/04_webftp.conf Paste the following code : ServerAdmin ADMIN_EMAIL_ADDRESS DocumentRoot /var/www/ispcp/gui/tools/filemanager ServerName webftp.DOMAIN.TLD ErrorLog /var/log/apache2/users/webftp-error.log TransferLog /var/log/apache2/users/webftp-access.log CustomLog /var/log/apache2/webftp-traf.log traff CustomLog /var/log/apache2/webftp-combined.log combined SuexecUserGroup vu2000 vu2000 Options -Indexes Includes FollowSymLinks MultiViews AllowOverride None Order allow,deny Allow from all FCGIWrapper /var/www/fcgi/master/php5-fcgi-starter .php Options +ExecCGI AllowOverride None Options +ExecCGI Order allow,deny Allow from all ScriptAlias /php5/ /var/www/fcgi/master/ AllowOverride None Options +ExecCGI MultiViews -Indexes Order allow,deny Allow from all php_admin_value open_basedir "/var/www/ispcp/gui/tools/filemanager/:/etc/ispcp/:/var/run/ispcp.lock:/proc/:/bin/df:/bin/mount:/var/log/rkhunter.log:/var/log/chkrootkit.log:/usr/share/php/" php_admin_value session.save_path "/var/www/ispcp/gui/phptmp/" php_admin_value upload_tmp_dir "/var/www/ispcp/gui/phptmp/" As always, you must replace **BASE_SERVER_IP** by your server IP, **DEFAULT_ADMIN_ADDRESS** by the admin's email address, and **DOMAIN.TLD** by the FQDN you want to use. ===== Activating the new virtual hosts ===== Placing ourselves in the correct directory : cd /etc/apache2/sites-available Activating virtual hosts : a2ensite 02_webmail.conf a2ensite 03_pma.conf a2ensite 04_webftp.conf Reload Apache 2 : /etc/init.d/apache2 reload If you get no warnings/errors, you're good to go! If you do, double check your files, something is wrong! ====== Updating ispCP configuration ====== This modification will allow for all dependent files to have the correct link to the different tools used by ispCP. vim /etc/ispcp/ispcp.conf Replace : BASE_SERVER_VHOST = old-address.net By : BASE_SERVER_VHOST = panel.DOMAIN.TLD Replace : WEBMAIL_PATH = ../tools/webmail/ By : WEBMAIL_PATH = http://webmail.DOMAIN.TLD Replace : PMA_PATH = ../tools/pma/ By : PMA_PATH = http://pma.DOMAIN.TLD Replace : FILEMANAGER_PATH = ../tools/filemanager/ By : FILEMANAGER_PATH = http://webftp.DOMAIN.TLD Save & close. Open : vim /var/www/ispcp/gui/index.php Replace : 'TR_WEBMAIL_SSL_LINK' => "webmail", 'TR_FTP_SSL_LINK' => "ftp", 'TR_PMA_SSL_LINK' => "pma", By : 'TR_WEBMAIL_SSL_LINK' => isset($_SERVER['HTTPS']) ? 'https://webmail.DOMAIN.TLD' : 'http://webmail.DOMAIN.TLD', 'TR_FTP_SSL_LINK' => isset($_SERVER['HTTPS']) ? 'https://webftp.DOMAIN.TLD' : 'http://webftp.DOMAIN.TLD', 'TR_PMA_SSL_LINK' => isset($_SERVER['HTTPS']) ? 'https://pma.DOMAIN.TLD' : 'http://pma.DOMAIN.TLD', ====== Regenerating ispCP files ====== First, we remove the old copies of ispcp.conf : rm /etc/apache2/sites-available/ispcp.conf rm /etc/ispcp/apache/working/ispcp.conf We regenerate the files now : cp /etc/ispcp/apache/parts/ispcp_base.tpl /etc/apache2/sites-available/ispcp.conf cp /etc/ispcp/apache/parts/ispcp_base.tpl /etc/ispcp/apache/working/ispcp.conf Stopping ispCP : /etc/init.d/ispcp_daemon stop Logon to MySQL : mysql -u root -p In MySQL command prompt type : USE ispcp; UPDATE `domain` SET `domain_status` = 'change' WHERE `domain_status` = 'ok'; UPDATE `subdomain` SET `subdomain_status` = 'change' WHERE `subdomain_status` = 'ok'; UPDATE `domain_aliasses` SET `alias_status` = 'change' WHERE `alias_status` = 'ok'; UPDATE `mail_users` SET `status` = 'change' WHERE `status` = 'ok'; Quit MySQL : quit Process the request : /var/www/ispcp/engine/ispcp-rqst-mngr Start ispCP daemon : /etc/init.d/ispcp_daemon start There, you're done! Now you can access ispCP and its various tools (PhpMyAdmin, Filemanager, Webmail, etc..) at the following addresses : - http://panel.your_company.org (ispCP Panel) - http://webmail.your_company.org (Webmail) - http://webftp.your_company.org (Filemanager) - http://pma.your_company.org (PhpMyAdmin) Credits go to : http://nuxwin.com/articles/view.php/42; Kommius