Skip to content

Instantly share code, notes, and snippets.

@hms5232
Last active June 20, 2022 02:17
Show Gist options
  • Save hms5232/41b330d773c2eabd407b8e1c94c0352a to your computer and use it in GitHub Desktop.
Save hms5232/41b330d773c2eabd407b8e1c94c0352a to your computer and use it in GitHub Desktop.
Install PHP, Nginx and MariaDB on Ubuntu for Laravel.
#!/usr/bin/env bash
sudo apt install -y software-properties-common && \
sudo add-apt-repository ppa:ondrej/php && \
sudo apt update && \
sudo apt install -y \
openssl \
php7.4 \
php7.4-common \
php7.4-cli \
php7.4-bcmath \
php7.4-fpm \
php7.4-json \
php7.4-mbstring \
php7.4-xml \
php7.4-curl \
php7.4-gd \
php7.4-mysql \
php7.4-sqlite3 \
php7.4-zip \
php7.4-readline \
php7.4-opcache\
mariadb-server \
nginx
aptresult=$?
if [ $aptresult -ne 0 ]; then
exit $aptresult
fi
echo -e "\n"
echo "====== Now download composer ======"
# https://getcomposer.org/doc/faqs/how-to-install-composer-programmatically.md
EXPECTED_CHECKSUM="$(php -r 'copy("https://composer.github.io/installer.sig", "php://stdout");')"
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
ACTUAL_CHECKSUM="$(php -r "echo hash_file('sha384', 'composer-setup.php');")"
if [ "$EXPECTED_CHECKSUM" != "$ACTUAL_CHECKSUM" ]
then
>&2 echo 'ERROR: Invalid installer checksum'
rm composer-setup.php
exit 1
fi
php composer-setup.php
RESULT=$?
rm composer-setup.php
if [ $RESULT -eq 0 ]; then
sudo mv composer.phar /usr/local/bin/composer
fi
exit $RESULT
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment