Arch Linux에서 'Nginx 및 Apache'를 사용하여 RainLoop 웹메일(웹 기반 이메일 클라이언트) 설치
Rainloop는 PHP로 작성된 무료 오픈 소스 웹 애플리케이션으로 Yahoo, Gmail, Outlook 및 기타 여러 주요 도메인 메일 제공업체는 물론 로컬 메일 서버에 있는 이메일에 액세스할 수 있는 빠르고 현대적인 웹 인터페이스를 제공합니다. IMAP 및 SMTP 프로토콜을 통해 도메인 메일 서버에 액세스하여 MUA(Mail User Agent) 역할을 합니다.
RainLoop 데모
http://demo.rainloop.net/에서 작성자가 설정한 데모 페이지를 빠르게 살펴보세요.
서버에 Rainloop를 배포한 후에 해야 할 유일한 일은 웹 브라우저를 통해 Rainloop 도메인에 액세스하고 활성화된 도메인 메일 서버에 대한 자격 증명을 제공하는 것입니다.
이 튜토리얼에서는 Apache 및 Nginx에 대한 구성 파일의 두 관점에서 Arch Linux의 Rainloop 웹메일 설치 프로세스를 다룹니다. DNS 서버 없이 로컬 호스트 파일을 통해 구성된 가상 로컬 도메인을 사용합니다.
Debian 및 Red Hat 시스템에 Rainloop을 설치하는 방법에 대한 참고 자료가 필요한 경우 이전 RainLoop 웹 메일 기사를 방문하세요.
- Debian 및 Red Hat 기반 시스템에 RainLoop 웹메일 설치
요구사항
Nginx의 경우
- Arch Linux에 LEMP(Nginx, PHP, MariaDB 엔진 및 PhpMyAdmin이 포함된 MySQL) 설치
- Nginx 웹 서버에서 가상 호스트 생성
아파치의 경우
- 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, Yahoo 및 Outlook 도메인 메일 서버 구성 파일을 제공하지만 다른 파일을 추가할 수 있습니다. 원하는 경우 메일 서버 도메인.
14. 메일 서버에 로그인하려면 브라우저에서 https://rainloop.lan으로 이동하고 도메인 서버 자격 증명을 제공하세요.
추가 구성을 보려면 http://rainloop.net/docs/의 공식 Rainloop 문서 페이지를 방문하십시오.
Rainloop를 사용하면 서버가 인터넷에 연결되어 있는 한 브라우저가 있는 모든 장치에서 메일 서버에 액세스할 수 있습니다. 지금까지 Arch Linux에서 Rainloop 응용 프로그램을 사용할 때 유일한 단점은 필요한 poppassd 플러그인 패키지가 부족하다는 것입니다. 이메일 계정 비밀번호를 변경하려면