power-mailinabox/scripts/web.sh

45 lines
1.4 KiB
Bash
Raw Normal View History

2013-09-01 14:24:49 +00:00
# HTTP: Turn on a web server serving static files
#################################################
source scripts/functions.sh # load our functions
2014-04-25 11:41:50 +00:00
# Remove Apache before installing Nginx. Apache may leave
# some unwanted configuration files around (e.g. a ufw
# application config), so purge the packages.
apt-get purge -q -y apache2 apache2.2-common
apt_install nginx php5-cgi
2013-09-01 14:24:49 +00:00
2013-09-07 20:53:25 +00:00
rm -f /etc/nginx/sites-enabled/default
STORAGE_ROOT_ESC=$(echo $STORAGE_ROOT|sed 's/[\\\/&]/\\&/g')
PUBLIC_HOSTNAME_ESC=$(echo $PUBLIC_HOSTNAME|sed 's/[\\\/&]/\\&/g')
2013-09-01 14:24:49 +00:00
# copy in the nginx configuration file and substitute some
# variables
2013-09-01 14:24:49 +00:00
cat conf/nginx.conf \
2013-09-07 20:53:25 +00:00
| sed "s/\$STORAGE_ROOT/$STORAGE_ROOT_ESC/g" \
| sed "s/\$PUBLIC_HOSTNAME/$PUBLIC_HOSTNAME_ESC/g" \
> /etc/nginx/conf.d/local.conf
cp conf/nginx-ssl.conf /etc/nginx/nginx-ssl.conf
2013-09-07 20:53:25 +00:00
# make a default homepage
2013-09-07 20:53:25 +00:00
mkdir -p $STORAGE_ROOT/www/static
cp conf/www_default.html $STORAGE_ROOT/www/static/index.html
chown -R $STORAGE_USER $STORAGE_ROOT/www/static/index.html
2013-09-07 20:53:25 +00:00
# Create an init script to start the PHP FastCGI daemon and keep it
# running after a reboot. Allows us to serve Roundcube for webmail.
rm -f /etc/init.d/php-fastcgi
ln -s $(pwd)/conf/phpfcgi-initscript /etc/init.d/php-fastcgi
update-rc.d php-fastcgi defaults
2013-09-01 14:24:49 +00:00
# Start services.
service nginx restart
service php-fastcgi restart
2013-09-01 14:24:49 +00:00
# Open ports.
2013-09-01 14:24:49 +00:00
ufw allow http
ufw allow https