-
-
Save mendaparadarshit/2377a8b7e9e3be6403f368689e431816 to your computer and use it in GitHub Desktop.
Ubuntu 20 - PHP development (php 7.4, apache 2.4)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
set -euo pipefail | |
IFS=$'\n\t' | |
# Ubuntu 20.04 dev Server | |
# Run like - bash install_lamp.sh | |
# Script should auto terminate on errors | |
echo -e "\e[96m Adding PPA \e[39m" | |
sudo add-apt-repository -y ppa:ondrej/apache2 | |
sudo add-apt-repository -y ppa:ondrej/php | |
sudo apt-get update | |
echo -e "\e[96m Installing apache \e[39m" | |
sudo apt-get -y install apache2 | |
echo -e "\e[96m Installing php \e[39m" | |
sudo apt-get -y install php7.4 libapache2-mod-php7.4 | |
# Install some php exts | |
sudo apt-get -y install curl zip unzip php7.4-mysql php7.4-curl php7.4-ctype php7.4-uuid php7.4-iconv php7.4-json php7.4-mbstring php7.4-gd php7.4-intl php7.4-xml php7.4-zip php7.4-gettext php7.4-pgsql php7.4-bcmath php7.4-redis | |
#sudo apt-get -y install php-xdebug | |
sudo phpenmod curl | |
# Enable some apache modules | |
sudo a2enmod rewrite | |
sudo a2enmod ssl | |
sudo a2enmod headers | |
echo -e "\e[96m Restart apache server to reflect changes \e[39m" | |
sudo service apache2 restart | |
# Download and install composer | |
echo -e "\e[96m Installing composer \e[39m" | |
# Notice: Still using the good old way | |
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --force --filename=composer | |
# Add this line to your .bash_profile | |
# export PATH=~/.composer/vendor/bin:$PATH | |
echo -e "\e[96m Installing psysh \e[39m" | |
sudo wget https://psysh.org/psysh -O /usr/local/bin/psysh | |
sudo chmod +x /usr/local/bin/psysh | |
# Check php version | |
php -v | |
# Check apache version | |
apachectl -v | |
# Check if php is working or not | |
php -r 'echo "\nYour PHP installation is working fine.\n";' | |
# Fix composer folder permissions | |
mkdir -p ~/.composer | |
sudo chown -R $USER $HOME/.composer | |
# Check composer version | |
composer --version | |
echo -e "\e[92m Open http://localhost/ to check if apache is working or not. \e[39m" | |
# Clean up cache | |
sudo apt-get clean | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Script will auto terminate on errors | |
set -euo pipefail | |
IFS=$'\n\t' | |
# Ubuntu 20.04+, apache2.4, php 7.x | |
# Run like - bash install_phpmyadmin.sh | |
# You should have MySQL pre-installed | |
echo -e "\e[96m Adding PPA \e[39m" | |
sudo add-apt-repository -y ppa:phpmyadmin/ppa | |
sudo apt update | |
echo -e "\e[96m Begin silent install phpMyAdmin \e[39m" | |
echo -e "\e[93m User: root, Password: root \e[39m" | |
# Set non-interactive mode | |
sudo debconf-set-selections <<< 'phpmyadmin phpmyadmin/dbconfig-install boolean true' | |
sudo debconf-set-selections <<< 'phpmyadmin phpmyadmin/app-password-confirm password root' | |
sudo debconf-set-selections <<< 'phpmyadmin phpmyadmin/mysql/admin-pass password root' | |
sudo debconf-set-selections <<< 'phpmyadmin phpmyadmin/mysql/app-pass password root' | |
sudo debconf-set-selections <<< 'phpmyadmin phpmyadmin/reconfigure-webserver multiselect apache2' | |
sudo apt-get -y install phpmyadmin | |
# Restart apache server | |
sudo service apache2 restart | |
# Clean up | |
sudo apt-get clean | |
echo -e "\e[92m phpMyAdmin installed successfully \e[39m" | |
echo -e "\e[92m Remember: password for root user is root \e[39m" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
set -euo pipefail | |
IFS=$'\n\t' | |
# Ubuntu 18.04 + | |
# Script will auto terminate on errors | |
# run like - bash script_name.sh | |
# Install latest git | |
sudo add-apt-repository -y ppa:git-core/ppa | |
sudo apt-get update | |
sudo apt-get -y install git | |
# My Git Configs | |
git config --global --add merge.ff true | |
git config --global push.followTags true | |
git config --global core.autocrlf false | |
git config --global push.default simple | |
git config --global color.ui auto | |
git config --global branch.autosetuprebase always | |
git config --global core.compression 9 | |
git config --global credential.helper 'cache --timeout 28800' | |
git config --global core.filemode false | |
git config --global push.default current | |
git config --global core.editor "nano" | |
git config --global core.excludesfile '~/.gitignore' | |
touch ~/.gitignore | |
git config --global alias.st status | |
git config --global alias.co checkout | |
git config --global alias.logout 'credential-cache exit' | |
# Clean up | |
sudo apt-get clean | |
# Check for git version | |
git --version |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# Use this script if the official package is no longer updated | |
# https://askubuntu.com/questions/947805/how-to-upgrade-phpmyadmin-revisited | |
# Make sure you already have phpmyadmin installed via | |
# sudo apt install phpmyadmin | |
PMA_VERSION=5.0.4 | |
cd ~ | |
echo -e "\e[96m phpmyadmin update script \e[39m" | |
echo -e "\e[96m Downloading phpmyadmin version $PMA_VERSION \e[39m" | |
wget -c https://files.phpmyadmin.net/phpMyAdmin/$PMA_VERSION/phpMyAdmin-$PMA_VERSION-english.zip -O phpMyAdmin-$PMA_VERSION-english.zip | |
echo -e "\e[96m Extracting zip \e[39m" | |
unzip -q -o phpMyAdmin-$PMA_VERSION-english.zip | |
echo -e "\e[96m Fix configs \e[39m" | |
# https://stackoverflow.com/questions/34539132/updating-phpmyadmin-blowfish-secret-via-bash-shell-script-in-linux | |
randomBlowfishSecret=`openssl rand -base64 32`; | |
sed -e "s|cfg\['blowfish_secret'\] = ''|cfg['blowfish_secret'] = '$randomBlowfishSecret'|" phpMyAdmin-$PMA_VERSION-english/config.sample.inc.php > phpMyAdmin-$PMA_VERSION-english/config.inc.php | |
echo -e "\e[96m Backup old installation \e[39m" | |
sudo mv /usr/share/phpmyadmin /usr/share/phpmyadmin.bak | |
echo -e "\e[96m Move new installation \e[39m" | |
sudo mv phpMyAdmin-$PMA_VERSION-english /usr/share/phpmyadmin | |
echo -e "\e[96m Fix tmp folder \e[39m" | |
sudo mkdir -p /usr/share/phpmyadmin/tmp | |
# You might need to change group:user here | |
sudo chown -R www-data:www-data /usr/share/phpmyadmin/tmp | |
sudo chown -R www-data:www-data /var/lib/phpmyadmin/tmp | |
echo -e "\e[96m Cleanup \e[39m" | |
sudo rm -rf /usr/share/phpmyadmin.bak | |
sudo rm -r phpMyAdmin-$PMA_VERSION-english.zip | |
echo "Config file location is:" | |
echo "/usr/share/phpmyadmin/config.inc.php" | |
echo -e "\e[92m phpmyadmin updated to $PMA_VERSION \e[39m" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment