# create virtualhost.
# todo : use twig template instead rsync for file.conf ?
terminal-save
echo "Création du virtualHost"
case $projectType in
"wordpress")
vHostFileName="wp_${projectShortName}.conf"
rsync --compress --rsh="ssh -p $devPort" -a $devUserName@$devHost:/etc/apache2/sites-available/template_wordpress.conf $HOME/$vHostFileName
sed -i "s/VHOST_ID/WP/g" "$HOME/$vHostFileName"
sed -i "s/PHP_VERSION/${requirePhpVersion}/g" "$HOME/$vHostFileName"
;;
"symfony")
vHostFileName="symfony_${projectShortName}.conf"
rsync --compress --rsh="ssh -p $devPort" -a $devUserName@$devHost:/etc/apache2/sites-available/template_symfony.conf $HOME/$vHostFileName
sed -i "s/VHOST_ID/SYMFONY/g" "$HOME/$vHostFileName"
sed -i "s/PHP_VERSION/${requirePhpVersion}/g" "$HOME/$vHostFileName"
;;
"react")
vHostFileName="react_${projectShortName}.conf"
rsync --compress --rsh="ssh -p $devPort" -a $devUserName@$devHost:/etc/apache2/sites-available/template_react.conf $HOME/$vHostFileName
sed -i "s/VHOST_ID/REACT/g" "$HOME/$vHostFileName"
;;
*)
echo "#Erreur le type de projet ($projectType) n'est pas (encore) pris en compte. "
echo "Contactez un administrateur pour plus d'infos. "
exit 1
;;
esac
sed -i "s/VHOST_NAME/${projectShortName//\//\\\/}/g" "$HOME/$vHostFileName"
sed -i "s/VHOST_DOMAIN/${siteDomain}/g" "$HOME/$vHostFileName"
WWW_SITE_PATH=$(echo $projectDestPath | sed 's/.$//')
sed -i "s@WWW_SITE_PATH@${WWW_SITE_PATH}@g" "$HOME/$vHostFileName"
sudo mv $HOME/$vHostFileName /etc/apache2/sites-available/$vHostFileName
sudo a2ensite $vHostFileName > /dev/null
sudo service apache2 restart
# test local hostname or insert into HOST
ping -c 1 $siteDomain > /dev/null 2>&1 || {
echo "127.0.0.1 $siteDomain" | sudo tee -a /etc/hosts
}
terminal-restore
echo -e " + Vhost Apache \e[1;92mConfiguré\e[0m"