Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- set -e
- DEFAULT="\033[39m"
- GREEN="\033[32m"
- RED="\033[31m"
- LIGHT_BLUE="\033[94m"
- if [[ `whoami` != "root" ]]; then
- printf "$RED%s$DEFAULT\n" "$0 must be run with root privileges"
- exit 1;
- fi
- logger -s -t [INFO] -p user.info "configuration"
- while [ -z ${project_name} ]; do
- read -p "project name : " project_name
- done
- while [ -z ${project_type} ] ; do
- read -p "project type [php/wordpress/java/Drupal] : " project_type
- done
- read -p "database name [] : " database_name
- if [ ! -z ${database_name} ] ; then
- while [ -z ${database_host} ] || [[ ! ${database_host} =~ ^(yes|oui|non|no|y|n|o|Y|N|O)$ ]] ; do
- read -p "database in dev [y/n] : " database_host
- done
- clone_db=false
- if [[ ${database_host} =~ ^(yes|oui|y|o|Y|O)$ ]]; then
- clone_db=true
- fi
- read -p "database user : " database_user
- read -s -p "database password : " database_passwd
- read -p "database prefix : " database_prefix
- fi
- read -p "nom de domaine : " ndd
- if [ -z ${database_host} ] ; then
- database_host="dev"
- fi
- logger -s -t [INFO] -p user.info "add user client_${project_name}"
- adduser --home "/webapps/client/${project_name}" --disabled-password --ingroup webapps ${project_name} || logger -s -t [ERROR] -p user.error "add user ${project_name}"
- logger -s -t [INFO] -p user.info "clone https://git.bluteams.fr/client/${project_type}/${project_name}"
- git clone "https://git.bluteams.fr/client/${project_type}/${project_name}" "/webapps/client/${project_name}/${project_name}" || logger -s -t [ERROR] -p user.error "failed clone https://git.bluteams.fr/client/${project_type}/${project_name} on /webapps/client/${project_name}/${project_name}"
- logger -s -t [INFO] -p user.info "create log folder /webapps/logs/${project_name}"
- mkdir -p "/webapps/logs/${project_name}" || logger -s -t [ERROR] -p user.error "failed create folder /webapps/logs/${project_name}"
- chown -R ${project_name}:webapps "/webapps/client/${project_name}/${project_name}"
- logger -s -t [INFO] -p user.info "create apache virtualhost"
- echo "<VirtualHost 91.121.169.86:80>
- ServerAdmin server@bluteamsgroup.fr
- ServerName ${ndd}
- ServerAlias www.${ndd}
- DocumentRoot /webapps/client/${project_name}/${project_name}
- <ifmodule mpm_itk_module>
- AssignUserID ${project_name} webapps
- </ifmodule>
- <Directory \"/\">
- Options Indexes FollowSymLinks MultiViews
- DirectoryIndex index.php
- AllowOverride All
- Allow from ${ndd}
- Require all granted
- </Directory>
- LogLevel warn
- ErrorLog /webapps/logs/${project_name}/error.log
- CustomLog /webapps/logs/${project_name}/access.log combined
- </VirtualHost>" > "/etc/apache2/sites-available/${project_name}.conf" || logger -s -t [ERROR] -p user.error "failed create apache virtualhost"
- logger -s -t [INFO] -p user.info "active apache virtualhost"
- a2ensite ${project_name} || logger -s -t [ERROR] -p user.error "failed active apache virtualhost"
- if [ -f "/webapps/client_${project_name}/${project_name}/.htaccess" ]; then
- logger -s -t [INFO] -p user.info "update RewriteBase"
- sed -i -e "s/RewriteBase \/${project_name}\//RewriteBase \//" "/webapps/client/${project_name}/${project_name}/.htaccess" || logger -s -t [ERROR] -p user.error "failed update RewriteBase"
- logger -s -t [INFO] -p user.info "update RewriteRule"
- sed -i -e "s/RewriteRule\ .\ \/${project_name}\/index.php\ \[L\]/RewriteRule\ .\ \/index.php\ \[L\]/" "/webapps/client/${project_name}/${project_name}/.htaccess" || logger -s -t [ERROR] -p user.error "failed update RewriteRule"
- fi
- if [ ! -z ${database_name} ] ; then
- if ${clone_db}; then
- logger -s -t [INFO] -p user.info "connect to dev.bluteams.fr to get database dump"
- ssh bluteams@dev.bluteams.fr -p 12 mysqldump -u ${database_user} -p ${database_name} > sql.sql || logger -s -t [ERROR] -p user.error "failed connect to dev.bluteams.fr to get database dump"
- fi
- logger -s -t [INFO] -p user.info "create user for local database"
- mysql -u root -p -e "CREATE USER ${database_user}@localhost IDENTIFIED BY '${database_passwd}';";
- logger -s -t [INFO] -p user.info "create local database"
- mysql -u root -p -e "CREATE DATABASE ${database_name} /*\!40100 DEFAULT CHARACTER SET utf8 */;";
- logger -s -t [INFO] -p user.info "grant user to this database"
- mysql -u root -p -e "GRANT ALL PRIVILEGES ON ${database_name}.* TO '${database_user}'@'localhost'";
- if ${clone}; then
- logger -s -t [INFO] -p user.info "import databse datas"
- mysql -u bluteams -p ${database_name} < sql.sql || logger -s -t [ERROR] -p user.error "failed import database"
- logger -s -t [INFO] -p user.info "delete database dump"
- rm sql.sql || logger -s -t [ERROR] -p user.error "failed rm dump"
- fi
- fi
- service apache2 reload
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement