]> git.pld-linux.org Git - packages/webapps.git/blame_incremental - webapps.sh
- added list-apps and more usage
[packages/webapps.git] / webapps.sh
... / ...
CommitLineData
1#!/bin/sh
2
3webapps=/etc/webapps
4webservers='apache httpd lighttpd'
5action="$1"
6httpd="$2"
7app="$3"
8
9webapp_link() {
10 echo "$1" | tr '/' '-'
11}
12
13webapp_register() {
14 local link=$(webapp_link $app)
15 ln -sf $webapps/$app/$httpd.conf /etc/$httpd/webapps.d/$link.conf
16}
17
18webapp_unregister() {
19 local link=$(webapp_link $app)
20 rm -f /etc/$httpd/webapps.d/$link.conf
21}
22
23webapp_list() {
24 echo "registered webapps${1:+ for $1}":
25 for server in ${1:-$webservers}; do
26 [ -d /etc/$server/webapps.d ] || continue
27 echo "$server:"
28 for conf in /etc/$server/webapps.d/*; do
29 [ -L $conf ] || continue
30 app=$(readlink $conf | sed -e "s,$webapps/,,;s,/$server.conf$,,")
31 echo "- $app"
32 done
33 done
34}
35
36webapp_list_apps() {
37 echo "available webapps${1:+ for $1}":
38 for server in ${1:-\\*}; do
39 for app in `ls /etc/webapps`; do
40 eval find /etc/webapps/$app -name $server.conf -printf '"- $app\n"'
41 done | uniq
42 done
43}
44
45usage() {
46 cat >&2 <<EOF
47Usage: $0 register httpd webapp
48Usage: $0 register httpd webapp/module
49Usage: $0 unregister httpd webapp
50Usage: $0 unregister httpd webapp/module
51Usage: $0 list [$webservers]
52Usage: $0 list-apps [$webservers]
53
54Where httpd is one of the webservers
55apache 1.x: apache
56apache 2.x: httpd
57lighttpd: lighttpd
58
59webapp modules are supported,
60drupal tinymce module webapp name would be drupal/tinymce.
61EOF
62}
63
64die() {
65 echo >&2 "$0: $*"
66 exit 1
67}
68
69checkconfig() {
70 if [ -z "$httpd" ] || [ -z "$app" ]; then
71 usage
72 return
73 fi
74
75 # sanity check
76 if [ ! -d "$webapps/$app" ]; then
77 die "'$app' is not webapp? (Missing directory: $webapps/$app)"
78 fi
79 if [ ! -d "/etc/$httpd/webapps.d" ]; then
80 die "'$httpd' is not a webserver? (Missing directory: /etc/$httpd/webapps.d)"
81 fi
82}
83
84case "$action" in
85register)
86 checkconfig
87 webapp_register
88 ;;
89unregister)
90 checkconfig
91 webapp_unregister
92 ;;
93list)
94 webapp_list $2
95 ;;
96list-apps)
97 webapp_list_apps $2
98 ;;
99*)
100 usage
101 exit 1
102esac
This page took 0.059907 seconds and 4 git commands to generate.