blob: e4f13f72510374fe7ec0d914ec348bb30d44ee9c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
#!/bin/sh
PROGRAM=setup-acf
VERSION=0.1
PREFIX=
. $PREFIX/lib/libalpine.sh
usage() {
echo "$PROGRAM [-adh] [PACKAGE...]"
exit 0;
}
pkgs="acf-core acf-alpine-baselayout"
while getopts "adh" opt ; do
case $opt in
a) pkgs=`apk_fetch -l | grep ^acf-`;;
d) pkgs="$pkgs acf-devtools";;
h) usage;;
*) usage;;
esac
done
shift `expr $OPTIND - 1`
while [ $# -gt 0 ]; do
pkgs="$pkgs acf-$1"
shift
done
# issue warning so user knows what he is doing
echo "!!!"
echo "!!! WARNING !!! WARNING !!! WARNING !!!"
echo "!!!"
echo "!!! The webinterface is in alpha stage and will give *anyone* on the"
echo "!!! network access to your box. The web interface is only for testing"
echo "!!! purposes and should only be used in isolated secure networks."
echo "!!!"
echo "!!! Please send suggestions and patches to acf@lists.alpinelinux.org"
echo "!!!"
echon "Are you sure you want continue? (y/n) [n] "
default_read imsure n
if [ "$imsure" != y ]; then
echo "Aborting."
exit
fi
# install packages
apk_add mini_httpd $pkgs || exit 1
# setup mini_httpd and start it
mkdir -p /var/www/localhost/
ln -s /usr/share/acf/www/ /var/www/localhost/htdocs
SSLDIR=/etc/ssl/mini_httpd
KEYFILE=$SSLDIR/server.key
CRTFILE=$SSLDIR/server.crt
PEMFILE=$SSLDIR/server.pem
if [ -f $PEMFILE ]; then
echo "$PEMFILE already exist."
else
echo "Generating certificates for HTTPS..."
openssl genrsa 2048 > $KEYFILE
openssl req -new -x509 -nodes -sha1 -days 3650 -key $KEYFILE > $CRTFILE
cat $KEYFILE >> $CRTFILE
rm $KEYFILE
mv $CRTFILE $PEMFILE
fi
cat <<EOF >/etc/mini_httpd.conf
nochroot
dir=/var/www/localhost/htdocs
user=nobody
logfile=/var/log/mini_httpd.log
cgipat=cgi-bin**
certfile=$PEMFILE
port=443
ssl
EOF
cat <<EOF >/etc/conf.d/mini_httpd
MINI_HTTPD_OPTS="-C /etc/mini_httpd.conf"
MINI_HTTPD_DOCROOT=/var/www/localhost/htdocs
EOF
pidof mini_httpd >/dev/null && /etc/init.d/mini_httpd stop
rc_add -k mini_httpd
/etc/init.d/mini_httpd start
|