Last active
October 15, 2020 20:10
-
-
Save masiur/f2f80d1a48512934e5a99ba6fd5ae07a to your computer and use it in GitHub Desktop.
bug fixed
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
echo "Domain name eg. example.com:" | |
read domain_name | |
sudo mkdir -p /var/www/html/$domain_name | |
sudo chown -R $USER:$USER /var/www/html/$domain_name | |
cd /var/www/html/$domain_name | |
read -p 'Git Repo Full Url:' git_url | |
git clone $git_url | |
cd $(ls -d */|head -n 1) #First directory on list | |
BASE_PATH=$PWD | |
echo "Please enter the NAME of the new MySQL database! (example: database1)" | |
read MAINDB | |
echo "Please enter the MySQL database CHARACTER SET! (example: latin1, utf8, ...)" | |
echo "Enter utf8 if you don't know what you are doing" | |
read charset | |
echo "Creating new MySQL database..." | |
# create random password | |
PASSWDDB="$(openssl rand -base64 12)" | |
# If /root/.my.cnf exists then it won't ask for root password | |
if [ -f /root/.my.cnf ]; then | |
mysql -e "CREATE DATABASE ${MAINDB} /*\!40100 DEFAULT CHARACTER SET ${charset} */;" | |
mysql -e "CREATE USER ${MAINDB}@localhost IDENTIFIED BY '${PASSWDDB}';" | |
mysql -e "GRANT ALL PRIVILEGES ON ${MAINDB}.* TO '${MAINDB}'@'localhost';" | |
mysql -e "FLUSH PRIVILEGES;" | |
# If /root/.my.cnf doesn't exist then it'll ask for root password | |
else | |
echo "Please enter root user MySQL password!" | |
echo "Note: password will be hidden when typing" | |
read -sp rootpasswd | |
mysql -uroot -p${rootpasswd} -e "CREATE DATABASE ${MAINDB} /*\!40100 DEFAULT CHARACTER SET ${charset} */;" | |
mysql -uroot -p${rootpasswd} -e "CREATE USER ${MAINDB}@localhost IDENTIFIED BY '${PASSWDDB}';" | |
mysql -uroot -p${rootpasswd} -e "GRANT ALL PRIVILEGES ON ${MAINDB}.* TO '${MAINDB}'@'localhost';" | |
mysql -uroot -p${rootpasswd} -e "FLUSH PRIVILEGES;" | |
fi | |
cp .env.example .env | |
sed -i "/DB_DATABASE/c DB_DATABASE=$MAINDB" .env | |
sed -i "/DB_USERNAME/c DB_USERNAME=$MAINDB//" .env | |
sed -i "/DB_PASSWORD/c DB_PASSWORD=$PASSWDDB" .env | |
composer update | |
php artisan key:generate | |
php artisan migrate --seed | |
{ | |
<VirtualHost *:80> | |
ServerName $domain_name | |
DocumentRoot $BASE_PATH/public | |
<Directory "$BASE_PATH/public"> | |
AllowOverride All | |
</Directory> | |
</VirtualHost> | |
} > /etc/apache2/sites-available/"$domain_name".conf | |
sudo chgrp -R www-data storage bootstrap/cache | |
sudo chmod -R ug+rwx storage bootstrap/cache | |
sudo chmod -R 777 storage && sudo chmod -R 777 public && sudo chmod -R 777 bootstrap/cache | |
echo "Visit http://${domain_name}" | |
echo "MySQL Database Username: {$USER_NAME}" | |
echo "MySQL Database Name: {$MAINDB}" | |
echo "MySQL DB Password: {$PASSWDDB}" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment