AlmaLinux 10 support

In addition: if you had DA already installed you must execute
Code:
 build all d
command to rebuild after upgrade
 
In addition: if you had DA already installed you must execute
Code:
 build all d
command to rebuild after upgrade
My DirectAdmin setup is fully configured, and everything is ready.
Would it be okay if I used the following commands?

systemctl restart directadmin
systemctl restart lsws
imunify360-agent restart
cd /usr/local/directadmin/custombuild
./build update
./build php n
 
Would it be okay if I used the following commands?
After upgrade from AL9 > AL10 ?
Sorry don't understand your question, why do you want to execute those commands ?

If it is after upgrade you don't have to because its then already rebuild with all the installed components anyway (da build all)
 
  • Like
Reactions: Can
After upgrade from AL9 > AL10 ?
Sorry don't understand your question, why do you want to execute those commands ?

If it is after upgrade you don't have to because its then already rebuild with all the installed components anyway (da build all)
Thanks for your response.

I asked because I wanted to make sure everything (DirectAdmin, LiteSpeed, Imunify360, and my custom PHP builds 8.3 / 8.4) would run smoothly after upgrading from AlmaLinux 9 to 10 using ELevate.

I understand that the upgrade process already rebuilds the core system with all installed packages, but since I have some manually compiled PHP versions and LiteSpeed integrations, I thought running:

cd /usr/local/directadmin/custombuild
./build update
./build php n
./build rewrite_confs

after reboot could help re-link PHP with the new system libraries just to be safe.

So, basically I just wanted to double-check whether running those commands after the OS upgrade is harmless or unnecessary.
 
I asked because I wanted to make sure everything (DirectAdmin, LiteSpeed, Imunify360, and my custom PHP builds 8.3 / 8.4) would run smoothly after upgrading from AlmaLinux 9 to 10 using ELevate.

The user Active8 posted a command which should be executed after an OS upgrade, see the post #22
Not only PHP but all software managed by DirectAdmin should be re-installed after the upgrade of a major OS version.
 
  • Like
Reactions: Can
The user Active8 posted a command which should be executed after an OS upgrade, see the post #22
Not only PHP but all software managed by DirectAdmin should be re-installed after the upgrade of a major OS version.
Thanks both @Active8 and @zEitEr for clarifying!

Just to explain my situation a bit better — I’m running a personal DirectAdmin setup with LiteSpeed, Imunify360, and custom PHP builds (8.3 / 8.4).
Mail services like Exim/Dovecot/Rspamd are completely disabled, because my domains use external MX records (Namecheap).
The server is fully updated, CSF/firewalld disabled, and everything works perfectly on AlmaLinux 9.

My main goal after upgrading from AlmaLinux 9 → 10 via ELevate is to keep all configurations and integrations exactly the same, without doing a full rebuild of every component.

That’s why I was thinking of just running these after reboot:

cd /usr/local/directadmin/custombuild
./build update
./build php n
./build rewrite_confs

This should only recompile PHP and refresh configurations with the new system libraries — no reset, no configuration loss.

From what I understand,

build all d would indeed rebuild everything (including mail services I don’t use),

while build php n + rewrite_confs is enough to safely re-link PHP/LiteSpeed with AlmaLinux 10.


So I just wanted to confirm that in a non-mail, LiteSpeed-based personal setup, doing a light rebuild like this should be perfectly fine and safer than a full “build all d”.

Thanks again for your guidance — this discussion helped clear up the differences between “rebuild” and “reset” after an OS upgrade! 🙏
 
So I just wanted to confirm that in a non-mail, LiteSpeed-based personal setup, doing a light rebuild like this should be perfectly fine and safer than a full “build all d”.

da build all respects options.conf and skips disabled services, no options.conf will be effected. Run da build options to see which services are enabled, and only they will be re-compiled with the command. It is not reset of DA settings. For resetting DA options.conf one can use another command, it was never offered by me here.
 
  • Like
Reactions: Can
da build all respects options.conf and skips disabled services, no options.conf will be effected. Run da build options to see which services are enabled, and only they will be re-compiled with the command. It is not reset of DA settings. For resetting DA options.conf one can use another command, it was never offered by me here.
Thanks a lot for the clarification, @zEitEr — that makes perfect sense now.
So the correct and safe approach would be:

cd /usr/local/directadmin/custombuild
./build update
./build all d

This way I’ll have the latest CustomBuild scripts before rebuilding,
and since build all d respects my options.conf (mail disabled, LiteSpeed and PHP enabled),
it will only recompile the active services without touching my configs.

I’ll apply this later today after the upgrade to AlmaLinux 10.
Appreciate your help — that explanation really cleared every
thing up. 🙏
 
Hello,

I wanted to report several major issues I experienced while installing and using DirectAdmin on AlmaLinux 10.
These problems do not exist on AlmaLinux 9, so I believe DA is not fully ready for AL10 yet.

Below is a summary of the issues:

1. Redis cannot be installed (package removed in RHEL/AL10)

AlmaLinux 10 repositories do NOT contain the redis package.


dnf install redis
No match for argument: redis

And CustomBuild also fails:
You cannot install Redis, because redis=yes is not set in options.conf file.
systemctl enable --now redis
Failed to enable unit: redis.service does not exist



Reason: Redis was completely removed from RHEL 10 base repositories.
DirectAdmin expects /usr/lib/systemd/system/redis.service to exist, but it is not available on AL10.

So Redis + LSCache Object Cache cannot be used on AL10.

2. Imunify360 extension loader error (i360.so)


PHP produces continuous warnings:
PHP Warning: Unable to load dynamic library 'i360.so'
undefined symbol: _ULx86_64_init_local

This happens because the current Imunify360 builds also don’t fully support AlmaLinux 10 yet.
DirectAdmin enables the extension by default, causing PHP startup errors.


3. Firewalld is masked / disabled


Fresh AL10 installations have firewalld completely disabled or masked:


systemctl status firewalld
Loaded: masked (unit firewalld.service is masked)
Active: inactive (dead)

DirectAdmin detects no firewall, and CSF/LFD also fails unless manually installed.

4. PHP config files not applied after rebuild


Changing values such as:

  • memory_limit
  • max_execution_time
  • upload_max_filesize

Manually under:


/usr/local/php*/lib/php.conf.d/*


does not immediately reflect in DA panel or PHP info.


A full rebuild and service restart is required, unlike AL9.


5. Some DA CustomBuild components missing AlmaLinux 10 compatibility

Examples:
  • Redis
  • Some PHP extensions
  • Imunify360 loader
  • Certain systemd unit files expected but missing

AlmaLinux 10 introduces many changes compared to AL9, and DA components are not fully adjusted yet.

Conclusion


DirectAdmin on AlmaLinux 10 is not production-ready at the moment due to missing packages, incompatible extensions, and service management issues.

After testing, I had to revert back to AlmaLinux 9, where everything works correctly:

  • Redis
  • Imunify360
  • PHP extensions
  • Firewalld
  • CustomBuild components
I recommend holding off AlmaLinux 10 support until these compatibility issues are resolved.

Thanks.
 
I've got AlmaLinux 10.x with Directadmin running on a Hetzner VPS since Thu Aug 14 10:25:07 2025 (at least):

- DirectAdmin: 1.689 893e826690311d14b8e868ad3549278f64b477a1
- Kernel: 6.12.0-55.42.1.el10_0.x86_64
- OS: AlmaLinux 10.0 (Purple Lion)
- csf: v15.05 (DirectAdmin)

with the following options:

Code:
Nginx Unit: no
Apache: 2.4.65
ModSecurity: no
htscanner: no
Dovecot: 2.4.2
Dovecot configuration: yes
AWstats: no
Exim: 4.99
exim.conf update: yes
BlockCracking: no
Easy Spam Fighter: no
SpamAssassin: no
ClamAV: no
MariaDB: 11.4.9
MySQL backup: yes
MySQL backup directory: /usr/local/directadmin/custombuild/mysql_backups
MySQL compress backups: no
PHP (default): 8.4
phpMyAdmin: 5.2.3
ProFTPD: no
Pure-FTPd: 1.0.52
RoundCube webmail: 1.6.11
Replace "php.ini" with 'da build all' and 'da build php_ini': no
Cron for notifications and (or) updates: yes
Cron frequency: daily
Run "clean_old_webapps" every time: yes
Show texts in bold: yes
SquirrelMail: no
Zend Guard Loader: no
ionCube loader: no
Suhosin: no

and PHP extensions

Imunify360

It is a commercial software, Directadmin is not shipped with it.


DA installs redis-8.2.3 on the AlmaLinux from a source.

Firewalld

csf: v15.05 (DirectAdmin) is running fine too

PHP extensions

What is wrong with them?

Bash:
[root@dev10 custombuild]# grep ^php_.*=yes options.conf
php_imagick=yes
php_redis=yes
[root@dev10 custombuild]#

PHP options can be changes as usually:

Bash:
[root@dev10 ~]# php -i | grep -i memory_limit
memory_limit => 128M => 128M
[root@dev10 ~]#
[root@dev10 ~]# echo 'memory_limit=512M' >> /usr/local/php84/lib/php.conf.d/90-custom.ini
[root@dev10 ~]#
[root@dev10 ~]# php -i | grep -i memory_limit
memory_limit => 512M => 512M
[root@dev10 ~]#
[root@dev10 ~]#
[root@dev10 ~]# php -v
PHP 8.4.14 (cli) (built: Oct 29 2025 05:08:52) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.4.14, Copyright (c) Zend Technologies
[root@dev10 ~]#
[root@dev10 ~]# uname -r
6.12.0-55.42.1.el10_0.x86_64
[root@dev10 ~]#

2025-11-14 13.10.42.png


I've got a set of additional measures for an each new server, and I do follow certain steps to make a server ready. Probably If I re-install OS and DirectAdmin it will miss some requirements, but it is no way critical, I believe.

What do I do wrong?
 
  • Like
Reactions: fln
Back
Top