#!/bin/bash CONTAINER=$1 APPNAME="wordpress" APPURL="https://fr.wordpress.org/wordpress-4.7.3-fr_FR.zip" TMPDIR="/tmp" INSTALLDIR="/var/www" DOMAIN="logerais.com" TIMEZONE="Europe/Paris" if [ -z "$CONTAINER" ]; then echo "Missing parameter"; exit 1 ; fi # Set container Timezone lxc file edit "$CONTAINER/etc/timezone" <<< "${TIMEZONE}" # Install packages lxc exec $CONTAINER -- apt update lxc exec $CONTAINER -- apt install -y curl wget tar unzip lxc exec $CONTAINER -- apt install -y aspell aspell-fr hunspell hunspell-fr enchant lxc exec $CONTAINER -- apt install -y apache2 libapache2-mod-php lxc exec $CONTAINER -- apt install -y mariadb-client mariadb-server lxc exec $CONTAINER -- apt install -y php lxc exec $CONTAINER -- apt install -y php-curl php-intl php-json php-xml php-gd lxc exec $CONTAINER -- apt install -y php-mysql # Install Web App lxc exec $CONTAINER -- bash <<< "cd ${TMPDIR} && wget ${APPURL}" lxc exec $CONTAINER -- bash <<< "unzip ${TMPDIR}/${APPNAME}-*.zip -d ${INSTALLDIR}" lxc exec $CONTAINER -- chown -R "www-data:www-data" "${INSTALLDIR}/${APPNAME}" # Create Database lxc exec $CONTAINER -- mysql <<< "CREATE USER '${APPNAME}'@'localhost' IDENTIFIED BY '${APPNAME}';" lxc exec $CONTAINER -- mysql <<< "CREATE DATABASE ${APPNAME};" lxc exec $CONTAINER -- mysql <<< "GRANT ALL PRIVILEGES ON ${APPNAME}.* to ${APPNAME}@localhost;" lxc exec $CONTAINER -- mysql <<< "FLUSH PRIVILEGES;" # Configure PHP lxc exec $CONTAINER -- sed -i -e "s|;date.timezone.*|date.timezone = \"${TIMEZONE}\"|" /etc/php/7.0/apache2/php.ini # Configure Apache lxc exec $CONTAINER -- a2enmod rewrite lxc file edit "$CONTAINER/etc/apache2/sites-available/${APPNAME}.conf" < ServerName ${APPNAME}.${DOMAIN} ServerAdmin admin@${DOMAIN} DocumentRoot /var/www/${APPNAME} ErrorLog \${APACHE_LOG_DIR}/${APPNAME}.error.log CustomLog \${APACHE_LOG_DIR}/${APPNAME}.access.log combined # vim: syntax=apache ts=4 sw=4 sts=4 sr noet EOF #lxc exec $CONTAINER -- rm /etc/apache2/sites-enabled/default lxc exec $CONTAINER -- ln -s "../sites-available/${APPNAME}.conf" "/etc/apache2/sites-enabled/${APPNAME}.conf" lxc exec $CONTAINER -- systemctl reload apache2.service # Configure wordpress lxc file edit "$CONTAINER/${INSTALLDIR}/${APPNAME}/wp-config.php" <