-
-
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)
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 | |
| 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 | |
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 | |
| # 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