Kuinka asentaa Roundcube Webmail CentOS/RHEL 8/7 -käyttöjärjestelmään


Roundcube on ilmainen ja avoimen lähdekoodin täysin varusteltu verkkopohjainen monikielinen IMAP-verkkosähköpostiohjelmisto, jossa on sovellusmainen käyttöliittymä, joka on täysin toimiva ja muokattavissa ja joka käyttää uusimpia verkkostandardeja. Se on rakennettu PHP:llä ja tarjoaa täydelliset toiminnot, joita voit odottaa nykyaikaiselta sähköpostiohjelmalta.

Roundcuben ominaisuudet:

  • Se on monikielinen, tukee yli 70 kieltä.
  • Tukee Etsi kirjoittaessasi -osoitekirjaa.
  • Tukee useita lähettäjän identiteettejä.
  • Tarjoaa kehittyneen yksityisyyden suojan.
  • Siinä on täysin varusteltu osoitekirja ryhmillä ja LDAP-liittimillä.
  • Tarjoaa richtext/HTML-viestien kirjoittamisen.
  • Tukee viestien ja yhteystietojen etsimistä.
  • Tukee Int. verkkotunnukset (IDNA).
  • Tukee kansioiden käsittelyä, jaettuja kansioita ja ACL-luetteloa.
  • Laajennettavissa Plug-in API:lla.
  • Tarjoaa oikeinkirjoituksen tarkistustoiminnon.
  • Tarjoaa tuonti-/vientitoimintoja.
  • Siinä on plug-in API joustavia laajennuksia ja paljon muuta varten.

Suositellut järjestelmävaatimukset:

  1. CentOS 8/RHEL 8- tai CentOS 7/RHEL 7 -palvelin minimaalisella asennuksella.
  2. Apache- tai Nginx-verkkopalvelin
  3. PHP ja MySQL/MariaDB tietokanta
  4. SMTP- ja IMAP-palvelin IMAP4 rev1 -tuella

Tämän artikkelin osalta oletamme, että sinulla on jo käynnissä Postfix-sähköpostipalvelin, jossa on virtuaalisia käyttäjiä. Muussa tapauksessa noudata ohjeidemme asennusta:

  1. Postfix-postipalvelimen ja Dovecotin määrittäminen MariaDB:n avulla – Osa 1
  2. Määritä Postfix- ja Dovecot Virtual Domain -käyttäjät – Osa 2
  3. Asenna ja integroi ClamAV ja SpamAssassin Postfix Mail Serveriin – Osa 3

Testausympäristö:

Tätä artikkelia varten asenna Roundcube Webmail Linode CentOS VPS:ään, jossa on Nginx-verkkopalvelin, staattinen IP-osoite 192.168.0.100 ja isäntänimi mail.linux-console.net.

Vaihe 1: Asenna Nginx, PHP-FPM ja MariaDB CentOS 8/7:ään

1. Aloita ottamalla käyttöön EPEL- ja REMI-tietovarastot ja asenna Nginx, PHP , PHP-FPM ja MariaDB -palvelin CentOS-järjestelmässäsi.

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. Kun olet asentanut kaikki paketit onnistuneesti, käynnistä Nginx-verkkopalvelin, ota se käyttöön automaattisesti käynnistyksen yhteydessä ja tarkista, onko se käytössä.

systemctl start nginx 
systemctl enable nginx
systemctl status nginx

3. Seuraavaksi, jos järjestelmän palomuuri on käytössä, sinun on avattava portti 80 ulkoisia pyyntöjä varten.

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

4. Seuraavaksi sinun on määritettävä PHP-FPM toimimaan oikein. Avaa tiedosto /etc/php.ini komentorivin testieditorilla.

vim /etc/php.ini

Etsi käsky ;cgi.fix_pathinfo=1, poista sen kommentti ja aseta sen arvoksi 0.

cgi.fix_pathinfo=0

Poista myös komento ;date.timezone ja aseta sen arvoksi aikavyöhyke.

date.timezone = "Africa/Kampala"

Kun olet valmis, tallenna tiedosto ja poistu.

5. Käynnistä sitten PHP-FPM-palvelu, ota se käyttöön automaattisesti käynnistyksen yhteydessä ja tarkista, onko se käynnissä seuraavasti.

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

Vaihe 2: Suojaa MariaDB-palvelin ja luo Roundecube-tietokanta

6. Käynnistä nyt MariaDB-palvelu seuraavilla komennoilla.

systemctl start mariadb
systemctl enable mariadb
systemctl status mariadb

7. MariaDB-oletusasennus on suojaamaton. Sinun on suoritettava binaaripaketin mukana tuleva suojausskripti sen suojaamiseksi. Sinua pyydetään asettamaan pääkäyttäjän salasana, poistamaan nimettömät käyttäjät, poistamaan pääkäyttäjän kirjautuminen etäyhteyden kautta ja poistamaan testitietokanta.

mysql_secure_installation

8. Kirjaudu nyt MariaDB-tietokantaan, luo tietokanta Roundecube ja anna käyttäjälle tarvittavat käyttöoikeudet tietokantaan (muista asettaa vahva/suojattu salasana tuotantoympäristö).

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. Tuo seuraavaksi Roundcube-taulukon asettelu äskettäin luotuun tietokantaan.

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

Vaihe 3: Lataa Roundcube-paketti

10. Lataa tässä vaiheessa Roundcuben uusin vakaa versio (1.4.9 tätä kirjoitettaessa) lataussivulta tai käytä wget-komentorivilatausohjelmaa hanki se, pura TAR-tiedosto ja lataa tiedostot verkkopalvelimesi asiakirjan juureen.

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. Aseta seuraavaksi tarvittavat käyttöoikeudet Roundcube-webroot-tiedostoille.

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

Vaihe 4: Määritä Nginx-palvelinlohko Roundcube Web Installerille

12. Luo nyt Nginx-palvelinlohko Roundcubelle osoitteessa /etc/nginx/conf.d/ (voit nimetä tiedoston haluamallasi tavalla, mutta sillä pitäisi olla .conf-laajennus).

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

Lisää tiedostoon seuraavat asetukset.

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

Tallenna tiedosto ja sulje se.

13. Avaa seuraavaksi tiedosto /etc/php-fpm.d/www.conf tehdäksesi muutamia muutoksia PHP-FPM-verkkoon direktiivi.

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

Muuta käyttäjän apache arvoksi nginx seuraavissa muuttujissa.

user = nginx
group = nginx

Kommentoi sitten rivi listen=127.0.0.1:9000 ja aseta kuuntelumuuttuja kuuntelemaan nginx-palvelinlohkotiedostossa olevaa Unix-liitäntää:

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

Aseta myös UNIX-socketin käyttöoikeudet, poista kommentit ja muuta rivit seuraavasti:

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

Kun olet valmis, tallenna tiedosto ja sulje se.

14. Käynnistä sitten Nginx- ja PHP-FPM-palvelut uudelleen ottaaksesi viimeisimmät muutokset käyttöön seuraavasti.

systemctl restart nginx php-fpm

Vaihe 5: Avaa Roundcube Web UI

15. Ennen kuin aloitat ohjatun asennustoiminnon, aseta asianmukaiset käyttöoikeudet hakemistoon /var/lib/php/session/ istuntovirheiden välttämiseksi. Ryhmän oletusomistaja on apache, muuta se muotoon nginx kuvan mukaisesti.

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

16. Avaa nyt selain ja käytä osoitetta http://mail.example.com/installer (korvaa verkkotunnus palvelimen nimellä, jonka määritit luodessasi Nginx-palvelinlohkoa Roundcube) päästäksesi verkkoasennusohjelmaan. Jos kaikki PHP-versiot, laajennukset ja php.ini/.htaccess-asetukset ovat oikein, näet seuraavan kuvakaappauksen. Siirry asetussivulle napsauttamalla Seuraava.

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

17. Määritykset-sivulla voit määrittää Roundcube-instanssisi. Selitämme vain tämän oppaan soveltamisalaan liittyvät tärkeät vaihtoehdot.

Aseta Yleiset määritykset -kohdassa product_name, esimerkiksi Example.com Webmail.

Siirry kohtaan Tietokannan asetukset, anna tietokannan isäntä, nimi, käyttäjä ja salasana. > muodostaa yhteys MySQL-palvelimeen.

Vieritä sitten IMAP- ja SMTP-asetuksiin ja anna IMAP- ja SMTP-palvelimesi IP-osoite, jos se on sama palvelin, jolla käytät Roundcubea, jätä se muotoon localhost ja määritä myös muut tarvittavat parametrit.

Voit määrittää muita asetuksia tarpeidesi mukaan. Kun olet valmis, napsauta Create Config.

18. Sinun pitäisi nyt nähdä viesti "Määritystiedosto tallennettiin onnistuneesti Roundcube-asennuksesi /var/www/html/roundcubemail/config-hakemistoon." Napsauta Jatka.

19. Voit tarkistaa määritykset Testaa kokoonpano -sivulta seuraavan kuvakaappauksen mukaisesti.

20. Poista seuraavaksi koko asennusohjelmakansio (joka sisältää tiedostoja, jotka voivat paljastaa arkaluontoisia määritystietoja, kuten palvelinsalasanat ja salausavaimet) Roundcuben juurihakemistosta (tai varmista, että enable_installer-vaihtoehto tiedostossa config.inc.php on poistettu käytöstä).

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

21. Käytä lopuksi URL-osoitetta http://mail.example.com päästäksesi Roundcuben kirjautumissivulle. Syötä käyttäjätunnuksesi ja salasanasi nähdäksesi sähköpostisi.

Yhteenveto

Roundcube on laajalti käytetty, täysin varusteltu verkkopohjainen monikielinen sähköpostiohjelma. Tässä artikkelissa näytimme, kuinka Roundcube Webmailin uusin vakaa versio asennetaan CentOS/RHEL 8/7 -käyttöjärjestelmään Nginx-verkkopalvelimella. Jos sinulla on kysyttävää, ota meihin yhteyttä alla olevalla palautelomakkeella.