ArchLinuxで「NginxとApache」を使用してRainLoopWebmail(Webベースの電子メールクライアント)をインストールします


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

http://demo.rainloop.net/で、作成者が設定したデモページを簡単に確認してください。

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

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

DebianおよびRedHatシステムへのRainloopのインストールに関するリファレンスも必要な場合は、の以前のRainLoopWebメールの記事にアクセスしてください。

  1. Install RainLoop Webmail on Debian and Red Hat based Systems
  1. Install LEMP (Nginx, PHP, MySQL with MariaDB engine and PhpMyAdmin) in Arch Linux
  2. Create Virtual Hosts in Nginx Web Server
  1. Install LAMP (Linux, Apache, MySQL/MariaDB, and PHP/PhpMyAdmin) in Arch Linux

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

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

Linuxシステムでは、/etc/hosts ファイルを編集し、ローカルホストエントリの後にRainloop仮想ドメインを含めます。

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

Windowsシステムで、 C:\ Windows \ System32 \ drivers tc \ hosts を編集し、下部に次の行を追加します。

192.168.1.33       rainloop.lan

2. ping コマンドを使用してローカルドメインを確認した後、 Apache または 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 root Webサーバーファイルパス(Rainloop PHPファイルが存在する場所)を作成し、仮想ホストを有効にして、Nginxデーモンを再起動して構成を適用します。

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

/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 protected]
                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 protected]
                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:RainLoopWebメールをダウンロードしてインストールする

5.次に、Rainloopアプリケーションを公式Webサイトからドキュメントルートディレクトリにダウンロードして抽出しますが、最初に wget および unzip システムユーティリティをインストールします。

$ sudo pacman -S unzip wget

6. wget コマンドを使用するか、ブラウザを使用してhttp://rainloop.net/downloads/に移動し、最新のソースパッケージRainloopzipアーカイブをダウンロードします。

$ 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 [email protected] identified by “password”;
grant all privileges on rainloop.* to [email protected];
flush privileges;
exit;

13.デフォルトでは、Rainloopは Gmail Yahoo 、および Outlook ドメインのメールサーバー構成ファイルを提供しますが、必要に応じて他のメールサーバードメインを追加できます。

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

その他の構成については、公式のRainloopドキュメントページ(http://rainloop.net/docs/)にアクセスしてください。

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

全著作権所有。 © Linux-Console.net • 2019-2022