Kuidas installida Roundcube'i veebimeili CentOS/RHEL 8/7


Roundcube on tasuta ja avatud lähtekoodiga täisfunktsionaalne veebipõhine mitmekeelne IMAP-i veebimeili tarkvara, millel on rakendusetaoline kasutajaliides, mis on täielikult funktsionaalne ja kohandatav ning kasutab uusimaid veebistandardeid. See on ehitatud PHP abil ja pakub täielikku funktsionaalsust, mida võite oodata kaasaegselt e-posti kliendilt.

  • see on mitmekeelne, toetab üle 70 keele.
  • Toetab aadressiraamatut otsimise teel.
  • Toetab mitut saatja identiteeti.
  • Pakub keerukat privaatsuse kaitset.
  • Omab täisfunktsionaalset rühmade ja LDAP-pistikutega aadressiraamatut.
  • Pakub rikka teksti/HTML-sõnumi koostamist.
  • Toetab sõnumite ja kontaktide otsimist.
  • toetab int. domeeninimed (IDNA).
  • Toetab kaustadega manipuleerimist, jagatud kaustu ja ACL-i.
  • Laiendatav pistikprogrammi API abil.
  • Pakub õigekirjakontrolli funktsioone.
  • Pakub impordi-/ekspordifunktsioone.
  • Sellel on pistikprogrammi API paindlike laienduste ja palju muu jaoks.

  1. Minimaalse installiga RHEL 7 server.
  2. Apache või Nginx veebiserver
  3. PHP ja MySQL/MariaDB andmebaas
  4. SMTP ja IMAP-server koos IMAP4 rev1 toega

Selle artikli ulatuses eeldame, et teil on juba töötav virtuaalsete kasutajatega Postfixi e-posti server, vastasel juhul järgige meie juhiste seadistamist:

  1. Postfixi meiliserveri ja Dovecoti seadistamine MariaDB-ga - 1. osa
  2. Postfixi ja Dovecoti virtuaalse domeeni kasutajate seadistamine - 2. osa
  3. Installige ja integreerige ClamAV ja SpamAssassin Postfixi meiliserverisse - 3. osa

Selle artikli eesmärgil installin Roundcube'i veebimeili Linode CentOS VPS-i koos Nginxi veebiserveri, staatilise IP-aadressiga 192.168.0.100 ja hostinimiga mail.linux-console.net.

1. samm: installige CentOS 8/7 Nginx, PHP-FPM ja MariaDB

1. Esmalt lubage EPEL ja REMI hoidlad ning installige oma CentOS-süsteemi Nginx, PHP, PHP-FPM ja MariaDB server.

# 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. Kui olete kõik paketid edukalt installinud, käivitage Nginxi veebiserver, lubage sellel käivitamisel automaatselt käivitada ja kontrollige, kas see töötab ja töötab.

# systemctl start nginx 
# systemctl enable nginx
# systemctl status nginx

3. Järgmisena, kui teil on süsteemi tulemüür lubatud, peate väliste taotluste jaoks avama pordi 80.

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

4. Järgmisena peate seadistama PHP-FPM-i korralikult töötama. Avage käsurea testiredaktori abil fail /etc/php.ini.

# vim /etc/php.ini

Otsige käsk ; cgi.fix_pathinfo = 1 , tühjendage see ja määrake selle väärtuseks 0.

cgi.fix_pathinfo=0

Samuti tühistage direktiivi ; date.timezone kommentaar ja määrake selle väärtuseks oma ajavöönd.

date.timezone = "Africa/Kampala"

Kui olete valmis, salvestage fail ja väljuge.

5. Seejärel käivitage PHP-FPM-teenus, lubage sellel käivitamisel automaatselt käivitada ja kontrollige, kas see töötab ja töötab, järgmiselt.

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

2. samm: turvage MariaDB server ja looge Roundecube'i andmebaas

6. Käivitage MariaDB teenus järgmiste käskude abil.

# systemctl start mariadb
# systemctl enable mariadb
# systemctl status mariadb

7. MariaDB vaikimisi installimine pole turvaline. Selle turvamiseks peate käivitama binaarpaketiga kaasas oleva turbeskripti. Teil palutakse määrata root parool, eemaldada anonüümsed kasutajad, keelata juur sisselogimine kaugjuhtimise teel ja eemaldada testandmebaas.

# mysql_secure_installation

8. Nüüd logige sisse MariaDB andmebaasi, looge andmebaas Roundecube'i jaoks ja andke kasutajale andmebaasis asjakohased õigused (ärge unustage tootmiskeskkonnas seada tugevat/turvalist parooli).

# 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 '[email !#webL';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON roundcubemail.* TO 'roundcube'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

9. Järgmisena importige Roundcube'i tabeli paigutus äsja loodud andmebaasi.

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

3. samm: laadige alla Roundcube'i pakett

10. Selles etapis laadige alla selle hankimiseks Roundcube'i uusim stabiilne versioon (kirjutamise ajal 1.4.9) wget-i käsurea allalaadijast, eraldage TAR-fail ja laadige failid üles veebiserveri dokumendijuure .

# 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. Seejärel määrake Roundcube'i veebijuure failidele sobivad õigused.

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

4. samm: konfigureerige Nginxi serveriplokk Roundcube'i veebiinstallija jaoks

12. Looge nüüd Roundcube'i jaoks Nginxi serveriplokk jaotises /etc/nginx/conf.d/ (faili saate nimetada nii, nagu soovite, kuid sellel peaks olema laiend .conf).

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

Lisage faili järgmine konfiguratsioon.

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;
        }
}

Salvestage fail ja sulgege see.

13. Seejärel avage PHP-FPM-i veebidirektiivis mõne muudatuse tegemiseks fail /etc/php-fpm.d/www.conf.

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

Muutke kasutaja apache nimeks nginx järgmistes muutujates.

user = nginx
group = nginx

Seejärel kommenteerige rida listen = 127.0.0.1:9000 ja määrake kuulamismuutuja kuulama Unixi soklis, mis on määratud nginxi serveriploki failis:

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

Samuti määrake UNIX-i sokli õigused, tühjendage märk ja muutke read:

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

Kui olete valmis, salvestage fail ja sulgege see.

14. Seejärel taaskäivitage Nginxi ja PHP-FPM-i teenused hiljutiste muudatuste rakendamiseks järgmiselt.

# systemctl restart nginx php-fpm

5. samm. Juurdepääs Roundcube'i veebiliidesele

15. Enne installiviisardi käivitamist määrake seansivigade vältimiseks kataloogis/var/lib/php/session/sobivad õigused. Grupi vaikimisi omanik on apache, muutke see nginxiks, nagu näidatud.

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

16. Nüüd avage brauser ja kasutage veebi juurdepääsemiseks aadressi http://mail.example.com/installer (asenda domeen teie määratud serveri nimega, luues Roundcube'i jaoks Nginxi serveriploki) paigaldaja. Kui kõik PHP versioonid, laiendused ja php.ini/.htaccess seaded on õiged, näete järgmist ekraanipilti, klõpsake nuppu Edasi, et minna konfiguratsioonide lehele.

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

17. Konfiguratsioonide leht võimaldab teil seadistada oma Roundcube'i eksemplari. Selgitame ainult selle juhendi ulatuse olulisi võimalusi.

Jaotises Üldkonfiguratsioon määrake toote nimi näiteks example.com veebimeil.

Minge jaotisse Andmebaasi häälestus, sisestage MySQL-serveriga ühenduse loomiseks andmebaasi hosti, nimi, kasutaja ja parool.

Seejärel kerige alla IMAP-i ja SMTP-seadistusteni ja sisestage oma IMAP-i ja SMTP-serveri IP-aadress, kui see on sama server, kus käitate Roundcube'i, jätke see nimeks\"localhost" ja määrake ka muud vajalikud parameetrid.

Teised seaded saate vastavalt oma vajadustele määrata, kui olete lõpetanud, klõpsake nuppu Loo konfiguratsioon.

18. Nüüd peaksite nägema teadet: „Konfigureerimisfail salvestati edukalt teie Roundcube'i installi kataloogi/var/www/html/roundcubemail/config." Klõpsake nuppu Jätka.

19. Saate oma konfiguratsiooni üle vaadata lehel Test config, nagu on näidatud järgmisel ekraanipildil.

20. Järgmisena eemaldage Roundcube'i juurkataloogist kogu installija kaust (mis sisaldab faile, mis võivad tundlikke konfiguratsiooniandmeid, näiteks serveri paroole ja krüpteerimisvõtmeid paljastada) (või veenduge, et config.inc.php-s olev valik enable_installer oleks keelatud ).

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

21. Lõpuks kasutage Roundcube'i sisselogimislehele juurdepääsu saamiseks URL-i http://mail.example.com. Kirjade vaatamiseks sisestage oma kasutajanimi ja parool.

Roundcube on laialdaselt kasutatav täisfunktsionaalne veebipõhine mitmekeelne meiliklient. Selles artiklis näitasime, kuidas installida Roundcube Webmaili uusim stabiilne versioon CentOS/RHEL 8/7-le koos Nginxi veebiserveriga. Kui teil on küsimusi, kasutage meiega ühendust saamiseks allpool olevat tagasisidevormi.