Solved CloudLinux OS 9.6 - DirectAdmin installed but CustomBuild fails

websafe

Verified User
Joined
Jun 15, 2010
Messages
105
Location
Opole, PL
Hello,

I have a fresh installation of CloudLinux 9.6, not a converted one, but simply installed from the CloudLinux ISO.

After that I've installed DirectAdmin using:

Code:
bash <(curl -fsSL https://download.directadmin.com/setup.sh) LICENSECODE

and DirectAdmin is kind of working but the CustomBuild part fails.

Code:
# cat /var/log/directadmin/custombuild.1751106590.6737.YWxsAA.log
Installing sysbk...
######################################################################## 100.0%
Error: Unable to find a match: epel-release
Error: No matching repo to modify: epel.

Installed:
  bind-32:9.16.23-29.el9_6.x86_64                                               
  bind-dnssec-doc-32:9.16.23-29.el9_6.noarch                                   
  bind-dnssec-utils-32:9.16.23-29.el9_6.x86_64                                 
  python3-bind-32:9.16.23-29.el9_6.noarch                                       

Added 'allow-transfer { none; };' to /etc/named.conf
Created symlink /etc/systemd/system/multi-user.target.wants/named.service -> /usr/lib/systemd/system/named.service.

Installed:
  perl-Clone-0.45-6.el9.x86_64           perl-Data-Dump-1.23-18.el9.noarch     
  perl-Digest-HMAC-1.03-29.el9.noarch    perl-File-Listing-6.14-4.el9.noarch   
  perl-HTML-Parser-3.76-3.el9.x86_64     perl-HTML-Tagset-3.20-47.el9.noarch   
  perl-HTTP-Cookies-6.10-4.el9.noarch    perl-HTTP-Date-6.05-7.el9.noarch     
  perl-HTTP-Message-6.29-3.el9.noarch    perl-HTTP-Negotiate-6.01-30.el9.noarch
  perl-IO-HTML-1.004-4.el9.noarch        perl-LWP-MediaTypes-6.04-9.el9.noarch
  perl-NTLM-1.09-30.el9.noarch           perl-Net-HTTP-6.21-3.el9.noarch       
  perl-TimeDate-1:2.33-6.el9.noarch      perl-Try-Tiny-0.30-13.el9.noarch     
  perl-WWW-RobotRules-6.02-30.el9.noarch perl-libwww-perl-6.53-4.el9.noarch   

Installing CSF...
######################################################################## 100.0%
Configuration modified to use iptables-nft
Configuration modified to use ip6tables-nft
cannot access /var/lib/alternatives/ip6tables: No such file or directory
Using configuration defaults
mkdir: cannot create directory 'webmin/csf/images': File exists
mkdir: cannot create directory 'ui/images': File exists
mkdir: cannot create directory 'da/images': File exists
mkdir: cannot create directory 'interworx/images': File exists
cp: cannot stat 'Geo': No such file or directory
chmod: cannot access '/var/log/lfd.log*': No such file or directory
chmod: cannot access '/etc/csf/*.cgi': No such file or directory
chmod: cannot access '/etc/csf/*.php': No such file or directory
chmod: cannot access '/etc/csf/*.py': No such file or directory
csf.c:11:1: warning: return type defaults to 'int' [-Wimplicit-int]
   11 | main ()
      | ^~~~
csf.c: In function 'main':
csf.c:21:9: warning: implicit declaration of function 'setenv'; did you mean 'setpwent'? [-Wimplicit-function-declaration]
   21 |         setenv("CSF_RESELLER", "", 1);
      |         ^~~~~~
      |         setpwent
Created symlink /etc/systemd/system/multi-user.target.wants/csf.service -> /usr/lib/systemd/system/csf.service.
Created symlink /etc/systemd/system/multi-user.target.wants/lfd.service -> /usr/lib/systemd/system/lfd.service.
Removed "/etc/systemd/system/multi-user.target.wants/firewalld.service".
Removed "/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service".
Created symlink /etc/systemd/system/firewalld.service -> /dev/null.
Adding tcp|out|u=0 to csf.allow and iptables ACCEPT...
iptables: No chain/target/match by that name.
ip6tables: No chain/target/match by that name.
Adding udp|out|u=0 to csf.allow and iptables ACCEPT...
iptables: No chain/target/match by that name.
ip6tables: No chain/target/match by that name.
Restarting CSF...
CSF installation has finished.
######################################################################## 100.0%
cc  -DBIN=\"/etc/virtual/majordomo\" -DPATH=\"PATH=/bin:/usr/bin:/usr/ucb\" -DHOME=\"HOME=/etc/virtual/majordomo\" -DSHELL=\"SHELL=/bin/sh\" -DMAJORDOMO_CF=\"MAJORDOMO_CF=/etc/virtual/majordomo/majordomo.cf\" -DPOSIX_UID=991 -DPOSIX_GID=2 -o wrapper wrapper.c
wrapper.c:60:1: warning: return type defaults to 'int' [-Wimplicit-int]
   60 | main(argc, argv, env)
      | ^~~~
wrapper.c: In function 'main':
wrapper.c:71:9: warning: implicit declaration of function 'exit' [-Wimplicit-function-declaration]
   71 |         exit(EX_USAGE);
      |         ^~~~
wrapper.c:26:1: note: include '<stdlib.h>' or provide a declaration of 'exit'
   25 | #  include <string.h>
  +++ |+#include <stdlib.h>
   26 | #  define STRCHR(s,c) strchr(s,c)
wrapper.c:71:9: warning: incompatible implicit declaration of built-in function 'exit' [-Wbuiltin-declaration-mismatch]
   71 |         exit(EX_USAGE);
      |         ^~~~
wrapper.c:71:9: note: include '<stdlib.h>' or provide a declaration of 'exit'
wrapper.c:78:9: warning: incompatible implicit declaration of built-in function 'exit' [-Wbuiltin-declaration-mismatch]
   78 |         exit(EX_NOPERM);
      |         ^~~~
wrapper.c:78:9: note: include '<stdlib.h>' or provide a declaration of 'exit'
wrapper.c:81:26: warning: implicit declaration of function 'malloc' [-Wimplicit-function-declaration]
   81 |     if ((prog = (char *) malloc(strlen(BIN) + strlen(argv[1]) + 2)) == NULL) {
      |                          ^~~~~~
wrapper.c:81:26: note: include '<stdlib.h>' or provide a declaration of 'malloc'
wrapper.c:81:26: warning: incompatible implicit declaration of built-in function 'malloc' [-Wbuiltin-declaration-mismatch]
wrapper.c:81:26: note: include '<stdlib.h>' or provide a declaration of 'malloc'
wrapper.c:83:9: warning: incompatible implicit declaration of built-in function 'exit' [-Wbuiltin-declaration-mismatch]
   83 |         exit(EX_OSERR);
      |         ^~~~
wrapper.c:83:9: note: include '<stdlib.h>' or provide a declaration of 'exit'
wrapper.c:128:5: warning: implicit declaration of function 'setgid' [-Wimplicit-function-declaration]
  128 |     setgid(POSIX_GID);
      |     ^~~~~~
wrapper.c:134:5: warning: implicit declaration of function 'setuid' [-Wimplicit-function-declaration]
  134 |     setuid(POSIX_UID);
      |     ^~~~~~
wrapper.c:139:10: warning: implicit declaration of function 'getuid' [-Wimplicit-function-declaration]
  139 |     if ((getuid() != geteuid()) || (getgid() != getegid())) {
      |          ^~~~~~
wrapper.c:139:22: warning: implicit declaration of function 'geteuid' [-Wimplicit-function-declaration]
  139 |     if ((getuid() != geteuid()) || (getgid() != getegid())) {
      |                      ^~~~~~~
wrapper.c:139:37: warning: implicit declaration of function 'getgid' [-Wimplicit-function-declaration]
  139 |     if ((getuid() != geteuid()) || (getgid() != getegid())) {
      |                                     ^~~~~~
wrapper.c:139:49: warning: implicit declaration of function 'getegid' [-Wimplicit-function-declaration]
  139 |     if ((getuid() != geteuid()) || (getgid() != getegid())) {
      |                                                 ^~~~~~~
wrapper.c:143:9: warning: incompatible implicit declaration of built-in function 'exit' [-Wbuiltin-declaration-mismatch]
  143 |         exit(EX_SOFTWARE);
      |         ^~~~
wrapper.c:143:9: note: include '<stdlib.h>' or provide a declaration of 'exit'
wrapper.c:146:5: warning: implicit declaration of function 'execve' [-Wimplicit-function-declaration]
  146 |     execve(prog, argv+1, new_env);
      |     ^~~~~~
wrapper.c:156:5: warning: incompatible implicit declaration of built-in function 'exit' [-Wbuiltin-declaration-mismatch]
  156 |     exit(EX_OSERR);
      |     ^~~~
wrapper.c:156:5: note: include '<stdlib.h>' or provide a declaration of 'exit'
Testing for perl (/usr/bin/perl)...
Configuring scripts...
./install.sh -m 751 -O 991 -g 2 . /etc/virtual/majordomo
./install.sh -m 755 -O 991 -g 2 . /etc/virtual/majordomo/bin
Copying tools to /etc/virtual/majordomo/bin
Copying Majordomo files to /etc/virtual/majordomo
Copying archiving and other tools to /etc/virtual/majordomo/Tools
./install.sh -m 755 -O 991 -g 2 . /etc/virtual/majordomo/Tools
Using sample.cf
Installing manual pages in /etc/virtual/majordomo/man

To finish the installation, 'su' to root and type:

            make install-wrapper

If not installing the wrapper, type

            cd /etc/virtual/majordomo; ./wrapper config-test

(no 'su' necessary) to verify the installation.
./install.sh -o root -g 2 \
        -m 4755 wrapper /etc/virtual/majordomo/wrapper

To verify that all the permissions and etc are correct,
run the command

             cd /etc/virtual/majordomo; ./wrapper config-test
patching file majordomo.pl

Installed:
  expat-devel-2.5.0-5.el9_6.x86_64                                             
  libnghttp2-devel-1.43.0-6.el9.x86_64                                         
  openssl-devel-1:3.2.2-6.el9_5.1.x86_64                                       
  pcre2-devel-10.40-6.el9.x86_64                                               
  pcre2-utf16-10.40-6.el9.x86_64                                               
  pcre2-utf32-10.40-6.el9.x86_64                                               
  systemd-devel-252-51.el9_6.1.alma.1.x86_64                                   
  zlib-devel-1.2.11-40.el9.x86_64                                               

Error: Unable to find a match: liblve-devel
2025/06/28 12:30:12  info executing task            task=action=notify&message=CustomBuild+installation+has+failed%2C+please+check+the+following+file+for+more+information%3A%0A%2Fvar%2Flog%2Fdirectadmin%2Fcustombuild.1751106590.6737.YWxsAA.log&subject=CustomBuild+installation+has+failed&value=admin
2025/06/28 12:30:12  info finished task             duration=7.079719ms task=action=notify&message=CustomBuild+installation+has+failed%2C+please+check+the+following+file+for+more+information%3A%0A%2Fvar%2Flog%2Fdirectadmin%2Fcustombuild.1751106590.6737.YWxsAA.log&subject=CustomBuild+installation+has+failed&value=admin


Am I missing something? I tried to add the epel-release but failed?

As I understand CloudLinux should work with DirectAdmin, so I'm clearly missing something here, right?
 
OK, problem solved, LOL. What I was missing was the activation of my CloudLinux Shared PRO, after which EPEL got installed and CustomBuild started to act normally :-)

Code:
# /usr/sbin/rhnreg_ks --activationkey=CL-XXXXXXXXXXX
CloudLinux OS Shared edition installed on your server does not match license you are trying to register server with: CloudLinux OS Shared Pro. Migration is required. You may lose access to the services which are not supported by the new edition.
 
Back
Top