diff --git a/etc/systemd/system/php7.2-fpm.service b/etc/systemd/system/php8.0-fpm.service similarity index 73% rename from etc/systemd/system/php7.2-fpm.service rename to etc/systemd/system/php8.0-fpm.service index c943af8..acad9f8 100644 --- a/etc/systemd/system/php7.2-fpm.service +++ b/etc/systemd/system/php8.0-fpm.service @@ -2,8 +2,8 @@ # but we are using a service since targets cannot be reloaded. [Unit] -Description=The PHP 7.2 FastCGI Process Manager (multi instance master) -Documentation=man:php-fpm7.2(8) +Description=The PHP 8.0 FastCGI Process Manager (multi instance master) +Documentation=man:php-fpm8.0(8) After=network.target [Service] diff --git a/etc/systemd/system/php7.2-fpm@.service b/etc/systemd/system/php8.0-fpm@.service similarity index 66% rename from etc/systemd/system/php7.2-fpm@.service rename to etc/systemd/system/php8.0-fpm@.service index eec58da..e8c4555 100644 --- a/etc/systemd/system/php7.2-fpm@.service +++ b/etc/systemd/system/php8.0-fpm@.service @@ -1,14 +1,14 @@ [Unit] -Description=The PHP 7.2 FastCGI Process Manager (instance %i) -Documentation=man:php-fpm7.2(8) +Description=The PHP 8.0 FastCGI Process Manager (instance %i) +Documentation=man:php-fpm8.0(8) After=network.target -PartOf=php7.2-fpm.service -ReloadPropagatedFrom=php7.2-fpm.service +PartOf=php8.0-fpm.service +ReloadPropagatedFrom=php8.0-fpm.service [Service] Type=notify -PIDFile=/run/php/php7.2-fpm-%i.pid -ExecStart=/usr/sbin/php-fpm7.2 --nodaemonize --fpm-config /etc/php/7.2/fpm/php-fpm-%i.conf +PIDFile=/run/php/php8.0-fpm-%i.pid +ExecStart=/usr/sbin/php-fpm8.0 --nodaemonize --fpm-config /etc/php/8.0/fpm/php-fpm-%i.conf ExecReload=/bin/kill -USR2 $MAINPID LimitNOFILE=100000 TimeoutStartSec=300 diff --git a/etc/systemd/system/php7.2-fpm@default.service b/etc/systemd/system/php8.0-fpm@default.service similarity index 72% rename from etc/systemd/system/php7.2-fpm@default.service rename to etc/systemd/system/php8.0-fpm@default.service index ac55a13..1d1a157 100644 --- a/etc/systemd/system/php7.2-fpm@default.service +++ b/etc/systemd/system/php8.0-fpm@default.service @@ -1,14 +1,14 @@ [Unit] -Description=The PHP 7.2 FastCGI Process Manager -Documentation=man:php-fpm7.2(8) +Description=The PHP 8.0 FastCGI Process Manager +Documentation=man:php-fpm8.0(8) After=network.target -PartOf=php7.2-fpm.service -ReloadPropagatedFrom=php7.2-fpm.service +PartOf=php8.0-fpm.service +ReloadPropagatedFrom=php8.0-fpm.service [Service] Type=notify -PIDFile=/run/php/php7.2-fpm.pid -ExecStart=/usr/sbin/php-fpm7.2 --nodaemonize --fpm-config /etc/php/7.2/fpm/php-fpm.conf +PIDFile=/run/php/php8.0-fpm.pid +ExecStart=/usr/sbin/php-fpm8.0 --nodaemonize --fpm-config /etc/php/8.0/fpm/php-fpm.conf ExecReload=/bin/kill -USR2 $MAINPID LimitNOFILE=100000 TimeoutStartSec=300 diff --git a/install_binaries.sh b/install_binaries.sh index 4aae9e5..41efd19 100755 --- a/install_binaries.sh +++ b/install_binaries.sh @@ -1360,8 +1360,6 @@ git reset --hard cd .. ln -fs /usr/include/qdbm/depot.h /usr/include/depot.h cd php-src -git checkout PHP-7.4 -git pull cd ext cd apcu && git pull && cd .. cd php-ext-brotli && git pull && cd .. @@ -1371,8 +1369,17 @@ cd php-rar && git pull && cd .. rm -rf ssh2-* curl -sSf https://pecl.php.net/get/ssh2 | tar xzvf - --exclude package.xml cd .. +git checkout PHP-8.0 +git pull ./buildconf -LIBS='-lgpg-error' CXXFLAGS='-O3 -mtune=native -march=native' CFLAGS='-O3 -mtune=native -march=native' ./configure -C --enable-re2c-cgoto --prefix=/usr --with-config-file-scan-dir=/etc/php/7.4/fpm/conf.d --libdir=/usr/lib/php --libexecdir=/usr/lib/php --datadir=/usr/share/php/7.4 --program-suffix=7.4 --sysconfdir=/etc --localstatedir=/var --mandir=/usr/share/man --enable-fpm --enable-cli --disable-cgi --disable-phpdbg --with-fpm-systemd --with-fpm-user=www-data --with-fpm-group=www-data --with-layout=GNU --disable-dtrace --disable-short-tags --without-valgrind --disable-shared --disable-debug --disable-rpath --without-pear --with-openssl --enable-bcmath --with-bz2 --enable-calendar --with-curl --enable-dba --with-qdbm --with-lmdb --enable-exif --enable-ftp --enable-gd --with-external-gd --with-jpeg --with-webp --with-xpm --with-freetype --enable-gd-jis-conv --with-gettext --with-gmp --with-mhash --with-imap --with-imap-ssl --with-kerberos --enable-intl --with-ldap --with-ldap-sasl --enable-mbstring --with-mysqli --with-pdo-mysql --enable-mysqlnd --with-mysql-sock=/var/run/mysqld/mysqld.sock --with-zlib --with-libedit --with-readline --enable-shmop --enable-soap --enable-sockets --with-sodium --with-password-argon2 --with-tidy --with-xmlrpc --with-xsl --with-enchant --with-pspell --with-zip --with-ffi --enable-apcu --enable-brotli --with-libbrotli --with-imagick --with-ssh2 --with-gnupg --enable-rar +LIBS='-lgpg-error' CXXFLAGS='-O3 -mtune=native -march=native' CFLAGS='-O3 -mtune=native -march=native' ./configure -C --enable-re2c-cgoto --prefix=/usr --with-config-file-scan-dir=/etc/php/8.0/fpm/conf.d --libdir=/usr/lib/php --libexecdir=/usr/lib/php --datadir=/usr/share/php/8.0 --program-suffix=8.0 --sysconfdir=/etc --localstatedir=/var --mandir=/usr/share/man --enable-fpm --enable-cli --disable-cgi --disable-phpdbg --with-fpm-systemd --with-fpm-user=www-data --with-fpm-group=www-data --with-layout=GNU --disable-dtrace --disable-short-tags --without-valgrind --disable-shared --disable-debug --disable-rpath --without-pear --with-openssl --enable-bcmath --with-bz2 --enable-calendar --with-curl --enable-dba --with-qdbm --with-lmdb --enable-exif --enable-ftp --enable-gd --with-external-gd --with-jpeg --with-webp --with-xpm --with-freetype --enable-gd-jis-conv --with-gettext --with-gmp --with-mhash --with-imap --with-imap-ssl --with-kerberos --enable-intl --with-ldap --with-ldap-sasl --enable-mbstring --with-mysqli --with-pdo-mysql --enable-mysqlnd --with-mysql-sock=/var/run/mysqld/mysqld.sock --with-zlib --with-libedit --with-readline --enable-shmop --enable-soap --enable-sockets --with-sodium --with-password-argon2 --with-tidy --with-xsl --with-enchant --with-pspell --with-zip --with-ffi --enable-apcu --enable-brotli --with-libbrotli --with-imagick --with-ssh2 --with-gnupg --enable-rar +make -j $PROC_LIMIT install +make distclean +git reset --hard +git checkout PHP-7.4 +git pull +./buildconf +LIBS='-lgpg-error' CXXFLAGS='-O3 -mtune=native -march=native' CFLAGS='-O3 -mtune=native -march=native' ./configure -C --enable-re2c-cgoto --prefix=/usr --with-config-file-scan-dir=/etc/php/7.4/fpm/conf.d --libdir=/usr/lib/php --libexecdir=/usr/lib/php --datadir=/usr/share/php/7.4 --program-suffix=7.4 --sysconfdir=/etc --localstatedir=/var --mandir=/usr/share/man --enable-fpm --enable-cli --disable-cgi --disable-phpdbg --with-fpm-systemd --with-fpm-user=www-data --with-fpm-group=www-data --with-layout=GNU --disable-dtrace --disable-short-tags --without-valgrind --disable-shared --disable-debug --disable-rpath --without-pear --with-openssl --enable-bcmath --with-bz2 --enable-calendar --with-curl --enable-dba --with-qdbm --with-lmdb --enable-exif --enable-ftp --enable-gd --with-external-gd --with-jpeg --with-webp --with-xpm --with-freetype --enable-gd-jis-conv --with-gettext --with-gmp --with-mhash --with-imap --with-imap-ssl --with-kerberos --enable-intl --with-ldap --with-ldap-sasl --enable-mbstring --with-mysqli --with-pdo-mysql --enable-mysqlnd --with-mysql-sock=/var/run/mysqld/mysqld.sock --with-zlib --with-libedit --with-readline --enable-shmop --enable-soap --enable-sockets --with-sodium --with-password-argon2 --with-tidy --with-xsl --with-enchant --with-pspell --with-zip --with-ffi --enable-apcu --enable-brotli --with-libbrotli --with-imagick --with-ssh2 --with-gnupg --enable-rar make -j $PROC_LIMIT install make distclean git reset --hard @@ -1435,73 +1442,10 @@ index 498d870..d28c6ae 100644 EOF ./buildconf -LIBS='-lgpg-error' CXXFLAGS='-O3 -mtune=native -march=native' CFLAGS='-O3 -mtune=native -march=native' ./configure -C --enable-re2c-cgoto --prefix=/usr --with-config-file-scan-dir=/etc/php/7.3/fpm/conf.d --libdir=/usr/lib/php --libexecdir=/usr/lib/php --datadir=/usr/share/php/7.3 --program-suffix=7.3 --sysconfdir=/etc --localstatedir=/var --mandir=/usr/share/man --enable-fpm --enable-cli --disable-cgi --disable-phpdbg --with-fpm-systemd --with-fpm-user=www-data --with-fpm-group=www-data --with-layout=GNU --disable-dtrace --disable-short-tags --without-valgrind --disable-shared --disable-debug --disable-rpath --without-pear --with-openssl --enable-bcmath --with-bz2 --enable-calendar --with-curl --enable-dba --with-qdbm --with-lmdb --enable-exif --enable-ftp --with-gd=/usr --with-jpeg-dir=/usr --with-webp-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --with-gettext --with-gmp --with-mhash --with-imap --with-imap-ssl --with-kerberos --enable-intl --with-ldap --with-ldap-sasl --enable-mbstring --with-mysqli --with-pdo-mysql --enable-mysqlnd --with-mysql-sock=/var/run/mysqld/mysqld.sock --with-zlib --with-libedit --with-readline --enable-shmop --enable-soap --enable-sockets --with-sodium --with-password-argon2 --with-tidy --with-xmlrpc --with-xsl --with-enchant --with-pspell --enable-zip --enable-apcu --enable-brotli --with-libbrotli --with-imagick --with-ssh2 --with-pcre-regex --with-pcre-jit --with-gnupg --enable-rar +LIBS='-lgpg-error' CXXFLAGS='-O3 -mtune=native -march=native' CFLAGS='-O3 -mtune=native -march=native' ./configure -C --enable-re2c-cgoto --prefix=/usr --with-config-file-scan-dir=/etc/php/7.3/fpm/conf.d --libdir=/usr/lib/php --libexecdir=/usr/lib/php --datadir=/usr/share/php/7.3 --program-suffix=7.3 --sysconfdir=/etc --localstatedir=/var --mandir=/usr/share/man --enable-fpm --enable-cli --disable-cgi --disable-phpdbg --with-fpm-systemd --with-fpm-user=www-data --with-fpm-group=www-data --with-layout=GNU --disable-dtrace --disable-short-tags --without-valgrind --disable-shared --disable-debug --disable-rpath --without-pear --with-openssl --enable-bcmath --with-bz2 --enable-calendar --with-curl --enable-dba --with-qdbm --with-lmdb --enable-exif --enable-ftp --with-gd=/usr --with-jpeg-dir=/usr --with-webp-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --with-gettext --with-gmp --with-mhash --with-imap --with-imap-ssl --with-kerberos --enable-intl --with-ldap --with-ldap-sasl --enable-mbstring --with-mysqli --with-pdo-mysql --enable-mysqlnd --with-mysql-sock=/var/run/mysqld/mysqld.sock --with-zlib --with-libedit --with-readline --enable-shmop --enable-soap --enable-sockets --with-sodium --with-password-argon2 --with-tidy --with-xsl --with-enchant --with-pspell --enable-zip --enable-apcu --enable-brotli --with-libbrotli --with-imagick --with-ssh2 --with-pcre-regex --with-pcre-jit --with-gnupg --enable-rar make -j $PROC_LIMIT install make distclean git reset --hard -git checkout PHP-7.2 -git pull -cat < -Date: Mon, 22 Oct 2018 06:54:31 +0000 -Subject: Use pkg-config for FreeType2 detection - ---- - ext/gd/config.m4 | 30 +++++++++++++++++++----------- - 1 file changed, 19 insertions(+), 11 deletions(-) - -diff --git a/ext/gd/config.m4 b/ext/gd/config.m4 -index 498d870..d28c6ae 100644 ---- a/ext/gd/config.m4 -+++ b/ext/gd/config.m4 -@@ -184,21 +184,29 @@ AC_DEFUN([PHP_GD_XPM],[ - AC_DEFUN([PHP_GD_FREETYPE2],[ - if test "\$PHP_FREETYPE_DIR" != "no"; then - -- for i in \$PHP_FREETYPE_DIR /usr/local /usr; do -- if test -f "\$i/bin/freetype-config"; then -- FREETYPE2_DIR=\$i -- FREETYPE2_CONFIG="\$i/bin/freetype-config" -- break -+ if test -z "\$PKG_CONFIG"; then -+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no) -+ fi -+ if test -x "\$PKG_CONFIG" && \$PKG_CONFIG --exists freetype2 ; then -+ FREETYPE2_CFLAGS=\`\$PKG_CONFIG --cflags freetype2\` -+ FREETYPE2_LIBS=\`\$PKG_CONFIG --libs freetype2\` -+ else -+ for i in \$PHP_FREETYPE_DIR /usr/local /usr; do -+ if test -f "\$i/bin/freetype-config"; then -+ FREETYPE2_DIR=\$i -+ FREETYPE2_CONFIG="\$i/bin/freetype-config" -+ break -+ fi -+ done -+ -+ if test -z "\$FREETYPE2_DIR"; then -+ AC_MSG_ERROR([freetype-config not found.]) - fi -- done - -- if test -z "\$FREETYPE2_DIR"; then -- AC_MSG_ERROR([freetype-config not found.]) -+ FREETYPE2_CFLAGS=\`\$FREETYPE2_CONFIG --cflags\` -+ FREETYPE2_LIBS=\`\$FREETYPE2_CONFIG --libs\` - fi - -- FREETYPE2_CFLAGS=\`\$FREETYPE2_CONFIG --cflags\` -- FREETYPE2_LIBS=\`\$FREETYPE2_CONFIG --libs\` -- - PHP_EVAL_INCLINE(\$FREETYPE2_CFLAGS) - PHP_EVAL_LIBLINE(\$FREETYPE2_LIBS, GD_SHARED_LIBADD) - AC_DEFINE(HAVE_LIBFREETYPE,1,[ ]) -EOF - -./buildconf -LIBS='-lgpg-error' CXXFLAGS='-O3 -mtune=native -march=native' CFLAGS='-O3 -mtune=native -march=native' ./configure -C --enable-re2c-cgoto --prefix=/usr --with-config-file-scan-dir=/etc/php/7.2/fpm/conf.d --libdir=/usr/lib/php --libexecdir=/usr/lib/php --datadir=/usr/share/php/7.2 --program-suffix=7.2 --sysconfdir=/etc --localstatedir=/var --mandir=/usr/share/man --enable-fpm --enable-cli --disable-cgi --disable-phpdbg --with-fpm-systemd --with-fpm-user=www-data --with-fpm-group=www-data --with-layout=GNU --disable-dtrace --disable-short-tags --without-valgrind --disable-shared --disable-debug --disable-rpath --without-pear --with-openssl --enable-bcmath --with-bz2 --enable-calendar --with-curl --enable-dba --with-qdbm --with-lmdb --enable-exif --enable-ftp --with-gd=/usr --with-jpeg-dir=/usr --with-webp-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --with-gettext --with-gmp --with-mhash --with-imap --with-imap-ssl --with-kerberos --enable-intl --with-ldap --with-ldap-sasl --enable-mbstring --with-mysqli --with-pdo-mysql --enable-mysqlnd --with-mysql-sock=/var/run/mysqld/mysqld.sock --with-zlib --with-libedit --with-readline --enable-shmop --enable-soap --enable-sockets --with-sodium --with-password-argon2 --with-tidy --with-xmlrpc --with-xsl --with-enchant --with-pspell --enable-zip --enable-apcu --enable-brotli --with-libbrotli --with-imagick --with-ssh2 --with-pcre-regex --with-pcre-jit --with-gnupg --enable-rar -make -j $PROC_LIMIT install -make distclean -git reset --hard -ln -fs /usr/bin/php7.4 /usr/bin/php +ln -fs /usr/bin/php8.0 /usr/bin/php cd .. ldconfig diff --git a/var/www/common.php b/var/www/common.php index 0e7eed1..8bdd7f2 100644 --- a/var/www/common.php +++ b/var/www/common.php @@ -25,8 +25,8 @@ const REQUIRE_APPROVAL=false; //require admin approval of new sites? true/false const ENABLE_SHELL_ACCESS=true; //allows users to login via ssh, when disabled only sftp is allowed - run setup.php to migrate existing accounts const ADMIN_PASSWORD='MY_PASSWORD'; //password for admin interface const SERVICE_INSTANCES=['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's']; //one character per instance - run multiple tor+php-fpm instances for load balancing, remove all but one instance if you expect less than 200 accounts. If tor starts using 100% cpu and failing circuits every few hours after a restart, add more instances. In my experience this happens around 250 hidden services per instance - run setup.php after change -const DISABLED_PHP_VERSIONS=[3 => '7.2']; //php versions still installed on the system but no longer offered for new accounts -const PHP_VERSIONS=[4 => '7.3', 5 => '7.4']; //currently active php versions +const DISABLED_PHP_VERSIONS=[]; //php versions still installed on the system but no longer offered for new accounts +const PHP_VERSIONS=[4 => '7.3', 5 => '7.4', 6 => '8.0']; //currently active php versions const DEFAULT_PHP_VERSION='7.4'; //default php version const PHP_CONFIG='zend_extension=opcache.so memory_limit = 256M @@ -55,6 +55,7 @@ opcache.save_comments = 1 opcache.optimization_level = 0x7fffffff opcache.validate_permission = 1 opcache.validate_root = 1 +opcache.jit_buffer_size = 64M session.use_strict_mode = 1 '; const NGINX_DEFAULT = 'server { @@ -76,7 +77,7 @@ server { include snippets/fastcgi-php.conf; fastcgi_param DOCUMENT_ROOT /html; fastcgi_param SCRIPT_FILENAME /html$fastcgi_script_name; - fastcgi_pass unix:/var/run/php/7.4-hosting; + fastcgi_pass unix:/var/run/php/8.0-hosting; } } location /squirrelmail { @@ -92,7 +93,7 @@ server { include snippets/fastcgi-php.conf; fastcgi_param DOCUMENT_ROOT /html; fastcgi_param SCRIPT_FILENAME /html$fastcgi_script_name; - fastcgi_pass unix:/run/php/7.4-phpmyadmin; + fastcgi_pass unix:/run/php/8.0-phpmyadmin; } } location /adminer { @@ -101,7 +102,7 @@ server { include snippets/fastcgi-php.conf; fastcgi_param DOCUMENT_ROOT /html/adminer; fastcgi_param SCRIPT_FILENAME /html/adminer$fastcgi_script_name; - fastcgi_pass unix:/run/php/7.4-adminer; + fastcgi_pass unix:/run/php/8.0-adminer; } } location /externals/jush/ {