Skip to content

Instantly share code, notes, and snippets.

@mannysoft
Last active February 18, 2021 12:12
Show Gist options
  • Save mannysoft/f07fc35557b0b567e7441ea9164ea0a9 to your computer and use it in GitHub Desktop.
Save mannysoft/f07fc35557b0b567e7441ea9164ea0a9 to your computer and use it in GitHub Desktop.

Revisions

  1. mannysoft revised this gist Feb 18, 2021. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions php74.install
    Original file line number Diff line number Diff line change
    @@ -24,6 +24,7 @@ echo "--- Installing MySQL ---"
    sudo apt-get update
    sudo apt-get install -y mysql-server
    sudo mysql_secure_installation
    # https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-18-04


    echo "--- Installing PHP-specific packages and Curl ---"
  2. mannysoft revised this gist Aug 28, 2020. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions php74.install
    Original file line number Diff line number Diff line change
    @@ -23,6 +23,7 @@ sudo apt-get install -y git-core
    echo "--- Installing MySQL ---"
    sudo apt-get update
    sudo apt-get install -y mysql-server
    sudo mysql_secure_installation


    echo "--- Installing PHP-specific packages and Curl ---"
  3. mannysoft revised this gist Aug 28, 2020. 1 changed file with 4 additions and 0 deletions.
    4 changes: 4 additions & 0 deletions php74.install
    Original file line number Diff line number Diff line change
    @@ -119,6 +119,10 @@ sudo reboot

    # Install SSL Certificate
    # https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-16-04
    sudo add-apt-repository ppa:certbot/certbot
    sudo apt-get update
    sudo apt-get install python-certbot-nginx
    sudo certbot --nginx -d example.com -d www.example.com

    # Set up subdomain
    #https://hackprogramming.com/how-to-setup-subdomain-or-host-multiple-domains-using-nginx-in-linux-server/
  4. mannysoft revised this gist Aug 28, 2020. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion php74.install
    Original file line number Diff line number Diff line change
    @@ -132,4 +132,5 @@ sudo apt-get install supervisor -y
    # https://laravel.com/docs/7.x/queues#running-the-queue-worker

    # MongoDB
    # https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/
    # https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/
    sudo apt-get install php-mongodb
  5. mannysoft revised this gist Aug 28, 2020. 1 changed file with 4 additions and 1 deletion.
    5 changes: 4 additions & 1 deletion php74.install
    Original file line number Diff line number Diff line change
    @@ -129,4 +129,7 @@ sudo reboot
    # Install supervisor
    sudo apt-get install supervisor -y

    # https://laravel.com/docs/7.x/queues#running-the-queue-worker
    # https://laravel.com/docs/7.x/queues#running-the-queue-worker

    # MongoDB
    # https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/
  6. mannysoft revised this gist Aug 28, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion php74.install
    Original file line number Diff line number Diff line change
    @@ -127,6 +127,6 @@ sudo reboot
    # https://mannyisles.com/install-mailhog-with-nginx-on-ubuntu-server/

    # Install supervisor
    sudo apt-get install supervisor
    sudo apt-get install supervisor -y

    # https://laravel.com/docs/7.x/queues#running-the-queue-worker
  7. mannysoft revised this gist Aug 12, 2020. 1 changed file with 3 additions and 1 deletion.
    4 changes: 3 additions & 1 deletion php74.install
    Original file line number Diff line number Diff line change
    @@ -127,4 +127,6 @@ sudo reboot
    # https://mannyisles.com/install-mailhog-with-nginx-on-ubuntu-server/

    # Install supervisor
    sudo apt-get install supervisor
    sudo apt-get install supervisor

    # https://laravel.com/docs/7.x/queues#running-the-queue-worker
  8. mannysoft revised this gist Aug 12, 2020. 1 changed file with 4 additions and 1 deletion.
    5 changes: 4 additions & 1 deletion php74.install
    Original file line number Diff line number Diff line change
    @@ -124,4 +124,7 @@ sudo reboot
    #https://hackprogramming.com/how-to-setup-subdomain-or-host-multiple-domains-using-nginx-in-linux-server/

    # Install MailHog for email testing
    # https://mannyisles.com/install-mailhog-with-nginx-on-ubuntu-server/
    # https://mannyisles.com/install-mailhog-with-nginx-on-ubuntu-server/

    # Install supervisor
    sudo apt-get install supervisor
  9. mannysoft revised this gist Aug 12, 2020. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion php74.install
    Original file line number Diff line number Diff line change
    @@ -26,7 +26,7 @@ sudo apt-get install -y mysql-server


    echo "--- Installing PHP-specific packages and Curl ---"
    sudo apt-get -y install nginx php7.4 php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-mysql php7.4-fpm php7.4-ldap php7.4-tidy php7.4-bcmath php7.4-mbstring php7.4-xml php7.4-curl php7.4-zip php7.4-gd php7.4-sqlite3 --allow-unauthenticated
    sudo apt-get -y install nginx php7.4 php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-mysql php7.4-fpm php7.4-ldap php7.4-tidy php7.4-bcmath php7.4-mbstring php7.4-xml php7.4-curl php7.4-zip php7.4-gd php7.4-sqlite3 php7.4-redis --allow-unauthenticated

    echo "--- Applying modifications to php7.4-fpm ---"
    sudo sed -i '/cgi.fix_pathinfo=1/c cgi.fix_pathinfo=0' /etc/php/7.4/cli/php.ini
  10. mannysoft revised this gist Aug 8, 2020. 1 changed file with 4 additions and 1 deletion.
    5 changes: 4 additions & 1 deletion php74.install
    Original file line number Diff line number Diff line change
    @@ -121,4 +121,7 @@ sudo reboot
    # 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/
    #https://hackprogramming.com/how-to-setup-subdomain-or-host-multiple-domains-using-nginx-in-linux-server/

    # Install MailHog for email testing
    # https://mannyisles.com/install-mailhog-with-nginx-on-ubuntu-server/
  11. mannysoft created this gist Mar 19, 2020.
    124 changes: 124 additions & 0 deletions php74.install
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,124 @@
    #!/usr/bin/env bash
    # curl -LO https://gist.github.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.4 php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-mysql php7.4-fpm php7.4-ldap php7.4-tidy php7.4-bcmath php7.4-mbstring php7.4-xml php7.4-curl php7.4-zip php7.4-gd php7.4-sqlite3 --allow-unauthenticated

    echo "--- Applying modifications to php7.4-fpm ---"
    sudo sed -i '/cgi.fix_pathinfo=1/c cgi.fix_pathinfo=0' /etc/php/7.4/cli/php.ini
    sudo sed -i '/max_execution_time = 30/c max_execution_time = 300' /etc/php/7.4/cli/php.ini
    sudo sed -i '/upload_max_filesize = 2M/c upload_max_filesize = 80M' /etc/php/7.4/cli/php.ini
    sudo sed -i '/post_max_size = 8M/c post_max_size = 80M' /etc/php/7.4/cli/php.ini

    sudo sed -i '/upload_max_filesize = 2M/c upload_max_filesize = 80M' /etc/php/7.4/fpm/php.ini
    sudo sed -i '/post_max_size = 8M/c post_max_size = 80M' /etc/php/7.4/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.4-fpm.service

    echo "--- Enable Nginx and PHP-FPM on system boot ---"
    sudo systemctl enable nginx.service
    sudo systemctl enable php7.4-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.4-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }
    }
    EOF


    echo "--- Restarting php7.4-fpm and Nginx ---"
    sudo /etc/init.d/nginx restart
    sudo /etc/init.d/php7.4-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.4-fpm and Nginx ---"
    sudo /etc/init.d/nginx restart
    sudo /etc/init.d/php7.4-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/