EVOLUTION-MANAGER
Edit File: apache-conf-test
#!/bin/bash # A hackish script to see if the client is behaving as expected # with each of the "passing" conf files. if [ -z "$SERVER" ]; then echo "Please set SERVER to the ACME server's directory URL." exit 1 fi export EA=/etc/apache2/ TESTDIR="`dirname $0`" cd $TESTDIR/passing function CleanupExit() { echo control c, exiting tests... if [ "$f" != "" ] ; then Cleanup fi exit 1 } function Setup() { if [ "$APPEND_APACHECONF" = "" ] ; then sudo cp "$f" "$EA"/sites-available/ sudo ln -sf "$EA/sites-available/$f" "$EA/sites-enabled/$f" echo " <VirtualHost *:80> ServerName example.com DocumentRoot /tmp/ ErrorLog /tmp/error.log CustomLog /tmp/requests.log combined </VirtualHost>" | sudo tee $EA/sites-available/throwaway-example.conf >/dev/null sudo ln -sf $EA/sites-available/throwaway-example.conf $EA/sites-enabled/throwaway-example.conf else TMP="/tmp/`basename \"$APPEND_APACHECONF\"`.$$" sudo cp -a "$APPEND_APACHECONF" "$TMP" sudo bash -c "cat \"$f\" >> \"$APPEND_APACHECONF\"" fi } function Cleanup() { if [ "$APPEND_APACHECONF" = "" ] ; then sudo rm /etc/apache2/sites-{enabled,available}/"$f" sudo rm $EA/sites-available/throwaway-example.conf sudo rm $EA/sites-enabled/throwaway-example.conf else sudo mv "$TMP" "$APPEND_APACHECONF" fi } # if our environment asks us to enable modules, do our best! if [ "$1" = --debian-modules ] ; then sudo apt-get install -y apache2 sudo apt-get install -y libapache2-mod-wsgi sudo apt-get install -y libapache2-mod-macro for mod in ssl rewrite macro wsgi deflate userdir version mime setenvif ; do echo -n enabling $mod sudo a2enmod $mod done fi CERTBOT_CMD="sudo $(command -v certbot) --server $SERVER -vvvv" CERTBOT_CMD="$CERTBOT_CMD --debug --apache --register-unsafely-without-email" CERTBOT_CMD="$CERTBOT_CMD --agree-tos certonly -t --no-verify-ssl" FAILS=0 trap CleanupExit INT for f in *.conf ; do echo -n testing "$f"... Setup RESULT=`echo c | $CERTBOT_CMD 2>&1` if echo $RESULT | grep -Eq \("Which names would you like"\|"mod_macro is not yet"\) ; then echo passed else echo failed echo $RESULT echo echo FAILS=`expr $FAILS + 1` fi Cleanup done if [ "$FAILS" -ne 0 ] ; then exit 1 fi exit 0