Last active
          October 8, 2018 22:09 
        
      - 
      
- 
        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 ]
  
        
  
    
      This file contains hidden or 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 | |
| ## 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