웹사이트 검색

Arch Linux에서 'Nginx 및 Apache'를 사용하여 RainLoop 웹메일(웹 기반 이메일 클라이언트) 설치


Rainloop는 PHP로 작성된 무료 오픈 소스 웹 애플리케이션으로 Yahoo, Gmail, Outlook 및 기타 여러 주요 도메인 메일 제공업체는 물론 로컬 메일 서버에 있는 이메일에 액세스할 수 있는 빠르고 현대적인 웹 인터페이스를 제공합니다. IMAP 및 SMTP 프로토콜을 통해 도메인 메일 서버에 액세스하여 MUA(Mail User Agent) 역할을 합니다.

RainLoop 데모

http://demo.rainloop.net/에서 작성자가 설정한 데모 페이지를 빠르게 살펴보세요.

서버에 Rainloop를 배포한 후에 해야 할 유일한 일은 웹 브라우저를 통해 Rainloop 도메인에 액세스하고 활성화된 도메인 메일 서버에 대한 자격 증명을 제공하는 것입니다.

이 튜토리얼에서는 ApacheNginx에 대한 구성 파일의 두 관점에서 Arch LinuxRainloop 웹메일 설치 프로세스를 다룹니다. DNS 서버 없이 로컬 호스트 파일을 통해 구성된 가상 로컬 도메인을 사용합니다.

Debian Red Hat 시스템에 Rainloop을 설치하는 방법에 대한 참고 자료가 필요한 경우 이전 RainLoop 웹 메일 기사를 방문하세요.

  1. Debian 및 Red Hat 기반 시스템에 RainLoop 웹메일 설치

요구사항

Nginx의 경우
  1. Arch Linux에 LEMP(Nginx, PHP, MariaDB 엔진 및 PhpMyAdmin이 포함된 MySQL) 설치
  2. Nginx 웹 서버에서 가상 호스트 생성
아파치의 경우
  1. Arch Linux에 LAMP(Linux, Apache, MySQL/MariaDB 및 PHP/PhpMyAdmin) 설치

1단계: Nginx 또는 Apache용 가상 호스트 생성

1. 상위 프레젠테이션 링크에 설명된 대로 서버(Nginx 또는 Apache)를 구성했다고 가정하면 가장 먼저 해야 할 일은 다음과 같습니다. Arch Linux 시스템 IP를 가리키는 로컬 hosts 파일에 기초적인 DNS 항목을 생성합니다.

Linux 시스템에서는 /etc/hosts 파일을 편집하고 localhost 항목 뒤에 Rainloop 가상 도메인을 포함시킵니다.

127.0.0.1	localhost.localdomain  localhost     rainloop.lan
192.168.1.33	rainloop.lan

Windows 시스템에서는 C:\Windows\System32\drivers\etc\hosts를 편집하고 맨 아래에 다음 줄을 추가합니다.

192.168.1.33       rainloop.lan

2. ping 명령을 사용하여 로컬 도메인을 확인한 후 에 필요한 가상 호스트SSL 구성을 만듭니다. >Apache 또는 Nginx.

Nginx 가상 호스트

다음 구성으로 /etc/nginx/sites-available/ 경로에 rainloop.lan이라는 파일을 생성합니다.

sudo nano /etc/nginx/sites-available/rainloop.conf

다음 파일 내용을 추가합니다.

server {
    listen 80;
    server_name rainloop.lan;

    rewrite        ^ https://$server_name$request_uri? permanent;
    access_log /var/log/nginx/rainloop.lan.access.log;
    error_log /var/log/nginx/rainloop.lan.error.log;
    root /srv/www/rainloop/;

    # serve static files
    location ~ ^/(images|javascript|js|css|flash|media|static)/  {
     root    /srv/www/rainloop/;
     expires 30d;
    }

    location / {
        index index.html index.htm index.php;
                autoindex on;
                autoindex_exact_size off;
                autoindex_localtime on;
 }

 location ^~ /data {
  deny all;
}

    location ~ \.php$ {
        #fastcgi_pass 127.0.0.1:9000; (depending on your php-fpm socket configuration)
        fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        include fastcgi.conf;
    }
 }

그런 다음 SSL에 해당하는 파일 콘텐츠를 만듭니다.

sudo nano /etc/nginx/sites-available/rainloop-ssl.conf

다음 파일 내용을 추가합니다.

server {
    listen 443 ssl;
    server_name rainloop.lan;

       ssl_certificate     /etc/nginx/ssl/rainloop.lan.crt;
       ssl_certificate_key  /etc/nginx/ssl/rainloop.lan.key;
       ssl_session_cache    shared:SSL:1m;
       ssl_session_timeout  5m;
       ssl_ciphers  HIGH:!aNULL:!MD5;
       ssl_prefer_server_ciphers  on;

    access_log /var/log/nginx/rainloop.lan.access.log;
    error_log /var/log/nginx/rainloop.lan.error.log;

   root /srv/www/rainloop/;

    # serve static files
    location ~ ^/(images|javascript|js|css|flash|media|static)/  {
      root    /srv/www/rainloop/;
      expires 30d;
    }

location ^~ /data {
  deny all;
}

    location / {
        index index.html index.htm index.php;
                autoindex on;
                autoindex_exact_size off;
                autoindex_localtime on;
 }

    location ~ \.php$ {
        #fastcgi_pass 127.0.0.1:9000; (depending on your php-fpm socket configuration)
        fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        include fastcgi.conf;
    }
 }

다음 단계에서는 SSL 가상 호스트에 대한 인증서 파일과 를 생성하고 가상 도메인 이름(rainloop.lan) 인증서 일반 이름.

sudo nginx_gen_ssl.sh

인증서 및 SSL 키가 생성된 후 Rainloop 루트 웹 서버 파일 경로(Rainloop PHP 파일이 있는 위치)를 만든 다음 가상 호스트를 활성화하고 Nginx 데몬을 다시 시작하여 구성을 적용합니다.

sudo mkdir -p /srv/www/rainloop
sudo n2ensite rainloop
sudo n2ensite rainloop-ssl
sudo systemctl restart nginx

Apache 가상 호스트

다음 내용으로 /etc/httpd/conf/sites-available/rainloop.conf라는 새 파일을 만듭니다.

sudo nano /etc/httpd/conf/sites-available/rainloop.conf

다음 파일 내용을 추가합니다.

<VirtualHost *:80>
                ServerName rainloop.lan
                DocumentRoot "/srv/www/rainloop/"
                ServerAdmin [email 
                ErrorLog "/var/log/httpd/rainloop-error_log"
                TransferLog "/var/log/httpd/rainloop-access_log"

<Directory />
    Options +Indexes +FollowSymLinks +ExecCGI
    AllowOverride All
    Order deny,allow
    Allow from all
Require all granted
</Directory>

</VirtualHost>

그런 다음 Apache에 해당하는 SSL 파일 콘텐츠를 만듭니다.

sudo nano /etc/httpd/conf/sites-available/rainloop-ssl.conf

다음 파일 내용을 추가합니다.

<VirtualHost *:443>
                ServerName rainloop.lan
                DocumentRoot "/srv/www/rainloop/"
                ServerAdmin [email 
                ErrorLog "/var/log/httpd/rainloop-ssl-error_log"
                TransferLog "/var/log/httpd/rainloop-ssl-access_log"

SSLEngine on
SSLCertificateFile "/etc/httpd/conf/ssl/rainloop.lan.crt"
SSLCertificateKeyFile "/etc/httpd/conf/ssl/rainloop.lan.key"

<FilesMatch "\.(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
</FilesMatch>

BrowserMatch "MSIE [2-5]" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0

CustomLog "/var/log/httpd/ssl_request_log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

<Directory />
    Options +Indexes +FollowSymLinks +ExecCGI
    AllowOverride All
    Order deny,allow
    Allow from all
Require all granted
</Directory>

</VirtualHost>

다음 단계는 SSL 가상 호스트에 대한 SSL 인증서 파일과 를 생성하고 가상 도메인 이름(rainloop.lan)을 추가하는 것입니다. ) 인증서 일반 이름.

sudo apache_gen_ssl

인증서 및 SSL 키가 생성된 후 Rainloop DocumentRoot 경로를 추가한 다음 가상 호스트를 활성화하고 Apache 데몬을 다시 시작하여 구성을 적용합니다.

sudo mkdir -p /srv/www/rainloop
sudo a2ensite rainloop
sudo a2ensite rainloop-ssl
sudo systemctl restart httpd

2단계: 필요한 PHP 확장 추가

3. Apache 또는 Nginx 웹서버를 사용하는지 여부에 관계없이 php.ini 파일에 추가하고 open_basedir 지시문에 새 웹 서버 DocumentRoot 경로를 포함합니다.

sudo nano /etc/php/php.ini

다음 PHP 확장을 찾아 주석을 제거하세요.

extension=iconv.so
extension=imap.so
extension=mcrypt.so
extension=mssql.so
extension=mysqli.so
extension=openssl.so ( enables IMAPS and SMTP SSL protocols on mail servers)
extension=pdo_mysql.so

또한 open_basedir 문은 다음과 같아야 합니다.

open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps/:/srv/www/

4. php.ini 파일이 수정된 후 서버를 다시 시작하고 phpinfo 파일을 확인하여 SSL 프로토콜이 있는지 확인하세요. 활성화되어 있습니다.

----------On Apache Web Server----------
sudo systemctl restart httpd
----------On Nginx Web Server----------
sudo systemctl restart nginx
sudo systemctl restart php-fpm

3단계: RainLoop 웹메일 다운로드 및 설치

5. 이제 공식 웹사이트에서 Rainloop 애플리케이션을 다운로드하여 문서 루트 디렉터리로 추출할 차례입니다. 단, 먼저 wget압축 해제 시스템 유틸리티를 설치하세요.

sudo pacman -S unzip wget

6. wget 명령을 사용하거나 브라우저를 사용하여 http://rainloop.net/downloads/로 이동하여 최신 소스 패키지 Rainloop zip 아카이브를 다운로드합니다.

wget http://repository.rainloop.net/v1/rainloop-latest.zip

7. 다운로드 프로세스가 완료된 후 Rainloop 아카이브를 가상 호스트 문서 루트 경로( /srv/www/rainloop/ )에 추출합니다.

sudo unzip rainloop-latest.zip -d  /srv/www/rainloop/

8. 그런 다음 애플리케이션 기본 경로에 다음 권한을 설정합니다.

sudo chmod -R 755 /srv/www/rainloop/
sudo chown -R http:http /srv/www/rainloop/

4단계: 웹 인터페이스를 통해 Rainloop 구성

9. Rainloop 애플리케이션은 브라우저를 통해 시스템 셸을 사용하는 두 가지 방법으로 구성할 수 있습니다. 터미널을 통해 구성하려면 /srv/www/rainloop/data/_data_da047852f16d2bc7352b24240a2f1599/_default_/configs/에 있는 application.ini 파일을 열고 편집하세요.

10. 브라우저에서 관리 인터페이스에 액세스하려면 다음 URL 주소 https://rainloop.lan/?admin을 사용한 다음 기본 애플리케이션 자격 증명을 제공합니다.

User= admin
Password= 12345

11. 처음 로그인하면 기본 비밀번호를 변경하라는 경고 메시지가 표시되므로 변경하는 것이 좋습니다.

12. MySQL 데이터베이스에 대한 연락처 로그인을 활성화하고 권한이 있는 사용자가 포함된 새 데이터베이스를 생성하려면 연락처 필드.

mysql -u root -p
create database if not exists rainloop;
create user rainloop_user@localhost identified by “password”;
grant all privileges on rainloop.* to rainloop_user@localhost;
flush privileges;
exit;

13. 기본적으로 Rainloop는 Gmail, YahooOutlook 도메인 메일 서버 구성 파일을 제공하지만 다른 파일을 추가할 수 있습니다. 원하는 경우 메일 서버 도메인.

14. 메일 서버에 로그인하려면 브라우저에서 https://rainloop.lan으로 이동하고 도메인 서버 자격 증명을 제공하세요.

추가 구성을 보려면 http://rainloop.net/docs/의 공식 Rainloop 문서 페이지를 방문하십시오.

Rainloop를 사용하면 서버가 인터넷에 연결되어 있는 한 브라우저가 있는 모든 장치에서 메일 서버에 액세스할 수 있습니다. 지금까지 Arch Linux에서 Rainloop 응용 프로그램을 사용할 때 유일한 단점은 필요한 poppassd 플러그인 패키지가 부족하다는 것입니다. 이메일 계정 비밀번호를 변경하려면


판권 소유. © Linux-Console.net • 2019-2024