Desteklenen İşletim Sistemleri
Genel Bakış
WHost, hem Debian hem de RHEL tabanlı dağıtımları desteklemek için bir OS soyutlama katmanı kullanır. Tüm OS'a özgü işlemler core/os_commands.py üzerinden yönlendirilir; bu sayede platformlar arasında tutarlı davranış sağlanır.
Desteklenen Dağıtımlar
WHost bilinçli olarak dar bir OS matrisiyle gelir. Kurulum aracı
(installer/lib/detect_os.sh), bunların dışındaki her sürümü yumuşak bir
uyarı yerine, hiçbir şey kurmadan exit 1 ile reddeder. Kabul ettikleri:
Ubuntu 22.04 ve 24.04 (daha eski ya da daha yeni başka Ubuntu sürümü yok) ile
AlmaLinux, Rocky Linux ve CentOS Stream'in 9 sürümü; Debian 12 tanınır ama
reddedilir, Red Hat Enterprise Linux'un kendisi ise listede yoktur.
Agent'ın derlenmiş modülleri CPython 3.12 ister (aşağıda Agent Python
çalışma zamanı), Debian 12 ise bunu paketlemez; Debian 11 ve RHEL 8 ailesi
gibi eski sürümler de yığının hedeflediğinden eski sistem kütüphaneleriyle
(Python, libmodsecurity3) gelir.
Debian Ailesi
| Dağıtım | Sürüm | Kod Adı | Durum |
|---|---|---|---|
| Ubuntu | 22.04 LTS | Jammy Jellyfish | Tam Destekli (Python 3.12 deadsnakes PPA'dan) |
| Ubuntu | 24.04 LTS | Noble Numbat | Tam Destekli |
| Debian | 12 | Bookworm | 1.0 hattında kurulamaz (Python 3.12 paketi yok); çoklu-ABI build ile geri gelir |
RHEL Ailesi
| Dağıtım | Sürüm | Durum |
|---|---|---|
| AlmaLinux | 9 | Tam Destekli |
| Rocky Linux | 9 | Tam Destekli |
| CentOS Stream | 9 | Tam Destekli |
Kurulum aracı bu sistemlerde SELinux'u Permissive'e çevirir — bkz. RHEL ailesinde SELinux.
OS'a Özgü Farklılıklar
Paket Yönetimi
| İşlem | Debian/Ubuntu | RHEL/Alma/Rocky |
|---|---|---|
| Kurulum | apt-get install -y |
dnf install -y |
| Kaldırma | apt-get remove -y |
dnf remove -y |
| Dizini güncelleme | apt-get update -y |
dnf makecache --refresh |
Web Sunucusu
| Bileşen | Debian/Ubuntu | RHEL/Alma/Rocky |
|---|---|---|
| Apache paketi | apache2 |
httpd |
| Apache kullanıcısı | www-data |
apache; önde nginx varken nginx grubunun üyesidir (hesap dizinleri ve PHP-FPM soketleri bu gruba aittir) |
| Apache konfigürasyonu | /etc/apache2/sites-available/ |
/etc/httpd/conf.d/ |
| Site etkinleştirme | a2ensite |
Yok — conf.d/ içindeki dosyalar olduğu gibi yüklenir |
| Nginx konfigürasyonu | /etc/nginx/sites-available/ + sites-enabled/ |
/etc/nginx/conf.d/ |
PHP-FPM
| Bileşen | Debian/Ubuntu | RHEL/Alma/Rocky |
|---|---|---|
| Paket adı | php8.4-fpm |
php84-php-fpm (Remi repo) |
| Servis adı | php8.4-fpm |
php84-php-fpm |
| Konfigürasyon yolu | /etc/php/8.4/fpm/ |
/etc/opt/remi/php84/ |
| Pool dizini | /etc/php/8.4/fpm/pool.d/ |
/etc/opt/remi/php84/php-fpm.d/ |
| Hesap pool soketi | /run/php/php-fpm-<hesap>-8.4.sock |
/run/php/php-fpm-<hesap>-8.4.sock; klasör /etc/tmpfiles.d/whost-php-fpm.conf ile tanımlanır |
| Ortak pool (phpMyAdmin, webmail) | www, www-data olarak /run/php/php8.4-fpm.sock üzerinde çalışır |
www, kurulum aracı tarafından nginx olarak /run/php/php8.4-fpm.sock üzerinde çalışacak şekilde yazılır |
Güvenlik Duvarı
| Bileşen | Debian/Ubuntu | RHEL/Alma/Rocky |
|---|---|---|
| Güvenlik duvarı | UFW | firewalld |
| Port izin verme | ufw allow 80/tcp |
firewall-cmd --permanent --add-port=80/tcp |
| Port kapatma (izin kuralını silme) | ufw delete allow 80/tcp |
firewall-cmd --permanent --remove-port=80/tcp |
| Yeniden yükle | ufw reload |
firewall-cmd --reload |
Servis Yönetimi
Tüm dağıtımlar servis yönetimi için systemctl kullanır. Servis adları farklılık gösterebilir:
| Servis | Debian/Ubuntu | RHEL/Alma/Rocky |
|---|---|---|
| Web sunucusu | apache2 / nginx |
httpd / nginx |
| Veritabanı | mariadb |
mariadb |
| DNS | pdns |
pdns |
postfix, dovecot |
postfix, dovecot |
|
| Redis (Rspamd'in veri deposu) | redis-server |
redis |
| FTP | pure-ftpd-mysql |
pure-ftpd |
Diğer Yollar
| Kaynak | Debian/Ubuntu | RHEL/Alma/Rocky |
|---|---|---|
| PowerDNS konfigürasyonu | /etc/powerdns/pdns.conf |
/etc/pdns/pdns.conf |
| Certbot | certbot (apt) |
certbot (EPEL) |
| Pure-FTPd | pure-ftpd-mysql (apt) |
pure-ftpd (EPEL) |
| Let's Encrypt webroot | /var/www/letsencrypt |
/var/www/letsencrypt |
OS Algılama
WHost, başlangıçta /etc/os-release dosyasını ayrıştırarak işletim sistemini otomatik olarak algılar. Algılama şunları sağlar:
- family:
debianveyarhel - distro: Belirli dağıtım adı (örn.
ubuntu,almalinux) - version: Tam sürüm dizesi (örn.
22.04,9.4) - codename: Sürüm kod adı (örn.
jammy,noble) - pkg_manager: Paket yöneticisi komutu (
aptveyadnf) - cgroup_version: cgroup v2 olan sunucularda
2; hesap bazlı kaynak limitleri bunu ister
Bu bilgi, servis katmanlarında dağıtıma özgü mantığı hardcode etmeden OS'a uygun kararlar vermek için kod tabanı boyunca kullanılır.
Agent Python çalışma zamanı
Agent'ın korumalı modülleri CPython 3.12 için derlenmiştir ve yalnız o yorumlayıcı altında yüklenir. Kurulum aracı bu yüzden şunu kullanır:
python3 (3.12)python3.12 (kurulum aracı kurar; sistem python3 3.9 kalır)python3.12Servis birimi agent'ı ve bütünlük ön kontrolünü venv'in yorumlayıcısıyla
başlatır; bu yüzden sistemdeki varsayılan python3'ün farklı olması agent'ı
etkilemez, ancak venv'in oluşturulduğu yorumlayıcı (örneğin AlmaLinux'ta
python3.12) kurulu kalmalıdır.
WISECP LLC. tarafından geliştirilmiştir. İletişim: [email protected]
Yukarıda bulamadığınız her şey için destek ekibimiz her zaman yanınızda.