Tutorial ini menunjukkan cara menginstal beberapa versi PHP di server ISPConfig Debian. Versi PHP nantinya dapat dipilih di pengaturan situs web ISPConfig 3 untuk setiap situs satu per satu. Fitur ini bekerja dengan PHP-FPM dan FastCGI. Kami akan menginstal PHP 5.6, 7.x dan 8.x sebagai PHP-FPM dan versi FastCGI di server Debian dengan menggunakan paket PHP dari sury.org.
1 Catatan Awal
Saya akan menginstal PHP langsung dari situs pengelola Paket PHP Debian https://packages.sury.org/php/ dengan apt-get. Ini tidak akan menimpa instalasi yang ada tetapi akan mengubah versi default PHP yang digunakan ke versi terbaru yang diinstal! Jadi sangat penting untuk menambahkan versi PHP baru untuk versi yang diinstal ke ISPConfig dan mengubah semua situs ke versi ini terlebih dahulu. Jika Anda menggunakan tugas cron yang memanggil skrip PHP, Anda juga harus menyesuaikannya, nanti lebih lanjut.
Karena paket-paket lain seperti openssl juga diperbarui, paket-paket yang diinstal dari sury.org tidak dapat dihapus begitu saja setelah instalasi. Anda harus menurunkan versi paket ini ke versi Debian terlebih dahulu sebelum Anda dapat menghapus paket PHP tanpa merusak paket lain. Cara paling sederhana bagi saya adalah menonaktifkan repositori baru yang ditambahkan, kemudian paket yang diinstal dari sury.org akan muncul sebagai paket yang dibuat sendiri atau tidak digunakan lagi di aptitude dan Anda dapat menurunkan versi paket demi paket.
Harap diperhatikan bahwa PHP-FPM dapat digunakan pada server Apache dan Nginx sementara FastCGI hanya tersedia untuk server Apache.
2 Aktifkan versi PHP di ISPConfig
Di ISPConfig 3, Anda dapat mengonfigurasi versi PHP baru di bawah Sistem> Versi PHP Tambahan.
Tambahkan versi PHP Debian
Anda dapat melewati langkah ini jika Anda belum menginstal PHP versi Debian.
Pertama-tama Anda harus menambahkan versi baru untuk versi PHP yang sudah diinstal. Pada tab Name, Anda cukup mengisi nama untuk versi PHP (misalnya Debian 5.6) - versi PHP ini akan terdaftar di bawah nama ini di pengaturan situs web di ISPConfig:
Buka tab FastCGI Settings dan isi kolom sebagai berikut:
Path to the PHP FastCGI binary: php5-cgi
Path to the php.ini directory: /etc/php5/cgi/php.ini
Kemudian buka tab Pengaturan PHP-FPM dan isi kolom sebagai berikut:
Path to the PHP-FPM init script: php5-fpm
Path to the php.ini directory: /etc/php5/fpm/php.ini
Path to the PHP-FPM pool directory: /etc/php5/fpm/pool.d
Langkah penting untuk tugas cron
Jika Anda menggunakan pekerjaan cron yang memanggil skrip PHP, Anda juga harus memberi tahu cron versi mana yang akan digunakan. Tambahkan php5 di awal perintah untuk menggunakan versi Debian. Jika Anda tidak yakin apa yang sebenarnya Anda gunakan, ikuti symlink /usr/bin/php dan gunakan tujuan akhirnya sebagai awalan.
Tambahkan versi PHP lainnya
Saat ini ada 3 versi yang tersedia di https://packages.sury.org/php/ dan Anda harus mengulangi langkah terakhir sekarang untuk setiap versi yang akan Anda instal. Tetapi gunakan pengaturan berikut sebagai gantinya:
PHP 5.6
Path to the PHP FastCGI binary: php-cgi5.6
Path to the php.ini directory: /etc/php/5.6/cgi/php.ini
Path to the PHP-FPM init script: php5.6-fpm
Path to the php.ini directory: /etc/php/5.6/fpm/php.ini
Path to the PHP-FPM pool directory: /etc/php/5.6/fpm/pool.d
Versi cli untuk mis. pekerjaan cron memiliki nama php5.6.
PHP 7.0
Path to the PHP FastCGI binary: php-cgi7.0
Path to the php.ini directory: /etc/php/7.0/cgi/php.ini
Path to the PHP-FPM init script: php7.0-fpm
Path to the php.ini directory: /etc/php/7.0/fpm/php.ini
Path to the PHP-FPM pool directory: /etc/php/7.0/fpm/pool.d
Versi cli untuk mis. pekerjaan cron memiliki nama php7.0.
PHP 7.1
Path to the PHP FastCGI binary: php-cgi7.1
Path to the php.ini directory: /etc/php/7.1/cgi/php.ini
Path to the PHP-FPM init script: php7.1-fpm
Path to the php.ini directory: /etc/php/7.1/fpm/php.ini
Path to the PHP-FPM pool directory: /etc/php/7.1/fpm/pool.d
Versi cli untuk mis. pekerjaan cron memiliki nama php7.1.
PHP 7.2
Path to the PHP FastCGI binary: php-cgi7.2
Path to the php.ini directory: /etc/php/7.2/cgi/php.ini
Path to the PHP-FPM init script: php7.2-fpm
Path to the php.ini directory: /etc/php/7.2/fpm/php.ini
Path to the PHP-FPM pool directory: /etc/php/7.2/fpm/pool.d
Versi cli untuk mis. pekerjaan cron memiliki nama php7.2.
PHP 7.3
Path to the PHP FastCGI binary: php-cgi7.3
Path to the php.ini directory: /etc/php/7.3/cgi/php.ini
Path to the PHP-FPM init script: php7.3-fpm
Path to the php.ini directory: /etc/php/7.3/fpm/php.ini
Path to the PHP-FPM pool directory: /etc/php/7.3/fpm/pool.d
Versi cli untuk mis. pekerjaan cron memiliki nama php7.3.
PHP 7.4
Path to the PHP FastCGI binary: php-cgi7.4
Path to the php.ini directory: /etc/php/7.4/cgi/php.ini
Path to the PHP-FPM init script: php7.4-fpm
Path to the php.ini directory: /etc/php/7.4/fpm/php.ini
Path to the PHP-FPM pool directory: /etc/php/7.4/fpm/pool.d
Versi cli untuk mis. pekerjaan cron memiliki nama php7.4.
PHP 8.0
Path to the PHP FastCGI binary: php-cgi8.0
Path to the php.ini directory: /etc/php/8.0/cgi/
Path to the PHP-FPM init script: php8.0-fpm
Path to the php.ini directory: /etc/php/8.0/fpm/
Path to the PHP-FPM pool directory: /etc/php/8.0/fpm/pool.d
Versi cli untuk mis. pekerjaan cron memiliki nama php8.0
PHP 8.1
Path to the PHP FastCGI binary: php-cgi8.1
Path to the php.ini directory: /etc/php/8.1/cgi/
Path to the PHP-FPM init script: php8.1-fpm
Path to the php.ini directory: /etc/php/8.1/fpm/
Path to the PHP-FPM pool directory: /etc/php/8.1/fpm/pool.d
Versi cli untuk mis. pekerjaan cron memiliki nama php8.1
3 Mengubah versi PHP situs web
Anda dapat melewati langkah ini jika Anda belum menginstal PHP versi Debian.
Sekarang ubah versi PHP dari semua situs web ke versi yang baru dibuat (mis. Debian 5.6).
Dan jangan lupa untuk mengganti cron job seperti yang disebutkan di atas.
4 Tambahkan repositori di package.sury.org
Untuk menambahkan repositori di package.sury.org dan kunci BGP-nya agar tepat gunakan perintah berikut:
apt-get install -y apt-transport-https lsb-release ca-certificates
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
Perintah selanjutnya hanya satu baris, jangan tambahkan jeda baris:
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
apt-get update
Untuk memutakhirkan paket yang sudah diinstal dari repositori baru gunakan perintah ini:
apt-get upgrade
5 Instal PHP dari package.sury.org
Di sini saya menawarkan beberapa opsi untuk menginstal, silakan pilih versi yang diinginkan dan lewati saja sisanya!
5.1 Instal PHP 5.6
Untuk menginstal PHP gunakan perintah ini:
apt-get install php5.6 php5.6-cli php5.6-cgi php5.6-fpm php5.6-gd php5.6-mysql php5.6-imap php5.6-curl php5.6-intl php5.6-pspell php5.6-recode php5.6-sqlite3 php5.6-tidy php5.6-xmlrpc php5.6-xsl php5.6-zip php5.6-mbstring php5.6-soap php5.6-opcache libicu65 php5.6-common php5.6-json php5.6-readline php5.6-xml
5.2 Instal PHP 7.0
Untuk menginstal PHP gunakan perintah ini:
apt-get install php7.0 php7.0-cli php7.0-cgi php7.0-fpm php7.0-gd php7.0-mysql php7.0-imap php7.0-curl php7.0-intl php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl php7.0-zip php7.0-mbstring php7.0-soap php7.0-opcache php7.0-common php7.0-json php7.0-readline php7.0-xml
5.3 Instal PHP 7.1
Untuk menginstal PHP gunakan perintah ini:
apt-get install php7.1 php7.1-cli php7.1-cgi php7.1-fpm php7.1-gd php7.1-mysql php7.1-imap php7.1-curl php7.1-intl php7.1-pspell php7.1-recode php7.1-sqlite3 php7.1-tidy php7.1-xmlrpc php7.1-xsl php7.1-zip php7.1-mbstring php7.1-soap php7.1-opcache php7.1-common php7.1-json php7.1-readline php7.1-xml
5.4 Instal PHP 7.2
Untuk menginstal PHP gunakan perintah ini:
apt-get install php7.2 php7.2-cli php7.2-cgi php7.2-fpm php7.2-gd php7.2-mysql php7.2-imap php7.2-curl php7.2-intl php7.2-pspell php7.2-recode php7.2-sqlite3 php7.2-tidy php7.2-xmlrpc php7.2-xsl php7.2-zip php7.2-mbstring php7.2-soap php7.2-opcache php7.2-common php7.2-json php7.2-readline php7.2-xml
5.5 Instal PHP 7.3
Untuk menginstal PHP gunakan perintah ini:
apt-get install php7.3 php7.3-cli php7.3-cgi php7.3-fpm php7.3-gd php7.3-mysql php7.3-imap php7.3-curl php7.3-intl php7.3-pspell php7.3-recode php7.3-sqlite3 php7.3-tidy php7.3-xmlrpc php7.3-xsl php7.3-zip php7.3-mbstring php7.3-soap php7.3-opcache php7.3-common php7.3-json php7.3-readline php7.3-xml
5.6 Instal PHP 7.4
Untuk menginstal PHP 7.4 gunakan perintah ini:
apt-get install php7.4 php7.4-cli php7.4-cgi php7.4-fpm php7.4-gd php7.4-mysql php7.4-imap php7.4-curl php7.4-intl php7.4-pspell php7.4-sqlite3 php7.4-tidy php7.4-xmlrpc php7.4-xsl php7.4-zip php7.4-mbstring php7.4-soap php7.4-opcache libonig5 php7.4-common php7.4-json php7.4-readline php7.4-xml
5.6 Instal PHP 8.0
Untuk menginstal PHP 8.0 gunakan perintah ini:
apt-get install php8.0 php8.0-cli php8.0-cgi php8.0-fpm php8.0-gd php8.0-mysql php8.0-imap php8.0-curl php8.0-intl php8.0-pspell php8.0-sqlite3 php8.0-tidy php8.0-xsl php8.0-zip php8.0-mbstring php8.0-soap php8.0-opcache libonig5 php8.0-common php8.0-readline php8.0-xml
5.6 Instal PHP 8.1
Untuk menginstal PHP 8.1 gunakan perintah ini:
apt-get install php8.1 php8.1-cli php8.1-cgi php8.1-fpm php8.1-gd php8.1-mysql php8.1-imap php8.1-curl php8.1-intl php8.1-pspell php8.1-sqlite3 php8.1-tidy php8.1-xsl php8.1-zip php8.1-mbstring php8.1-soap php8.1-opcache libonig5 php8.1-common php8.1-readline php8.1-xml
6 Instal ekstensi Memcache (opsional)
Untuk menginstal Memcache gunakan perintah ini:
apt-get install php-memcache php-memcached
7 Instal ekstensi APCu (opsional)
Untuk menginstal cache pengguna APC gunakan perintah ini:
apt-get install php-apcu php-apcu-bc
8 Instal ekstensi xDebug (opsional)
Modul xDebug adalah ekstensi debugging untuk PHP. Instalasi bersifat opsional.
Untuk menginstal xDebug gunakan perintah ini:
apt-get install php-xdebug
Paket ini tampaknya memiliki pengaturan default selain paket Debian php5-xdebug. Tergantung pada perangkat lunak Anda, Anda harus mengubah pengaturan seperti xdebug.max_nesting_level untuk menjalankannya!
9 Menyetel kembali PHP default Debian ke versi aslinya
PHP default dari sistem operasi harus tetap pada versi aslinya. Untuk memperbaikinya, jalankan perintah ini:
update-alternatives --config php
update-alternatives --config php-cgi
Pada Debian 11, pilih 7.4, pada Debian 10, pilih 7.3, pada Debian 9:Pilih PHP 7.0, pada Debian 8, pilih PHP 5.6 pada dialog yang muncul.
10 Mulai ulang daemon FPM
Terakhir, restart daemon php-fpm. Jalankan perintah untuk yang diinstal sebelumnya:
service php5.6-fpm restart
service php7.0-fpm restart
service php7.1-fpm restart
service php7.2-fpm restart
service php7.3-fpm restart
service php7.4-fpm restart
service php8.0-fpm restart
service php8.1-fpm restart
11 Tautan
- PHP:http://www.php.net/
- ISPConfig:http://www.ispconfig.org/
- Debian:http://www.debian.org/
- DEB.SURY.ORG:http://deb.sury.org/