X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=scripts%2Fsystem%2Fadd_apache_site.sh;h=897664e41a9b395f5f193efb1846ac36da48a7d4;hb=0b875367bb5da08dec2d1978b484fb884fe39ca6;hp=558b418df8457f1a270b56d0b42c674e3d5919da;hpb=478fbf42ef8abd953a7f6687d5fee4c28fd9862f;p=feisty_meow.git diff --git a/scripts/system/add_apache_site.sh b/scripts/system/add_apache_site.sh index 558b418d..897664e4 100644 --- a/scripts/system/add_apache_site.sh +++ b/scripts/system/add_apache_site.sh @@ -44,31 +44,35 @@ echo " ServerName ${sitename} # ServerAlias ${sitename} *.${sitename} DocumentRoot ${fullpath} - ErrorLog ${APACHE_LOG_DIR}/${sitename}-error.log - CustomLog ${APACHE_LOG_DIR}/${sitename}-access.log combined + ErrorLog \${APACHE_LOG_DIR}/${sitename}-error.log + CustomLog \${APACHE_LOG_DIR}/${sitename}-access.log combined Include /etc/apache2/conf-library/basic-options.conf Include /etc/apache2/conf-library/rewrite-enabling.conf -" -#fix -# >"$site_config" - +" >"$site_config" } +# turns on the config file we create above for apache. function enable_site() { local sitename="$1"; shift local site_config="/etc/apache2/sites-available/${sitename}.conf" - a2ensite "$(basename $site_config)" + outfile="$TMP/apacheout.$RANDOM" + a2ensite "$(basename $site_config)" &>$outfile if [ $? -ne 0 ]; then + # an error happened, so we show the command's output at least. + cat $outfile + echo echo "There was a problem enabling the apache config file in:" echo " $site_config" echo "Please consult the apache error logs for more details." exit 1 fi + rm "$outfile" } +# restarts the apache2 service. function restart_apache() { service apache2 restart @@ -79,6 +83,36 @@ function restart_apache() fi } +# sets up a link to represent the serverpilot storage location, while +# still storing the files under /var/www. +function create_shadow_path() +{ + # make sure there is a symbolic link from the shadow path (that mimics the serverpilot + # storage set up) to the real storage directory. + if [ ! -L "$SHADOWPATH" ]; then + # create the path up to but not including the last component. + if [ ! -d $(dirname $SHADOWPATH) ]; then + mkdir -p $(dirname $SHADOWPATH) + if [ $? -ne 0 ]; then + echo "The parent of the shadow path could not be created." + echo "Path in question is: $(dirname $SHADOWPATH)" + exit 1 + fi + fi + + ln -s "$BASEPATH" "$SHADOWPATH" +#hmmm: should we be okay with it if it's a real dir, and assume people are happy? +# this wouldn't work too well if we go plunk down the new thing in /var/www, +# if they are expecting this tool to totally meld with serverpilot. + if [ $? -ne 0 ]; then + echo "The shadow path for mimicking serverpilot could not be created." + echo "Is there a real directory present for this already?" + echo "Path in question is: $SHADOWPATH" + exit 1 + fi + fi +} + # main body of script. if (( $EUID != 0 )); then @@ -96,21 +130,7 @@ if [ -z "$appname" -o -z "$site" ]; then exit 1 fi -# make sure there is a symbolic link from the shadow path (that mimics the serverpilot -# storage set up) to the real storage directory. -if [ ! -l "$SHADOWPATH" ]; then - ln -s "$BASEPATH" "$SHADOWPATH" -#hmmm: should we be okay with it if it's a real dir, and assume people are happy? -# this wouldn't work too well if we go plunk down the new thing in /var/www, -# if they are expecting this tool to totally meld with serverpilot. - if [ $? -ne 0 ]; then - echo "The shadow path for mimicking serverpilot could not be created." - echo "Is there a real directory present for this already?" - echo "Path in question is: $SHADOWPATH" - exit 1 - fi -fi - +create_shadow_path write_apache_config "$appname" "$site" enable_site "$site" restart_apache