Skip to content

Instantly share code, notes, and snippets.

@muzudre
Forked from ankurk91/install_lamp_ubuntu.sh
Created August 6, 2017 15:18
Show Gist options
  • Select an option

  • Save muzudre/417612bbd8f438768679e6af6424bce0 to your computer and use it in GitHub Desktop.

Select an option

Save muzudre/417612bbd8f438768679e6af6424bce0 to your computer and use it in GitHub Desktop.
Prepare Ubuntu 16.04 for PHP development (php 7.0, MySQL 5.7, apache 2.4)
#!/bin/bash
set -euo pipefail
IFS=$'\n\t'
# Ubuntu 16.04 Dev Server
# Don't source it, run like - bash install_lamp.sh
# Script will auto terminate on errors
# Prevent source
[[ "${BASH_SOURCE[0]}" != "${0}" ]] && echo -e "\e[91m This script is being sourced, will exit now \e[39m" && return
# Update indexes (optional)
sudo apt-get update
echo -e "\e[96m Install apache \e[39m"
sudo apt-get -y install apache2
# PPA for Ubuntu 14.04
# sudo add-apt-repository ppa:ondrej/php
echo -e "\e[96m Install php \e[39m"
sudo apt-get -y install php7.0 libapache2-mod-php7.0
# Enable php exts
sudo apt-get -y install mcrypt php7.0-mysql php7.0-mcrypt php7.0-curl php7.0-json php7.0-mbstring php7.0-gd php7.0-intl php-gettext php-xdebug
sudo phpenmod mcrypt
sudo phpenmod curl
# Enable some apache modules
sudo a2enmod rewrite
#sudo a2enmod headers
echo -e "\e[96m Restart apache server to reflect changes \e[39m"
sudo service apache2 restart
echo -e "\e[96m Install mysql server \e[39m"
echo -e "\e[93m User: root, Password: root \e[39m"
# Install MySQL Server in a Non-Interactive mode. Default root password will be "root"
echo "mysql-server-5.7 mysql-server/root_password password root" | sudo debconf-set-selections
echo "mysql-server-5.7 mysql-server/root_password_again password root" | sudo debconf-set-selections
sudo apt-get -y install mysql-server-5.7
### Run next command on production server
#sudo mysql_secure_installation
# Check php version
php -v
# Check apache version
apachectl -v
# Check mysql version
mysql --version
# Check if php is working or not
php -r 'echo "\nIt means your PHP installation is working fine.\n";'
echo -e "\e[92m Open http://localhost/ to check if apache is working or not. \e[39m"
# Clean up cache
sudo apt-get clean
#!/bin/bash
# Script will auto terminate on errors
set -euo pipefail
IFS=$'\n\t'
# Ubuntu 16.04, apache2.4
# Don't source it, run like - bash install_phpmyadmin.sh
# You should have MySQL pre-installed
# Prevent source
[[ "${BASH_SOURCE[0]}" != "${0}" ]] && echo -e "\e[91m This script is being sourced, will exit now \e[39m" && return
echo -e "\e[96m Begin silent install phpMyAdmin \e[39m"
# Add phpMyAdmin PPA for latest version
# Warning!!! Don't add this PPA if you are running php v5.6
sudo add-apt-repository -y ppa:nijel/phpmyadmin
sudo apt-get update
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"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment