PHP 7.x für ispconfig3

Hier eine kleine schnelle Roadmap für die Installation weiterer PHP Versionen unter ispConfig3

apt -y install build-essential nano net-tools autoconf
apt install libfcgi-dev libfcgi0ldbl libmcrypt-dev libssl-dev libc-client2007e libc-client2007e-dev libxml2-dev libbz2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libfreetype6-dev libkrb5-dev libpq-dev libxml2-dev libxslt1-dev libzip-dev libsqlite3-dev libonig-dev
ln -s /usr/lib/libc-client.a /usr/lib/x86_64-linux-gnu/libc-client.a
cd /usr/include
ln -s x86_64-linux-gnu/curl
cd /tmp
wget https://www.php.net/distributions/php-7.4.0.tar.gz
tar xfz php-7.4.0.tar.gz
cd php-7.4.0
./configure --prefix=/opt/php-7.4 --with-pdo-pgsql --with-zlib-dir --with-freetype --enable-mbstring --enable-soap --enable-calendar --with-curl --with-zlib --enable-gd --with-pgsql --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --with-zip --with-pdo-mysql --with-mysqli --with-mysql-sock=/var/run/mysqld/mysqld.sock --with-jpeg --with-openssl --with-fpm-user=www-data --with-fpm-group=www-data --with-libdir=/lib/x86_64-linux-gnu --enable-ftp --with-imap --with-imap-ssl --with-kerberos --with-gettext --with-xmlrpc --with-xsl --enable-opcache --enable-intl --with-pear --enable-fpm
make
make install
cp php.ini-production /opt/php-7.4/lib/php.ini
cp /opt/php-7.4/etc/php-fpm.conf.default /opt/php-7.4/etc/php-fpm.conf
cp /opt/php-7.4/etc/php-fpm.d/www.conf.default /opt/php-7.4/etc/php-fpm.d/www.conf
sed -i 's/;pid = run\/php-fpm.pid/pid = run\/php-fpm.pid/g' /opt/php-7.4/etc/php-fpm.conf
nano /lib/systemd/system/php-7.4-fpm.service

Und folgendes eintragen

[Unit]
	Description=The PHP 7.4 FastCGI Process Manager
	After=network.target

	[Service]
	Type=simple
	PIDFile=/opt/php-7.4/var/run/php-fpm.pid
	ExecStart=/opt/php-7.4/sbin/php-fpm --nodaemonize --fpm-config /opt/php-7.4/etc/php-fpm.conf
	ExecReload=/bin/kill -USR2 $MAINPID

	[Install]
	WantedBy=multi-user.target

Danach geht es wieder klassisch in der Shell weiter.

systemctl enable php-7.4-fpm.service
systemctl daemon-reload
systemctl start php-7.4-fpm.service
echo zend_extension=opcache.so >> /opt/php-7.4/lib/php.ini
cd /opt/php-7.4/etc
../bin/pecl -C ./pear.conf update-channels
../bin/pecl -C ./pear.conf install memcached
echo extension=memcached.so >> /opt/php-7.4/lib/php.ini
cd /opt/php-7.4/etc
../bin/pecl -C ./pear.conf update-channels
../bin/pecl -C ./pear.conf install apcu
echo extension=apcu.so >> /opt/php-7.4/lib/php.ini
service apache2 restart
systemctl start php-7.4-fpm.service

In iscConfig3 geht es dann unter „System“ -> „Additional PHP Versions“ weiter. Dort auf „Add…“ klicken und einen sinnvollen Namen, z.B. PHP 7.4, eingeben.

Im Registertab „FastCGI Settings“ kommt folgendes in die beiden Zeilen:

/opt/php-7.4/bin/php-cgi
/opt/php-7.4/lib

In die Registerkarte „PHP FPM Setting“ kommt dann:

php-7.4-fpm
/opt/php-7.4/lib
/opt/php-7.4/etc/php-fpm.d

Anschliessend kann man die PHP Version in der Site-Konfiguration des Kunden anpassen.

Merker: The default interactive shell is now zsh

Nach dem Update auf Catalina bekommt man beim Start des Terminals immer folgende Meldung:

The default interactive shell is now zsh.

To update your account to use zsh, please run `chsh -s /bin/zsh`.

For more details, please visit https://support.apple.com/kb/HT208050.

Wer das nicht jedes mal sehen will kann folgendes in Terminal eingeben:

echo "export BASH_SILENCE_DEPRECATION_WARNING=1" >> .bash_profile