Weboldal keresés

A Roundcube Webmail telepítése a CentOS/RHEL 8/7 rendszeren


A Roundcube egy ingyenes és nyílt forráskódú, teljes funkcionalitású webalapú, többnyelvű IMAP webmail szoftver, alkalmazásszerű felhasználói felülettel, amely teljesen működőképes és testreszabható, és a legújabb webes szabványokat használja. PHP-vel készült, és olyan teljes funkcionalitást kínál, amelyet egy modern e-mail klienstől elvárhat.

A Roundcube jellemzői:

  • Többnyelvű, több mint 70 nyelvet támogat.
  • Támogatja a Find-as-you-címjegyzéket.
  • Támogatja a több feladó identitását.
  • Kifinomult adatvédelmet kínál.
  • Teljes funkcionalitású címjegyzékkel rendelkezik csoportokkal és LDAP-csatlakozókkal.
  • Richtext/HTML üzenetírást kínál.
  • Támogatja az üzenetek és névjegyek keresését.
  • Támogatja az Int. domain nevek (IDNA).
  • Támogatja a mappakezelést, a megosztott mappákat és az ACL-t.
  • Bővíthető a Plug-in API segítségével.
  • Helyesírás-ellenőrző funkciót biztosít.
  • Import/Export funkciókat biztosít.
  • Beépülő API-val rendelkezik a rugalmas bővítményekhez és még sok máshoz.

Ajánlott rendszerkövetelmények:

  1. CentOS 8/RHEL 8 vagy CentOS 7/RHEL 7 kiszolgáló minimális telepítéssel.
  2. Apache vagy Nginx webszerver
  3. PHP és MySQL/MariaDB adatbázis
  4. SMTP és IMAP szerver IMAP4 rev1 támogatással

A cikk hatóköre szempontjából feltételezzük, hogy már rendelkezik egy futó Postfix e-mail szerverrel virtuális felhasználókkal, ellenkező esetben kövesse a beállítási útmutatónkat:

  1. A Postfix levelezőszerver és a Dovecot beállítása a MariaDB-vel – 1. rész
  2. A Postfix és Dovecot virtuális tartomány felhasználóinak konfigurálása – 2. rész
  3. Telepítse és integrálja a ClamAV-t és a SpamAssassint a Postfix Mail Serverbe – 3. rész

Tesztkörnyezet:

Ebben a cikkben a Roundcube Webmailt telepítem egy Linode CentOS VPS-re Nginx webszerverrel, statikus IP-címmel 192.168.0.100 és gazdagépnévvel mail.linux-console.net.

1. lépés: Telepítse az Nginxet, a PHP-FPM-et és a MariaDB-t a CentOS 8/7 rendszerben

1. Először is engedélyezze az EPEL és REMI adattárakat, és telepítse az Nginx, PHP , PHP-FPM és MariaDB szerver a CentOS rendszeren.

yum install epel-release
yum install http://rpms.remirepo.net/enterprise/remi-release-8.rpm    [CentOS/RHEL 8]
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm    [CentOS/RHEL 7]
yum install yum-utils 
yum-config-manager --enable remi-php72
yum install nginx php php-fpm php-mcrypt php-cli php-gd php-curl php-xml php-mysql php-mbstring php-pspell php-imagick mariadb-server   

2. Miután sikeresen telepítette az összes csomagot, indítsa el az Nginx webszervert, engedélyezze az automatikus indítást rendszerindításkor, és ellenőrizze, hogy működik-e.

systemctl start nginx 
systemctl enable nginx
systemctl status nginx

3. Ezután, ha engedélyezve van a rendszertűzfal, meg kell nyitnia a 80-as portot külső kérésekhez.

firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload 

4. Ezután be kell állítania a PHP-FPM funkciót a megfelelő működéshez. Nyissa meg az /etc/php.ini fájlt egy parancssori tesztszerkesztővel.

vim /etc/php.ini

Keresse meg a ;cgi.fix_pathinfo=1 direktívát, törölje a megjegyzéseket, és állítsa az értékét 0-ra.

cgi.fix_pathinfo=0

Ezenkívül törölje a megjegyzéseket a ;date.timezone direktívából, és állítsa be az értékét az időzónára.

date.timezone = "Africa/Kampala"

Ha végzett, mentse el a fájlt, és lépjen ki.

5. Ezután indítsa el a PHP-FPM szolgáltatást, engedélyezze az automatikus indítást rendszerindításkor, és ellenőrizze, hogy működik-e az alábbiak szerint.

systemctl start php-fpm 
systemctl enable php-fpm 
systemctl status php-fpm 

2. lépés: Biztonságos MariaDB kiszolgáló és Roundecube adatbázis létrehozása

6. Most indítsa el a MariaDB szolgáltatást a következő parancsokkal.

systemctl start mariadb
systemctl enable mariadb
systemctl status mariadb

7. A MariaDB alapértelmezett telepítése nem biztonságos. A bináris csomaghoz tartozó biztonsági szkriptet kell futtatnia annak biztosításához. A rendszer felkéri, hogy állítson be root jelszót, távolítsa el a névtelen felhasználókat, távolítsa el a root bejelentkezést, és távolítsa el a tesztadatbázist.

mysql_secure_installation

8. Most jelentkezzen be a MariaDB adatbázisba, hozzon létre egy adatbázist a Roundecube számára, és adja meg a felhasználónak a megfelelő engedélyeket az adatbázisban (ne felejtsen el beállítani egy erős/biztonságos jelszót gyártási környezet).

mysql -u root -p
MariaDB [(none)]> CREATE DATABASE roundcubemail /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
MariaDB [(none)]> CREATE USER 'roundcube'@'localhost' IDENTIFIED BY '=213@!#webL';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON roundcubemail.* TO 'roundcube'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

9. Ezután importálja a Roundcube táblázat elrendezését az újonnan létrehozott adatbázisba.

cd /var/www/html/roundcubemail/
mysql -u root -p roundcubemail < SQL/mysql.initial.sql

3. lépés: Töltse le a Roundcube csomagot

10. Ebben a lépésben töltse le a Roundcube legújabb stabil verzióját (az írás idején 1.4.9) a letöltési oldalról, vagy használja a wget parancssori letöltőt a letöltéshez. szerezze be, csomagolja ki a TAR fájlt, és töltse fel a fájlokat a webszerver dokumentumgyökérébe.

wget -c https://github.com/roundcube/roundcubemail/releases/download/1.4.9/roundcubemail-1.4.9-complete.tar.gz
tar xzf roundcubemail-1.4.9-complete.tar.gz 
mv roundcubemail-1.4.9 /var/www/html/roundcubemail

11. Ezután állítsa be a megfelelő engedélyeket a Roundcube webroot fájljaihoz.

chown -R nginx:nginx /var/www/html/roundcubemail

4. lépés: Konfigurálja az Nginx kiszolgálóblokkot a Roundcube Web Installer számára

12. Most hozzon létre egy Nginx szerverblokkot a Roundcube számára az /etc/nginx/conf.d/ alatt (a fájlt tetszés szerint nevezheti el, de rendelkeznie kell egy .conf kiterjesztés).

vim /etc/nginx/conf.d/mail.example.com.conf

Adja hozzá a következő konfigurációt a fájlhoz.

server {
        listen 80;
        server_name mail.example.com;

        root /var/www/html/roundcubemail;
        index  index.php index.html;

        #i# Logging
        access_log /var/log/nginx/mail.example.com_access_log;
        error_log   /var/log/nginx/mail.example.com_error_log;

        location / {
                try_files $uri $uri/ /index.php?q=$uri&$args;
        }

        location ~ ^/(README.md|INSTALL|LICENSE|CHANGELOG|UPGRADING)$ {
                deny all;
        }

        location ~ ^/(config|temp|logs)/ {
                deny all;
        }

        location ~ /\. {
                deny all;
                access_log off;
                log_not_found off;
        }

        location ~ \.php$ {
                include /etc/nginx/fastcgi_params;
                #fastcgi_pass 127.0.0.1:9000;
                fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }
}

Mentse el a fájlt és zárja be.

13. Ezután nyissa meg a /etc/php-fpm.d/www.conf fájlt a PHP-FPM web néhány módosításához. irányelv.

vim /etc/php-fpm.d/www.conf

Módosítsa az apache felhasználót nginx-re a következő változókban.

user = nginx
group = nginx

Ezután írja be megjegyzéssel a listen=127.0.0.1:9000 sort, és állítsa be a figyelési változót úgy, hogy az nginx szerver blokkfájljában található Unix socketen figyeljen:

listen = /var/run/php-fpm/php-fpm.sock

Ezenkívül állítsa be a UNIX socket engedélyeit, törölje a megjegyzéseket, és módosítsa a sorokat a következőre:

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

Ha végzett, mentse el a fájlt, és zárja be.

14. Ezután indítsa újra az Nginx és a PHP-FPM szolgáltatásokat a legutóbbi módosítások alkalmazásához, az alábbiak szerint.

systemctl restart nginx php-fpm

5. lépés: Nyissa meg a Roundcube webes felhasználói felületét

15. A telepítővarázsló elindítása előtt a munkamenet-hibák elkerülése érdekében állítsa be a megfelelő engedélyeket a /var/lib/php/session/ könyvtárban. Az alapértelmezett csoporttulajdonos az apache, módosítsa nginx-re az ábrán látható módon.

ls -ld /var/lib/php/session/
chown :nginx /var/lib/php/session/
ls -ld /var/lib/php/session/

16. Most nyisson meg egy böngészőt, és használja a http://mail.example.com/installer címet (cserélje le a domaint az Nginx szerverblokk létrehozásakor beállított kiszolgálónévvel for Roundcube) a webes telepítő eléréséhez. Ha minden PHP-verzió, bővítmény és php.ini/.htaccess beállítás megfelelő, akkor a következő képernyőképet fogja látni, kattintson a Következő gombra a konfigurációs oldal eléréséhez.

http://mail.example.com/installer
OR
http://IP-address/installer

17. A konfigurációs oldalon beállíthatja a Roundcube példányát. Csak az útmutató hatóköréhez tartozó fontos lehetőségeket ismertetjük.

Az Általános konfiguráció alatt állítson be egy product_name értéket, például Example.com Webmail.

Lépjen az Adatbázis beállítása elemre, adja meg az adatbázis gazdagépét, a nevet, a felhasználót és a jelszót. > a MySQL szerverhez való csatlakozáshoz.

Ezután görgessen le az IMAP és az SMTP beállításokhoz, és írja be az IMAP és SMTP szervere IP-címét, ha ugyanazon a szerveren, amelyen a Roundcube-ot futtatja, hagyja „localhost” néven, és adjon meg más szükséges paramétereket is.

Igényei szerint más beállításokat is megadhat, miután végzett, kattintson a Konfiguráció létrehozása lehetőségre.

18. Ekkor megjelenik egy üzenet: "A konfigurációs fájl sikeresen mentve a Roundcube telepítésének /var/www/html/roundcubemail/config könyvtárába." Kattintson a következőre: Folytatás.

19. A konfigurációt a Teszt konfigurációs oldalon tekintheti meg, ahogy az a következő képernyőképen látható.

20. Ezután távolítsa el a teljes telepítő mappát (amely olyan fájlokat tartalmaz, amelyek érzékeny konfigurációs adatokat, például szerverjelszavakat és titkosítási kulcsokat tesznek közzé) a Roundcube gyökérkönyvtárából (vagy győződjön meg arról, hogy a Az enable_installer opció config.inc.php fájlban le van tiltva).

rm -rf /var/www/html/roundcubemail/installer

21. Végül használja a http://mail.example.com URL-t a Roundcube bejelentkezési oldalának eléréséhez. Írja be felhasználónevét és jelszavát az e-mailek megtekintéséhez.

Összegzés

A Roundcube egy széles körben használt, teljes funkcionalitású webalapú többnyelvű levelezőkliens. Ebben a cikkben bemutattuk, hogyan telepítheti a Roundcube Webmail legújabb stabil verzióját CentOS/RHEL 8/7re az Nginx webszerverrel. Ha kérdése van, használja az alábbi visszajelzési űrlapot, hogy kapcsolatba lépjen velünk.