Úvod
IceWarp důrazně doporučuje používat MariaDB místo výchozí databáze SQLite v produkčním prostředí. MariaDB poskytuje lepší výkon, škálovatelnost a podporuje cizí klíče, což SQLite postrádá.
Důležitá poznámka:
Pro větší nasazení s vysokým počtem uživatelů IceWarp doporučuje používat Percona Server pro MySQL místo MariaDB. Percona nabízí vyšší výkon, lepší škálovatelnost a další podnikové funkce, které jsou výhodné pro rozsáhlé instalace.
Tento průvodce se zaměřuje na MariaDB, která je vhodná pro malé a střední nasazení. Pokud plánujete velké nasazení, doporučujeme konzultovat dokumentaci IceWarp pro konfiguraci specifickou pro Percona.
Požadavky
Root nebo sudo přístup k vašemu serveru Red Hat 9
IceWarp EPOS nainstalován (nebo připravený k nastavení během instalace)
Základní znalosti práce s databází
Požadavky na systém
Požadavky na MariaDB závisí na očekávaném počtu uživatelů a způsobu používání:
Do 1000 uživatelů
Minimální požadavky:
CPU: 2 jádra
RAM: 8 GB
Úložiště: 60 GB HDD (doporučeno SSD)
Doporučeno pro produkci:
CPU: 4–6 jader
RAM: 16–24 GB (umožňuje správné nastavení buffer poolu na 70–80% RAM = 11–19 GB pro
innodb_buffer_pool_size)Úložiště: 120+ GB SSD (preferováno NVMe)
1000–5000 uživatelů
Minimální požadavky:
CPU: 4+ jádra
RAM: 16–32 GB
Úložiště: doporučeno 100+ GB SSD
Doporučeno pro produkci:
CPU: 8–12 jader
RAM: 32–48 GB (umožňuje 22–38 GB buffer pool)
Úložiště: 250+ GB NVMe SSD s vysokým IOPS
Nad 5000 uživatelů
Minimální požadavky:
CPU: 8+ jader
RAM: 32+ GB
Úložiště: 200+ GB SSD
Doporučeno pro produkci:
CPU: 16+ jader
RAM: 64–128 GB (umožňuje 45–102 GB buffer pool)
Úložiště: 500+ GB NVMe SSD v RAID 10
Silně doporučeno: SQL řešení v clusteru pro vysokou dostupnost
Zvažte: Percona Server pro MySQL pro vyšší výkon a lepší škálovatelnost
Důležité poznámky
Tyto doporučení předpokládají dedikovaný databázový server, oddělený od serveru aplikací IceWarp.
Pokud MariaDB běží na stejném serveru jako IceWarp, kombinujte tyto požadavky s potřebami IceWarp (minimálně 4 CPU a 8 GB RAM pro aplikaci).
Vzorce využití se výrazně liší: uživatelé, kteří používají převážně WebClient, potřebují méně zdrojů než organizace s více desktopovými klienty, kteří často synchronizují.
Pro optimální IOPS výkon databáze se důrazně doporučuje NVMe SSD.
Pro větší nasazení zvažte RAID 10, abyste vyvážili výkon a redundanci.
Sledujte skutečné využití a podle toho upravujte – tyto hodnoty jsou výchozí, nikoliv pevné požadavky.
Pro personalizovaná doporučení podle vašeho konkrétního scénáře kontaktujte podporu IceWarp.
Krok 1: Instalace MariaDB
Nainstalujte MariaDB server pomocí správce balíčků DNF:
sudo dnf install mariadb-serverStiskněte y a poté Enter pro potvrzení instalace.
Krok 2: Spuštění a povolení služby MariaDB
Spusťte službu MariaDB:
sudo systemctl start mariadbOvěřte, zda služba běží:
sudo systemctl status mariadbVýstup by měl obsahovat active (running).
Povolte automatické spuštění MariaDB při startu systému:
sudo systemctl enable mariadbKrok 3: Zabezpečení instalace MariaDB
Spusťte skript pro zvýšení bezpečnosti:
sudo mysql_secure_installationPostupujte podle pokynů:
Stiskněte Enter, když budete vyzváni k zadání aktuálního root hesla (výchozí není nastaveno)
Napište Y pro nastavení nového root hesla a zadejte ho
Napište Y pro odstranění anonymních uživatelů
Napište Y pro zakázání vzdáleného přihlášení root
Napište Y pro odstranění testovací databáze
Napište Y pro obnovení oprávnění
Důležité: Toto root heslo si zapamatujte, budete ho potřebovat pro správu databází.
Krok 4: Konfigurace MariaDB pro IceWarp
4.1 Úprava konfiguračního souboru
Upravte konfigurační soubor MariaDB:
sudo nano /etc/my.cnfNebo pokud používáte adresář my.cnf.d:
sudo nano /etc/my.cnf.d/mariadb-server.cnfPřidejte následující pod [mysqld] (příklad optimalizovaný pro server s dostatečnými zdroji):
[mysqld]
# Základní nastavení
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mariadb/mariadb.log
pid-file=/run/mariadb/mariadb.pid
# Zakázání SSL (IceWarp SSL zatím nepodporuje)
ssl=0
# Kódování znaků
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
# Nastavení InnoDB
innodb_buffer_pool_size=4G
innodb_log_file_size=512M
innodb_log_buffer_size=128M
innodb_flush_log_at_trx_commit=2
innodb_file_per_table=1
innodb_flush_method=O_DIRECT
# Výkon (přizpůsobit dle počtu CPU jader)
innodb_read_io_threads=4
innodb_write_io_threads=4
innodb_buffer_pool_instances=4
# Připojení
max_connections=200
max_allowed_packet=256M
# Volitelná cache dotazů
query_cache_type=1
query_cache_size=64MDůležité poznámky:
innodb_buffer_pool_size: nastavte na 70–80 % dostupné RAM u dedikovaných DB serverůinnodb_read/write_io_threads: nastavte dle počtu CPU jaderSSL je zakázáno: IceWarp zatím nepodporuje SSL připojení k MariaDB
Uložte a ukončete (Ctrl+X, poté Y a Enter).
4.2 Odstranění starých InnoDB souborů (při přeinstalaci)
Pokud upravujete existující instalaci MariaDB:
sudo systemctl stop mariadb
sudo rm -rf /var/lib/mysql/ib_buffer_pool
sudo rm -rf /var/lib/mysql/ibdata1
sudo rm -rf /var/lib/mysql/ib_logfile0
sudo rm -rf /var/lib/mysql/ib_logfile1Varování: Provádějte pouze u nové instalace nebo po záloze dat!
4.3 Restart MariaDB
Restartujte MariaDB pro aplikaci změn:
sudo systemctl restart mariadbOvěřte, zda se služba spustila:
sudo systemctl status mariadbKrok 5: Vytvoření databází IceWarp
Přihlaste se jako root:
mysql -u root -pZadejte root heslo.
Vytvořte požadované databáze se správným znakovým kódováním a kolací:
CREATE DATABASE accounts DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE groupware DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE webclient DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE dircache DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE eas DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE antispam DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE asreports DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;Poznámka: Můžete zvolit jiné kolace podle lokality. Viz MariaDB collations documentation.
Krok 6: Vytvoření uživatele IceWarp
Vytvořte dedikovaného uživatele (nahraďte icewarp_server_ip IP adresou serveru IceWarp, nebo použijte localhost):
CREATE USER 'icewarp'@'localhost' IDENTIFIED BY 'your_secure_password';Pro vzdálený přístup:
CREATE USER 'icewarp'@'icewarp_server_ip' IDENTIFIED BY 'your_secure_password';Přidělte všechna oprávnění na databázích IceWarp:
GRANT ALL PRIVILEGES ON accounts.* TO 'icewarp'@'localhost';
GRANT ALL PRIVILEGES ON groupware.* TO 'icewarp'@'localhost';
GRANT ALL PRIVILEGES ON webclient.* TO 'icewarp'@'localhost';
GRANT ALL PRIVILEGES ON dircache.* TO 'icewarp'@'localhost';
GRANT ALL PRIVILEGES ON eas.* TO 'icewarp'@'localhost';
GRANT ALL PRIVILEGES ON antispam.* TO 'icewarp'@'localhost';
GRANT ALL PRIVILEGES ON asreports.* TO 'icewarp'@'localhost';
FLUSH PRIVILEGES;Pro vzdálený přístup nahraďte localhost IP adresou serveru IceWarp.
Ukončete MariaDB:
EXIT;Krok 7: Konfigurace firewallu (pokud MariaDB je na samostatném serveru)
Pokud MariaDB běží na jiném serveru než IceWarp, otevřete port MariaDB:
sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reloadPro zvýšení bezpečnosti omezte přístup jen na IP IceWarp serveru:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="icewarp_server_ip" port protocol="tcp" port="3306" accept'
sudo firewall-cmd --reloadKrok 8: Ověření instalace MariaDB
Přihlaste se jako uživatel IceWarp:
mysql -u icewarp -pZadejte heslo a ověřte připojení.
Zkontrolujte databáze:
SHOW DATABASES;
EXIT;Krok 9: Migrace IceWarp na MariaDB
9.1 Pomocí IceWarp Administration Console
Přihlaste se do IceWarp Remote Administration Console
Přejděte na System → Storage → Databases
-
U každé databáze (GroupWare, WebClient, Directory Cache atd.):
Klikněte na DB Settings
-
Zadejte připojovací údaje:
DB Type: MySQL/MariaDB
Host: localhost (nebo IP pokud vzdálený)
Port: 3306
Database name: (např. groupware, webclient atd.)
- Username: icewarp
Password: your_secure_password
Klikněte na Test Connection
Klikněte na Create Tables
Klikněte na Migrate pro přenos dat ze SQLite
9.2 Migrace databáze účtů
Přejděte na System → Storage → Accounts
Pokud jsou účty uloženy na souborovém systému, klikněte na DB Settings
-
Nakonfigurujte připojení:
Host: localhost (nebo IP jestli remote)
Port: 3306
Database: accounts
Username: icewarp
Password: your_secure_password
Klikněte na Test Connection
Klikněte na Create Tables
Při výzvě vyberte Yes pro migraci účtů do databáze
Po dokončení migrace přepněte z File System na Database storage mode
Krok 10: Ověření migrace
Restartujte služby IceWarp:
sudo systemctl restart icewarpZkontrolujte logy IceWarp pro chyby připojení k databázi:
tail -f /opt/icewarp/logs/server.logPřihlaste se do IceWarp WebClient
Ověřte funkčnost
Optimalizace výkonu
Sledování a úpravy
Po určité době provozu monitorujte výkon a upravujte nastavení:
mysql -u root -p -e "SHOW STATUS;"
mysql -u root -p -e "SHOW ENGINE INNODB STATUS\G"Pro doporučení optimalizace můžete použít MySQLTuner:
wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl
chmod +x mysqltuner.pl
sudo ./mysqltuner.plDoporučení pro zálohy
Pravidelné zálohy databází
Vytvořte automatické zálohy IceWarp databazí:
#!/bin/bash
# Jednoduchý backup skript
BACKUP_DIR="/backup/mariadb"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR
mysqldump -u icewarp -p'your_password' accounts > $BACKUP_DIR/accounts_$DATE.sql
mysqldump -u icewarp -p'your_password' groupware > $BACKUP_DIR/groupware_$DATE.sql
mysqldump -u icewarp -p'your_password' webclient > $BACKUP_DIR/webclient_$DATE.sql
mysqldump -u icewarp -p'your_password' antispam > $BACKUP_DIR/antispam_$DATE.sql
# Uchovávejte pouze posledních 7 dní záloh
find $BACKUP_DIR -name "*.sql" -mtime +7 -deletePřidejte do crontab pro denní spuštění:
crontab -e
# Přidat řádek: 0 2 * * * /path/to/backup_script.shOdstraňování problémů
Běžné problémy
Selhání připojení:
-
Ověřte, zda MariaDB běží:
sudo systemctl status mariadb Zkontrolujte, zda jsou přihlašovací údaje správné
Ujistěte se, že firewall umožňuje připojení
Ověřte, zda uživatel má správná oprávnění
Chyba SSL připojení:
Zkontrolujte, že v
my.cnfpod[mysqld]je nastavenossl=0Po změně konfigurace restartujte MariaDB
Problémy s výkonem:
Přizpůsobte
innodb_buffer_pool_sizedostupné RAMZvyšte
innodb_io_threads, pokud máte více CPU jaderPoužijte MySQLTuner pro konkrétní doporučení
Chyby při migraci:
Ujistěte se, že všechny databáze jsou vytvořeny před migrací
Pokud migrace selže, zastavte služby IceWarp watchdog
Zkontrolujte logy IceWarp pro konkrétní chybová hlášení
Komentáře
0 komentářů
K článku není možné přidávat komentáře.