웹사이트 검색

CentOS/RHEL 8/7에 Roundcube 웹메일을 설치하는 방법


Roundcube는 모든 기능을 갖춘 무료 오픈 소스 웹 기반 다국어 IMAP 웹메일 소프트웨어로, 모든 기능을 갖추고 사용자 정의가 가능하며 최신 웹 표준을 사용하는 애플리케이션과 유사한 사용자 인터페이스를 갖추고 있습니다. 이는 PHP를 사용하여 구축되었으며 최신 이메일 클라이언트에서 기대할 수 있는 모든 기능을 제공합니다.

라운드큐브 기능:

  • 다국어이며 70개 이상의 언어를 지원합니다.
  • 입력하면서 찾기 주소록을 지원합니다.
  • 여러 발신자 ID를 지원합니다.
  • 정교한 개인 정보 보호 기능을 제공합니다.
  • 그룹 및 LDAP 커넥터가 포함된 모든 기능을 갖춘 주소록이 있습니다.
  • 리치텍스트/HTML 메시지 작성 기능을 제공합니다.
  • 메시지 및 연락처 검색을 지원합니다.
  • 국제를 지원합니다. 도메인 이름(IDNA).
  • 폴더 조작, 공유 폴더 및 ACL을 지원합니다.
  • 플러그인 API를 사용하여 확장 가능합니다.
  • 맞춤법 검사 기능을 제공합니다.
  • 가져오기/내보내기 기능을 제공합니다.
  • 유연한 확장 등을 위한 플러그인 API가 있습니다.

권장 시스템 요구 사항:

  1. 최소 설치가 포함된 CentOS 8/RHEL 8 또는 CentOS 7/RHEL 7 서버.
  2. Apache 또는 Nginx 웹서버
  3. PHP 및 MySQL/MariaDB 데이터베이스
  4. IMAP4 rev1을 지원하는 SMTP 및 IMAP 서버

이 기사의 범위에서는 가상 사용자가 있는 Postfix 이메일 서버를 이미 실행하고 있다고 가정합니다. 그렇지 않은 경우 가이드 설정을 따르십시오.

  1. MariaDB를 사용하여 Postfix 메일 서버 및 Dovecot 설정 – 1부
  2. Postfix 및 Dovecot 가상 도메인 사용자 구성 - 2부
  3. Postfix 메일 서버에 ClamAV 및 SpamAssassin 설치 및 통합 - 3부

테스트 환경:

이 기사의 목적에 따라 Nginx 웹 서버, 고정 IP 주소 192.168.0.100 및 호스트 이름 이 있는 Linode CentOS VPS에 Roundcube 웹메일을 설치하겠습니다. mail.linux-console.net.

1단계: CentOS 8/7에 Nginx, PHP-FPM 및 MariaDB 설치

1. 먼저 EPELREMI 저장소를 활성화하고 Nginx, PHP를 설치합니다. , PHP-FPMMariaDB 서버를 CentOS 시스템에 설치하세요.

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. 모든 패키지를 성공적으로 설치했으면 Nginx 웹 서버를 시작하고 부팅 시 자동 시작되도록 활성화한 다음 실행 중인지 확인합니다.

systemctl start nginx 
systemctl enable nginx
systemctl status nginx

3. 다음으로 시스템 방화벽이 활성화된 경우 외부 요청을 위해 포트 80을 열어야 합니다.

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

4. 다음으로 PHP-FPM이 제대로 작동하도록 구성해야 합니다. 명령줄 테스트 편집기를 사용하여 /etc/php.ini 파일을 엽니다.

vim /etc/php.ini

;cgi.fix_pathinfo=1 지시문을 찾아 주석 처리를 해제하고 값을 0으로 설정합니다.

cgi.fix_pathinfo=0

또한 ;date.timezone 지시문의 주석 처리를 제거하고 해당 값을 timezone으로 설정하세요.

date.timezone = "Africa/Kampala"

완료되면 파일을 저장하고 종료하십시오.

5. 그런 다음 PHP-FPM 서비스를 시작하고 부팅 시 자동 시작되도록 활성화한 후 다음과 같이 실행 중인지 확인합니다.

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

2단계: MariaDB 서버 보안 및 Roundecube 데이터베이스 생성

6. 이제 다음 명령을 사용하여 MariaDB 서비스를 시작합니다.

systemctl start mariadb
systemctl enable mariadb
systemctl status mariadb

7. 기본 MariaDB 설치는 안전하지 않습니다. 이를 보호하려면 바이너리 패키지와 함께 제공되는 보안 스크립트를 실행해야 합니다. 루트 비밀번호를 설정하고, 익명 사용자를 제거하고, 원격으로 루트 로그인을 비활성화하고, 테스트 데이터베이스를 제거하라는 메시지가 표시됩니다.

mysql_secure_installation

8. 이제 MariaDB 데이터베이스에 로그인하여 Roundecube용 데이터베이스를 생성하고 사용자에게 데이터베이스에 대한 적절한 권한을 부여합니다. 생산 환경).

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. 다음으로 Roundcube 테이블 레이아웃을 새로 생성된 데이터베이스로 가져옵니다.

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

3단계: Roundcube 패키지 다운로드

10. 이 단계에서는 다운로드 페이지에서 Roundcube의 최신 안정 버전(1.4.9)을 다운로드하거나 wget 명령줄 다운로더를 사용하여 다음을 수행합니다. 그것을 얻고 TAR 파일을 추출한 다음 파일을 웹 서버 문서 루트에 업로드하십시오.

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. 다음으로 Roundcube 웹루트 파일에 적절한 권한을 설정합니다.

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

4단계: Roundcube 웹 설치 프로그램을 위한 Nginx 서버 블록 구성

12. 이제 /etc/nginx/conf.d/ 아래에 Roundcube용 Nginx 서버 블록을 만듭니다(원하는 방식으로 파일 이름을 지정할 수 있지만 .conf 확장자).

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

파일에 다음 구성을 추가합니다.

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

파일을 저장하고 닫습니다.

13. 다음으로 /etc/php-fpm.d/www.conf 파일을 열어 PHP-FPM 웹에 몇 가지 변경 사항을 적용합니다. 지령.

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

다음 변수에서 사용자 apachenginx로 변경합니다.

user = nginx
group = nginx

그런 다음 listen=127.0.0.1:9000 줄을 주석 처리하고 nginx 서버 블록 파일에 설정된 Unix 소켓을 수신하도록 수신 변수를 설정합니다.

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

또한 UNIX 소켓에 대한 권한을 설정하고 주석 처리를 제거한 후 다음 줄을 변경합니다.

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

완료되면 파일을 저장하고 닫습니다.

14. 그런 다음 NginxPHP-FPM 서비스를 다시 시작하여 다음과 같이 최근 변경 사항을 적용합니다.

systemctl restart nginx php-fpm

5단계: Roundcube 웹 UI에 액세스

15. 설치 마법사를 시작하기 전에 세션 오류를 방지하려면 /var/lib/php/session/ 디렉토리에 적절한 권한을 설정하세요. 기본 그룹 소유자는 apache이며, 표시된 대로 nginx로 변경합니다.

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

16. 이제 브라우저를 열고 http://mail.example.com/installer 주소를 사용하십시오(도메인을 Nginx 서버 블록을 생성하는 동안 설정한 서버 이름으로 바꾸십시오). Roundcube의 경우) 웹 설치 프로그램에 액세스합니다. 모든 PHP 버전, 확장 프로그램 및 php.ini/.htaccess 설정이 올바른 경우 다음 스크린샷이 표시됩니다. 다음을 클릭하여 구성 페이지로 이동하세요.

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

17. 구성 페이지에서는 Roundcube 인스턴스를 설정할 수 있습니다. 이 가이드의 범위에 대한 중요한 옵션만 설명하겠습니다.

일반 구성에서 Example.com Webmail과 같은 product_name을 설정합니다.

데이터베이스 설정으로 이동하여 데이터베이스 호스트, 이름, 사용자비밀번호를 입력합니다. > MySQL 서버에 접속합니다.

그런 다음 IMAPSMTP 설정까지 아래로 스크롤하고 IMAPSMTP 서버의 IP 주소를 입력합니다(있는 경우). Roundcube를 실행 중인 동일한 서버를 "localhost "로 유지하고 기타 필요한 매개변수도 지정합니다.

필요에 따라 다른 설정을 지정할 수 있습니다. 완료한 후 구성 만들기를 클릭하세요.

18. 이제 "구성 파일이 Roundcube 설치의 /var/www/html/roundcubemail/config 디렉터리에 성공적으로 저장되었습니다."라는 메시지가 표시됩니다. 계속.

19. 다음 스크린샷에 표시된 대로 테스트 구성 페이지에서 구성을 검토할 수 있습니다.

20. 그런 다음 Roundcube 루트 디렉터리에서 전체 설치 프로그램 폴더(서버 비밀번호 및 암호화 키와 같은 민감한 구성 데이터를 공개적으로 노출할 수 있는 파일이 포함되어 있음)를 제거합니다(또는 config.inc.php의 활성화_설치 프로그램 옵션이 비활성화되어 있습니다).

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

21. 마지막으로 URL http://mail.example.com을 사용하여 Roundcube 로그인 페이지에 액세스하세요. 메일을 보려면 사용자 이름과 비밀번호를 입력하세요.

요약

Roundcube는 널리 사용되는 모든 기능을 갖춘 웹 기반 다국어 메일 클라이언트입니다. 이 기사에서는 Nginx 웹 서버를 사용하여 CentOS/RHEL 8/7Roundcube 웹메일의 최신 안정 버전을 설치하는 방법을 보여주었습니다. 질문이 있는 경우 아래 피드백 양식을 사용하여 문의해 주세요.