Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Install valet-plus
#!/usr/bin/env bash
#styles
VP_NONE='\033[00m'
VP_RED='\033[01;31m'
VP_GREEN='\033[01;32m'
VP_YELLOW='\033[01;33m'
VP_PURPLE='\033[01;35m'
VP_CYAN='\033[01;36m'
VP_WHITE='\033[01;37m'
VP_BOLD='\033[1m'
VP_UNDERLINE='\033[4m'
#check for any running services that need to be killed before running
ds=`ps aux | grep DesktopServer.app | grep -v grep| head -1`
flywheel=`ps aux | grep "Local by Flywheel.app" | grep -v grep| head -1`
xamp=`ps aux | grep -i "xamp" | grep -v grep| head -1`
mamp=`ps aux | grep -i "mamp" | grep -v grep| head -1`
dnsmasq=`ps aux | grep dnsmasq | grep -v grep| head -1`
nginx=`ps aux | grep nginx | grep -v grep| head -1`
php=`ps aux | grep php | grep -v grep| head -1`
mysql=`ps aux | grep mysql | grep -v grep| head -1`
msg=""
msg2=""
clear
# cache sudo password so it will only need to be entered once.
echo -e "${VP_RED}${VP_BOLD}You may be asked to enter your password twice….${VP_NONE}"
sudo -v
# if any services are found running, exit and print messages
if [[ $ds ]]; then
msg+="${VP_RED}ERROR:${VP_NONE} found ${VP_PURPLE}DesktopServer.app${VP_NONE} running"$'\n'
fi
if [[ $flywheel ]]; then
msg+="${VP_RED}ERROR:${VP_NONE} found ${VP_PURPLE}Local by Flywheel.app${VP_NONE} running"$'\n'
fi
if [[ $xamp ]]; then
msg+="${VP_RED}ERROR:${VP_NONE} found ${VP_PURPLE}XAMPP${VP_NONE} running"$'\n'
fi
if [[ $mamp ]]; then
msg+="${VP_RED}ERROR:${VP_NONE} found ${VP_PURPLE}MAMP${VP_NONE} running"$'\n'
fi
if [[ $dnsmasq ]]; then
msg+="${VP_RED}ERROR:${VP_NONE} found dnsmasq running"$'\n'
fi
if [[ $nginx ]]; then
msg+="${VP_RED}ERROR:${VP_NONE} found nginx running"$'\n'
fi
if [[ $php ]]; then
msg+="${VP_RED}ERROR:${VP_NONE} found php running"$'\n'
fi
if [[ $mysql ]]; then
msg+="${VP_RED}ERROR:${VP_NONE} found mysql running"$'\n'
fi
if [[ $msg ]]; then
echo -e "$msg"
msg2+="You need to stop the running services before you can install."$'\n'
if [[ $ds ]]; then
msg2+=" ${VP_RED}stop Desktop Server now${VP_NONE}"$'\n'
elif [[ $flywheel ]]; then
msg2+=" ${VP_RED}stop Flywheel Local now${VP_NONE}"$'\n'
elif [[ $xamp ]]; then
msg2+=" ${VP_RED}stop XAMP now${VP_NONE}"$'\n'
elif [[ $mamp ]]; then
msg2+=" ${VP_RED}stop MAMP now${VP_NONE}"$'\n'
else
msg2+=" run: ${VP_GREEN}brew stop${VP_NONE}"$'\n'
msg2+=" run: ${VP_GREEN}sudo launchctl unload homebrew.mxcl.dnsmasq.plist${VP_NONE}"$'\n'
msg2+="Or run: ${VP_CYAN}valet-plus-destroy${VP_NONE}"$'\n'
fi
echo -e "$msg2"$'\n'
echo " "
echo -e "${VP_GREEN}${VP_BOLD}user brew services list to see if any services are running${VP_NONE}"
brew services list
exit;
fi
# update Homebrew if present, otherwise install
which -s brew
if [[ $? != 0 ]] ; then
# Install Homebrew
echo -e "${VP_GREEN}Installing brew${VP_NONE}"
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
else
# upgrade homebrew formulas
echo -e "${VP_GREEN}Updating brew${VP_NONE}"
brew update
brew upgrade
# cleanup mess
brew doctor
brew cleanup
brew prune
fi
# install PHP 7.1
brew install homebrew/php/php71
# install Composer
brew install homebrew/php/composer
# install Valet+ with Composer
composer global require weprovide/valet-plus
echo $'\n\nexport PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.bash_profile
export PATH="$HOME/.composer/vendor/bin:$PATH"
# install valet
valet install
# give time to process sleep 10 seconds
sleep 10
# hard code php to use .user.ini in home directory
before='upload_max_filesize = 2M'
after='upload_max_filesize = 128M"; changed by dgs'
sed -i "s/${before}/${after}/g" /usr/local/etc/php/7.1/php.ini
# hard code php to use .user.ini in home directory
before='post_max_size = 8M'
after='post_max_size = 128M"; changed by dgs'
sed -i "s/${before}/${after}/g" /usr/local/etc/php/7.1/php.ini
# hard code php to use .user.ini in home directory
before=';user_ini.filename = ".user.ini"'
after='user_ini.filename = ".user.ini"; changed by dgs'
sed -i "s/${before}/${after}/g" /usr/local/etc/php/7.1/php.ini
# change the curl timeout
before='default_socket_timeout = 60'
after='default_socket_timeout = 300'
sed -i "s/${before}/${after}/g" /usr/local/etc/php/7.1/php.ini
# after makeing changes you must restart
valet restart
# if Valet+ is installed correctly you should see this domain responding on 127.0.0.1.
ping -c10 frodo-baggins.dev
# navigate to ~/Sites folder
cd ~/Sites
# park this folder i.e., register the current working directory as projects root
valet park
# create example folder
mkdir ~/Sites/example
#navigate to ~/Sites/example
cd ~/Sites/example
# create index.php with a sentence
echo "<?php echo 'Valet+ at your service';" > index.php
# serve the site over encrypted TLS using HTTP/2
valet secure example
# launch the site in default browser
valet open example
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.