#!/bin/bash
#	Arca Solutions
#	Script para automatizar preparo do ambiente para devs 
#	Criado por Rafael Carreiro (com base no guia criado por Douglas Abreu)


### Funcoes ###
separar_conteudo(){
	echo -e "\n\n================================================================================\
	\n\n"
	}

# Resolve problema de add repo em containers docker
export LC_ALL=C.UTF-8

[ -z "${_USER}" ] && read -p "[+] Informe o usuario: " _USER
[ ! $(grep ${_USER} /etc/passwd) ] && useradd -m ${_USER}
export _USER=${_USER}

separar_conteudo
echo -e "[+] Atualizando o sistema."
apt-get update && apt-get -y upgrade && apt-get -y dist-upgrade 

separar_conteudo

read -p "[+] Colaborador ou servidor? (c/s)" _ESCOLHA
if [ "${_ESCOLHA}" == "c" ]; then
	apt-get install -y terminator
	# ADD SUBLIME PHP STORM E OUTRAS COISAS DE DEV AQUI...
else
	:
fi

separar_conteudo
echo -e "[+] Instalando ferramentas base."
apt-get -y install \
vim git wget curl openssh-server \
xclip dialog \
software-properties-common \
apache2

separar_conteudo
echo -e "[+] Adicionando repositorio PHP."
add-apt-repository -y ppa:ondrej/php

separar_conteudo
echo -e "[+] Adicionando repositorio MySQL."
add-apt-repository -y ppa:ondrej/mysql-5.6
add-apt-repository 'deb http://archive.ubuntu.com/ubuntu trusty universe'

apt-get update

separar_conteudo
echo -e "[+] Instalando PHP e dependencias."
apt-get -y install \
libapache2-mod-php5.6 \
libapache2-mod-php7.0 \
php5.6-mcrypt \
php5.6-curl \
php5.6-cli \
php5.6-gd \
php5.6-cgi \
php5.6-mbstring \
php5.6-xml \
php5.6-intl \
php5.6 \
php-apcu \
php-gettext \
php5.6-mysql \
php7.0 \


sed -i 's/index.php\ //' /etc/apache2/mods-enabled/dir.conf
sed -i 's/DirectoryIndex/DirectoryIndex\ index.php/' /etc/apache2/mods-enabled/dir.conf
for i in $(find /etc/ -name php.ini); do sed -i 's/^.*short_open_tag = Off.*/short_open_tag = On/' $i && \
sed -i 's/^.*date.timezone.*/date.timezone = UTC/' $i; done
a2enmod rewrite && /etc/init.d/apache2 restart

separar_conteudo
echo -e "[+] Instalando MySQL 5.6."
apt-get install -y mysql-client-5.6 mysql-server-5.6 php5.6-mysql
apt-get install -y phpmyadmin
a2dismod php7.0
a2enmod php5.6
service apache2 restart
ln -sfn /usr/bin/php5.6 /etc/alternatives/php

echo "Include /etc/phpmyadmin/apache.conf" >> /etc/apache2/apache2.conf

separar_conteudo
echo -e "[+] Ajustando permissoes para diretorio /var/www."
chown -R www-data:www-data /var/www
chmod -R 775 /var/www
chmod -R g+s /var/www
usermod -a -G www-data $_USER

separar_conteudo
echo -e "[+] Instalando Symfony."
curl -LsS http://symfony.com/installer -o /usr/local/bin/symfony
chmod a+x /usr/local/bin/symfony

separar_conteudo
echo -e "[+] Instalando Composer."
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

separar_conteudo
echo -e "[+] Habilitando inicializacao automatica."
/etc/init.d/ssh start
/etc/init.d/mysql start
/etc/init.d/apache2 start

update-rc.d ssh defaults
update-rc.d mysql defaults
update-rc.d apache2 defaults


echo -e "[+] Instalacao de requisitos para eDirectory concluida com sucesso."
