#!/usr/bin/env bash VAGRANTDEV=1 DIR=/vagrant DIRDATA=$DIR/data MYSQL_PASS=scores MARIADB_VERSION="10.0" PHPMYADMIN_VERSION="4.4.10" # --- Add a file action.upgrade to perfom a system upgrade if [ -f $DIR/action.upgrade ] then sudo apt-get update sudo apt-get -y upgrade sudo rm -rf $DIR/action.upgrade fi # --- Installation Wkhtmltopdf if [ ! -f /usr/local/bin/wkhtmltopdf ] then sudo dpkg -i $DIRDATA/Apps/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb sudo apt-get -f install -y fi # --- Database if [ $VARGANTDEV -eq 1 ] then # --- Installation MariaDB if [ ! -f /etc/mysql/vagrant ] then sudo apt-get install software-properties-common sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db sudo add-apt-repository 'deb http://nwps.ws/pub/mariadb/repo/10.0/ubuntu trusty main' sudo apt-get update sudo debconf-set-selections <<< "mariadb-server-$MARIADB_VERSION mysql-server/root_password password $MYSQL_PASS" sudo debconf-set-selections <<< "mariadb-server-$MARIADB_VERSION mysql-server/root_password_again password $MYSQL_PASS" sudo apt-get -y --allow-unauthenticated install mariadb-server #sudo sed -i -e 's/datadir = \/var\/lib\/mysql/datadir = \/home\/vhosts\/mysql/g' /etc/mysql/my.cnf sudo sed -i -e 's/bind-address[ \t]*= 127.0.0.1/bind-address = 0.0.0.0/g' /etc/mysql/my.cnf sudo sed -i -e 's/max_connections[ \t]*= 100/max_connections = 20/g' /etc/mysql/my.cnf sudo touch /etc/mysql/vagrant fi else # --- Installation MySQL Server if [ ! -f /etc/mysql/vagrant ] then sudo debconf-set-selections <<< "mysql-server mysql-server/root_password password $MYSQL_PASS" sudo debconf-set-selections <<< "mysql-server mysql-server/root_password_again password $MYSQL_PASS" sudo apt-get -y install mysql-server sudo sed -i -e 's/bind-address[ \t]*= 127.0.0.1/bind-address = 0.0.0.0/g' /etc/mysql/my.cnf sudo sed -i -e 's/max_connections[ \t]*= 100/max_connections = 20/g' /etc/mysql/my.cnf sudo touch /etc/mysql/vagrant fi fi # --- PHP if [ ! -f /usr/bin/php5 ] then sudo apt-get update sudo apt-get -y install htop unzip apache2 mysql-client-5.5 php5 php5-apcu php5-curl php5-xmlrpc php5-xsl php5-mysqlnd if [ $VARGANTDEV -eq 1 ] then sudo apt-get -y install php5-xdebug fi # --- Configuration PHP / CLI if [ -f /etc/php5/cli/php.ini ] then sudo sed -i -e 's/short_open_tag = Off/short_open_tag = On/g' /etc/php5/cli/php.ini sudo sed -i -e 's/;mbstring.internal_encoding = UTF-8/mbstring.internal_encoding = UTF-8/g' /etc/php5/cli/php.ini sudo sed -i -e 's/;date.timezone =/date.timezone = Europe\/Paris/g' /etc/php5/cli/php.ini fi # --- Configuration PHP / APACHE2 if [ -f /etc/php5/apache2/php.ini ] then sudo sed -i -e 's/short_open_tag = Off/short_open_tag = On/g' /etc/php5/apache2/php.ini sudo sed -i -e 's/;mbstring.internal_encoding = UTF-8/mbstring.internal_encoding = UTF-8/g' /etc/php5/apache2/php.ini sudo sed -i -e 's/;date.timezone =/date.timezone = Europe\/Paris/g' /etc/php5/apache2/php.ini sudo sed -i -e 's/post_max_size = 8M/post_max_size = 50M/g' /etc/php5/apache2/php.ini sudo sed -i -e 's/upload_max_filesize = 2M/upload_max_filesize = 50M/g' /etc/php5/apache2/php.ini sudo sed -i -e 's/session.gc_maxlifetime = 1440/session.gc_maxlifetime = 86400/g' /etc/php5/apache2/php.ini sudo sed -i -e 's/;opcache.enable=0/opcache.enable=1/g' /etc/php5/apache2/php.ini sudo cp $DIRDATA/PHP/xdebug.ini /etc/php5/mods-available/xdebug.ini # --- Browscap sudo cp -f $DIRDATA/PHP/php_browscap.ini /etc/php5/apache2/ sudo sed -i -e 's/;browscap = extra\/browscap.ini/browscap = \/etc\/php5\/apache2\/php_browscap.ini/g' /etc/php5/apache2/php.ini fi # --- ChartDirector if [ ! -f /usr/lib/php5/20121212/chartdir.lic ] then sudo cp -R $DIRDATA/ChartDirector/lib/fonts /usr/lib/php5/20121212/ sudo cp $DIRDATA/ChartDirector/lib/libchartdir.so /usr/lib/php5/20121212/ sudo cp $DIRDATA/ChartDirector/lib/phpchartdir550.dll /usr/lib/php5/20121212/ sudo cp $DIRDATA/ChartDirector/chartdir.lic /usr/lib/php5/20121212/ sudo cp $DIRDATA/ChartDirector/chartdir.ini /etc/php5/mods-available/ sudo php5enmod chartdir fi sudo a2enmod autoindex deflate expires headers rewrite fi # --- Installation phpMyAdmin PHPMYADMIN_PATH="phpMyAdmin-$PHPMYADMIN_VERSION-all-languages" if [ ! -d "/home/vhosts/$PHPMYADMIN_PATH" ] then if [ -f "$DIRDATA/Apps/$PHPMYADMIN_PATH.tar.xz" ] then tar xJvf "$DIRDATA/Apps/$PHPMYADMIN_PATH.tar.xz" --directory /home/vhosts/ mysql -hlocalhost -uroot -p$MYSQL_PASS < $DIRDATA/Apps/phpmyadmin.sql mysql -hlocalhost -uroot -p$MYSQL_PASS < /home/vhosts/$PHPMYADMIN_PATH/sql/create_tables.sql sudo service mysql restart cp $DIRDATA/Apps/config.inc.php /home/vhosts/$PHPMYADMIN_PATH/ chmod 0444 /home/vhosts/$PHPMYADMIN_PATH/config.inc.php fi fi # --- Configuration Apache if [ ! -f /etc/apache2/conf-available/httpd.conf ] then sudo echo "ServerName 127.0.0.1" > /etc/apache2/conf-available/httpd.conf sudo a2enconf httpd fi # --- Configuration Apache / Vhosts if [ ! -f $DIR/vhosts/phpmyadmin.conf ] then cp $DIRDATA/Apache/phpmyadmin.conf $DIR/vhosts/phpmyadmin.conf fi if [ ! -f $DIR/vhosts/test.conf ] then cp $DIRDATA/Apache/test.conf /etc/apache2/sites-available/test.conf if [ ! -d /home/vhosts/test ] then sudo mkdir /home/vhosts/test fi fi # --- Disable all website cd /etc/apache2/sites-available/ DVHOSTS='' for f in *.conf; do DVHOSTS+=" $f"; done; sudo a2dissite $DVHOSTS # --- Copy Vhosts files VHOSTS='000-default.conf' cd $DIR/vhosts/ for f in *.conf; do if [ -f $f ] then sudo cp -f $f /etc/apache2/sites-available/; VHOSTS+=" $f" fi done; sudo a2ensite $VHOSTS # --- Restart apache sudo service apache2 restart