4 webservers='apache httpd lighttpd'
10 echo "$1" | tr '/' '-'
14 local link=$(webapp_link $app)
15 ln -sf ../../..$webapps/$app/$httpd.conf /etc/$httpd/webapps.d/$link.conf
19 local link=$(webapp_link $app)
20 rm -f /etc/$httpd/webapps.d/$link.conf
24 echo "registered webapps${1:+ for $1}":
25 for server in ${1:-$webservers}; do
26 [ -d /etc/$server/webapps.d ] || continue
28 for conf in /etc/$server/webapps.d/*; do
29 [ -L $conf ] || continue
30 app=$(readlink $conf | sed -e "s,.*$webapps/,,;s,/$server.conf$,,")
36 # return registered application list for webserver
37 # useful for bash_completion parsing
38 webapp_apps_registered() {
42 for conf in /etc/$server/webapps.d/*.conf; do
43 [ -L $conf ] || continue
44 appname=$(readlink $conf)
45 appname=${appname#*$webapps/}
46 appname=${appname%/$server.conf}
47 [ -f /etc/webapps/$appname/$server.conf ] || continue
52 # return application list for webserver
53 # useful for bash_completion parsing
58 for app in /etc/webapps/*; do
59 [ -d $app ] || continue
60 [ -f $app/$server.conf ] || continue
61 local appname=${app##*/}
62 local link=$(webapp_link $appname)
66 [ -f /etc/$server/webapps.d/$link.conf ] && echo $appname
69 [ -f /etc/$server/webapps.d/$link.conf ] || echo $appname
79 echo "available webapps"
80 for app in /etc/webapps/*; do
81 [ -d $app ] || continue
84 for server in $webservers; do
85 [ -f $app/$server.conf ] || continue
86 servers="$servers${servers:+ }$server"
89 [ "$servers" ] || continue
90 echo "- ${app##*/} ($servers)"
96 Usage: $0 register httpd webapp
97 Usage: $0 register httpd webapp/module
98 Usage: $0 unregister httpd webapp
99 Usage: $0 unregister httpd webapp/module
100 Usage: $0 list [$webservers]
101 Usage: $0 list-apps [$webservers]
103 Where httpd is one of the webservers
108 webapp modules are supported,
109 "drupal tinymce" module webapp name would be "drupal/tinymce".
119 if [ -z "$httpd" ] || [ -z "$app" ]; then
125 if [ ! -d "$webapps/$app" ]; then
126 die "'$app' is not webapp? (Missing directory: $webapps/$app)"
128 if [ ! -d "/etc/$httpd/webapps.d" ]; then
129 die "'$httpd' is not a webserver? (Missing directory: /etc/$httpd/webapps.d)"
135 checkconfig && webapp_register
138 checkconfig && webapp_unregister
146 list-apps-registered)
148 webapp_apps_registered $action $2
153 list-apps-unregistered)
155 webapp_applist $action $2