38 lines
956 B
Bash
Executable File
38 lines
956 B
Bash
Executable File
#!/bin/bash
|
|
|
|
# Run this script with "(sudo) bash <filename> <args>".
|
|
|
|
# Exit on error.
|
|
set -e
|
|
|
|
# We'll use the debian binaries provided by sury.org, we need some
|
|
# packages to add the repo.
|
|
#
|
|
# Most of this is taken from https://packages.sury.org/php/README.txt
|
|
# but I've modified one or two lines.
|
|
apt install -y apt-transport-https lsb-release ca-certificates curl
|
|
|
|
# PHP packages to install.
|
|
PHP_PKGS='php8.1-fpm php8.1-readline php8.1-mbstring php8.1-gd php8.1-curl php8.1-zip php8.1-mysql php8.1-dom'
|
|
|
|
# Apt format.
|
|
DEB_FMT='deb %s %s %s'
|
|
|
|
# Repo URL.
|
|
DEB_URL='https://packages.sury.org/php/'
|
|
DEB_KEY_URL='https://packages.sury.org/php/apt.gpg'
|
|
|
|
# Distro codename.
|
|
DISTRO_CODE="$(lsb_release -sc)"
|
|
|
|
REPO_SUITE='main'
|
|
|
|
curl -o /etc/apt/trusted.gpg.d/packages.sury.org.gpg "${DEB_KEY_URL:-}"
|
|
|
|
printf "${DEB_FMT:-}\n" "$DEB_URL" "$DISTRO_CODE" "$REPO_SUITE" |
|
|
tee /etc/apt/sources.list.d/php-packages.sury.list
|
|
|
|
apt update
|
|
|
|
apt install -y $PHP_PKGS
|