Rainloopは、PHPで記述されたオープンソースのWebベースの電子メールクライアントです。 高速で軽量で、SMTPおよびIMAPプロトコルをサポートします。
このガイドでは、RainloopクライアントをUbuntu22.04サーバーにインストールする方法について説明します。
前提条件
-
Ubuntu22.04を実行しているサーバー。
-
サーバーを指すドメイン名。 このチュートリアルでは、
rainloop.example.com
ドメイン。 -
sudo権限を持つroot以外のユーザー。
-
すべてが更新されていることを確認してください。
$ sudo apt update && sudo apt upgrade
-
基本的なユーティリティパッケージをインストールします。 それらのいくつかはすでにインストールされている可能性があります。
$ sudo apt install wget curl nano unzip -y
ステップ1-ファイアウォールを構成する
Rainloopをインストールする前の最初のステップは、ファイアウォールを構成することです。 ファイアウォールの状態を確認してください。
$ sudo ufw status
次のようなものが表示されます。
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)
Rainloopが機能するには、HTTPポートとHTTPSポートが必要です。
$ sudo ufw allow http $ sudo ufw allow https
使用するメールアカウントのポートを開きます。
$ sudo ufw allow 587/tcp $ sudo ufw allow 993/tcp $ sudo ufw allow 465/tcp
ステータスをもう一度確認して確認してください。
$ sudo ufw status Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 80/tcp ALLOW Anywhere 443 ALLOW Anywhere 587/tcp ALLOW Anywhere 993/tcp ALLOW Anywhere 465/tcp ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 80/tcp (v6) ALLOW Anywhere (v6) 443 (v6) ALLOW Anywhere (v6) 587/tcp (v6) ALLOW Anywhere (v6) 993/tcp (v6) ALLOW Anywhere (v6) 465/tcp (v6) ALLOW Anywhere (v6)
ステップ2-Nginxをインストールします
Ubuntu 22.04には、古いバージョンのNginxが付属しています。 最新バージョンをインストールするには、公式のNginxリポジトリをダウンロードする必要があります。
Nginxの署名キーをインポートします。
$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
Nginxの安定バージョンのリポジトリを追加します。
$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg arch=amd64] http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
システムリポジトリを更新します。
$ sudo apt update
Nginxをインストールします。
$ sudo apt install nginx
インストールを確認します。
$ nginx -v nginx version: nginx/1.22.0
ステップ3-PHPをインストールして設定する
Ubuntu22.04にはデフォルトでPHP8.1が付属しています。 ただし、Rainloopを機能させるには、PHP8.0をインストールする必要があります。 最初のステップは、OndrejのPHPリポジトリを追加することです。
$ sudo add-apt-repository ppa:ondrej/php
PHPとRainloopに必要な拡張機能をインストールします。
$ sudo dnf install php8.0-fpm php8.0-curl php8.0-mbstring php8.0-mysql php8.0-xml php8.0-cli
インストールを確認します。
$ php --version PHP 8.0.20 (cli) (built: Jun 25 2022 08:12:05) ( NTS ) Copyright (c) The PHP Group Zend Engine v4.0.20, Copyright (c) Zend Technologies with Zend OPcache v8.0.20, Copyright (c), by Zend Technologies
PHPサービスのステータスを確認してください。
$ sudo systemctl status php8.0-fpm ? php8.0-fpm.service - The PHP 8.0 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php8.0-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2022-07-04 01:52:55 UTC; 1min 22s ago Docs: man:php-fpm8.0(8) Process: 12463 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/8.0/fpm/pool.d/www.conf 80 (code=exited, status=0/SUCCESS) Main PID: 12460 (php-fpm8.0) Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec" Tasks: 3 (limit: 2241) Memory: 8.7M CPU: 89ms CGroup: /system.slice/php8.0-fpm.service ??12460 "php-fpm: master process (/etc/php/8.0/fpm/php-fpm.conf)
を開きます php.ini
編集用のファイル。
$ sudo nano /etc/php/8.0/fpm/php.ini
次の変数の値を変更して、メールの添付ファイルのサイズを25MBに設定します。
upload_max_filesize = 25M post_max_size = 25M
を押してファイルを保存します Ctrl + X と入る Y プロンプトが表示されたら。
ファイルを開く /etc/php/8.0/fpm/pool.d/www.conf
。
$ sudo nano /etc/php/8.0/fpm/pool.d/www.conf
を見つける user=apache
と group=apache
ファイル内の行を次のように変更します。
... ; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group ; will be used. ; RPM: apache user chosen to provide access to the same directories as httpd user = nginx ; RPM: Keep a group allowed to write in log dir. group = nginx ...
また、行を見つけます listen.owner = www-data
と listen.group = www-data
次のように変更します。
... ; Set permissions for unix socket, if one is used. In Linux, read/write ; permissions must be set in order to allow connections from a web server. Many ; BSD-derived systems allow connections regardless of permissions. The owner ; and group can be specified either by name or by their numeric IDs. ; Default Values: user and group are set as the running user ; mode is set to 0660 listen.owner = nginx listen.group = nginx ...
を押してファイルを保存します Ctrl + X と入る Y プロンプトが表示されたら。
PHP-FPMサービスを再起動します。広告
$ sudo systemctl restart php8.0-fpm
ステップ4-MySQLをインストールする
Ubuntu 22.04には、最新バージョンのMySQLが付属しています。 1つのコマンドでインストールできます。
$ sudo apt install mysql-server
MySQLのバージョンを確認してください。
$ mysql --version mysql Ver 8.0.29-0ubuntu0.22.04.2 for Linux on x86_64 ((Ubuntu))
この手順は、MySQLバージョン8.0.28以降で必要です。 MySQLシェルに入ります。
$ sudo mysql
次のコマンドを実行して、rootユーザーのパスワードを設定します。 数字、大文字、小文字、および特殊文字が混在していることを確認してください。
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourPassword12!';
シェルを終了します。
mysql> exit
MySQLセキュアインストールスクリプトを実行します。
$ sudo mysql_secure_installation
まず、rootパスワードの入力を求められます。 それを入力してください。 次に、パスワード検証コンポーネントをインストールするように求められます。 MySQLで使用されているパスワードの強度をチェックします。 プレス Y それをインストールします。
次に、パスワード検証ポリシーのレベルを設定するように求められます。 選ぶ 2 最強のものだから。
次に、を押します N ルートパスワードの変更を拒否します。 また、を押します Y 匿名ユーザーを削除するには、リモートrootログインを禁止し、テストデータベースを削除して、特権テーブルをリロードします。
ステップ5-MySQLを構成する
MySQLシェルにログインします。 プロンプトが表示されたら、rootパスワードを入力します。
$ sudo mysql -u root -p
Rainloopのデータベースを作成します。
mysql> CREATE DATABASE rainloop;
データベースにアクセスするSQLユーザーを作成します。 交換 yourpassword
お好みのパスワードで。
mysql> CREATE USER 'rainuser'@'localhost' IDENTIFIED BY 'YourPassword23!';
許す rainuser
データベースへのアクセス。
mysql> GRANT ALL ON rainloop.* TO 'rainuser'@'localhost';
特権テーブルをリロードします。
mysql> FLUSH PRIVILEGES;
シェルを終了します。
mysql> exit
ステップ6-Rainloopをインストールする
Rainloopのパブリックディレクトリを作成します。
$ sudo mkdir /var/www/html/rainloop -p
Rainloopの最新バージョンをダウンロードします。
$ wget http://www.rainloop.net/repository/webmail/rainloop-community-latest.zip
ダウンロードしたファイルをパブリックディレクトリに解凍します。
$ sudo unzip rainloop-community-latest.zip -d /var/www/html/rainloop
ディレクトリの所有権をNginxに変更します。
$ sudo chown -R nginx:nginx /var/www/html/rainloop
Rainloopに必要な読み取りおよび書き込み権限を設定します。
$ sudo find /var/www/html/rainloop -type d -exec chmod 755 {} ; $ sudo find /var/www/html/rainloop -type f -exec chmod 644 {} ;
ステップ7-SSLをインストールする
Let’s Encryptが提供する無料のSSL証明書を生成するには、Certbotをインストールする必要があります。
Ubuntuのリポジトリを使用してCertbotをインストールするか、Snapdツールを使用して最新バージョンを取得できます。 Snapdバージョンを使用します。
Ubuntu 22.04には、デフォルトでSnapdがインストールされています。 次のコマンドを実行して、Snapdのバージョンが最新であることを確認します。
$ sudo snap install core
Certbotをインストールします。
$ sudo snap install --classic certbot
次のコマンドを使用して、へのシンボリックリンクを作成してCertbotコマンドを実行できるようにします。 /usr/bin
ディレクトリ。
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
RainloopのSSL証明書を生成します。
$ sudo certbot certonly --standalone --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d rainloop.example.com
を生成します ディフィーヘルマングループ 証明書。
$ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 4096
ファイルを開く /etc/letsencrypt/renewal/rainloop.example.com.conf
編集用。
$ sudo nano /etc/letsencrypt/renewal/rainloop.example.com.conf
次のコードを下部に貼り付けます。
pre_hook = systemctl stop nginx post_hook = systemctl start nginx
を押してファイルを保存します Ctrl + X と入る Y プロンプトが表示されたら。
Certbotのスタンドアロンオプションを使用してSSL証明書を生成しました。 Webサーバーを実行して証明書を作成します。これは、更新中にNginxをシャットダウンする必要があることを意味します。 The pre_hook と post_hook コマンドは更新の前後に実行され、Nginxサーバーを自動的にシャットダウンして再起動するため、手動による介入は必要ありません。
SSL更新が正常に機能しているかどうかを確認するには、プロセスのドライランを実行します。
$ sudo certbot renew --dry-run
エラーが表示されない場合は、すべて設定されています。 証明書は自動的に更新されます。
ステップ8-Nginxを構成する
ファイルを開く nginx.conf
編集用。
$ sudo nano /etc/nginx/nginx.conf
行を見つける include /etc/nginx/conf.d/*.conf;
その下に次のコードを貼り付けます。
server_names_hash_bucket_size 64;
を押してファイルを保存します Ctrl + X と入る Y プロンプトが表示されたら。
NginxのRainloop構成ファイルを作成し、編集用に開きます。
$ sudo nano /etc/nginx/conf.d/rainloop.conf
次のコードを貼り付けます。
server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name rainloop.example.com; root /var/www/html/rainloop; index index.php; client_max_body_size 25M; access_log /var/log/nginx/rainloop.access.log; error_log /var/log/nginx/rainloop.error.log; ssl_certificate /etc/letsencrypt/live/rainloop.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/rainloop.example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/rainloop.example.com/chain.pem; ssl_session_timeout 5m; ssl_session_cache shared:MozSSL:10m; ssl_session_tickets off; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1; ssl_stapling on; ssl_stapling_verify on; ssl_dhparam /etc/ssl/certs/dhparam.pem; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ .php$ { fastcgi_index index.php; fastcgi_split_path_info ^(.+.php)(.*)$; fastcgi_keep_conn on; include fastcgi_params; fastcgi_pass unix:/run/php/php8.0-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } location ~ /.ht { deny all; } location ^~ /data { deny all; } } # enforce HTTPS server { listen 80; listen [::]:80; server_name rainloop.example.com; return 301 https://$host$request_uri; }
を押してファイルを保存します Ctrl + X と入る Y プロンプトが表示されたら。
Nginx構成構文を確認します。
$ sudo nginx -t
Nginxサービスを再起動します。
$ sudo systemctl restart nginx
ステップ9-Rainloopを構成してアクセスする
URLを介してRainloopの管理者ページを開きます https://rainloop.example.com/?admin
次のログイン画面が表示されます。
次の資格情報を入力し、Enterキーを押してログインします。
Username: admin Password: 12345
Rainloop管理者ダッシュボードが開き、デフォルトのパスワードを変更するよう警告が表示されます。
ダッシュボードのリンクを使用して、デフォルトのパスワードを変更します。
新しいパスワードを入力して、 パスワードの更新 ボタンをクリックして続行します。
RainloopはMySQLを使用して連絡先情報を保存します。 連絡先ページを開き、を選択します MySQL ドロップダウンメニューから。
以前に作成したデータベースクレデンシャルを入力します。
を押します テスト ボタンをクリックして接続を確認し、テーブルをインストールします。 ボタンが緑色に変わったら、接続が成功したことを意味します。
メールアカウントを追加することで、Rainloopの使用を開始できます。
結論
これで、RainloopがUbuntu22.04サーバーに正常にインストールされました。 ご不明な点がございましたら、下のコメント欄に投稿してください。
The post Ubuntu22.04にRainloopWebメールをインストールする方法 appeared first on Gamingsym Japan.