#!/bin/sh PROGRAM=setup-acf VERSION=0.1 PREFIX= . $PREFIX/lib/libalpine.sh usage() { echo "$PROGRAM [-adh] [-l address] [PACKAGE...]" exit 0; } pkgs="acf-core acf-alpine-baselayout" while getopts "adhl:" opt ; do case $opt in a) pkgs=`apk_fetch -l | grep ^acf-`;; d) pkgs="$pkgs acf-devtools";; h) usage;; l) address="$OPTARG";; *) usage;; esac done shift `expr $OPTIND - 1` while [ $# -gt 0 ]; do pkgs="$pkgs acf-$1" shift done if [ "$FORCE_SETUP_WEBCONF" != yes ]; then # 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 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 lbu add /var/www/localhost/htdocs SSLDIR=/etc/ssl/mini_httpd SSLCNF=$SSLDIR/mini_httpd.cnf KEYFILE=$SSLDIR/server.key CRTFILE=$SSLDIR/server.crt PEMFILE=$SSLDIR/server.pem if [ -f $PEMFILE ]; then echo "$PEMFILE already exist." else mkdir -p $SSLDIR cat >$SSLCNF < $KEYFILE openssl req -new -x509 -nodes -sha1 -days 3650 -key $KEYFILE \ -config $SSLCNF > $CRTFILE cat $KEYFILE >> $CRTFILE rm $KEYFILE mv $CRTFILE $PEMFILE fi cat >/etc/mini_httpd.conf <> /etc/mini_httpd.conf fi cat >/etc/conf.d/mini_httpd </dev/null && /etc/init.d/mini_httpd stop rc_add -k mini_httpd /etc/init.d/mini_httpd start