1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- #! /usr/bin/env sh
-
- apache_dir=/etc/apache2/sites-available/
- conf_dir=/etc/sitegen/
- site_dir=/var/
-
- conf_file=/etc/sitegen/sitegen.conf
- conf_file_local=~/.sitegen.conf
-
- loadConf()
- {
- if [ -e "$1" ]
- then
- echo "Found a config file: $1"
- . "$1"
- fi
- }
-
- makeDir()
- {
- mkdir -p "$1"
- if [ $? -ne 0 ]
- then
- exit 4
- fi
- }
-
- getPath()
- {
- readlink -m "$1"
- }
-
- if [ $# -eq 0 ] || [ $# -gt 2 ] || [ "$1" = "--help" ]
- then
- echo "Usage:" $(basename $0) "hostname [config=default]" >&2
- exit 1
- fi
-
- loadConf "${conf_file}"
- loadConf "${conf_file_local}"
-
- host="$1"
- if [ $# -eq 2 ]
- then
- conf="$2"
- else
- conf="default"
- fi
-
- conf_conf=$(getPath "${conf_dir}/${conf}.conf")
- conf_include=$(getPath "${conf_dir}/${conf}.include")
-
- site_conf=$(getPath "${apache_dir}/${host}.conf")
- site_include=$(getPath "${apache_dir}/${host}.include")
-
- root_dir=$(getPath "${site_dir}/${host}")
-
- sed_host="s:%%HOST%%:${host}:g"
- sed_root="s:%%ROOT%%:${root_dir}:g"
-
- if [ ! -f "${conf_conf}" ] || [ ! -f "${conf_include}" ]
- then
- echo "Configuration file ${conf_conf} and/or ${conf_include} error: No such file" >&2
- exit 2
- fi
-
- if [ -f "${site_conf}" ] || [ -f "${site_include}" ]
- then
- echo "Host already exists: ${site_conf} and/or ${site_include}" >&2
- exit 3
- fi
-
- makeDir "${root_dir}"
- makeDir "${apache_dir}"
-
- sed -e "${sed_host}" -e "${sed_root}" "${conf_conf}" > "${site_conf}"
- sed -e "${sed_host}" -e "${sed_root}" "${conf_include}" > "${site_include}"
|