Hello
I looked for the forum and documentation and I didn't find it.
Your server is server.example.com
The ispcp URL is admin.server.example.com or server.example.com ....
When you create an account, ispcp create redirection:
http://www.clientdomain.com/ftp => server.example.com/ftp
Your client have to log in using the server url and not with her own domain. With this howto the client can:
- Use the ispcp under the url panel.clientdomain.com
- Use the squirrel under the url panel.clientdomain.com/webmail
- Use the roundcube under the url panel.clientdomain.com/mail *
- Use the phpmyadmin under the url panel.clientdomain.com/pma
- Use the filemanager under the url panel.clientdomain.com/ftp
- Use the Maia Mailguard under the url panel.clientdomain.com/antispam **
And all under http or https ***
* How install rouncube:
http://www.isp-control.net/ispcp/wiki/howto_RoundCube
** How install Maia Mailguard:
http://www.isp-control.net/documentation..._omega_rc3
*** How create and use your own SSL in apache and another services:
http://www.isp-control.net/documentation...e_services
When a new user is added, the ispcp create the apache and bind entryes. The idea is modify the templates that ispcp use to do it. With the changes we add at the dns zone the subdomain panel.clientdomain.com and in the apache entry we generate 3 virtualhost:
1 => Access to panel.clientdomain.com by port 80
2 => Access to panel.clientdomain.com by port 443 with SSL
3 => The original entry of ispcp
Edit /etc/ispcp/bind/parts/db_e.tpl
Code:
vi /etc/ispcp/bind/parts/db_e.tpl
At the end we add
The result
Code:
$TTL 12H
$ORIGIN {DMN_NAME}.
@ IN SOA ns1.{DMN_NAME}. postmaster.{DMN_NAME}. (
; dmn [{DMN_NAME}] timestamp entry BEGIN.
{TIMESTAMP} ; Serial
; dmn [{DMN_NAME}] timestamp entry END.
8H ; Refresh
15M ; Retry
4W ; Expire
3H ; Minimum TTL
)
IN NS ns1.{DMN_NAME}.
IN NS ns2.{DMN_NAME}.
IN MX 10 mail.{DMN_NAME}.
{DMN_NAME}. IN A {DMN_IP}
www IN A {DMN_IP}
{DMN_NAME}. IN TXT "v=spf1 a mx ip4:{DMN_IP} ~all"
localhost IN A 127.0.0.1
mail IN A {BASE_SERVER_IP}
ns1 IN A {BASE_SERVER_IP}
ns2 IN A {SECONDARY_DNS_IP}
; CNAME for mail transfer
imap IN CNAME mail
pop IN CNAME mail
pop3 IN CNAME mail
relay IN CNAME mail
smtp IN CNAME mail
; CNAME for web transfer
ftp IN CNAME www
; sub [{SUB_NAME}] entry BEGIN.
; sub [{SUB_NAME}] entry END.
panel IN CNAME www
save and exit
Edit /etc/ispcp/apache/parts/dmn_entry.tpl
Code:
vi /etc/ispcp/apache/parts/dmn_entry.tpl
At the beginning we add the code for
http://panel.clientdomain.com
Code:
# ispcp start
<VirtualHost {DMN_IP}:80>
<IfModule suexec_module>
SuexecUserGroup vu2000 vu2000
</IfModule>
ServerAdmin webmaster@{DMN_NAME}
DocumentRoot /var/www/ispcp/gui
ServerName panel.{DMN_NAME}
ErrorLog /var/log/apache2/users/{BASE_SERVER_VHOST}-error.log
TransferLog /var/log/apache2/users/{BASE_SERVER_VHOST}-access.log
CustomLog /var/log/apache2/{BASE_SERVER_VHOST}.org-traf.log traff
CustomLog /var/log/apache2/{BASE_SERVER_VHOST}.org-combined.log combined
Alias /errors /var/www/ispcp/gui/errordocs/
ErrorDocument 401 /errors/401.html
ErrorDocument 403 /errors/403.html
ErrorDocument 404 /errors/404.html
ErrorDocument 500 /errors/500.html
ErrorDocument 503 /errors/503.html
Alias /pma /var/www/ispcp/gui/tools/pma/
Alias /webmail /var/www/ispcp/gui/tools/webmail/
Alias /ftp /var/www/ispcp/gui/tools/filemanager/
Alias /antispam /var/www/ispcp/gui/tools/antispam/
Alias /mail /var/www/ispcp/gui/tools/roundcube
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
<Directory /var/www/ispcp/gui>
Options -Indexes Includes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<IfModule mod_fastcgi.c>
ScriptAlias /php4/ /var/www/fcgi/master/
ScriptAlias /php5/ /var/www/fcgi/master/
<Directory "/var/www/fcgi/master">
AllowOverride None
Options +ExecCGI MultiViews -Indexes
Order allow,deny
Allow from all
</Directory>
</IfModule>
<IfModule mod_php4.c>
<Directory /var/www/ispcp/gui>
php_admin_value open_basedir "/var/www/ispcp/gui/:/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/"
</Directory>
</IfModule>
<IfModule mod_php5.c>
<Directory /var/www/ispcp/gui>
php_admin_value open_basedir "/var/www/ispcp/gui/:/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/"
</Directory>
</IfModule>
</VirtualHost>
# ispcp end
And now paste the code for
https://panel.clientdomain.com
Code:
# ispcp start SSL
<VirtualHost {DMN_IP}:443>
#
# SSL Start
#
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.cert.pem
SSLCertificateKeyFile /etc/apache2/ssl/apache.key.pem
#
# SSL End
#
<IfModule suexec_module>
SuexecUserGroup vu2000 vu2000
</IfModule>
ServerAdmin webmaster@{DMN_NAME}
DocumentRoot /var/www/ispcp/gui
ServerName panel.{DMN_NAME}
ErrorLog /var/log/apache2/users/{BASE_SERVER_VHOST}-error.log
TransferLog /var/log/apache2/users/{BASE_SERVER_VHOST}-access.log
CustomLog /var/log/apache2/{BASE_SERVER_VHOST}.org-traf.log traff
CustomLog /var/log/apache2/{BASE_SERVER_VHOST}.org-combined.log combined
Alias /errors /var/www/ispcp/gui/errordocs/
ErrorDocument 401 /errors/401.html
ErrorDocument 403 /errors/403.html
ErrorDocument 404 /errors/404.html
ErrorDocument 500 /errors/500.html
ErrorDocument 503 /errors/503.html
Alias /pma /var/www/ispcp/gui/tools/pma/
Alias /webmail /var/www/ispcp/gui/tools/webmail/
Alias /ftp /var/www/ispcp/gui/tools/filemanager/
Alias /antispam /var/www/ispcp/gui/tools/antispam/
Alias /mail /var/www/ispcp/gui/tools/roundcube
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
<Directory /var/www/ispcp/gui>
Options -Indexes Includes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<IfModule mod_fastcgi.c>
ScriptAlias /php4/ /var/www/fcgi/master/
ScriptAlias /php5/ /var/www/fcgi/master/
<Directory "/var/www/fcgi/master">
AllowOverride None
Options +ExecCGI MultiViews -Indexes
Order allow,deny
Allow from all
</Directory>
</IfModule>
<IfModule mod_php4.c>
<Directory /var/www/ispcp/gui>
php_admin_value open_basedir "/var/www/ispcp/gui/:/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/"
</Directory>
</IfModule>
<IfModule mod_php5.c>
<Directory /var/www/ispcp/gui>
php_admin_value open_basedir "/var/www/ispcp/gui/:/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/"
</Directory>
</IfModule>
</VirtualHost>
# ispcp end SSL
save and exit
In the added code you can see this:
Code:
<IfModule suexec_module>
SuexecUserGroup vu2000 vu2000
</IfModule>
vu2000 is the user and group of master account. I suppose that in all ispcp the master user & group is vu2000 but you can edit /etc/apache2/sites-enabled/00_master.conf to see it.
And now, we have to add the Nameserver with port 443 so we edit /etc/ispcp/apache/parts/vh_entry.tpl
Code:
vi /etc/ispcp/apache/parts/vh_entry.tpl
After
Code:
NameVirtualHost {IP}:80
we add
Code:
NameVirtualHost {IP}:443
save and exit
All done!
If you already have accounts, you must do the changes in the respective files.
Example: existing domain: pepe.com
You have to edit /etc/apache2/sites-enabled/ispcp.conf and /var/cache/bind/pepe.com.db
Code:
vi /var/cache/bind/pepe.com.db
At the end add:
save and exit
Code:
/etc/apache2/sites-enabled/ispcp.conf
Find:
Code:
NameVirtualHost YOUR IP:80
add after
Code:
NameVirtualHost YOUR IP:443
Search
Code:
# httpd [pepe.com] sub entry BEGIN.
add before:
Code:
# ispcp start
<VirtualHost YOUR IP:80>
<IfModule suexec_module>
SuexecUserGroup vu2000 vu2000
</IfModule>
ServerAdmin webmaster@pepe.com
DocumentRoot /var/www/ispcp/gui
ServerName panel.pepe.com
ErrorLog /var/log/apache2/users/server.example.com-error.log
TransferLog /var/log/apache2/users/server.example.com-access.log
CustomLog /var/log/apache2/server.example.com.org-traf.log traff
CustomLog /var/log/apache2/server.example.com.org-combined.log combined
Alias /errors /var/www/ispcp/gui/errordocs/
ErrorDocument 401 /errors/401.html
ErrorDocument 403 /errors/403.html
ErrorDocument 404 /errors/404.html
ErrorDocument 500 /errors/500.html
ErrorDocument 503 /errors/503.html
Alias /mysql /var/www/ispcp/gui/tools/pma/
Alias /webmail /var/www/ispcp/gui/tools/webmail/
Alias /ftp /var/www/ispcp/gui/tools/filemanager/
Alias /antispam /var/www/ispcp/gui/tools/antispam/
Alias /mail /var/www/ispcp/gui/tools/roundcube
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
<Directory /var/www/ispcp/gui>
Options -Indexes Includes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<IfModule mod_fastcgi.c>
ScriptAlias /php4/ /var/www/fcgi/master/
ScriptAlias /php5/ /var/www/fcgi/master/
<Directory "/var/www/fcgi/master">
AllowOverride None
Options +ExecCGI MultiViews -Indexes
Order allow,deny
Allow from all
</Directory>
</IfModule>
<IfModule mod_php4.c>
<Directory /var/www/ispcp/gui>
php_admin_value open_basedir "/var/www/ispcp/gui/:/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/"
</Directory>
</IfModule>
<IfModule mod_php5.c>
<Directory /var/www/ispcp/gui>
php_admin_value open_basedir "/var/www/ispcp/gui/:/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/"
</Directory>
</IfModule>
</VirtualHost>
# ispcp end
# ispcp start SSL
<VirtualHost YOUR IP:443>
#
# SSL Start
#
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.cert.pem
SSLCertificateKeyFile /etc/apache2/ssl/apache.key.pem
#
# SSL End
#
<IfModule suexec_module>
SuexecUserGroup vu2000 vu2000
</IfModule>
ServerAdmin webmaster@pepe.com
DocumentRoot /var/www/ispcp/gui
ServerName panel.pepe.com
ErrorLog /var/log/apache2/users/server.example.com-error.log
TransferLog /var/log/apache2/users/server.example.com-access.log
CustomLog /var/log/apache2/server.example.com.org-traf.log traff
CustomLog /var/log/apache2/server.example.com.org-combined.log combined
Alias /errors /var/www/ispcp/gui/errordocs/
ErrorDocument 401 /errors/401.html
ErrorDocument 403 /errors/403.html
ErrorDocument 404 /errors/404.html
ErrorDocument 500 /errors/500.html
ErrorDocument 503 /errors/503.html
Alias /pma /var/www/ispcp/gui/tools/pma/
Alias /webmail /var/www/ispcp/gui/tools/webmail/
Alias /ftp /var/www/ispcp/gui/tools/filemanager/
Alias /antispam /var/www/ispcp/gui/tools/antispam/
Alias /mail /var/www/ispcp/gui/tools/roundcube
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
<Directory /var/www/ispcp/gui>
Options -Indexes Includes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<IfModule mod_fastcgi.c>
ScriptAlias /php4/ /var/www/fcgi/master/
ScriptAlias /php5/ /var/www/fcgi/master/
<Directory "/var/www/fcgi/master">
AllowOverride None
Options +ExecCGI MultiViews -Indexes
Order allow,deny
Allow from all
</Directory>
</IfModule>
<IfModule mod_php4.c>
<Directory /var/www/ispcp/gui>
php_admin_value open_basedir "/var/www/ispcp/gui/:/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/"
</Directory>
</IfModule>
<IfModule mod_php5.c>
<Directory /var/www/ispcp/gui>
php_admin_value open_basedir "/var/www/ispcp/gui/:/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/"
</Directory>
</IfModule>
</VirtualHost>
# ispcp end SSL
save and exit
restart services
Code:
/etc/init.d/apache2 restart
/etc/init.d/bind9 restart
You can access to ispc under the url
http://panel.pepe.com or
https://panel.pepe.com and at the same time you can be root in
http://server.example.com
I suppose that exists another better form but this method runs ok
bye