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:
and DirectAdmin is kind of working but the CustomBuild part fails.
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?
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?