Repeatable problem with setup.sh auto on Debian 10 (PHP8 and imagick again, but...)

websafe

Verified User
Joined
Jun 15, 2010
Messages
103
Location
Opole, PL
In short: on a fresh Debian 10
Code:
setup.sh auto
fails the first time on compiling imagick for PHP 8, but runs fine when executed the second time.

Steps to reproduce the problem

1.
Code:
mkdir -p /usr/local/directadmin/{custombuild,scripts}

2.
Code:
wget -O /usr/local/directadmin/scripts/setup.sh http://www.directadmin.com/setup.sh
chmod +x /usr/local/directadmin/scripts/setup.sh

3.
Code:
echo 1 > /root/.preinstall

4.
Code:
cat <<EOF > /usr/local/directadmin/custombuild/options.conf
#PHP Settings
php1_release=8.0
php1_mode=mod_php
php2_release=7.4
php2_mode=php-fpm
php3_release=7.3
php3_mode=php-fpm
php4_release=7.2
php4_mode=php-fpm
secure_php=yes
php_ini=no
php_timezone=Europe/Warsaw
php_ini_type=production
x_mail_header=yes

#MySQL Settings
mysql=5.7
mariadb=10.4
mysql_inst=mysql
mysql_backup=yes
mysql_backup_gzip=no
mysql_backup_dir=/usr/local/directadmin/custombuild/mysql_backups
mysql_force_compile=no

#WEB Server Settings
unit=no
webserver=apache
http_methods=ALL
litespeed_serialno=trial
modsecurity=yes
modsecurity_ruleset=owasp
apache_ver=2.4
apache_mpm=auto
mod_ruid2=no
userdir_access=no
harden_symlinks_patch=yes
use_hostname_for_alias=no
redirect_host=da.contoso.com
redirect_host_https=no

#WEB Applications Settings
phpmyadmin=yes
phpmyadmin_public=yes
phpmyadmin_ver=5
squirrelmail=no
roundcube=yes
webapps_inbox_prefix=no

#ClamAV-related Settings
clamav=yes
clamav_exim=yes
modsecurity_uploadscan=no
proftpd_uploadscan=no
pureftpd_uploadscan=no
suhosin_php_uploadscan=no

#Mail Settings
exim=yes
eximconf=yes
eximconf_release=4.5
blockcracking=no
easy_spam_fighter=no
spamd=spamassassin
sa_update=daily
dovecot=yes
dovecot_conf=yes
mail_compress=no
pigeonhole=yes

#FTP Settings
ftpd=pureftpd

#Statistics Settings
awstats=no
webalizer=yes

#PHP Extension Settings
#CustomBuild Settings
custombuild=2.0
custombuild_plugin=yes
autover=no
bold=yes
clean=yes
cleanapache=yes
clean_old_tarballs=yes
clean_old_webapps=yes
downloadserver=files-de.directadmin.com
unofficial_mirrors=no

#Cronjob Settings
cron=yes
cron_frequency=daily
[email protected]
notifications=yes
da_autoupdate=no
updates=no
webapps_updates=no

#CloudLinux Settings
cloudlinux=no
cloudlinux_beta=no
cagefs=no

#Advanced Settings
curl=no
ssl_configuration=intermediate

#PHP extensions can be found in php_extensions.conf
cat: cat: No such file or directory
#PHP Settings
php1_release=8.0
php1_mode=mod_php
php2_release=7.4
php2_mode=php-fpm
php3_release=7.3
php3_mode=php-fpm
php4_release=7.2
php4_mode=php-fpm
secure_php=yes
php_ini=no
php_timezone=Europe/Warsaw
php_ini_type=production
x_mail_header=yes

#MySQL Settings
mysql=5.7
mariadb=10.4
mysql_inst=mysql
mysql_backup=yes
mysql_backup_gzip=no
mysql_backup_dir=/usr/local/directadmin/custombuild/mysql_backups
mysql_force_compile=no

#WEB Server Settings
unit=no
webserver=apache
http_methods=ALL
litespeed_serialno=trial
modsecurity=yes
modsecurity_ruleset=owasp
apache_ver=2.4
apache_mpm=auto
mod_ruid2=no
userdir_access=no
harden_symlinks_patch=yes
use_hostname_for_alias=no
redirect_host=da.contoso.com
redirect_host_https=no

#WEB Applications Settings
phpmyadmin=yes
phpmyadmin_public=yes
phpmyadmin_ver=5
squirrelmail=no
roundcube=yes
webapps_inbox_prefix=no

#ClamAV-related Settings
clamav=yes
clamav_exim=yes
modsecurity_uploadscan=no
proftpd_uploadscan=no
pureftpd_uploadscan=no
suhosin_php_uploadscan=no

#Mail Settings
exim=yes
eximconf=yes
eximconf_release=4.5
blockcracking=no
easy_spam_fighter=no
spamd=spamassassin
sa_update=daily
dovecot=yes
dovecot_conf=yes
mail_compress=no
pigeonhole=yes

#FTP Settings
ftpd=pureftpd

#Statistics Settings
awstats=no
webalizer=yes

#PHP Extension Settings
#CustomBuild Settings
custombuild=2.0
custombuild_plugin=yes
autover=no
bold=yes
clean=yes
cleanapache=yes
clean_old_tarballs=yes
clean_old_webapps=yes
downloadserver=files-de.directadmin.com
unofficial_mirrors=no

#Cronjob Settings
cron=yes
cron_frequency=daily
[email protected]
notifications=yes
da_autoupdate=no
updates=no
webapps_updates=no

#CloudLinux Settings
cloudlinux=no
cloudlinux_beta=no
cagefs=no

#Advanced Settings
curl=no
ssl_configuration=intermediate

#PHP extensions can be found in php_extensions.conf
EOF

5.
Code:
cat <<EOF > /usr/local/directadmin/custombuild/php_extensions.conf
#PHP Extension Settings
gmp=yes
htscanner=yes
imagick=yes
imap=yes
ioncube=yes
ldap=yes
opcache=yes
phalcon=yes
suhosin=yes
snuffleupagus=yes
xmlrpc=yes
zend=yes
EOF

6.
Now run:
Code:
/usr/local/directadmin/scripts/setup.sh auto

7. The error
Code:
imagick 3.4.4-patched-php8 PHP extension has been installed successfully.
Downloading             imagick-3.4.4.tgz...
--2021-02-04 07:13:43--  https://files-de.directadmin.com/services/custombuild/imagick/imagick-3.4.4.tgz
Resolving files-de.directadmin.com (files-de.directadmin.com)... 46.4.143.169, 2a01:4f8:10a:6db::4
Connecting to files-de.directadmin.com (files-de.directadmin.com)|46.4.143.169|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 253434 (247K) [application/octet-stream]
Saving to: '/usr/local/directadmin/custombuild/imagick-3.4.4.tgz'

/usr/local/directadmin/custombuild/imagick-3.4.4.tgz       100%[========================================================================================================================================>] 247.49K  --.-KB/s    in 0.02s  

2021-02-04 07:13:43 (11.8 MB/s) - '/usr/local/directadmin/custombuild/imagick-3.4.4.tgz' saved [253434/253434]

Installing imagick-3.4.4 PHP extension for PHP 80...
Found /usr/local/directadmin/custombuild/imagick-3.4.4.tgz
Extracting /usr/local/directadmin/custombuild/imagick-3.4.4.tgz...
Configuring for:
PHP Api Version:         20200930
Zend Module Api No:      20200930
Zend Extension Api No:   420200930
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for a sed that does not truncate output... /usr/bin/sed
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for cc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking how to run the C preprocessor... cc -E
checking for icc... no
checking for suncc... no
checking for system library directory... lib
checking if compiler supports -R... no
checking if compiler supports -Wl,-rpath,... yes
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for PHP prefix... /usr/local/php80
checking for PHP includes... -I/usr/local/php80/include/php -I/usr/local/php80/include/php/main -I/usr/local/php80/include/php/TSRM -I/usr/local/php80/include/php/Zend -I/usr/local/php80/include/php/ext -I/usr/local/php80/include/php/ext/date/lib
checking for PHP extension directory... /usr/local/php80/lib/php/extensions/no-debug-non-zts-20200930
checking for PHP installed headers prefix... /usr/local/php80/include/php
checking if debug is enabled... no
checking if zts is enabled... no
checking for gawk... no
checking for nawk... nawk
checking if nawk is broken... no
checking whether to enable the imagick extension... yes, shared
checking for pkg-config... /usr/bin/pkg-config
checking ImageMagick MagickWand API configuration program... checking Testing /usr/local/bin/MagickWand-config... It exists
found in /usr/local/bin/MagickWand-config
checking if ImageMagick version is at least 6.2.4... found version 7.0.10 Q16 HDRI
checking for MagickWand.h or magick-wand.h header... /usr/local/include/ImageMagick-7/MagickWand/MagickWand.h
checking PHP version is at least 5.3.2... yes. found 8.0.1
libs
-L/usr/local/lib -lMagickWand-7.Q16HDRI -lMagickCore-7.Q16HDRI


checking for MagickGetVersion... yes
checking for a sed that does not truncate output... /usr/bin/sed
checking for ld used by cc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for /usr/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
checking how to recognize dependent libraries... pass_all
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking the maximum length of command line arguments... 1572864
checking command to parse /usr/bin/nm -B output from cc object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking if cc supports -fno-rtti -fno-exceptions... no
checking for cc option to produce PIC... -fPIC
checking if cc PIC flag -fPIC works... yes
checking if cc static flag -static works... yes
checking if cc supports -c -o file.o... yes
checking whether the cc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no

creating libtool
appending configuration tag "CXX" to libtool
configure: patching config.h.in
configure: creating ./config.status
config.status: creating config.h
Trying to make imagick-3.4.4 PHP extension...
/bin/sh /usr/local/directadmin/custombuild/imagick-3.4.4/libtool --mode=compile cc -I. -I/usr/local/directadmin/custombuild/imagick-3.4.4 -I/usr/local/directadmin/custombuild/imagick-3.4.4/include -I/usr/local/directadmin/custombuild/imagick-3.4.4/main -I/usr/local/directadmin/custombuild/imagick-3.4.4 -I/usr/local/php80/include/php -I/usr/local/php80/include/php/main -I/usr/local/php80/include/php/TSRM -I/usr/local/php80/include/php/Zend -I/usr/local/php80/include/php/ext -I/usr/local/php80/include/php/ext/date/lib -I/usr/local/include/ImageMagick-7  -DHAVE_CONFIG_H  -g -O2   -fopenmp -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -fopenmp -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/usr/local/include/ImageMagick-7 -c /usr/local/directadmin/custombuild/imagick-3.4.4/imagick_file.c -o imagick_file.lo
mkdir .libs
cc -I. -I/usr/local/directadmin/custombuild/imagick-3.4.4 -I/usr/local/directadmin/custombuild/imagick-3.4.4/include -I/usr/local/directadmin/custombuild/imagick-3.4.4/main -I/usr/local/directadmin/custombuild/imagick-3.4.4 -I/usr/local/php80/include/php -I/usr/local/php80/include/php/main -I/usr/local/php80/include/php/TSRM -I/usr/local/php80/include/php/Zend -I/usr/local/php80/include/php/ext -I/usr/local/php80/include/php/ext/date/lib -I/usr/local/include/ImageMagick-7 -DHAVE_CONFIG_H -g -O2 -fopenmp -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -fopenmp -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/usr/local/include/ImageMagick-7 -c /usr/local/directadmin/custombuild/imagick-3.4.4/imagick_file.c  -fPIC -DPIC -o .libs/imagick_file.o
In file included from /usr/local/directadmin/custombuild/imagick-3.4.4/imagick_file.c:22:
/usr/local/directadmin/custombuild/imagick-3.4.4/php_imagick_file.h:61:108: error: expected ';', ',' or ')' before 'TSRMLS_DC'
zend_bool php_imagick_file_init(struct php_imagick_file_t *file, const char *filename, size_t filename_len TSRMLS_DC);
                                                                                                            ^~~~~~~~~
/usr/local/directadmin/custombuild/imagick-3.4.4/php_imagick_file.h:65:54: error: expected ';', ',' or ')' before 'TSRMLS_DC'
int php_imagick_safe_mode_check(const char *filename TSRMLS_DC);
                                                      ^~~~~~~~~
In file included from /usr/local/directadmin/custombuild/imagick-3.4.4/imagick_file.c:22:
/usr/local/directadmin/custombuild/imagick-3.4.4/php_imagick_file.h:68:134: error: expected ';', ',' or ')' before 'TSRMLS_DC'
php_imagick_rw_result_t php_imagick_read_file(php_imagick_object *intern, struct php_imagick_file_t *file, ImagickOperationType type TSRMLS_DC);
                                                                                                                                      ^~~~~~~~~
/usr/local/directadmin/custombuild/imagick-3.4.4/php_imagick_file.h:71:153: error: expected ';', ',' or ')' before 'TSRMLS_DC'
php_imagick_rw_result_t php_imagick_write_file(php_imagick_object *intern, struct php_imagick_file_t *file, ImagickOperationType type, zend_bool adjoin TSRMLS_DC);
                                                                                                                                                         ^~~~~~~~~
/usr/local/directadmin/custombuild/imagick-3.4.4/php_imagick_file.h:74:112: error: expected ';', ',' or ')' before 'TSRMLS_DC'
zend_bool php_imagick_stream_handler(php_imagick_object *intern, php_stream *stream, ImagickOperationType type TSRMLS_DC);
                                                                                                                ^~~~~~~~~
/usr/local/directadmin/custombuild/imagick-3.4.4/imagick_file.c:81:51: error: expected ';', ',' or ')' before 'TSRMLS_DC'
zend_bool php_imagick_is_url(const char *filename TSRMLS_DC)
                                                   ^~~~~~~~~
/usr/local/directadmin/custombuild/imagick-3.4.4/imagick_file.c:91:108: error: expected ';', ',' or ')' before 'TSRMLS_DC'
zend_bool php_imagick_file_init(struct php_imagick_file_t *file, const char *filename, size_t filename_len TSRMLS_DC)
                                                                                                            ^~~~~~~~~
/usr/local/directadmin/custombuild/imagick-3.4.4/imagick_file.c:160:133: error: expected ';', ',' or ')' before 'TSRMLS_DC'
int php_imagick_read_image_using_imagemagick(php_imagick_object *intern, struct php_imagick_file_t *file, ImagickOperationType type TSRMLS_DC)
                                                                                                                                     ^~~~~~~~~
/usr/local/directadmin/custombuild/imagick-3.4.4/imagick_file.c:201:133: error: expected ';', ',' or ')' before 'TSRMLS_DC'
int php_imagick_read_image_using_php_streams(php_imagick_object *intern, struct php_imagick_file_t *file, ImagickOperationType type TSRMLS_DC)
                                                                                                                                     ^~~~~~~~~
/usr/local/directadmin/custombuild/imagick-3.4.4/imagick_file.c:255:54: error: expected ';', ',' or ')' before 'TSRMLS_DC'
int php_imagick_safe_mode_check(const char *filename TSRMLS_DC)
                                                      ^~~~~~~~~
/usr/local/directadmin/custombuild/imagick-3.4.4/imagick_file.c:269:134: error: expected ';', ',' or ')' before 'TSRMLS_DC'
php_imagick_rw_result_t php_imagick_read_file(php_imagick_object *intern, struct php_imagick_file_t *file, ImagickOperationType type TSRMLS_DC)
                                                                                                                                      ^~~~~~~~~
/usr/local/directadmin/custombuild/imagick-3.4.4/imagick_file.c:288:153: error: expected ';', ',' or ')' before 'TSRMLS_DC'
php_imagick_rw_result_t php_imagick_write_file(php_imagick_object *intern, struct php_imagick_file_t *file, ImagickOperationType type, zend_bool adjoin TSRMLS_DC)
                                                                                                                                                         ^~~~~~~~~
/usr/local/directadmin/custombuild/imagick-3.4.4/imagick_file.c:313:112: error: expected ';', ',' or ')' before 'TSRMLS_DC'
zend_bool php_imagick_stream_handler(php_imagick_object *intern, php_stream *stream, ImagickOperationType type TSRMLS_DC)
                                                                                                                ^~~~~~~~~
make: *** [Makefile:209: imagick_file.lo] Error 1


8. Now run
Code:
chmod +x /usr/local/directadmin/scripts/setup.sh
/usr/local/directadmin/scripts/setup.sh auto
again.

9. The result
Code:
## INSTALL_COMPLETE
## ACCOUNT_INFO


The following information has been set:

Admin username:   admin
Admin password:   ******************
Admin email:      [email protected]


Server IP: 1.2.3.4
Server Hostname: da.contoso.com

To login now, follow this link:

http://1.2.3.4:2222

and enter your Admin username and password when prompted.

You should now visit https://www.directadmin.com/newinstall.php to learn how to get started.

Thank you for using DirectAdmin.  Should you have any questions, don't hesitate to contact us at [email protected]

## REPORT_END

System Security Tips:
  http://help.directadmin.com/item.php?id=247

PHP has been secured.
Restarting php-fpm74.
Restarting php-fpm73.
Restarting php-fpm72.

Install Complete!
If you cannot connect to the login URL, then it is likely that a firewall is blocking port 2222. Please see:
  https://help.directadmin.com/item.php?id=75

Code:
# php -v
PHP 8.0.1 (cli) (built: Feb  4 2021 07:36:43) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.1, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.1, Copyright (c), by Zend Technologies

Code:
# php -m
[PHP Modules]
bcmath
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gettext
gmp
hash
iconv
imagick
imap
intl
json
ldap
libxml
mbstring
mysqli
mysqlnd
openssl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
Reflection
session
SimpleXML
snuffleupagus
soap
sockets
sodium
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zip
zlib

[Zend Modules]
Zend OPcache

Two different setup.sh files?
After the previous steps I have redownloaded setup.sh to another location

Code:
 wget -O /tmp/setup.sh http://www.directadmin.com/setup.sh

and compared with the one residing in /usr/local/directadmin/scripts/setup.sh. Please note, previously in step 2 I was downloading setup.sh into `/usr/local/directadmin/scripts/setup.sh` (wget -O /usr/local/directadmin/scripts/setup.sh...).

Diff:
# diff -u /tmp/setup.sh /usr/local/directadmin/scripts/setup.sh
--- /tmp/setup.sh       2021-01-26 20:31:16.000000000 +0000
+++ /usr/local/directadmin/scripts/setup.sh     2020-09-29 21:06:47.000000000 +0000
@@ -412,9 +412,6 @@
elif [ "`cat /etc/redhat-release 2>/dev/null| cut -d\  -f1,2`" = "CloudLinux release" ]; then
        OS=Enterprise
        OS_VER=`cat /etc/redhat-release 2>/dev/null| cut -d\  -f3`
-elif [ "`cat /etc/redhat-release 2>/dev/null| cut -d\  -f1,2`" = "AlmaLinux release" ]; then
-       OS=Enterprise
-       OS_VER=`cat /etc/redhat-release 2>/dev/null| cut -d\  -f3`
elif [ "`cat /etc/redhat-release 2>/dev/null| cut -d\  -f1,2`" = "Scientific Linux" ]; then
        OS=Enterprise
        OS_VER=`cat /etc/redhat-release 2>/dev/null| cut -d\  -f4`
@@ -612,9 +609,9 @@
                echo "* Installing pre-install packages ....";
                if [ "$OS" = "FreeBSD" ]; then
                        if [ "${OS_MAJ_VER}" -ge 12 ]; then
-                               pkg install -y gcc gmake perl5 wget bison flex cyrus-sasl cmake python autoconf libtool libarchive iconv bind911 mailx webalizer gettext-runtime udns sudo psmisc openssl krb5 pkgconf
+                               pkg install -y gcc gmake perl5 wget bison flex cyrus-sasl cmake python autoconf libtool libarchive iconv bind911 mailx webalizer gettext-runtime udns sudo psmisc tar openssl krb5
                        elif [ "${OS_MAJ_VER}" -ge 11 ]; then
-                               pkg install -y gcc gmake perl5 wget bison flex cyrus-sasl cmake python autoconf libtool libarchive iconv bind911 mailx webalizer gettext-runtime psmisc pkgconf
+                               pkg install -y gcc gmake perl5 wget bison flex cyrus-sasl cmake python autoconf libtool libarchive iconv bind911 mailx webalizer gettext-runtime psmisc tar
                        elif [ "${OS_MAJ_VER}" -ge 10 ]; then
                                pkg install -y gcc gmake perl5 wget bison flex cyrus-sasl cmake python autoconf libtool libarchive iconv bind99 mailx psmisc
                        else
@@ -626,18 +623,18 @@
                                apt-get -y install gcc g++ make flex bison openssl libssl-dev perl perl-base perl-modules libperl-dev libperl4-corelibs-perl libwww-perl libaio1 libaio-dev \
                                        zlib1g zlib1g-dev libcap-dev cron bzip2 zip automake autoconf libtool cmake pkg-config python libdb-dev libsasl2-dev \
                                        libncurses5 libncurses5-dev libsystemd-dev bind9 dnsutils quota patch logrotate rsyslog libc6-dev libexpat1-dev \
-                                       libcrypt-openssl-rsa-perl libnuma-dev libnuma1 ipset libcurl4-openssl-dev
+                                       libcrypt-openssl-rsa-perl libnuma-dev libnuma1
                        elif [ "${OS_MAJ_VER}" -ge 9 ]; then
                                apt-get -y update
-                               apt-get -y install gcc g++ make flex bison openssl libssl-dev perl perl-base perl-modules libperl-dev libperl4-corelibs-perl libaio1 libaio-dev zlib1g zlib1g-dev libcap-dev cron bzip2 zip automake autoconf libtool cmake pkg-config python libdb-dev libsasl2-dev libncurses5-dev libsystemd-dev bind9 dnsutils quota patch libjemalloc-dev logrotate rsyslog libc6-dev libexpat1-dev libcrypt-openssl-rsa-perl libnuma-dev libnuma1 ipset libcurl4-openssl-dev
+                               apt-get -y install gcc g++ make flex bison openssl libssl-dev perl perl-base perl-modules libperl-dev libperl4-corelibs-perl libaio1 libaio-dev zlib1g zlib1g-dev libcap-dev cron bzip2 zip automake autoconf libtool cmake pkg-config python libdb-dev libsasl2-dev libncurses5-dev libsystemd-dev bind9 dnsutils quota patch libjemalloc-dev logrotate rsyslog libc6-dev libexpat1-dev libcrypt-openssl-rsa-perl libnuma-dev libnuma1
                        elif [ "${OS_MAJ_VER}" -ge 8 ]; then
                                apt-get -y install gcc g++ make flex bison openssl libssl-dev perl perl-base perl-modules libperl-dev libaio1 libaio-dev \
                                        zlib1g zlib1g-dev libcap-dev cron bzip2 automake autoconf libtool cmake pkg-config python libdb-dev libsasl2-dev \
-                                       libncurses5-dev libsystemd-dev bind9 dnsutils quota libsystemd-daemon0 patch libjemalloc-dev logrotate rsyslog libc6-dev systemd systemd-sysv ipset libcurl4-openssl-dev
+                                       libncurses5-dev libsystemd-dev bind9 dnsutils quota libsystemd-daemon0 patch libjemalloc-dev logrotate rsyslog libc6-dev systemd systemd-sysv
                        elif [ "${OS_MAJ_VER}" -eq 7 ]; then
-                               apt-get -y install gcc g++ make flex bison openssl libssl-dev perl perl-base perl-modules libperl-dev libaio1 libaio-dev zlib1g zlib1g-dev libcap-dev cron bzip2 automake autoconf libtool cmake pkg-config python libdb-dev libsasl2-dev libncurses5-dev patch libjemalloc-dev ipset
+                               apt-get -y install gcc g++ make flex bison openssl libssl-dev perl perl-base perl-modules libperl-dev libaio1 libaio-dev zlib1g zlib1g-dev libcap-dev cron bzip2 automake autoconf libtool cmake pkg-config python libdb-dev libsasl2-dev libncurses5-dev patch libjemalloc-dev
                        else
-                               apt-get -y install gcc g++ make flex bison openssl libssl-dev perl perl-base perl-modules libperl-dev libaio1 libaio-dev zlib1g zlib1g-dev libcap-dev cron bzip2 automake autoconf libtool cmake pkg-config python libreadline-dev libdb4.8-dev libsasl2-dev patch ipset libcurl4-openssl-dev
+                               apt-get -y install gcc g++ make flex bison openssl libssl-dev perl perl-base perl-modules libperl-dev libaio1 libaio-dev zlib1g zlib1g-dev libcap-dev cron bzip2 automake autoconf libtool cmake pkg-config python libreadline-dev libdb4.8-dev libsasl2-dev patch
                        fi
                else
                        if [ "${OS_MAJ_VER}" -ge 8 ]; then
@@ -645,16 +642,16 @@
                                        libcom_err-devel libcurl-devel gd zlib-devel zip unzip libcap-devel cronie bzip2 cyrus-sasl-devel perl-ExtUtils-Embed \
                                        autoconf automake libtool which patch mailx bzip2-devel lsof glibc-headers kernel-devel expat-devel \
                                        psmisc net-tools systemd-devel libdb-devel perl-DBI perl-libwww-perl xfsprogs rsyslog logrotate crontabs file \
-                                       kernel-headers hostname ipset
+                                       kernel-headers hostname
                        elif [ "${OS_MAJ_VER}" -ge 7 ]; then
                                yum -y install iptables wget tar gcc gcc-c++ flex bison make bind bind-libs bind-utils openssl openssl-devel perl quota libaio \
                                        libcom_err-devel libcurl-devel gd zlib-devel zip unzip libcap-devel cronie bzip2 cyrus-sasl-devel perl-ExtUtils-Embed \
                                        autoconf automake libtool which patch mailx bzip2-devel lsof glibc-headers kernel-devel expat-devel \
-                                       psmisc net-tools systemd-devel libdb-devel perl-DBI perl-Perl4-CoreLibs perl-libwww-perl xfsprogs rsyslog logrotate crontabs file kernel-headers ipset
+                                       psmisc net-tools systemd-devel libdb-devel perl-DBI perl-Perl4-CoreLibs perl-libwww-perl xfsprogs rsyslog logrotate crontabs file kernel-headers
                        else
                                yum -y install wget tar gcc gcc-c++ flex bison make bind bind-libs bind-utils openssl openssl-devel perl quota libaio \
                                        libcom_err-devel libcurl-devel gd zlib-devel zip unzip libcap-devel cronie bzip2 cyrus-sasl-devel perl-ExtUtils-Embed \
-                                       autoconf automake libtool which patch mailx bzip2-devel lsof glibc-headers kernel-devel expat-devel db4-devel ipset
+                                       autoconf automake libtool which patch mailx bzip2-devel lsof glibc-headers kernel-devel expat-devel db4-devel
                        fi
                fi
        else
@@ -959,35 +956,121 @@
fi

if [ $CMD_LINE -eq 0 ]; then
-       #grab the build file.
-       mkdir -p $CBPATH

-       BFILE=$SERVER/custombuild/${CB_VER}/custombuild/build
-       if [ $OS = "FreeBSD" ]; then
-               fetch -o $BUILD $BFILE
+       PHP_V_DEF=7.2
+       PHP_M_DEF=mod_php
+       PHP_RUID_DEF=yes
+
+       if [ "${SERVICES}" = "services_es70_64.tar.gz" ] || [ "${OS}" = "FreeBSD" ]; then
+               onetwo=1
+       elif [ "${SERVICES}" = "services_debian90_64.tar.gz" ] || [ "${SERVICES}" = "services_debian100_64.tar.gz" ] || [ "${SERVICES}" = "services_debian110_64.tar.gz" ]; then
+               onetwo=1
+               PHP_V_DEF=7.3
+               PHP_M_DEF=php-fpm
+               PHP_RUID_DEF=no
        else
-               $WGET_PATH ${WGET_OPTION} -O $BUILD $BFILE
-       fi
-       chmod 755 $BUILD
+               echo "";
+               echo "Select your desired apache/php setup. Option 1 is recommended.";
+               echo "You can make changes from the default settings in the next step.";
+               echo "";
+               echo "1: Apache 2.4, mod_ruid2, php ${PHP_V_DEF}. Can be set to use mod_php, php-FPM or fastcgi.";
+           echo "2: Apache 2.4, mod_ruid2, php 5.6 (php 5.6 is end-of-life)";
+           echo "3: Apache 2.4, mod_ruid2, php 5.6 (php 5.6 is end-of-life), MariaDB 5.5";
+               echo "4: Apache 2.4, php-fpm, php ${PHP_V_DEF}.";
+               echo "";
+               echo "      Post any issues with custombuild to the forum: http://forum.directadmin.com/forumdisplay.php?f=61";
+               echo "";
+
+               echo -n "Enter your choice (1, 2, 3 or 4): ";
+
+               read onetwo;
+                        until [ "$onetwo" = "1" ] || [ "$onetwo" = "2" ] || [ "$onetwo" = "3" ] || [ "$onetwo" = "4" ]; do
+                                echo -n "Please enter 1, 2, 3 or 4: "
+                                read onetwo
+                        done

-       if [ -e $BUILD ]; then
-               $BUILD create_options
-       else
-               echo "unable to download the build file.  Using defaults instead.";
        fi

-       echo "";
-       echo -n "Would you like the default settings of apache 2.4 and php `grep -m1 ^php1_release= ${CB_OPTIONS} | cut -d= -f2` `grep -m1 ^php1_mode= ${CB_OPTIONS} | cut -d= -f2`? (y/n): ";
-       read yesno;
-       if [ "$yesno" = "n" ]; then
-               echo "You have chosen to customize the custombuild options.  Please wait while options configurator is downloaded... ";
-               echo "";
-       else
-               echo "Using the default settings for custombuild.";
-               echo -n "Would you like to search for the fastest download mirror? (y/n): ";
-               read yesno;
-               if [ "$yesno" = "y" ]; then
-                       ${BUILD} set_fastest;
+        if [ "$onetwo" = "1" ] || [ "$onetwo" = "2" ] || [ "$onetwo" = "3" ] || [ "$onetwo" = "4" ]; then
+               CB_VER=2.0
+               PHP_V=${PHP_V_DEF}
+               PHP_T=cli
+               AP_VER=2.4
+               RUID="";
+               MOD_RUID2=${PHP_RUID_DEF}
+               MYSQL_INST=no
+               MARIADB_V=10.4
+               PHP1_MODE=${PHP_M_DEF}
+                       CB_VER=2.0
+                       AP_VER=2.4
+                       RUID=" with mod_ruid2";
+                       if [ "$onetwo" = "4" ]; then
+                               PHP_V=${PHP_V_DEF}
+                               MOD_RUID2=no
+                               RUID=""
+                               PHP1_MODE=php-fpm
+                       else
+                               if [ "$onetwo" = "1" ]; then
+                                       PHP_V=${PHP_V_DEF}
+                               fi
+                               if [ "$onetwo" = "2" ] || [ "$onetwo" = "3" ]; then
+                                       PHP_V=5.6
+                                       if [ "$onetwo" = "3" ]; then
+                                               MARIADB_V=5.5
+                                               MYSQL_INST=mariadb
+                                       fi
+                               fi
+                       fi
+
+                       if [ "${OS}" = "FreeBSD" ]; then
+                               RUID="";
+                               PHP_T=php-fpm
+                               MOD_RUID2=no
+                               PHP1_MODE=php-fpm
+                       fi
+
+
+               #grab the build file.
+
+               mkdir -p $CBPATH
+
+               BFILE=$SERVER/custombuild/${CB_VER}/custombuild/build
+               if [ $OS = "FreeBSD" ]; then
+                       fetch -o $BUILD $BFILE
+               else
+                       $WGET_PATH ${WGET_OPTION} -O $BUILD $BFILE
+               fi
+               chmod 755 $BUILD
+
+                echo "";
+                echo -n "Would you like the default settings of apache ${AP_VER}${RUID} and php ${PHP_V} ${PHP_T}? (y/n): ";
+                read yesno;
+                if [ "$yesno" = "n" ]; then
+                        echo "You have chosen to customize the custombuild options.  Please wait while options configurator is downloaded... ";
+                        echo "";
+
+                        if [ -e $BUILD ]; then
+                                $BUILD create_options
+                        else
+                                echo "unable to download the build file.  Using defaults instead.";
+                        fi
+                else
+                        echo "Using the default settings for custombuild.";
+                       if [ "$onetwo" != "3" ]; then
+                               $BUILD set php1_release ${PHP_V}
+                               $BUILD set php1_mode ${PHP1_MODE}
+                               $BUILD set mod_ruid2 ${MOD_RUID2}
+                               if [ "$onetwo" = "3" ]; then
+                                       $BUILD set mysql_inst ${MYSQL_INST}
+                                       $BUILD set mariadb ${MARIADB_V}
+                               fi
+                       fi
+                fi
+
+                echo -n "Would you like to search for the fastest download mirror? (y/n): ";
+                read yesno;
+                if [ "$yesno" = "y" ]; then
+                       ${BUILD} set_fastest;
                fi
                if [ -s "${CB_OPTIONS}" ]; then
                        DL=`grep -m1 ^downloadserver= ${CB_OPTIONS} | cut -d= -f2`
@@ -996,9 +1079,13 @@
                                FTP_HOST=${DL}
                        fi
                fi
-       fi
+        else
+               echo "invalid number entered: '$onetwo'";
+               sleep 5;
+               exit 1;
+        fi

-       sleep 2
+        sleep 2
fi

if [ "${AUTO}" = "1" ]; then
@@ -1008,11 +1095,7 @@
                chmod 755 $BUILD
        fi

-       if [ -e /root/.using_fastest ]; then
-               echo "/root/.using_fastest is present. Not calling './build set_fastest'"
-       else
-               ${BUILD} set_fastest
-       fi
+       ${BUILD} set_fastest

        if [ -s "${CB_OPTIONS}" ]; then
                DL=`grep -m1 ^downloadserver= ${CB_OPTIONS} | cut -d= -f2`
@@ -1068,7 +1151,7 @@
}

if [ $OS = "FreeBSD" ]; then
-        PERL=`pkg info | grep -ce '^perl'`;
+        PERL=`pkg_info | grep -ce '^perl'`;
else
         PERL=`checkFile /usr/bin/perl`;
fi
@@ -1129,94 +1212,96 @@

# Download the file that has the paths to all the relevant files.
FILES=$SCRIPTS_PATH/files.sh
-FILES_PATH=$OS_VER
-if [ "$OS" = "FreeBSD" ]; then
-       case "${OS_MAJ_VER}" in
-               8) OS_VER=8.0
-                       ;;
-               9) OS_VER=9.0
-                       ;;
-               10) OS_VER=10.0
-                       ;;
-               11) OS_VER=11.0
-                       ;;
-               12) OS_VER=12.0
-                       ;;
-       esac
+#if [ "$OS" != "FreeBSD" ]; then
+       FILES_PATH=$OS_VER
+       if [ "$OS" = "FreeBSD" ]; then
+               case "${OS_MAJ_VER}" in
+                       8) OS_VER=8.0
+                               ;;
+                       9) OS_VER=9.0
+                               ;;
+                       10) OS_VER=10.0
+                               ;;
+                       11) OS_VER=11.0
+                               ;;
+                       12) OS_VER=12.0
+                               ;;
+               esac

-       if [ $B64 -eq 1 ]; then
-               FILES_PATH=freebsd${OS_VER}-64bit
-       else
-               FILES_PATH=freebsd${OS_VER}
-       fi
-elif [ "$OS" = "debian" ]; then
+               if [ $B64 -eq 1 ]; then
+                       FILES_PATH=freebsd${OS_VER}-64bit
+               else
+                       FILES_PATH=freebsd${OS_VER}
+               fi
+       elif [ "$OS" = "debian" ]; then

-       OS_VER=`echo $OS_VER | cut -d. -f1,2`
+               OS_VER=`echo $OS_VER | cut -d. -f1,2`

-       case "${OS_MAJ_VER}" in
-               5) OS_VER=5.0
-                       ;;
-               6) OS_VER=6.0
-                       ;;
-               7) OS_VER=7.0
-                       ;;
-               8) OS_VER=8.0
-                       ;;
-               9) OS_VER=9.0
-                       ;;
-               10) OS_VER=10.0
-                       ;;
-               11) OS_VER=11.0
-                       ;;
-       esac
+               case "${OS_MAJ_VER}" in
+                       5) OS_VER=5.0
+                               ;;
+                       6) OS_VER=6.0
+                               ;;
+                       7) OS_VER=7.0
+                               ;;
+                       8) OS_VER=8.0
+                               ;;
+                       9) OS_VER=9.0
+                               ;;
+                       10) OS_VER=10.0
+                               ;;
+                       11) OS_VER=11.0
+                               ;;
+               esac

-       if [ $B64 -eq 1 ]; then
-               FILES_PATH=debian_${OS_VER}_64
+               if [ $B64 -eq 1 ]; then
+                       FILES_PATH=debian_${OS_VER}_64
+               else
+                       FILES_PATH=debian_${OS_VER}
+               fi
+       elif [ $B64 -eq 1 ]; then
+               case "$OS_MAJ_VER" in
+                       5) FILES_PATH=es_5.3_64
+                               ;;
+                       6) FILES_PATH=es_6.0_64
+                               ;;
+                       7) FILES_PATH=es_7.0_64
+                               ;;
+                       8) FILES_PATH=es_8.0_64
+                               ;;
+               esac
+       elif [ "$OS" = "Enterprise" ]; then
+               case "$OS_MAJ_VER" in
+                       5) FILES_PATH=es_5.3
+                               ;;
+                       6) FILES_PATH=es_6.0
+                               ;;
+                       7) FILES_PATH=es_7.0
+                               ;;
+               esac
        else
-               FILES_PATH=debian_${OS_VER}
-       fi
-elif [ $B64 -eq 1 ]; then
-       case "$OS_MAJ_VER" in
-               5) FILES_PATH=es_5.3_64
-                       ;;
-               6) FILES_PATH=es_6.0_64
-                       ;;
-               7) FILES_PATH=es_7.0_64
-                       ;;
-               8) FILES_PATH=es_8.0_64
-                       ;;
-       esac
-elif [ "$OS" = "Enterprise" ]; then
-       case "$OS_MAJ_VER" in
-               5) FILES_PATH=es_5.3
-                       ;;
-               6) FILES_PATH=es_6.0
-                       ;;
-               7) FILES_PATH=es_7.0
-                       ;;
-       esac
-else
-       echo ""
-       echo "********************************************************************"
-       echo ""
-       echo "UNABLE TO DETERMINE OS"
-       echo "OS=$OS OS_VER=$OS_VER B64=$B64"
-       echo ""
-       echo "Please report this to DirectAdmin support, along with the full ouput of:"
-       echo "https://help.directadmin.com/item.php?id=318"
-       echo ""
-       echo "********************************************************************"
-       echo ""
-fi
-
-wget -O $FILES $SERVER/$FILES_PATH/files.sh
-if [ ! -s $FILES ]; then
-       echo "*** Unable to download files.sh";
-       echo "tried: $SERVER/$FILES_PATH/files.sh";
-       exit 3;
-fi
-chmod 755 $FILES;
-. $FILES
+               echo ""
+               echo "********************************************************************"
+               echo ""
+               echo "UNABLE TO DETERMINE OS"
+               echo "OS=$OS OS_VER=$OS_VER B64=$B64"
+               echo ""
+               echo "Please report this to DirectAdmin support, along with the full ouput of:"
+               echo "https://help.directadmin.com/item.php?id=318"
+               echo ""
+               echo "********************************************************************"
+               echo ""
+       fi
+
+       wget -O $FILES $SERVER/$FILES_PATH/files.sh
+       if [ ! -s $FILES ]; then
+               echo "*** Unable to download files.sh";
+               echo "tried: $SERVER/$FILES_PATH/files.sh";
+               exit 3;
+       fi
+       chmod 755 $FILES;
+       . $FILES
+#fi



@@ -1800,7 +1885,7 @@
fi

if [ "$LAN_AUTO" = "1" ] && [ -x /usr/local/directadmin/scripts/addip ]; then
-       /usr/local/directadmin/scripts/addip ${IP} 255.255.255.0 ${ETH_DEV}
+       /usr/local/directadmin/scripts/addip ${IP} 255.255.255.255 ${ETH_DEV}
fi

###############################################################################
@@ -1879,16 +1964,6 @@
                #run it
                chmod 755 ${CSF_SH}
                ${CSF_SH} auto >> ${CSF_LOG} 2>&1
-               USE_IPSET=true
-               if [ -x /usr/bin/systemd-detect-virt ]; then
-                       if systemd-detect-virt | grep -m1 -q -E 'lxc|openvz'; then
-                           USE_IPSET=false
-                       fi
-               fi
-               if ${USE_IPSET} && grep -m1 -q '^LF_IPSET = "0"' /etc/csf/csf.conf; then
-                       perl -pi -e 's|^LF_IPSET = "0"|LF_IPSET = "1"|g' /etc/csf/csf.conf
-                       csf -r >> /dev/null 2>&1
-               fi
        fi

         ${BUILD} secure_php
 
imagick for PHP 8
Imagick doesn't work on PHP 8


Also the setup.sh is updated almost daily. so the setup.sh You ran yesterday was improved today and so on.
 
@bdacus01 Hmm, you're saying imagick doesn't work on PHP, but please check step 8 in my previous post, php -v shows 8.0.1 and php -m includes imagick in the output. And to be sure, check the result of php -i | grep -i imagick:

Code:
# php -i | grep -i imagick
imagick
imagick module => enabled
imagick module version => 3.4.4
imagick classes => Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator, ImagickKernel
Imagick compiled with ImageMagick version => ImageMagick 7.0.10-43 Q16 x86_64 2021-02-04 https://imagemagick.org
Imagick using ImageMagick library version => ImageMagick 7.0.10-43 Q16 x86_64 2021-02-04 https://imagemagick.org
imagick.locale_fix => 0 => 0
imagick.progress_monitor => 0 => 0
imagick.set_single_thread => 0 => 0
imagick.shutdown_sleep_count => 10 => 10
imagick.skip_version_check => 0 => 0

I have now (at 17:50) reinstalled my VPS as OVH with clean Debian 10 again.
I've downloaded https://directadmin.com/setup.sh into /tmp/setup.sh and executed /tmp/setup.sh auto.

Then the same thing happened (see 7. The Error in my previous post).

And now check this:


Code:
# ls --full-time /tmp/setup.sh /usr/local/directadmin/scripts/setup.sh
-rwxr-xr-x 1 root root 53502 2021-01-26 20:31:16.000000000 +0000 /tmp/setup.sh
-rw-r--r-- 1 root root 55669 2020-09-29 21:06:47.000000000 +0000 /usr/local/directadmin/scripts/setup.sh

Check the dates...

  • /tmp/setup.sh is the file downloaded from https://directadmin.com/setup.sh
  • /usr/local/directadmin/scripts/setup.sh appears there somehow during /tmp/setup.sh auto

Both differ.

Now, after the error in step 7 of my previous post, when I run the magically appearing /usr/local/directadmin/scripts/setup.sh auto (instead of /tmp/setup.sh auto), the setup works as expected without errors.

And the diff between these files is the same as shown in my previous post.


I've repeated the process described here about 8 times since yesterday, every time the same result. That's why I decided to post on the forum.
 
Is the some reason you aren't using the standard commands

Code:
bash <(curl -Ss https://www.directadmin.com/setup.sh) auto
I've downloaded https://directadmin.com/setup.sh into /tmp/setup.sh and executed /tmp/setup.sh auto.
What makes you what to do this?

use wget if you like.
Code:
wget -O setup.sh http://www.directadmin.com/setup.sh
chmod 755 setup.sh
./setup.sh auto

Maybe I miss what the goal is here? Are you trying to determine if the setup.sh is some how different? OR that you can or cannot install some thing.
 
I'm using the standard commands.

bash <(curl -Ss https://www.directadmin.com/setup.sh) auto

is the same as:

Code:
wget -O setup.sh http://www.directadmin.com/setup.sh
chmod 755 setup.sh
./setup.sh auto

but im using absolute paths so everybody reading my post knows which setup.sh is where :)
In the example above you can't be sure if I run this while being in /tmp or /usr/local/directadmin/scripts, that's why I used absolute paths.

because there will be another setup.sh in /usr/local/directadmin/scripts/setup.sh after you run:

Code:
bash <(curl -Ss https://www.directadmin.com/setup.sh) auto

The point is http://www.directadmin.com/setup.sh is not the same file, as the setup.sh which is placed in /usr/local/directadmin/scripts/setup.sh during the initial installation (by using the file from http://www.directadmin.com/setup.sh).

The other - most important point is: running setup.sh auto the first time breaks while compiling imagick, running it the second time fixes everything.
 
I'm using the standard commands.

bash <(curl -Ss https://www.directadmin.com/setup.sh) auto

is the same as:

Code:
wget -O setup.sh http://www.directadmin.com/setup.sh
chmod 755 setup.sh
./setup.sh auto

but im using absolute paths so everybody reading my post knows which setup.sh is where :)
In the example above you can't be sure if I run this while being in /tmp or /usr/local/directadmin/scripts, that's why I used absolute paths.

because there will be another setup.sh in /usr/local/directadmin/scripts/setup.sh after you run:

Code:
bash <(curl -Ss https://www.directadmin.com/setup.sh) auto

The point is http://www.directadmin.com/setup.sh is not the same file, as the setup.sh which is placed in /usr/local/directadmin/scripts/setup.sh during the initial installation (by using the file from http://www.directadmin.com/setup.sh).

The other - most important point is: running setup.sh auto the first time breaks while compiling imagick, running it the second time fixes everything.
@smtalk Can you shed some light on this? are there 2 setup.sh scripts?
 
setup.sh in /usr/local/directadmin/scripts/setup.sh
This one comes from DirectAdmin tarball. Latest script is always hosted on directadmin.com (and pre-release of DA), it should be the one used for new installs.

Regarding imagick and PHP8 - it should be compatible, as we had it patched a month ago or so. However, I see that the patch failed the first time, and succeeded the second one. Do you have an easy way to reproduce it after installation? If not - I'll try applying some "blind" patch for it, as I have an idea why it might be happening.
 
Bug is still there in current setup.sh auto I'm afraid, these are my settings:

Code:
export php1_release=8.0
export php_imap=yes
export php_gmp=yes
export php_imagick=yes

setup.sh exits with:

Code:
/usr/local/directadmin/custombuild/imagick-3.4.4/imagick_file.c:313:112: error: expected ‘;’, ‘,’ or ‘)’ before ‘TSRMLS_DC’
zend_bool php_imagick_stream_handler(php_imagick_object *intern, php_stream *stream, ImagickOperationType type TSRMLS_DC)
                                                                                                                ^~~~~~~~~
make: *** [Makefile:209: imagick_file.lo] Error 1
Changed secure_php option from no to yes
PHP has been secured.
Restarting php-fpm80.

Running setup.sh for a second time results in almost the same error:

Code:
/usr/local/directadmin/custombuild/imagick-3.4.4/imagick_file.c:313:112: error: expected ‘;’, ‘,’ or ‘)’ before ‘TSRMLS_DC’
 zend_bool php_imagick_stream_handler(php_imagick_object *intern, php_stream *stream, ImagickOperationType type TSRMLS_DC)
                                                                                                                ^~~~~~~~~
make: *** [Makefile:209: imagick_file.lo] Error 1
PHP has been secured.
Restarting php-fpm80.
Job for php-fpm80.service failed because the control process exited with error code.
See "systemctl status php-fpm80.service" and "journalctl -xe" for details.
 
Last edited:
Bug is still there in current setup.sh auto I'm afraid, these are my settings:

Code:
export php1_release=8.0
export php_imap=yes
export php_gmp=yes
export php_imagick=yes

setup.sh exits with:

Code:
/usr/local/directadmin/custombuild/imagick-3.4.4/imagick_file.c:313:112: error: expected ‘;’, ‘,’ or ‘)’ before ‘TSRMLS_DC’
zend_bool php_imagick_stream_handler(php_imagick_object *intern, php_stream *stream, ImagickOperationType type TSRMLS_DC)
                                                                                                                ^~~~~~~~~
make: *** [Makefile:209: imagick_file.lo] Error 1
Changed secure_php option from no to yes
PHP has been secured.
Restarting php-fpm80.

Running setup.sh for a second time results in almost the same error:

Code:
/usr/local/directadmin/custombuild/imagick-3.4.4/imagick_file.c:313:112: error: expected ‘;’, ‘,’ or ‘)’ before ‘TSRMLS_DC’
 zend_bool php_imagick_stream_handler(php_imagick_object *intern, php_stream *stream, ImagickOperationType type TSRMLS_DC)
                                                                                                                ^~~~~~~~~
make: *** [Makefile:209: imagick_file.lo] Error 1
PHP has been secured.
Restarting php-fpm80.
Job for php-fpm80.service failed because the control process exited with error code.
See "systemctl status php-fpm80.service" and "journalctl -xe" for details.


@tristan

The second time you should not try to run the setup.sh you have downloaded by yourself, but try to run /usr/local/directadmin/scripts/setup.sh which was downloaded by the setup.sh you have downloaded by yourself.

These are two different setup.sh's.
 
Back
Top