Skip to content

Instantly share code, notes, and snippets.

@igoralves1
Last active October 8, 2018 22:09
Show Gist options
  • Save igoralves1/e0afc3ffd096eee19f95e082fbf3adc1 to your computer and use it in GitHub Desktop.
Save igoralves1/e0afc3ffd096eee19f95e082fbf3adc1 to your computer and use it in GitHub Desktop.
BASH -> Setting Up for Ubuntu16.04 PHP7.1, NGINX, NodeJs, NPM, GIT, VHOST [ (DEV) Laravel 5.5, Laravel/Lumen API 5.4, XDEBUG, VsCode, Chrome, Gitkraken, JAVA, WorkBench, NetBeans, CloneFromBitbucket, MariaDB, REDIS, NODE_RED, BRACKETS ]
#!/bin/bash
## Note: please edit with your ubuntu root user name. The follow example is expecting to have the user "ila" as a Root privileges.
UBT_USER='ila'
HOME_PATH=/home/$UBT_USER
PRJ_DOMAIN='firemap'
PRJ_API="${PRJ_DOMAIN}_api"
PRJ_WEB="${PRJ_DOMAIN}.com"
#Alias to the URL, edit at your convinience
#VHOST="${PRJ_DOMAIN}"
#VHOST="${PRJ_API}"
VHOST="${PRJ_WEB}"
#Path until the phisical location to the index page of the project.
#It can be changed based on the project
## When the project is Laravel WEB OR API(Lumen)
VHOST_ROOT="${VHOST}/public/"
## When the project is UNIFY HTML
#VHOST_ROOT="${VHOST}/documentation/"
#VHOST_ROOT="${VHOST}/html/"
#NOTE: SHould we put this logic when we are creating the File iside ~/vhosts/project ?
#CReate an if condition and test if it is an API or a Laravel web or UNIFY or etc...
#ACL - https://github.com/LaravelDaily/laravel-roles-permissions-manager
#Bitbucket credentials
USR_BITBUCKET='aaaaaaaaaa'
PSSWRD_BITBUCKET='aaaaaaaaaa'
NEW_REPO_BITBUCKET=$VHOST
GIT_EMAIL="${USR_BITBUCKET}@gmail.com"
#GIT_EMAIL="${USR_BITBUCKET}"
#Note: the project must exists in butbucket previously.
echo " "
echo "------------------------------------------------------------"
echo "UBT_USER=${UBT_USER}" ;echo "l=>$LINENO"
echo "PRJ_DOMAIN=${PRJ_DOMAIN}" ;echo "l=>$LINENO"
echo "PRJ_API=${PRJ_API}" ;echo "l=>$LINENO"
echo "PRJ_WEB=${PRJ_WEB}" ;echo "l=>$LINENO"
echo "HOME_PATH=${HOME_PATH}" ;echo "l=>$LINENO"
echo "VHOST=${VHOST}" ;echo "l=>$LINENO"
echo "VHOST_ROOT=${VHOST_ROOT}" ;echo "l=>$LINENO"
echo "USR_BITBUCKET=${USR_BITBUCKET}" ;echo "l=>$LINENO"
echo "PSSWRD_BITBUCKET=${PSSWRD_BITBUCKET}" ;echo "l=>$LINENO"
echo "NEW_REPO_BITBUCKET=${NEW_REPO_BITBUCKET}" ;echo "l=>$LINENO"
echo "------------------------------------------------------------"
echo " "
sleep 5s
#==================================
# === Basic Modules == #
# figlet
# dpkg
# tree
# vim
# wget
# curl
# nginx
# git
# nodejs
# npm
# php 7.1
# composer
# a - Installing Basic Modules - Only
# A -
# b - XDEBUG
# B -
# c - POSTMAN
# C - VSCODE
# d - GOOGLE_CHROME
# D - Gitkraken
# e - NetBeans
# E - Vbox-shareFolder
# f - Vbox-guest-dkms
# F - MARIA_DB_SERVER
# g - Node_Red
# G - BRACKETS
# h - REDIS
# H - MYSQL_WORKBENCH
# i - JAVA
# I - Create Laravel
# j - Create Laravel_Lumen
# J - GitInit
# k - Create_Repo_Bitbucket
# K - Push_to_Bitbucket
# l - slpSpc Set_VHOST.CONF
# slpSpc GitInit
# slpSpc Create_Repo_Bitbucket
# slpSpc Push_to_Bitbucket
# L - Cloning_from_Bitbucket
# m - slpSpc Set_VHOST.CONF
# Clone_Laravel_PRJ_from_Bitbucket
# M - Unistall_Laravel
# n - VideoManagement (ffmpeg,OpenGL,obs-studio)
# N - Virtualbox
# o - Installing Basic Modules - Current AND Configuration
# O - Laravel/Lumen Last Version
# p - Laravel Last Version
# P -
# q - Laravel HOST config
# Q - Lumen HOST config
# r -
# R -
# s -
# S -
# t -
# T -
# u -
# U -
# v -
# V -
# x -
# X -
# y -
# Y -
# z -
# Z -
# Download
# http://askubuntu.com/questions/560693/using-script-to-download-a-file
# wget xxx/sysInit.sh
# sudo chmod guo+x sysInit.sh
# PROD ENV AWS DOMAIN
# sudo ./sysInit.sh -x
# PROD ENV Owner DOMAIN
# sudo ./sysInit.sh -x
# DEV ENV
# sudo ./sysInit.sh -x -T -S -R -R -Q -P
#Vi search strings
#/myString -> enter
## Under test - Not working!
## RUN DEV with -x -l -v -c -g -j -w -n
## sudo curl https://gist.githubusercontent.com/igoralves1/e0afc3ffd096eee19f95e082fbf3adc1/raw/e49235abdd5ef51992fc20660d10987ea8ce0b03/sysInit.sh -x -l -v -c -g | sudo sh
# If Ubuntu have no CURL installed:
# sudo apt-get update
# sudo apt-get install -y curl
#############################################################################################################################
# https://askubuntu.com/questions/86822/how-can-i-copy-the-contents-of-a-folder-to-another-folder-in-a-different-directo
# Copy "cp" with preserved all file attributes, and also preserve symlinks "-a" from "lumen/" that is inside the same folder we are TO the current folder "." - Note the dot after lumen/. means copy all (files and folders".
# $ sudo cp -a lumen/. .
# $ ila@ila:~/vhosts/unify$ cp -a /media/sf_AA_SHARE_FOLDER/Unify/Unify-v2.4/. .
#############################################################################################################################
function slpSpc(){
echo " "
echo "------------------------------------------------------------"
echo " "
if [ "$1" == "killLock" ];
then
echo "killLock"
ps aux | grep dpkg ;echo "l=>$LINENO"
sudo killall dpkg
sudo dpkg --configure -a
sudo apt-get update
#================================== Restart_NGINX
elif [ "$1" == "Restart_NGINX" ];
then
echo "Restart_NGINX"
figlet Restarting_NGINX
sudo service nginx restart ;echo "l=>$LINENO"
figlet Restarting_php7.1_fpm
sudo service php7.1-fpm restart ;echo "l=>$LINENO"
systemctl status nginx.service
#================================== update
elif [ "$1" == "update" ];
then
echo "apt-get update"
sudo apt-get update
#================================== videoManagement
elif [ "$1" == "videoManagement" ];
then
echo "ffmpeg"
ffmpeg -version
sudo apt install ffmpeg
ffmpeg -version
echo "OpenGL"
glxinfo | grep "OpenGL"
sudo apt install mesa-utils
glxinfo | grep "OpenGL"
echo "xserver-xorg"
#https://superuser.com/questions/366505/how-to-find-out-xorg-version-or-whats-my-xorg-version
#apt-cache show xserver-xorg | grep Version
echo "obs-studio"
#https://obsproject.com/
#https://github.com/obsproject/obs-studio/wiki/Install-Instructions#linux
sudo add-apt-repository ppa:obsproject/obs-studio
sudo apt-get update
sudo apt-get install obs-studio
#================================== upgrade
elif [ "$1" == "upgrade" ];
then
echo "apt-get upgrade"
sudo apt-get -y upgrade
#================================== autoremove
elif [ "$1" == "autoremove" ];
then
echo "apt-get autoremove"
sudo apt-get -y autoremove
#================================== Gitkraken
elif [ "$1" == "Gitkraken" ];
then
figlet Gitkraken
echo "Downloading and installing gitkraken"
wget https://release.gitkraken.com/linux/gitkraken-amd64.deb
sudo dpkg -i gitkraken-amd64.deb
sudo apt-get install -f
#================================== MYSQL_WORKBENCH
elif [ "$1" == "MYSQL_WORKBENCH" ];
then
figlet MYSQL_WORKBENCH
echo "Installing MySqlWorkbench"
slpSpc killLock 1 ;echo "l=>$LINENO"
sudo apt-get install -y mysql-workbench
#================================== REDIS
elif [ "$1" == "REDIS" ];
then
figlet REDIS
# https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-redis-on-ubuntu-16-04
# https://www.rosehosting.com/blog/how-to-install-configure-and-use-redis-on-ubuntu-16-04/
echo "Installing REDIS"
sudo apt-get update
sudo apt-get install build-essential tcl
# sudo apt-get update
# sudo apt-get upgrade
# sudo apt-get install redis-server
# sudo apt-get install php-redis
#================================== BRACKETS
elif [ "$1" == "BRACKETS" ];
then
figlet BRACKETS
sudo add-apt-repository -y ppa:webupd8team/brackets
sudo apt-get update
sudo apt-get install -y brackets
#================================== Node_Red
elif [ "$1" == "Node_Red" ];
then
figlet Node_Red
sudo npm install -g node-red
#================================== virtualbox
elif [ "$1" == "virtualbox" ];
then
figlet virtualbox
sudo apt-get install -y virtualbox
#================================== MARIA_DB_SERVER
elif [ "$1" == "MARIA_DB_SERVER" ];
then
figlet MARIA_DB_SERVER
sudo apt-get install -y mariadb-server
sleep 5s
clear
figlet ADDING_ROOT_USER_TO_MARIA_DB
sudo mysql -e "CREATE USER '$UBT_USER'@'localhost' IDENTIFIED BY '123';GRANT ALL PRIVILEGES ON * . * TO '$UBT_USER'@'localhost'; FLUSH PRIVILEGES;select Host,User,Password from mysql.user;"
#================================== Vbox-guest-dkms
elif [ "$1" == "Vbox-guest-dkms" ];
then
figlet Vbox-guest-dkms
sudo apt-get install -y virtualbox-guest-dkms
#sudo apt install virtualbox-ext-pack
#https://unix.stackexchange.com/questions/286934/how-to-install-virtualbox-guest-additions-in-a-debian-virtual-machine
#================================== GULP
elif [ "$1" == "GULP" ];
then
figlet GULP
sudo nstall -g gulp
gulp -v
#================================== BOWER
elif [ "$1" == "BOWER" ];
then
figlet BOWER
sudo npm install -g bower
bower -v
#================================== GITK
elif [ "$1" == "GITK" ];
then
figlet GITK
sudo apt-get install -y gitk
#================================== GIT_GUI
elif [ "$1" == "GIT_GUI" ];
then
figlet GIT_GUI
sudo apt-get install -y git-gui
#================================== Set_VHOST.CONF
elif [ "$1" == "Set_VHOST.CONF" ];
then
echo "=================================================================================="
echo "Setting up \$VHOST.conf, \$VHOST.conf Link and \$VHOST DNS "
echo "Creates a .conf file inside /etc/nginx/sites-available/\$VHOST.conf AS "
echo "server_name ${VHOST}; ADN root /var/www/vhosts/${VHOST_ROOT}; "
echo "Creates a simbolic link to the file \$VHOST.conf inside /etc/nginx/sites-enabled/ "
echo "Creates a dns Inside /etc/hosts 127.0.0.1 \$VHOST "
echo "Restarts NGINX "
echo "=================================================================================="
echo " "
slpSpc NGINX_sites-available_VHOST 1 ;echo "l=>$LINENO"
slpSpc NGINX_sites-enabled_LINK 1 ;echo "l=>$LINENO"
slpSpc CreateVHOSTSdns 1 ;echo "l=>$LINENO"
slpSpc Restart_NGINX 1 ;echo "l=>$LINENO"
#================================== Laravel_Lumen
elif [ "$1" == "Laravel_Lumen" ];
then
figlet Installing_Laravel_Lumen
echo "Installing Laravel/Lumen Last version"
echo "=================================================================================="
echo "At this point the index.php should be available from $HOME_PATH/vhosts/$VHOST/public/index.php"
echo "Next step is setup laravel 5.5 in $HOME_PATH/vhosts/$VHOST/"
echo "=================================================================================="
echo " "
# https://serverfault.com/questions/517190/nginx-1-fastcgi-sent-in-stderr-primary-script-unknown
figlet Deleting_$HOME_PATH/vhosts/$VHOST
echo "Check content IN $HOME_PATH/vhosts/ "
tree $HOME_PATH/vhosts/
echo "------------------------------------------------------------"
echo " "
sleep 5s
echo "Deleting all content inside $HOME_PATH/vhosts/"
cd $HOME_PATH/vhosts/
sudo rm -Rf $HOME_PATH/vhosts/$VHOST/
echo "Check $HOME_PATH/vhosts/$VHOST content. Should be empty"
tree $HOME_PATH/vhosts/
echo "------------------------------------------------------------"
echo " "
sleep 5s
echo "Use Composer to install Laravel/Lumen Last Version inside $HOME_PATH/vhosts/"
cd $HOME_PATH/vhosts/
composer create-project --prefer-dist laravel/lumen $VHOST
echo "Check $HOME_PATH/vhosts/ content"
cd $HOME_PATH/vhosts/$VHOST
ls -l
echo "------------------------------------------------------------"
echo " "
sleep 5s
figlet CHOWN_storage/
echo "Changing mode for storage/"
cd $HOME_PATH/vhosts/
ls -l
echo " "
echo "Changing ownership for $VHOST/"
sudo chown -R $UBT_USER:www-data $HOME_PATH/vhosts/$VHOST/
ls -l
echo " "
echo "CHMOD_storage/"
cd $HOME_PATH/vhosts/$VHOST/
sudo chmod guo+wrx -R storage/
ls -l
echo " "
slpSpc Restart_NGINX 1 ;echo "l=>$LINENO"
slpSpc GitInit 1 ;echo "l=>$LINENO"
slpSpc Create_Repo_Bitbucket 1 ;echo "l=>$LINENO"
slpSpc Push_to_Bitbucket 1 ;echo "l=>$LINENO"
echo "Changing ownership for $VHOST/"
sudo chown -R $UBT_USER:www-data $HOME_PATH/vhosts/$VHOST/
ls -l
echo "------------------------------------------------------------"
echo " "
echo "=================================================================================="
echo "At this point Laravel/Lumen last version is done."
echo "It is available from $HOME_PATH/vhosts/$VHOST/public/index.php"
echo "Just refresh the browser"
echo "=================================================================================="
echo " "
#================================== Laravel
elif [ "$1" == "Laravel" ];
then
figlet Installing_Laravel
echo "Installing Laravel last version"
echo "=================================================================================="
echo "Setup laravel Last Version in $HOME_PATH/vhosts/$VHOST/"
echo "=================================================================================="
echo " "
# https://getcomposer.org/doc/03-cli.md#install
# https://stackoverflow.com/questions/26079571/installing-laravel-prefer-dist
# https://serverfault.com/questions/517190/nginx-1-fastcgi-sent-in-stderr-primary-script-unknown
figlet Deleting_$HOME_PATH/vhosts/$VHOST
echo "Check content IN $HOME_PATH/vhosts/ "
tree $HOME_PATH/vhosts/
echo "------------------------------------------------------------"
echo " "
echo "Deleting $VHOST FOLDER inside $HOME_PATH/vhosts/"
cd $HOME_PATH/vhosts/
sudo rm -Rf $VHOST/
echo "Checking $HOME_PATH/vhosts/$VHOST content. Should be empty"
ls -l
sleep 5s
tree $HOME_PATH/vhosts/
echo "------------------------------------------------------------"
echo " "
slpSpc Restart_NGINX 1 ;echo "l=>$LINENO"
figlet Installing_Laravel
echo "Use Composer to install laravel last version inside $HOME_PATH/vhosts/"
cd $HOME_PATH/vhosts/
composer create-project --prefer-dist laravel/laravel $VHOST
echo "Check $HOME_PATH/vhosts/ content"
cd $HOME_PATH/vhosts/$VHOST
ls -l
echo "------------------------------------------------------------"
echo " "
echo "Changing ownership for $VHOST/"
sudo chown -R $UBT_USER:www-data $HOME_PATH/vhosts/$VHOST/
ls -l
echo "------------------------------------------------------------"
echo " "
figlet CHOWN_storage/
echo "Changing mode for storage/"
cd $HOME_PATH/vhosts/$VHOST/
sudo chmod guo+wrx -R storage/
ls -l
echo "------------------------------------------------------------"
echo " "
slpSpc Restart_NGINX 1 ;echo "l=>$LINENO"
slpSpc GitInit 1 ;echo "l=>$LINENO"
slpSpc Create_Repo_Bitbucket 1 ;echo "l=>$LINENO"
slpSpc Push_to_Bitbucket 1 ;echo "l=>$LINENO"
echo "Changing ownership for $VHOST/"
sudo chown -R $UBT_USER:www-data $HOME_PATH/vhosts/$VHOST/
ls -l
echo "------------------------------------------------------------"
echo " "
echo "=================================================================================="
echo "At this point Laravel Last Version project was created and it is done."
echo "It is available from $HOME_PATH/vhosts/$VHOST/public/index.php"
echo "Just refresh the browser"
echo "=================================================================================="
echo " "
#================================== CreateVHOSTSdns
elif [ "$1" == "CreateVHOSTSdns" ];
then
echo "l=>$LINENO"
echo "=================================================================================="
echo "Set the DNS to the /etc/hosts based on the \$VHOST variable "
echo "this will create something like 127.0.0.1 \$VHOST "
echo "=================================================================================="
echo " "
echo "127.0.0.1 $VHOST" >> /etc/hosts
cat /etc/hosts
sleep 5s
#================================== Unistall_Laravel
elif [ "$1" == "Unistall_Laravel" ];
then
echo "l=>$LINENO"
echo "=================================================================================="
echo "Unistall Laravel Project - $VHOST "
echo "=================================================================================="
echo " "
echo "5s to cancel the process Ctrl+c"
sleep 5s
echo "cat /etc/hosts"
echo " "
cat /etc/hosts
sed -i "/127.0.0.1 $VHOST/d" /etc/hosts
cat /etc/hosts
echo "------------------------------------------------------------"
echo " "
echo "$HOME_PATH/vhosts/"
echo "**************"
echo " "
echo "sudo rm -Rf $HOME_PATH/vhosts/$VHOST/"
echo " "
echo "**************"
cd $HOME_PATH/vhosts/
sudo rm -Rf $HOME_PATH/vhosts/$VHOST
ls -l
echo "------------------------------------------------------------"
echo " "
echo "/etc/nginx/sites-available/"
echo " "
cd /etc/nginx/sites-available/
ls -l
sudo rm -Rf /etc/nginx/sites-available/$VHOST.conf
ls -l
echo "------------------------------------------------------------"
echo " "
echo "/etc/nginx/sites-enabled/"
echo " "
cd /etc/nginx/sites-enabled/
ls -l
sudo rm -Rf /etc/nginx/sites-enabled/$VHOST.conf
ls -l
echo "------------------------------------------------------------"
echo " "
slpSpc Restart_NGINX 1 ;echo "l=>$LINENO"
#================================== NGINX_sites-enabled_LINK
elif [ "$1" == "NGINX_sites-enabled_LINK" ];
then
echo "l=>$LINENO"
echo "=================================================================================="
echo "Set the soft link from /etc/nginx/sites-enabled/ to /sites-available/\$VHOST.conf "
echo "Inside /etc/nginx/sites-enabled/ creates something like \$VHOST.conf->../sites-available/\$VHOST.conf"
echo "=================================================================================="
echo " "
echo "Check what we have inside /etc/nginx/sites-enabled/"
cd /etc/nginx/sites-enabled/
ls -l
sudo ln -s ../sites-available/$VHOST.conf
cd /etc/nginx/sites-enabled/
echo "Check if the link was created"
ls -l
#================================== NGINX_sites-available_VHOST
elif [ "$1" == "NGINX_sites-available_VHOST" ];
then
# Virtual Host with Sever_name
# Create /etc/nginx/sites-available/$VHOST.conf pointing to root /var/www/vhosts/${VHOST_ROOT};
# Create ln -s ../sites-available/$VHOST.conf
# Create "127.0.0.1 $VHOST"
figlet Virtual_Host
cd /etc/nginx/sites-available/
ls -l
sudo rm -Rf /etc/nginx/sites-available/$VHOST.conf
cd /etc/nginx/sites-available/
ls -l
sudo touch /etc/nginx/sites-available/$VHOST.conf
cd /etc/nginx/sites-available/
ls -l
cat >/etc/nginx/sites-available/$VHOST.conf<<EOL
server {
listen 80;
server_name ${VHOST};
root /var/www/vhosts/${VHOST_ROOT};
index index.html index.htm index.php;
charset utf-8;
location / {
#===>$uri $uri/ /index.php?$query_string;
try_files \$uri \$uri/ /index.php?\$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
access_log off;
error_log /var/log/nginx/${VHOST}-error.log error;
error_page 404 /index.php;
sendfile off;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
#===>$document_root$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;
fastcgi_intercept_errors on;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
}
location ~ /\.ht {
deny all;
}
}
EOL
#================================== Vbox-shareFolder
elif [ "$1" == "Vbox-shareFolder" ];
then
figlet Vbox-shareFolder-$UBT_USER-Permission
echo "When we try to get access to this page, we get a error: 'You do not have permission necessary to view the content
of `yourSharedFolderName` '. So we need to make the user to have the permission -> part og the group 'vboxsf'"
echo 'sudo groups $UBT_USER'
sudo groups $UBT_USER
echo 'user is not part of vboxsf group'
echo 'Make it part of this group'
echo 'sudo usermod -aG vboxsf $UBT_USER'
echo 'Now check again'
echo 'sudo groups $UBT_USER'
sudo groups $UBT_USER
echo 'Now the user is part of the group "vboxsf" that has permission to open any shared folder in Guest-Host VirtualBox'
echo 'Restart Linux'
#================================== Cloning_from_Bitbucket
elif [ "$1" == "Cloning_from_Bitbucket" ];
then
figlet Cloning_from_Bitbucket
echo "Removing $VHOST from $HOME_PATH/vhosts/$VHOST/"
cd $HOME_PATH/vhosts/
sudo rm -Rf $HOME_PATH/vhosts/$VHOST/
echo "Clonning $VHOST"
git clone https://$USR_BITBUCKET:[email protected]/$USR_BITBUCKET/$VHOST.git
cd $HOME_PATH/vhosts/$VHOST/
echo "Changing ownership for $VHOST/"
cd $HOME_PATH/vhosts/
ls -l
sudo chown -R $UBT_USER:www-data $VHOST/
ls -l
echo " "
echo "CHMOD_storage/"
cd $HOME_PATH/vhosts/$VHOST/
sudo chmod guo+wrx -R storage/
ls -l
echo " "
slpSpc Restart_NGINX 1 ;echo "l=>$LINENO"
echo "=================================================================================="
echo "The project $VHOST was been cloned into $HOME_PATH/vhosts/ from Bitbucket"
echo "=================================================================================="
#================================== Clone_Laravel_PRJ_from_Bitbucket
elif [ "$1" == "Clone_Laravel_PRJ_from_Bitbucket" ];
then
figlet Clone_Laravel_PRJ_from_Bitbucket
echo "Removing $VHOST from $HOME_PATH/vhosts/$VHOST/"
sudo rm -Rf $HOME_PATH/vhosts/$VHOST/
echo "Clonning $VHOST"
cd $HOME_PATH/vhosts/
git clone https://$USR_BITBUCKET:[email protected]/$USR_BITBUCKET/$VHOST.git
cd $HOME_PATH/vhosts/$VHOST/
echo "Initializing the cloned project $VHOST"
composer install
cp .env.example .env
# Note: When cloning Lumen -> There are no commands defined in the "key" namespace.
# https://stackoverflow.com/questions/30344141/lumen-micro-framework-php-artisan-keygenerate
# Will not stop the configuration.
php artisan key:generate
echo "Changing ownership for $VHOST/"
cd $HOME_PATH/vhosts/
ls -l
sudo chown -R $UBT_USER:www-data $HOME_PATH/vhosts/$VHOST/
ls -l
echo " "
echo "CHMOD_storage/"
cd $HOME_PATH/vhosts/$VHOST/
ls -l
sudo chmod guo+wrx -R $HOME_PATH/vhosts/$VHOST/storage/
ls -l
echo " "
slpSpc Restart_NGINX 1 ;echo "l=>$LINENO"
echo "=================================================================================="
echo "At this point the $VHOST was cloned from Bitbucket"
echo "It is available from $HOME_PATH/vhosts/$VHOST/public/index.php"
echo "Just refresh the browser"
echo "Make:"
echo "git branch"
echo "git fetch origin"
echo "git branch -a"
echo "git checkout -b prod origin/prod #we expect the branch prod"
echo "git branch -a"
echo "https://gist.githubusercontent.com/igoralves1/c6c655034525f2f2c06086a4af969e0b/raw/699c82a609fb27f9da4f112a62788d353398f825/git.migrate"
echo "=================================================================================="
sleep 5s
echo " "
echo "cd $HOME_PATH/vhosts/$VHOST/"
cd $HOME_PATH/vhosts/$VHOST/
echo "ls -l"
ls -l
echo "Running git status"
git status
echo "Display ALL branches"
git branch -a
echo "Check the remote address"
git remote -v
echo "Removing origin remote address"
git remote rm origin
echo "Check again the remote address. SHould be empty."
git remote -v
echo "Add origin remote address"
git remote add origin https://$USR_BITBUCKET:[email protected]/$USR_BITBUCKET/$VHOST.git
echo "Check again the remote address."
git remote -v
figlet PAUSE_10s
sleep 10s
#================================== Create_Repo_Bitbucket
elif [ "$1" == "Create_Repo_Bitbucket" ];
then
figlet Create_Repo_Bitbucket
# https://stackoverflow.com/questions/13788485/create-new-repo-on-bitbucket-from-git-bash-terminal
# Creates a REPOSITORY ($VHOST) in Bitbucket
curl --user $USR_BITBUCKET:$PSSWRD_BITBUCKET https://api.bitbucket.org/1.0/repositories/ --data name=$NEW_REPO_BITBUCKET
#================================== PUSH_Bitbucket
elif [ "$1" == "Push_to_Bitbucket" ];
then
figlet Push_to_Bitbucket
# Go to the repository that will be pushed to bitbucket
cd $HOME_PATH/vhosts/$VHOST
git remote add origin https://$USR_BITBUCKET:[email protected]/$USR_BITBUCKET/$VHOST.git
git push -u origin master
#================================== NetBeans
elif [ "$1" == "NetBeans" ];
then
# https://askubuntu.com/questions/75549/how-do-i-install-netbeans
figlet NetBeans
echo "Installing NetBeans"
slpSpc killLock 1 ;echo "l=>$LINENO"
wget http://download.netbeans.org/netbeans/8.2/final/bundles/netbeans-8.2-html-linux-x64.sh
sudo chmod +x netbeans-8.2-html-linux-x64.sh
./netbeans-8.2-html-linux-x64.sh
#================================== JAVA
elif [ "$1" == "JAVA" ];
then
figlet JAVA
# https://askubuntu.com/questions/15433/unable-to-lock-the-administration-directory-var-lib-dpkg-is-another-process
# https://www.digitalocean.com/community/tutorials/how-to-install-java-with-apt-get-on-ubuntu-16-04
# https://stackoverflow.com/questions/19275856/auto-yes-to-the-license-agreement-on-sudo-apt-get-y-install-oracle-java7-instal
# https://askubuntu.com/questions/523962/how-to-install-a-package-with-apt-without-the-do-you-want-to-continue-y-n-p
# https://tecadmin.net/install-oracle-java-8-ubuntu-via-ppa/
# https://askubuntu.com/questions/419920/is-is-possible-to-skip-the-confirmation-step-while-adding-a-repository
# https://askubuntu.com/questions/860029/how-to-skip-please-enter-to-continue-during-automating-apt-get-install
echo "Installing JAVA"
slpSpc killLock 1 ;echo "l=>$LINENO"
sudo add-apt-repository -y ppa:webupd8team/java
sudo apt-get update
echo debconf shared/accepted-oracle-license-v1-1 select true | sudo debconf-set-selections
echo debconf shared/accepted-oracle-license-v1-1 seen true | sudo debconf-set-selections
sudo apt-get -y install oracle-java8-installer
#================================== XDEBUG
elif [ "$1" == "XDEBUG" ];
then
figlet INSTALLING__XDEBUG
echo "Installing XDEBUG"
cd $HOME_PATH
wget http://xdebug.org/files/xdebug-2.6.0beta1.tgz
tar -xvzf xdebug-2.6.0beta1.tgz
cd xdebug-2.6.0beta1
sudo phpize
sudo ./configure
sudo make
sudo cp modules/xdebug.so /usr/lib/php/20160303
echo "Showing /usr/lib/php/20160303"
ls -l /usr/lib/php/
echo "------------------------------------------------------------"
echo " "
sleep 5s
echo "Inserting xdebug into /etc/php/7.1/fpm/php.ini"
cat >>/etc/php/7.1/fpm/php.ini<<EOL
[xdebug]
zend_extension = /usr/lib/php/20160303/xdebug.so;
xdebug.remote_enable=1;
xdebug.remote_autostart=1;
xdebug.remote_handler=dbgp;
xdebug.remote_port=9000;
xdebug.remote_host=localhost;
xdebug.remote_mode=req;
xdebug.idekey="netbeans-xdebug";
EOL
echo "Display /etc/php/7.1/fpm/php.ini => XDEBUG"
cat /etc/php/7.1/fpm/php.ini
echo "------------------------------------------------------------"
echo " "
slpSpc Restart_NGINX 1 ;echo "l=>$LINENO"
#================================== GOOGLE_CHROME
elif [ "$1" == "GOOGLE_CHROME" ];
then
figlet GOOGLE_CHROME
echo "Installing GOOGLE_CHROME"
sudo wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo sh -c 'echo "deb https://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
sudo apt-get update
sudo apt-get install -y google-chrome-stable
sudo apt -y autoremove
#================================== VSCODE
elif [ "$1" == "VSCODE" ];
then
figlet VSCODE
# https://code.visualstudio.com/docs/setup/linux
echo "Installing VSCODE"
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'
sudo apt-get update
#sudo apt-get install -y code # or code-insiders
sudo apt-get install -y --allow-unauthenticated code
#https://code.visualstudio.com/docs?start=true
#https://code.visualstudio.com/docs/editor/extension-gallery
#================================== POSTMAN
elif [ "$1" == "POSTMAN" ];
then
figlet POSTMAN
# https://blog.bluematador.com/posts/postman-how-to-install-on-ubuntu-1604/
echo "Installing POSTMAN"
wget https://dl.pstmn.io/download/latest/linux64 -O postman.tar.gz
sudo tar -xzf postman.tar.gz -C /opt
rm postman.tar.gz
sudo ln -s /opt/Postman/Postman /usr/bin/postman
cat > ~/.local/share/applications/postman.desktop <<EOL
[Desktop Entry]
Encoding=UTF-8
Name=Postman
Exec=postman
Icon=/opt/Postman/resources/app/assets/icon.png
Terminal=false
Type=Application
Categories=Development;
EOL
#================================== create_index_php
elif [ "$1" == "create_index_php" ];
then
echo "Creating index.php inside /var/www/html/"
figlet index.php
echo "Display ls -l /var/www/html/"
cd /var/www/html/
ls -l ;echo "l=>$LINENO"
echo "------------------------------------------------------------"
echo " "
sleep 5s
echo "Deleting /var/www/html/index.nginx-debian.html, the Default NGINX home page. Exe:-rw-r--r-- 1 root root 612 Dec 31 15:32 index.nginx-debian.html"
sudo rm -Rf index.nginx-debian.html ;echo "l=>$LINENO"
echo "Display ls -l /var/www/html/. The index.nginx-debian.html was deleted"
cd /var/www/html/
ls -l
echo "------------------------------------------------------------"
echo " "
sleep 5s
echo "Creating an empty /var/www/html/index.php AS -rw-r--r-- 1 root root 612 Dec 31 15:32 index.php"
sudo touch /var/www/html/index.php ;echo "l=>$LINENO"
echo "Display ls -l /var/www/html/. New index.php as -rw-r--r-- 1 root root ? "
cd /var/www/html/
ls -l
echo "------------------------------------------------------------"
echo " "
sleep 5s
echo "Setting content into /var/www/html/index.php" ;echo "l=>$LINENO"
cat >/var/www/html/index.php<< EOL
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap 4 Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.6/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<h1>PHP 7.1</h1>
<?php phpinfo();?>
</div>
</body>
</html>
EOL
echo "Display content from ls -l /var/www/html/index.php."
cat /var/www/html/index.php ;echo "l=>$LINENO"
echo "------------------------------------------------------------"
echo " "
sleep 5s
#================================== vhost
elif [ "$1" == "vhost" ];
then
#Setting $HOME_PATH/vhosts
figlet setting_$HOME_PATH/vhosts/
echo "DISPLAY content in $HOME_PATH. Note: no vhosts/ folder"
cd $HOME_PATH/
echo "ls -l $HOME_PATH" ;echo "l=>$LINENO"
ls -l
echo "------------------------------------------------------------"
echo " "
sleep 5s
echo "CREATING $HOME_PATH/vhosts/"
sudo mkdir -p $HOME_PATH/vhosts/ ;echo "l=>$LINENO"
echo "ls -l $HOME_PATH"
ls -l
echo "tree $HOME_PATH/vhosts/"
tree $HOME_PATH/vhosts/ ;echo "l=>$LINENO"
echo "------------------------------------------------------------"
echo " "
sleep 5s
echo "Changing ownership in vhosts/..."
sudo chown -R $UBT_USER:www-data $HOME_PATH/vhosts/ ;echo "l=>$LINENO"
echo "ls -l $HOME_PATH"
ls -l $HOME_PATH
echo "ls -l $HOME_PATH/vhosts/"
ls -l $HOME_PATH/vhosts/
echo "------------------------------------------------------------"
echo " "
sleep 5s
figlet creating_var/www_vhosts_link
echo "CREATING A link from /var/www/ TO $HOME_PATH/vhosts/"
cd /var/www/
sudo ln -s $HOME_PATH/vhosts
echo "Showing link in /var/www/"
ls -l
echo "------------------------------------------------------------"
echo " "
sleep 5s
#================================== InstallBasic
elif [ "$1" == "InstallBasic" ];
then
echo "=================================================================================="
echo " Installing Basic "
echo "=================================================================================="
echo " "
#Note: second paramether is the sleep time in seconds.
slpSpc update 10 ;echo "l=>$LINENO"
slpSpc upgrade 10 ;echo "l=>$LINENO"
slpSpc autoremove 10 ;echo "l=>$LINENO"
slpSpc figlet 1 ;echo "l=>$LINENO"
slpSpc dpkg 1 ;echo "l=>$LINENO"
slpSpc tree 1 ;echo "l=>$LINENO"
slpSpc vim 1 ;echo "l=>$LINENO"
slpSpc wget 1 ;echo "l=>$LINENO"
slpSpc curl 1 ;echo "l=>$LINENO"
slpSpc nginx 5 ;echo "l=>$LINENO"
slpSpc git 1 ;echo "l=>$LINENO"
slpSpc nodejs 1 ;echo "l=>$LINENO"
slpSpc npm 1 ;echo "l=>$LINENO"
slpSpc php7.1 1 ;echo "l=>$LINENO"
slpSpc composer 1 ;echo "l=>$LINENO"
#slpSpc python-pip 1 ;echo "l=>$LINENO"
#sudo apt install python3-pip
#python -m pip install -U pylint --user
#pip install virtualenv
#pip install request OR sudo apt-get install python-requests
#pip3 install beautifulsoup4
#================================== GitInit
elif [ "$1" == "GitInit" ];
then
echo "=================================================================================="
echo "Initialize the $HOME_PATH/vhosts/$VHOST as a Git Repository "
echo "=================================================================================="
echo " "
echo "Initializing a git repository AND commiting"
cd $HOME_PATH/vhosts/$VHOST
git init
sudo chown -R $UBT_USER:www-data $HOME_PATH/vhosts/$VHOST/
ls -l
git status
sleep 5s
#git config --global user.email "${GIT_EMAIL}"
#git config --global user.name "${USR_BITBUCKET}"
git config user.email "${GIT_EMAIL}"
git config user.name "${USR_BITBUCKET}"
git add .
git commit -m "First commit - bash"
git status
ls -l
sleep 5s
echo "------------------------------------------------------------"
echo " "
#==================================
else
#================================== figlet
if [ "$1" != "figlet" ];
then
figlet $1
fi
echo " "
echo "Installing $1"
echo " "
#================================== nodejs
if [ "$1" == "nodejs" ];
then
#https://nodesource.com/blog/installing-node-js-8-tutorial-linux-via-package-manager/
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
#sudo apt-get install -y nodejs
sudo apt-get install -y $1 ;echo "l=>$LINENO"
nodejs -v ;echo "l=>$LINENO"
sleep 5s
echo "Making $1 to be called by node"
figlet $1_=>_node
echo "ln -s /usr/bin/nodejs /usr/bin/node"
sudo ln -s /usr/bin/nodejs /usr/bin/node ;echo "l=>$LINENO"
echo "node -v"
node -v ;echo "l=>$LINENO"
sleep 5s
#================================== php7.1
elif [ "$1" == "php7.1" ];
then
#Install PHP 7.1 with Nginx on Ubuntu 16.04 https://www.rosehosting.com/blog/install-php-7-1-with-nginx-on-an-ubuntu-16-04-vps/
figlet Enabling_PPA
sudo apt-get install -y software-properties-common
sudo add-apt-repository -y ppa:ondrej/php
sudo apt-get update
#Start with php7.1-fpm to avoid Apache instalation https://askubuntu.com/questions/988469/how-to-install-php7-1-on-ubuntu16-04-without-apache?noredirect=1#comment1593418_988469
figlet php7.1-fpm
echo "Installing php7.1-fpm"
sudo apt-get install -y php7.1-fpm
figlet Install_PHP_7.1
echo "Installing php7.1"
sudo apt-get install -y php7.1
figlet Common_Modules
echo "Installing Common Modules"
sudo apt-get install -y php7.1-dev
sudo apt-get install -y php7.1-cli
sudo apt-get install -y php7.1-common
sudo apt-get install -y php7.1-json
sudo apt-get install -y php7.1-opcache
sudo apt-get install -y php7.1-mysql
sudo apt-get install -y php7.1-mbstring
sudo apt-get install -y php7.1-mcrypt
sudo apt-get install -y php7.1-zip
sudo apt-get install -y php7.1-fpm
sudo apt-get install -y php7.1-xml
sudo apt-get install -y php7.1-xmlrpc
sudo apt-get install -y php-token-stream
figlet PHP_7.1_Modules_List
echo "Display available php Modules List"
sudo apt-cache search php7.1
sleep 5s
figlet Installed_PHP_Modules
echo "Display installed php Modules List"
php -m
sleep 20s
#================================== php7
elif [ "$1" == "php7" ];
then
figlet PHP_7.0
sudo apt-get install -y php7.0-dev
sudo apt-get install -y php7.0-cgi
sudo apt-get install -y php7.0-fpm
sudo apt-get install -y php7.0-mcrypt
sudo apt-get install -y php7.0-mbstring
sudo apt-get install -y php7.0-mysql
sudo apt-get install -y php7.0-curl
sudo apt-get install -y php7.0-json
sudo apt-get install -y php7.0-xsl
sudo apt-get install -y php7.0-intl
# sudo apt-get install -y libapache2-mod-php7.0
sudo apt-get install -y phpunit
#================================== composer
elif [ "$1" == "composer" ];
then
figlet Composer
#https://getcomposer.org/download/
#https://stackoverflow.com/questions/35874482/cannot-create-cache-directory-or-directory-is-not-writable-proceeding-withou
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo chown -R $UBT_USER:www-data composer.phar ;echo "l=>$LINENO"
echo "Making $1 to be called from everywhere"
sudo mv composer.phar /usr/bin/composer ;echo "l=>$LINENO"
sudo chown -R $UBT_USER:www-data $HOME_PATH/.composer
composer
sleep 5s
#================================== version
else
sudo apt-get install -y $1
if [ "$1" != "vim" ];
then
echo "Version $1"
echo " "
$1 -v
echo " "
fi
fi
fi
echo " "
echo "Sleeping $2s "
echo "------------------------------------------------------------"
echo " "
sleep $2s
#clear
}
##################################################################################################
##################################################################################################
##################################################################################################
# https://askubuntu.com/questions/674025/installing-getopts-pl-into-the-perl-installation
#echo "Installing getopts"
#sudo apt-get install -y libperl4-corelibs-perl
slpSpc killLock 1 ;echo "l=>$LINENO"
#Install getopts if it is not.
if [ ! -f /usr/share/perl5/getopts.pl ]
then
echo "Installing getopts"
sudo apt-get install -y libperl4-corelibs-perl
else
echo "Getopts is already installed"
fi
#http://wiki.bash-hackers.org/howto/getopts_tutorial
while getopts aAbBcCdDeEfFhHiIjJkKlLmMnNoOpPqQrRsStTuUvVxXzZ param ; do
case $param in
a)
echo "=================================================================================="
echo " Installing Basic Modules "
echo "=================================================================================="
echo " "
slpSpc InstallBasic 1 ;echo "l=>$LINENO"
slpSpc vhost 1 ;echo "l=>$LINENO"
;;
A) echo "empt option"
;;
b) slpSpc XDEBUG 1 ;echo "l=>$LINENO"
;;
B) echo "empt option"
;;
c) slpSpc POSTMAN 1 ;echo "l=>$LINENO"
;;
C) slpSpc VSCODE 1 ;echo "l=>$LINENO"
;;
d) slpSpc GOOGLE_CHROME 1 ;echo "l=>$LINENO"
;;
D) slpSpc Gitkraken 1 ;echo "l=>$LINENO"
;;
e) slpSpc NetBeans 1 ;echo "l=>$LINENO"
;;
E) slpSpc Vbox-shareFolder 1 ;echo "l=>$LINENO"
;;
f) slpSpc Vbox-guest-dkms 1 ;echo "l=>$LINENO"
;;
F) slpSpc MARIA_DB_SERVER 1 ;echo "l=>$LINENO"
;;
g) slpSpc Node_Red 1 ;echo "l=>$LINENO"
;;
G) slpSpc BRACKETS 1 ;echo "l=>$LINENO"
;;
h) slpSpc REDIS 1 ;echo "l=>$LINENO"
;;
H) slpSpc MYSQL_WORKBENCH 1 ;echo "l=>$LINENO"
;;
i) slpSpc JAVA 1 ;echo "l=>$LINENO"
;;
I) slpSpc Set_VHOST.CONF 1 ;echo "l=>$LINENO"
slpSpc Laravel 1 ;echo "l=>$LINENO"
;;
j) slpSpc Set_VHOST.CONF 1 ;echo "l=>$LINENO"
slpSpc Laravel_Lumen 1 ;echo "l=>$LINENO"
;;
J) slpSpc GitInit 1 ;echo "l=>$LINENO"
;;
k) slpSpc Create_Repo_Bitbucket 1 ;echo "l=>$LINENO"
;;
K) slpSpc Push_to_Bitbucket 1 ;echo "l=>$LINENO"
;;
l) slpSpc Set_VHOST.CONF 1 ;echo "l=>$LINENO"
slpSpc GitInit 1 ;echo "l=>$LINENO"
slpSpc Create_Repo_Bitbucket 1 ;echo "l=>$LINENO"
slpSpc Push_to_Bitbucket 1
;;
L) slpSpc Cloning_from_Bitbucket 1 ;echo "l=>$LINENO"
;;
m) slpSpc Set_VHOST.CONF 1 ;echo "l=>$LINENO"
slpSpc Clone_Laravel_PRJ_from_Bitbucket 1 ;echo "l=>$LINENO"
;;
M) slpSpc Unistall_Laravel 1 ;echo "l=>$LINENO"
;;
n) slpSpc videoManagement 1 ;echo "l=>$LINENO"
;;
N) slpSpc virtualbox 1 ;echo "l=>$LINENO"
;;
o)
echo "------------- PROD ------------------------"
slpSpc InstallBasic 1 ;echo "l=>$LINENO"
slpSpc vhost 1 ;echo "l=>$LINENO"
slpSpc create_index_php 1 ;echo "l=>$LINENO"
figlet sites-available/default
echo "Display ls -l /etc/nginx/sites-available/"
cd /etc/nginx/sites-available/ ;echo "l=>$LINENO"
ls -l
echo "------------------------------------------------------------"
echo " "
sleep 5s
echo "Deleteing /etc/nginx/sites-available/default"
sudo rm -Rf /etc/nginx/sites-available/default ;echo "l=>$LINENO"
echo "Display ls -l /etc/nginx/sites-available/ No default any more"
cd /etc/nginx/sites-available/
ls -l
echo "------------------------------------------------------------"
echo " "
sleep 5s
echo "Creating a new /etc/nginx/sites-available/default"
sudo touch /etc/nginx/sites-available/default ;echo "l=>$LINENO"
echo "Display ls -l /etc/nginx/sites-available/"
cd /etc/nginx/sites-available/
ls -l
echo "------------------------------------------------------------"
echo " "
sleep 5s
echo "NOTE: Original /etc/nginx/sites-available/deault => -rw-r--r-- 1 root root 1534 Dec 31 15:37 default"
echo "Setting content into /etc/nginx/sites-available/default";echo "l=>$LINENO"
cat >/etc/nginx/sites-available/default << EOL
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html index.php;
server_name _;
location / {
#===>$uri $uri/ /index.php?$query_string;
try_files \$uri \$uri/ /index.php?\$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
access_log off;
error_log /var/log/nginx/default-error.log error;
error_page 404 /index.php;
sendfile off;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
#===>$document_root$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;
fastcgi_intercept_errors on;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
}
location ~ /\.ht {
deny all;
}
client_max_body_size 1000m;
}
EOL
cat /etc/nginx/sites-available/default ;echo "l=>$LINENO"
echo "------------------------------------------------------------"
echo " "
sleep 5s
slpSpc Restart_NGINX 1 ;echo "l=>$LINENO"
echo "=================================================================================="
echo "At this point the phpinfo() should be available from /var/www/html/index.php"
echo "Next step is make it available from $HOME_PATH/vhosts/$PRJ_DOMAIN/public/index.php"
echo "Just refresh the browser"
echo "=================================================================================="
figlet PAUSE_30s
echo "------------------------------------------------------------"
echo " "
sleep 30s
figlet setting_$HOME_PATH/vhosts/$PRJ_DOMAIN/public/index.php
echo "Content inside $HOME_PATH/vhosts/public" ;echo "l=>$LINENO"
cd $HOME_PATH
tree vhosts/
echo "CREATING $HOME_PATH/vhosts/$PRJ_DOMAIN/index.php"
sudo touch $HOME_PATH/vhosts/$PRJ_DOMAIN/public/index.php
ls -l
tree vhosts ;echo "l=>$LINENO"
echo "------------------------------------------------------------"
echo " "
sleep 5s
echo "Setting content into $HOME_PATH/vhosts/$PRJ_DOMAIN/public/index.php"
cat >$HOME_PATH/vhosts/$PRJ_DOMAIN/public/index.php<< EOL
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap 4 Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.6/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<h1>PHP 7.1</h1>
<?php phpinfo();?>
</div>
</body>
</html>
EOL
echo "Display content $HOME_PATH/vhosts/$PRJ_DOMAIN/public/index.php"
cat $HOME_PATH/vhosts/$PRJ_DOMAIN/public/index.php
echo "------------------------------------------------------------"
echo " "
sleep 5s
figlet sites-available/default
echo "Recreating /etc/nginx/sites-available/default"
echo "Make it point to root /var/www/vhosts/${PRJ_DOMAIN}/public/;"
echo "Display ls -l /etc/nginx/sites-available/"
cd /etc/nginx/sites-available/
ls -l
echo "------------------------------------------------------------"
echo " "
sleep 5s
echo "Deleteing /etc/nginx/sites-available/default"
sudo rm -Rf /etc/nginx/sites-available/default
echo "Display ls -l /etc/nginx/sites-available/. No default"
cd /etc/nginx/sites-available/
ls -l
echo "------------------------------------------------------------"
echo " "
sleep 5s
echo "Creating a new /etc/nginx/sites-available/default"
sudo touch /etc/nginx/sites-available/default
echo "Display ls -l /etc/nginx/sites-available/. New default"
cd /etc/nginx/sites-available/
ls -l
echo "------------------------------------------------------------"
echo " "
sleep 5s
echo "NOTE: Original was /etc/nginx/sites-available/deault => -rw-r--r-- 1 root root 1534 Dec 31 15:37 default"
echo "Setting content into /etc/nginx/sites-available/default. Setting root /var/www/vhosts/${PRJ_DOMAIN}/public/;"
cat >/etc/nginx/sites-available/default<< EOL
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/vhosts/${PRJ_DOMAIN}/public/;
index index.html index.htm index.nginx-debian.html index.php;
server_name _;
location / {
#===>$uri $uri/ /index.php?$query_string;
try_files \$uri \$uri/ /index.php?\$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
access_log off;
error_log /var/log/nginx/${PRJ_DOMAIN}-error.log error;
error_page 404 /index.php;
sendfile off;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
#===>$document_root$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;
fastcgi_intercept_errors on;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
}
location ~ /\.ht {
deny all;
}
}
EOL
echo "Display content $HOME_PATH/vhosts/$PRJ_DOMAIN/public/index.php"
cat /etc/nginx/sites-available/default
echo "------------------------------------------------------------"
echo " "
sleep 5s
;;
O)
;;
p) echo "empt option"
;;
P) echo "empt option"
;;
q) echo "empt option"
;;
Q) echo "empt option"
;;
r) echo "empt option"
;;
R) echo "empt option"
;;
s) echo "empt option"
;;
S) echo "empt option"
;;
t) echo "empt option"
;;
T) echo "empt option"
;;
u) echo "empt option"
;;
U) echo "empt option"
;;
v) echo "empt option"
;;
V) echo "empt option"
;;
x) echo "empt option"
;;
X) echo "empt option"
;;
y) echo "empt option"
;;
Y) echo "empt option"
;;
z) echo "empt option"
;;
Z) echo "empt option"
;;
esac
done
#https://stackoverflow.com/questions/17309288/importerror-no-module-named-requests
#slpSpc python-pip 1 ;echo "l=>$LINENO"
#python -m pip install -U pylint --user
#pip install virtualenv
#pip install request OR sudo apt-get install python-requests
#pip3 install beautifulsoup4
#sudo apt-get install python-bs4
#pip install beautifulsoup4
#pip install lxml
#pip install html5lib
#pip install requests
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment