212

Example Script for Adding a Website

The following script shows how you can use serveradmin to add a website to the server’s web service configuration. The script uses two files:

Âaddsite—The script you run. It accepts values for the site’s IP address, port number, server name, and root folder, and uses sed to substitute these values in the addsite.in file. This is then sent to serveradmin.

Âaddsite.in—Contains the settings (with placeholders for values you provide when you run addsite) used to create the website.

The addsite File

sed -es#_ipaddr#$1#g -es#_port#$2#g -es#_servername#$3#g -es#_docroot#$4#g ./addsite.in /usr/sbin/serveradmin --set -i

The addsite.in File

web:Sites:_array_id:_ipaddr\:_port__servername = create

web:Sites:_array_id:_ipaddr\:_port__servername:Listen:_array_index:0 = "_ipaddr:_port"

web:Sites:_array_id:_ipaddr\:_port__servername:ServerName = _servername

web:Sites:_array_id:_ipaddr\:_port__servername:ServerAdmin = admin@_servername

web:Sites:_array_id:_ipaddr\:_port__servername:DirectoryIndex:_array_index:0 = "index.html"

web:Sites:_array_id:_ipaddr\:_port__servername:DirectoryIndex:_array_index:1 = "index.php"

web:Sites:_array_id:_ipaddr\:_port__servername:WebMail = yes

web:Sites:_array_id:_ipaddr\:_port__servername:CustomLog:_array_index:0: Format = "%{User-agent}i"

web:Sites:_array_id:_ipaddr\:_port__servername:CustomLog:_array_index:0: enabled = yes

web:Sites:_array_id:_ipaddr\:_port__servername:CustomLog:_array_index:0: ArchiveInterval = 0

web:Sites:_array_id:_ipaddr\:_port__servername:CustomLog:_array_index:0: Path = "/private/var/log/httpd/access_log"

web:Sites:_array_id:_ipaddr\:_port__servername:CustomLog:_array_index:0: Archive = yes

web:Sites:_array_id:_ipaddr\:_port__servername:Directory:_array_id: /Library/WebServer/Documents:Options:Indexes = yes

web:Sites:_array_id:_ipaddr\:_port__servername:Directory:_array_id: /Library/WebServer/Documents:Options:ExecCGI = no

web:Sites:_array_id:_ipaddr\:_port__servername:Directory:_array_id: /Library/WebServer/Documents:AuthName = "Test Site"

web:Sites:_array_id:_ipaddr\:_port__servername:ErrorLog:ArchiveInterval = 0

web:Sites:_array_id:_ipaddr\:_port__servername:ErrorLog:Path = "/private/ var/log/httpd/error_log"

web:Sites:_array_id:_ipaddr\:_port__servername:ErrorLog:Archive = no

web:Sites:_array_id:_ipaddr\:_port__servername:Include:_array_index:0 = "/ etc/httpd/httpd_squirrelmail.conf"

web:Sites:_array_id:_ipaddr\:_port__servername:enabled = yes

Chapter 13 Working with Web Technologies

Page 212
Image 212
Apple Mac OS X Server manual Example Script for Adding a Website, Addsite File, Addsite.in File