ウェブサイト検索

Arch Linux で「Nginx と Apache」を使用して RainLoop Webmail (Web ベースの電子メール クライアント) をインストールする


Rainloop は、PHP で書かれた無料のオープンソース Web アプリケーションであり、Yahoo、Gmail、Outlook などのすべての主要ドメイン メール プロバイダーや独自のローカル メール サーバー上のメールにアクセスするための高速な最新 Web インターフェイスを提供します。 IMAP および SMTP プロトコルを通じてドメイン メール サーバーにアクセスすることにより、MUA (メール ユーザー エージェント) として機能します。

RainLoop デモ

http://demo.rainloop.net/ で作者がセットアップしたデモ ページを簡単に見てみましょう。

Rainloop をサーバーに展開したら、あとは Web ブラウザを通じて Rainloop ドメインにアクセスし、有効なドメイン メール サーバーの資格情報を提供するだけです。

このチュートリアルでは、ApacheNginx の構成ファイルの両方の観点から、Arch Linux での Rainloop ウェブメールのインストール プロセスについて説明します。 DNS サーバーを使用せずに、ローカル ホスト ファイルを通じて構成された仮想ローカル ドメインを使用します。

Debian および Red Hat システムへの Rainloop のインストールに関する参考情報も必要な場合は、以前の RainLoop Webmail 記事を参照してください。

  1. RainLoop Webmail を Debian および Red Hat ベースのシステムにインストールする

要件

Nginxの場合
  1. LEMP (Nginx、PHP、MariaDB エンジンおよび PhpMyAdmin を備えた MySQL) を Arch Linux にインストールする
  2. Nginx Webサーバーで仮想ホストを作成する
アパッチの場合
  1. Arch Linux に LAMP (Linux、Apache、MySQL/MariaDB、および PHP/PhpMyAdmin) をインストールする

ステップ 1: Nginx または Apache の仮想ホストを作成する

1. 上部のプレゼンテーションのリンクで説明されているようにサーバー (Nginx または Apache) を設定していると仮定すると、最初に行う必要があるのは次のとおりです。 Arch Linux システム IP を指す基本的な DNS エントリをローカルの hosts ファイルに作成します。

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 構成を作成します。 > アパッチ または 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 のルート Web サーバー ファイル パス (Rainloop PHP ファイルが存在する場所) を作成し、仮想ホストを有効にして Nginx デーモンを再起動して構成を適用します。

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

Apache仮想ホスト

次の内容を含む新しいファイルを rainloop.conf という名前で /etc/httpd/conf/sites-available/ に作成します。

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 Web サーバーを使用している場合は、php.ini で次の PHP 拡張機能を有効にする必要があります。 > ファイルに加え、open_basedir ディレクティブへの新しい Web サーバーの 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 Webメールをダウンロードしてインストールする

5. ここで、Rainloop アプリケーションを公式 Web サイトからドキュメント ルート ディレクトリにダウンロードして抽出しますが、その前に wgetunzip システム ユーティリティをインストールします。

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: Web インターフェイス経由で Rainloop を設定する

9. Rainloop アプリケーションは、システム シェルを使用する方法とブラウザ経由で使用する方法の 2 つで構成できます。ターミナル経由で設定する場合は、/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 は GmailYahooOutlook ドメインのメール サーバー設定ファイルを提供しますが、他のものを追加することもできます。必要に応じて、メールサーバーのドメインも選択できます。

14. メール サーバーにログインするには、ブラウザで https://rainloop.lan にアクセスし、ドメイン サーバーの資格情報を入力します。

さらに詳しい構成については、Rainloop の公式ドキュメント ページ (http://rainloop.net/docs/) を参照してください。

Rainloop を使用すると、サーバーがインターネットに接続されている限り、ブラウザを備えた任意のデバイスからメール サーバーにアクセスできます。これまでのところ、Arch Linux で Rainloop アプリケーションを使用する唯一の欠点は、必要な poppassd プラグイン パッケージが不足していることです。メールアカウントのパスワードを変更します。