On a server using Plesk, it is possible to setup event handlers that will create a host in the primary domain so that a client’s domain can be managed with FrontPage prior to delegation of the client’s domain name. For example, if the primary domain is “hosting.net” and the client domain is “acme.net” with an FTP user of “acme” then the “acme.hosting.net” can be created and used until “acme.net” becomes active.
Place the following script in the cgi-bin folder of the primary domain:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
#!/bin/sh PDOMAIN=hosting.net DOMAIN=$1 USER=$2 IP=$3 logger "Starting create-domain handler." logger "Domain: $DOMAIN" logger "User: $USER" logger "IP: $IP" # add user.hosting.net a record /usr/local/psa/bin/dns.sh --add $PDOMAIN -a $USER -ip $IP # add vhost.conf file echo "ServerAlias $USER.$PDOMAIN" >> /home/httpd/vhosts/$DOMAIN/conf/vhost.conf # add frontpage config file FPCONF="/usr/local/frontpage/$USER.$PDOMAIN:80.cnf" echo "vti_encoding:SR|utf8-nl" > $FPCONF echo "servertype:apache-2.0" >> $FPCONF echo "sendmailcommand:/var/qmail/bin/sendmail" >> $FPCONF echo "authoring:enabled" >> $FPCONF echo "extenderversion:5.0.2.2634" >> $FPCONF echo "frontpageroot:/usr/local/frontpage/version5.0" >> $FPCONF echo "serverconfig:/usr/local/frontpage/conf/$USER.$PDOMAIN.fp.80.cnf" >> $FPCONF # add frontpage server config file FPSERVER="/usr/local/frontpage/conf/$USER.$PDOMAIN.fp.80.cnf" echo "Port 80" > $FPSERVER echo "ResourceConfig /dev/null" >> $FPSERVER echo "AccessConfig /dev/null" >> $FPSERVER echo "ServerRoot \"/etc/httpd\"" >> $FPSERVER echo "NameVirtualHost 127.0.0.1" >> $FPSERVER echo "<VirtualHost 127.0.0.1:80>" >> $FPSERVER echo " ServerName $USER.$PDOMAIN" >> $FPSERVER echo " User $USER" >> $FPSERVER echo " Group psacln" >> $FPSERVER echo " DocumentRoot /var/www/vhosts/$DOMAIN/httpdocs" >> $FPSERVER echo " <Directory \"/var/www/vhosts/$DOMAIN/httpdocs\">" >> $FPSERVER echo " Options Indexes FollowSymLinks" >> $FPSERVER echo " AllowOverride AuthConfig Limit Indexes Options" >> $FPSERVER echo " Order allow,deny" >> $FPSERVER echo " Allow from all" >> $FPSERVER echo " </Directory>" >> $FPSERVER echo "</VirtualHost>" >> $FPSERVER echo "<VirtualHost 127.0.0.1:80>" >> $FPSERVER echo " ServerName $USER.$PDOMAIN" >> $FPSERVER echo " User $USER" >> $FPSERVER echo " Group psacln" >> $FPSERVER echo " DocumentRoot /var/www/vhosts/$DOMAIN/httpdocs" >> $FPSERVER echo " <Directory \"/var/www/vhosts/$DOMAIN/httpdocs\">" >> $FPSERVER echo " Options Indexes FollowSymLinks" >> $FPSERVER echo " AllowOverride AuthConfig Limit Indexes Options" >> $FPSERVER echo " Order allow,deny" >> $FPSERVER echo " Allow from all" >> $FPSERVER echo " </Directory>" >> $FPSERVER echo "</VirtualHost>" >> $FPSERVER # rebuild apache config /usr/local/psa/admin/sbin/websrvmng -a -v # restart apache /sbin/service httpd restart logger "Finished create-domain handler." exit 0 |
Now from the Plesk control panel goto Server -> Event Manager -> Add New Event Handler
In the Event field select “Physical hosting created”.
In the Command field enter:
/home/httpd/vhosts/hosting.com/cgi-bin/create-domain-handler.sh <new_domain_name> <new_system_user> <new_ip_address>