kanojiyadhaval
10/17/2019 - 8:35 AM

Magento 2 - Bash Script - Install by cloning from Github repository and bash

Magento 2 - Bash Script - Install by cloning from Github repository and bash

#!/bin/bash

#title           :magento2-setup.sh
#description     :This script will install Magento from github
#author		 :Shine Software Italy 
#date            :20170202
#version         :0.1    
#usage		 :Set the execution permission for this file and then call it ./magento2-setup.sh
#notes           :Install Composer and cURL to use this script.

process_install() {
	
	echo "Which is the domain name of the Magento store? eg: mydomain.biz"
	read DOMAIN
	
	echo "Get the MAGENTO from GITHUB.COM"
	git clone https://github.com/magento/magento2.git $DOMAIN
	
	echo "Magento installation has been started!"

	cd $DOMAIN
	
	echo "Fixing the file and folder permissions"
	find . -type f -exec chmod 660 {} \;
	find . -type d -exec chmod 770 {} \;
	chown www-data:www-data . -R
	chmod u+x bin/magento

	echo "Composer install the vendor libraries! Hold on ..."
	composer install

	echo "A new database must be created! Hold on a moment!"
	echo "Please enter the name of the new database for Magento."
	echo " --- (Warning! if it exists, it will be deleted!) ---"
	read database
	
	echo "Please enter the database password:"
	read DB_PASS
	
	echo "drop database $database;create database $database;" | mysql -u root -p

        echo "Which is your store administration password?"
        read MAGENTOPASS

	echo "Magento 2 setup is started! Hold on ..."
	php bin/magento setup:install --backend-frontname=admin --base-url=http://$DOMAIN/ --db-host=localhost --db-name=magento2 --db-user=root --db-password=$DB_PASS --admin-firstname=John --admin-lastname=Doe --admin-email=info@$DOMAIN --admin-user=admin --admin-password=$MAGENTOPASS --language=it_IT --currency=EUR --timezone=Europe/Rome --use-rewrites=1

	echo "Almost done! I am cleaning the temporary files ... Just few moments ..."	
	rm -rf var/di var/generation pub/static/frontend var/view_preprocessed var/page_cache/* var/cache/*

	echo "DONE";
}

echo "=== MAGENTO 2 SETUP ==="
while true; do
    read -p "Do you wish to install Magento 2 from git?" yn
    case $yn in
        [Yy]* ) process_install; break;;
        [Nn]* ) exit;;
        * ) echo "Please answer yes or no.";;
    esac
done