]> git.pld-linux.org Git - packages/webapps.git/blame - webapps.sh
- added list-apps and more usage
[packages/webapps.git] / webapps.sh
CommitLineData
e9689537 1#!/bin/sh
7b49779e 2
e9689537 3webapps=/etc/webapps
2ec41251 4webservers='apache httpd lighttpd'
e9689537 5action="$1"
f21ce9bd 6httpd="$2"
e9689537
ER
7app="$3"
8
64efe5c9
ER
9webapp_link() {
10 echo "$1" | tr '/' '-'
11}
12
e9689537 13webapp_register() {
64efe5c9
ER
14 local link=$(webapp_link $app)
15 ln -sf $webapps/$app/$httpd.conf /etc/$httpd/webapps.d/$link.conf
e9689537
ER
16}
17
18webapp_unregister() {
64efe5c9
ER
19 local link=$(webapp_link $app)
20 rm -f /etc/$httpd/webapps.d/$link.conf
e9689537
ER
21}
22
2ec41251
ER
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
7b49779e
TP
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
e9689537
ER
45usage() {
46 cat >&2 <<EOF
f21ce9bd 47Usage: $0 register httpd webapp
64efe5c9 48Usage: $0 register httpd webapp/module
f21ce9bd 49Usage: $0 unregister httpd webapp
64efe5c9 50Usage: $0 unregister httpd webapp/module
7b49779e
TP
51Usage: $0 list [$webservers]
52Usage: $0 list-apps [$webservers]
f21ce9bd 53
a715016d 54Where httpd is one of the webservers
f21ce9bd
ER
55apache 1.x: apache
56apache 2.x: httpd
57lighttpd: lighttpd
64efe5c9
ER
58
59webapp modules are supported,
60drupal tinymce module webapp name would be drupal/tinymce.
e9689537
ER
61EOF
62}
63
a715016d
ER
64die() {
65 echo >&2 "$0: $*"
66 exit 1
67}
68
69checkconfig() {
cd3edc5c 70 if [ -z "$httpd" ] || [ -z "$app" ]; then
7b49779e 71 usage
cd3edc5c
ER
72 return
73 fi
74
a715016d
ER
75 # sanity check
76 if [ ! -d "$webapps/$app" ]; then
cd3edc5c 77 die "'$app' is not webapp? (Missing directory: $webapps/$app)"
a715016d 78 fi
5ec58d25 79 if [ ! -d "/etc/$httpd/webapps.d" ]; then
cd3edc5c 80 die "'$httpd' is not a webserver? (Missing directory: /etc/$httpd/webapps.d)"
a715016d
ER
81 fi
82}
83
e9689537
ER
84case "$action" in
85register)
a715016d 86 checkconfig
d91deb44 87 webapp_register
e9689537
ER
88 ;;
89unregister)
a715016d 90 checkconfig
d91deb44 91 webapp_unregister
e9689537 92 ;;
2ec41251
ER
93list)
94 webapp_list $2
95 ;;
7b49779e
TP
96list-apps)
97 webapp_list_apps $2
98 ;;
e9689537
ER
99*)
100 usage
101 exit 1
102esac
This page took 0.070134 seconds and 4 git commands to generate.