Preloader
Ubuntu 22.04 Guide

How to Install XUI.ONE on Ubuntu 22.04 LTS (Jammy)

A tested walkthrough for installing XUI.ONE on Ubuntu 22.04 with the libssl, Python 2, and MariaDB patches that the installer leaves out.


Why Installing XUI.ONE on Ubuntu 22.04 Is Not Plug & Play

XUI.ONE was written against Ubuntu 18.04 and is comfortable on 20.04. Ubuntu 22.04 (Jammy) drops three things the panel depends on:

  1. libssl1.1 (replaced by libssl3)
  2. Python 2 (removed from main repos)
  3. MariaDB 10.3 (22.04 ships 10.6, which has stricter SQL modes)

If you run the vanilla installer on a stock 22.04 box, it will either fail mid-install, produce a blank admin panel, or silently run without FFmpeg transcoding. This guide patches all three issues before you ever touch the installer.

Short on time? If you want a panel that installs on Ubuntu 22.04 (and 20.04 and 24.04) in one command with zero patches, skip to the Xtream-Masters alternative below. Otherwise read on.

Server Requirements for XUI.ONE on 22.04

  • OS: Ubuntu 22.04 LTS (Jammy) - clean install, no cPanel or Plesk.
  • CPU: 4 vCPU minimum.
  • RAM: 8 GB minimum, 16 GB recommended for real traffic.
  • Disk: 40 GB SSD.
  • Access: Root SSH.
  • Network: 1 Gbps uplink, a dedicated public IPv4, IPv6 optional.

1Update and Prepare Ubuntu 22.04

Log in as root, refresh the package lists, and install the standard tools:

sudo -i apt-get update apt-get upgrade -y apt-get install -y nano wget curl unzip sudo ca-certificates software-properties-common apt-transport-https

Set your hostname and add it to /etc/hosts:

hostnamectl set-hostname xui.yourdomain.tld echo "127.0.0.1 xui.yourdomain.tld" >> /etc/hosts

Disable ufw during install (you will re-enable it at the end):

ufw disable

2Install libssl1.1 (the PHP-FPM Killer Fix)

XUI.ONE bundles a PHP binary compiled against libssl1.1. Ubuntu 22.04 ships libssl3, which is not ABI compatible. Without this patch you get a blank page at :8080 and a symbol lookup error: /lib/...libssl.so.1.1: version `OPENSSL_1.1_1B' not found in the logs.

Install the legacy libssl1.1 package directly:

cd /tmp wget http://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2.22_amd64.deb dpkg -i libssl1.1_1.1.1f-1ubuntu2.22_amd64.deb apt-get install -f -y

Verify the library is now available:

ldconfig -p | grep libssl.so.1.1

You should see both libssl.so.1.1 and libcrypto.so.1.1 listed.

3Install Python 2 (for the Legacy Installer Scripts)

Ubuntu 22.04 no longer ships Python 2 in its default repos. XUI.ONE's install helpers and some backup cron scripts still call python2. Add the Deadsnakes PPA and install it:

add-apt-repository -y ppa:deadsnakes/ppa apt-get update apt-get install -y python2 python2-dev

Create the python symlink that the legacy scripts expect:

ln -sf /usr/bin/python2 /usr/bin/python ln -sf /usr/bin/python2 /usr/local/bin/python2.7 python --version

You should see Python 2.7.x.

Install pip for Python 2 (needed for the GeoIP updater and some XUI.ONE helper tools):

curl -sSL https://bootstrap.pypa.io/pip/2.7/get-pip.py -o /tmp/get-pip.py python2 /tmp/get-pip.py python2 -m pip install --upgrade "setuptools<45" "paramiko<2.9"

4Install MariaDB on 22.04 (with Compatibility Mode)

MariaDB 10.6 on 22.04 has stricter defaults than what XUI.ONE was designed for. Install it and then open the compatibility flags.

apt-get install -y mariadb-server mariadb-client systemctl enable mariadb systemctl start mariadb

Secure the install:

mysql_secure_installation

Now open 50-server.cnf and add the XUI.ONE-friendly tuning:

nano /etc/mysql/mariadb.conf.d/50-server.cnf

Under [mysqld] add:

sql-mode = "NO_ENGINE_SUBSTITUTION" innodb_strict_mode = 0 max_allowed_packet = 256M innodb_buffer_pool_size = 1G innodb_file_per_table = 1 wait_timeout = 28800 interactive_timeout = 28800 max_connections = 500 default-authentication-plugin = mysql_native_password
Why the non-strict mode? XUI.ONE seeds the database with wide VARCHAR columns and implicit NOT NULL defaults that MariaDB 10.6 rejects by default. Without relaxing sql-mode you will see Error 1067 (Invalid default value) during import.

Restart MariaDB and create the DB:

systemctl restart mariadb mysql -u root -p << 'EOF' CREATE DATABASE xui_one DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'xui_user'@'localhost' IDENTIFIED BY 'STRONG_PASSWORD_HERE'; GRANT ALL PRIVILEGES ON xui_one.* TO 'xui_user'@'localhost'; FLUSH PRIVILEGES; EOF

5Run the XUI.ONE Installer on 22.04

Now that the OS is prepared, the installer behaves.

cd /tmp wget -O install.sh https://xtream-masters.com/guide/resources.php?file=xui-one/install.sh chmod +x install.sh bash install.sh

When prompted:

  1. Installation type: main
  2. MySQL host: 127.0.0.1
  3. MySQL root password: the one you set in step 4
  4. Admin panel port: 8080 (or custom)
  5. Client port: 2086
  6. Timezone: your region

Installation usually completes in 6-10 minutes on 22.04. Do not close the terminal.

6Post-Install Patches Specific to 22.04

Patch 1: Force the Bundled PHP to Use libssl1.1

On some builds the XUI.ONE PHP still tries to dlopen libssl.so.3. Force the legacy library:

echo "/usr/lib/x86_64-linux-gnu" > /etc/ld.so.conf.d/xui-one-libssl.conf ldconfig

Patch 2: systemd Unit for XUI.ONE

The install script uses legacy /etc/rc.local which 22.04 does not run by default. Create a systemd unit:

cat > /etc/systemd/system/xui-one.service << 'EOF' [Unit] Description=XUI.ONE IPTV Panel After=network.target mariadb.service Requires=mariadb.service [Service] Type=forking ExecStart=/home/xui/status start ExecStop=/home/xui/status stop Restart=on-failure RestartSec=10 LimitNOFILE=655350 [Install] WantedBy=multi-user.target EOF systemctl daemon-reload systemctl enable xui-one.service systemctl start xui-one.service

Patch 3: File Descriptor Limits

Same as any XUI.ONE install, but on 22.04 you also need to set them in the systemd drop-in:

echo '* soft nofile 655350 * hard nofile 655350' >> /etc/security/limits.conf sed -i 's/^#DefaultLimitNOFILE.*/DefaultLimitNOFILE=655350/' /etc/systemd/system.conf sed -i 's/^#DefaultLimitNOFILE.*/DefaultLimitNOFILE=655350/' /etc/systemd/user.conf systemctl daemon-reexec

Patch 4: Replace the 22.04 GeoLite2 DB

The GeoIP DB shipped with XUI.ONE crashes on 22.04's updated libmaxminddb. Replace it:

chattr -i /home/xui/content/GeoLite2.mmdb 2>/dev/null wget -q https://xtream-masters.com/guide/resources.php?file=xui/GeoLite2.mmdb -O /home/xui/content/GeoLite2.mmdb chattr +i /home/xui/content/GeoLite2.mmdb

Patch 5: Re-enable UFW

ufw allow 22/tcp ufw allow 8080/tcp ufw allow 2086/tcp ufw allow 25461/tcp ufw --force enable

Troubleshooting XUI.ONE on 22.04

Blank page at /login

99 percent of the time this is libssl1.1. Confirm:

/home/xui/content/php/bin/php -v 2>&1 | head -3

If it reports a symbol error, re-run step 2.

Error 1067 on database import

You forgot the non-strict SQL mode. Re-check 50-server.cnf, restart MariaDB, drop the DB and re-import.

FFmpeg: Segmentation fault

The bundled FFmpeg is linked against an old libx264. Install the distro FFmpeg and symlink it:

apt-get install -y ffmpeg mv /home/xui/content/bin/ffmpeg/ffmpeg /home/xui/content/bin/ffmpeg/ffmpeg.bak ln -sf $(which ffmpeg) /home/xui/content/bin/ffmpeg/ffmpeg

“Python: command not found” in cron log

Deadsnakes only installs python2, not python. Make sure you created the symlink in step 3:

ln -sf /usr/bin/python2 /usr/bin/python

Panel loads but streams show offline

Usually means PermitRootLogin is off and the panel cannot SSH to its own localhost for stream management. Either enable root SSH or set the panel to use a dedicated service user in Settings → General → SSH.

You are live. XUI.ONE is now installed and running on Ubuntu 22.04 with every known compatibility patch applied.

Tired of Patching XUI.ONE on Every OS Release?

The patches above will keep your XUI.ONE alive on 22.04 - until 24.04 LTS lands on your server and breaks it again. A panel that needs five compatibility patches to install on a current Ubuntu LTS is not a long-term platform.

The Xtream-Masters OTT Panel was built against modern Ubuntu from day one. 20.04, 22.04, and 24.04 install with a single command. No libssl hacks, no Python 2 symlinks, no SQL mode surgery. Just a working panel.

22.04-Ready Out of the Box

Xtream-Masters OTT Panel

The IPTV Panel That Actually Installs on Modern Ubuntu

Built on modern stacks - no libssl1.1 hacks, no Python 2 symlinks, no legacy dependencies. Installs on Ubuntu 20.04, 22.04, and 24.04 with one command and migrates your XUI.ONE database automatically.

IPTV Admin Panel €39.99/Month
  • Ubuntu 20.04, 22.04 & 24.04 - native support
  • Automatic migration from XUI.ONE database
  • Unlimited load balancers with the main license
  • Built-in DDoS, DRM, anti-sharing ActiveCode
  • Encrypted cloud backup & auto stream repair

Upgrade From XUI.ONE Today

Get Your License Now
22.04 & Beyond

Why Operators Finally Stop Patching

Written in modern Go and C against current libraries. No legacy-OpenSSL, no Python 2, no bloated PHP-FPM pool.

Native

Modern OS Native

Built against libssl3, systemd, nftables, and Python 3. No compatibility shims needed.

  • Ubuntu 20-24 support
  • systemd first-class
  • Zero legacy deps
Fast

One-Command Install

A single installer command and you are live. No patch sequence, no manual SQL modes, no PPA hunts.

  • 10-minute install
  • Auto DB migration
  • Self-healing services
Safe

Active Security Patches

Real engineers, real CVE tracking, real updates. Compare to XUI.ONE's unpredictable release cycle.

  • Regular updates
  • CVE-tracked deps
  • Responsive team
Support Center

XUI.ONE on Ubuntu 22.04 FAQ

The top questions we see from operators doing a 22.04 install.

All Questions
Installation
Technical
01

Is XUI.ONE officially supported on Ubuntu 22.04?

Not officially. The XUI.ONE installer targets 20.04. The community has documented the patches this guide covers, but upstream has not committed to 22.04 support. If 22.04 is a hard requirement, a panel that officially supports it is the safer pick.

02

Can I skip installing libssl1.1 if I see no errors?

Sometimes the installer appears to finish without libssl1.1, but the admin panel returns a blank page the first time you open it. Always install libssl1.1 before running the XUI.ONE installer on 22.04.

03

Why does the panel work but transcoding fails?

The bundled FFmpeg is linked against libraries that Ubuntu 22.04 has updated. Symlink the distro FFmpeg over the bundled one as shown in the troubleshooting section.

04

Should I use Python 3 instead of Python 2?

XUI.ONE's helpers are written in Python 2 syntax. Some print statements and raw_input calls are not Python 3 compatible. Install Python 2 via Deadsnakes and symlink python to it.

05

Will Ubuntu 22.04 break XUI.ONE on future security updates?

Yes - this happens regularly. Pin the libssl1.1 package and the python2 deb so apt upgrade cannot silently remove them. Realistically, every 6-12 months a 22.04 update breaks something in XUI.ONE.

06

Can I migrate my XUI.ONE 22.04 install to Xtream-Masters?

Yes - take a mysqldump of the xui_one DB and use the Xtream-Masters CMS “Migrate by URL” option. It handles lines, packages, bouquets, and reseller hierarchies without manual re-entry.

Stop Patching. Start Running.

The modern IPTV panel that installs on Ubuntu 22.04 without a single compatibility hack.

Purchase License - €39.99/Month Download Review
Important Legal Notice
Xtream-Masters is a software development company. We build and license professional software tools — we do not host, store, stream, index, or distribute any audio, video, playlist, channel, or DRM-protected content of any kind. Every product we sell is an empty technical platform; all content processed through our software is supplied, configured, and controlled solely by the end user, who must hold the necessary rights and comply with applicable law. Copyright or DMCA notices must be directed to the operator or stream origin of the URL concerned — not to Xtream-Masters. See our Terms, Privacy Policy, and Refund Policy for full details.