Last active
April 5, 2020 02:22
-
-
Save mannysoft/46cb4ef4a3e4ed1eae151c7ef3da7d47 to your computer and use it in GitHub Desktop.
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
#!/usr/bin/env bash | |
# curl -LO https://gist.githubusercontent.com/mannysoft/e4b54662b3aec5c0b1b88be52177ab68/raw/04dba433394c7a03d891f94c75b52975d2e7a621/install.sh | |
# chmod +x install.sh | |
# ./install.sh | |
# ppk to pem: | |
# puttygen key.ppk -O private-openssh -o key.pem | |
echo "--- Welcome User. This is very exciting. ---" | |
echo "--- Updating packages list ---" | |
sudo apt-get install software-properties-common | |
#https://colorfield.be/blog/fix-following-signatures-couldnt-be-verified-because-public-key-not-available-ubuntu-1604 | |
sudo add-apt-repository ppa:ondrej/nginx | |
sudo add-apt-repository ppa:ondrej/php | |
sudo apt-get update | |
echo "--- Installing text editor NANO ---" | |
sudo apt-get install -y nano | |
echo "--- Installing git ---" | |
sudo apt-get install -y git-core | |
echo "--- Installing MySQL ---" | |
sudo apt-get update | |
sudo apt-get install -y mysql-server | |
echo "--- Installing PHP-specific packages and Curl ---" | |
sudo apt-get -y install nginx php7.3 php7.3-cli php7.3-common php7.3-json php7.3-opcache php7.3-mysql php7.3-fpm php7.3-ldap php7.3-tidy php7.3-bcmath php7.3-mbstring php7.3-xml php7.3-curl php7.3-zip php7.3-gd php7.3-sqlite3 --allow-unauthenticated | |
echo "--- Applying modifications to php7.3-fpm ---" | |
sudo sed -i '/cgi.fix_pathinfo=1/c cgi.fix_pathinfo=0' /etc/php/7.3/cli/php.ini | |
sudo sed -i '/max_execution_time = 30/c max_execution_time = 300' /etc/php/7.3/cli/php.ini | |
sudo sed -i '/upload_max_filesize = 2M/c upload_max_filesize = 80M' /etc/php/7.3/cli/php.ini | |
sudo sed -i '/post_max_size = 8M/c post_max_size = 80M' /etc/php/7.3/cli/php.ini | |
sudo sed -i '/upload_max_filesize = 2M/c upload_max_filesize = 80M' /etc/php/7.3/fpm/php.ini | |
sudo sed -i '/post_max_size = 8M/c post_max_size = 80M' /etc/php/7.3/fpm/php.ini | |
echo "--- Check if no error in nginx ----" | |
sudo nginx -t | |
echo "--- Restart PHP-FPM if everything is ok ---" | |
sudo systemctl restart php7.3-fpm.service | |
echo "--- Enable Nginx and PHP-FPM on system boot ---" | |
sudo systemctl enable nginx.service | |
sudo systemctl enable php7.3-fpm.service | |
# Create folder | |
sudo mkdir -p /var/www/app | |
sudo mkdir -p /var/www/app/public | |
echo "--- Configuring default Nginx site to support Laravel ---" | |
cat << 'EOF' | sudo tee /etc/nginx/sites-available/default | |
server { | |
listen 80 default_server; | |
listen [::]:80 default_server ipv6only=on; | |
root /var/www/app/public; | |
index index.php index.html index.htm; | |
# Make site accessible from http://localhost/ | |
server_name localhost; | |
location / { | |
# First attempt to serve request as file, then | |
# as directory, then fall back to displaying a 404. | |
try_files $uri $uri/ /index.php?$query_string; | |
# Uncomment to enable naxsi on this location | |
# include /etc/nginx/naxsi.rules | |
} | |
location ~ \.php$ { | |
try_files $uri =404; | |
fastcgi_split_path_info ^(.+\.php)(/.+)$; | |
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock; | |
fastcgi_index index.php; | |
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; | |
include fastcgi_params; | |
} | |
} | |
EOF | |
echo "--- Restarting php7.3-fpm and Nginx ---" | |
sudo /etc/init.d/nginx restart | |
sudo /etc/init.d/php7.3-fpm restart | |
# Create Swap File (Optional) | |
# sudo fallocate -l 1G /swapfile | |
# sudo mkswap /swapfile | |
# sudo swapon /swapfile | |
echo "--- Fetching and installing Composer ---" | |
sudo curl -sS https://getcomposer.org/installer | php | |
sudo mv composer.phar /usr/local/bin/composer | |
# echo "--- Installing node.js ---" | |
sudo apt-get install -y nodejs --allow-unauthenticated | |
sudo apt-get install -y npm --allow-unauthenticated | |
#laravel-echo-server start | |
#nodejs-legacy | |
#sudo chown -R username /var/www/app | |
sudo chown -R www-data /var/www | |
# sudo chmod -R 775 /var/www/app/storage | |
echo "--- Restarting php7.3-fpm and Nginx ---" | |
sudo /etc/init.d/nginx restart | |
sudo /etc/init.d/php7.3-fpm restart | |
#phpmyadmin | |
#sudo apt-get install -y --allow-unauthenticated phpmyadmin | |
# sudo ln -s /usr/share/phpmyadmin /var/www/app/public | |
echo "Rebooting server..." | |
sudo reboot | |
# Install SSL Certificate | |
# https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-16-04 | |
# Set up subdomain | |
#https://hackprogramming.com/how-to-setup-subdomain-or-host-multiple-domains-using-nginx-in-linux-server/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment