Webメール · 5 min read · Sep 30, 2025

Debian 9.1にWebMail Lite PHPベースのWebメールクライアントをインストールする

このガイドでは、Debian 9.1に最新のWebMail Lite PHPをインストールし、Yahoo! Mailという人気のメールサービスからメールを取得するためにアプリケーションを設定する方法を示します。デモンストレーション目的でYahoo! Mailサービスを使用しますが、WebMail Liteでのメール処理に自分のドメインを自由に使用してください。ドメイン設定を追加する手順は、Yahoo! Mailサービスの設定とほぼ同じです。WebMail LiteクライアントをYahoo!アカウントが提供するIMAPおよびSMTPサービスへのインターフェースとして使用し、すべてのメールは自分のプライベートWebサーバーでローカルに処理されます。

WebMail Liteは、PHPで書かれた無料のオープンソースのメールユーザーエージェントまたはWebクライアントで、Apache/Nginx、PHP、MySQL/MariaDBコンポーネントの下でLinuxに展開され、LEMP/LAMPスタックを構成します。WebMail Liteは、IMAP/Sおよび/またはSMTP/Sプロトコルを介してメールにアクセスし、メールファイルを同期したり、メールメッセージを送信したりするために使用できます。

要件

  • ベアメタルマシンまたは仮想プライベートサーバー上のDebian 9の最小インストール。
  • システムネットワークインターフェースカードの1つに設定された静的IPアドレス。
  • ローカルまたはリモートアカウントのsudo root権限またはrootアカウントへの直接アクセス。
  • 適切なDNSレコードが設定されたプライベートまたはパブリックのドメイン名。
  • IMAPおよびSMTPサービスへのリモートアクセスが適切に設定されたメールサービス。

初期設定

WebMail Liteをソースから自分のサーバーにインストールおよび設定する前に、まずシステムがアプリケーションのコンパイルおよびインストールに必要なすべてのソフトウェア要件を満たしていることを確認してください。最初のステップでは、以下のコマンドを発行してシステムリポジトリとソフトウェアパッケージを更新します。

apt update
apt upgrade

Debianの更新をインストール

次のステップでは、コマンドラインからシステムをさらに管理するために使用されるいくつかのユーティリティをインストールするために、以下のコマンドを実行します。

apt install wget bash-completion unzip

システムユーティリティをインストール

次に、以下のコマンドを実行してシステムの名前を設定します。ホスト名変数を適切に置き換えてください。

hostnamectl set-hostname mail

以下のコマンドを発行してマシンのホスト名とhostsファイルを確認します。

hostnamectl
cat /etc/hostname
hostname –s
hostname –f

ホスト名を設定

最後に、カーネルの更新とホスト名の変更を適切に適用するためにDebianサーバーを再起動します。

systemctl reboot

WebMail Liteは、主にPHPサーバーサイドプログラミング言語で書かれたWebメールクライアントです。WebMail Lite PHPファイルスクリプトを実行するには、Apache HTTPサーバーなどのWebサーバーと、システム内で動作しているPHP処理ゲートウェイが必要です。アプリケーションが正常に動作するために必要なすべてのPHPモジュールとともにApache WebサーバーとPHPインタープリターをインストールするために、サーバーコンソールで以下のコマンドを発行します。

apt install apache2 libapache2-mod-php7.0 php7.0 php7.0-xml php7.0-mcrypt php7.0-opcache php7.0-mbstring php7.0-curl

Apache Webサーバーをインストール

ApacheとPHPがインストールされた後、以下のコマンドをroot権限で発行してWebサーバーが稼働しており、ポート80でネットワーク接続をリッスンしているかどうかをテストします。

netstat –tlpn

Debianシステムにnetstatネットワークユーティリティがデフォルトでインストールされていない場合は、以下のコマンドを実行してインストールします。

apt install net-tools

net-toolsをインストール

netstatコマンドの出力を調査することで、Apache Webサーバーがポート80での受信ネットワーク接続をリッスンしていることがわかります。同じタスクには、Debian 9にデフォルトで自動的にインストールされるssコマンドも使用できます。

ss- tlpn

Apacheがネットワークでリッスンしているか確認

システムにUFWファイアウォールアプリケーションなどのファイアウォールが有効になっている場合は、以下のコマンドを発行してHTTPトラフィックがファイアウォールを通過できるように新しいルールを追加する必要があります。

ufw allow WWW

または

ufw allow 80/tcp

Debianサーバーでファイアウォールルールを管理するためにiptables生ルールを使用している場合は、訪問者がオンラインアプリケーションを閲覧できるようにファイアウォールでポート80の受信トラフィックを許可するために以下のルールを追加します。

apt-get install -y iptables-persistent
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

次に、以下のコマンドを発行してWebMail Liteアプリケーションの一部を保護するために使用されるApacheモジュールを有効にします。

a2enmod rewrite
systemctl restart apache2

最後に、クライアントのブラウザでApache WebサーバーのデフォルトWebページが表示できるかどうかをテストします。DebianマシンのIPアドレスまたはドメイン名、またはHTTPプロトコルを介してサーバーのFQDNにアクセスします。マシンのIPアドレスがわからない場合は、ifconfigまたはip aコマンドを実行してサーバーのIPアドレスを表示します。DebianのデフォルトApacheページがブラウザに表示されます。

http://your_domain.tld

WebMail LiteアプリケーションにHTTPSプロトコルを介してアクセスし、クライアントのトラフィックを保護するために、以下のコマンドを発行してApache WebサーバーのSSLモジュールとSSLサイト設定ファイルを有効にします。

a2enmod ssl
a2ensite default-ssl.conf

ApacheでSSLを有効にする

次に、テキストエディタでApacheデフォルトSSLサイト設定ファイルを開き、以下のサンプルのようにDocumentRootディレクティブの後にURLリライトルールを追加して有効にします。

nano /etc/apache2/sites-enabled/default-ssl.conf

SSLサイト設定ファイルの抜粋:

  
  Options +FollowSymlinks  
  AllowOverride All  
  Require all granted  

また、以下の抜粋のようにVirtualHost行を変更します:

        

SSLポートを有効にする

SSL Apacheファイルを閉じ、/etc/apache2/sites-enabled/000-default.confファイルを編集のために開き、SSL設定ファイルと同じURLリライトルールを追加します。以下の例のようにDocumentRootステートメントの後にコード行を挿入します。

  
  Options +FollowSymlinks  
  AllowOverride All  
  Require all granted  

wwwディレクトリへの権限ルールを追加

最後に、これまでに設定したすべてのルールを適用するためにApacheデーモンを再起動し、HTTPプロトコルを介してドメインにアクセスします。Apacheがインストール時に発行した自己署名証明書ペアを使用しているため、ブラウザにエラー警告が表示されるはずです。以下のスクリーンショットのように。

systemctl restart apache2

https://yourdomain.tld

自己署名SSL証明書メッセージ

警告を受け入れて続行し、HTTPSを介してApacheのデフォルトWebページにリダイレクトされます。

Apacheのデフォルトページが表示される

UFWファイアウォールアプリケーションがHTTPSポートへの受信ネットワーク接続をブロックしている場合は、以下のコマンドを発行してHTTPSトラフィックがファイアウォールを通過できるように新しいルールを追加する必要があります。

ufw allow 'WWW Full'

または

ufw allow 443/tcp

iptablesがネットワークレベルでDebianシステムを保護するためにインストールされたデフォルトのファイアウォールアプリケーションである場合、訪問者がドメイン名を閲覧できるようにファイアウォールでポート443の受信トラフィックを許可するために以下のルールを追加します。

iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

次のステップでは、PHPのデフォルト設定ファイルにさらに変更を加えて、以下のPHP変数が有効になっていることを確認し、PHPのtimezone設定が正しく構成され、システムの地理的位置に一致するようにします。/etc/php/7.0/apache2/php.iniファイルを編集のために開き、以下の行が次のように設定されていることを確認します。また、最初にPHP設定ファイルのバックアップを作成します。

cp /etc/php/7.0/apache2/php.ini{,.backup}
nano /etc/php/7.0/apache2/php.ini

php.ini設定ファイルで以下の変数を検索、編集、変更します:

file_uploads = On  
allow_url_fopen = On  
memory_limit = 128 M  
upload_max_file_size = 64M  
date.timezone = Europe/London

大きなファイル添付をサポートするためにmemory_limit変数を適切に増やし、物理的な時間に応じてtime.zone変数を置き換えます。PHPドキュメントで提供されているタイムゾーンのリストを参照して、以下のリンクで確認してください http://php.net/manual/en/timezones.php

Webサイトページの読み込み速度をOPCacheプラグインを介して向上させたい場合は、以下のOPCache設定をPHPインタープリター設定ファイルの下部に追加します。

opcache.enable=1   
opcache.enable_cli=1   
opcache.interned_strings_buffer=8   
opcache.max_accelerated_files=10000   
opcache.memory_consumption=128   
opcache.save_comments=1  
opcache.revalidate_freq=1

php.ini設定ファイルを閉じ、以下のコマンドを発行してPHP設定ファイルの末尾を確認し、変数が正しく追加されているかどうかを確認します。

tail /etc/php/7.0/apache2/php.ini

PHP Opcacheを有効にする

上記のすべての変更を行った後、以下のコマンドを発行してApacheデーモンを再起動し、新しい変更を適用します。

systemctl restart apache2

最後に、以下のコマンドを実行してPHP情報ファイルを作成し、ブラウザで以下のURLからPHP情報スクリプトファイルにアクセスしてPHPタイムゾーンが正しく構成されているかどうかを確認します。date設定までスクロールしてphpタイムゾーン設定を確認します。

echo ''| tee /var/www/html/info.php

https://domain.tld/info.php

PHPの日付とタイムゾーン設定を確認

WebMail Lite Webメールクライアントは、ユーザー、セッション、連絡先などの異なる設定をRDBMSデータベースに保存します。このガイドでは、WebMail LiteをバックエンドとしてMariaDBデータベースを使用するように設定します。以下のコマンドを発行してMariaDBデータベースとmysqlデータベースにアクセスするために必要なPHPモジュールをインストールします。

apt install mariadb-server php7.0-mysql

PHP MySQLドライバをインストール

MariaDBをインストールした後、デーモンが実行中であり、localhostのポート3306で接続をリッスンしていることを確認するためにnetstatまたはssコマンドを実行します。

netstat –tlpn | grep mysql

次に、MySQLコンソールにログインし、以下のコマンドを発行してMariaDB rootアカウントを保護します。

mysql -h localhost
use mysql;  
update user set plugin='' where user='root';  
flush privileges;  
exit

MySQL rootユーザーログインを設定

次のステップでは、mysql_secure_installationスクリプトを実行してMariaDBを保護します。スクリプトを実行すると、MariaDBデータベースを保護するために設計された一連の質問が表示されます。たとえば、MySQL rootパスワードを変更する、匿名ユーザーを削除する、リモートrootログインを無効にする、テストデータベースを削除するなどです。以下のコマンドを発行してスクリプトを実行し、すべての質問に「はい」と入力してMySQLデーモンを完全に保護してください。以下のスクリプト出力をガイドとして使用してください。

sudo mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
You already have a root password set, so you can safely answer 'n'.
Change the root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
 ... Success!
Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] y
 ... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y
- Dropping test database...
 ... Success!
- Removing privileges on test database...
 ... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
 ... Success!
Cleaning up...
All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!

MariaDBのセキュリティをテストするために、rootパスワードなしでコンソールからデータベースにログインしてみてください。rootアカウントにパスワードが提供されていない場合、データベースへのアクセスは拒否されるはずです。パスワードが提供されると、MySQLコンソールへのログインプロセスが許可されるはずです。以下のスクリーンショットのように。

mysql -h localhost -u root
mysql -h localhost -u root –p

MySQLログインをテスト

次に、MariaDBデータベースコンソールにログインし、WebMail Lite用に使用するデータベースを作成し、このデータベースを管理するために使用されるユーザーとパスワードを作成します。以下のコマンドを発行します。WebMail Liteデータベース名、ユーザー、パスワードを適切に置き換えてください。

mysql –u root -p
create database webmaillite;  
grant all privileges on webmaillite.* to 'webmail_user'@'localhost' identified by 'webmail_pass';  
flush privileges;  
exit

WebmailLiteデータベースとユーザーを作成

これまでに行ったすべての変更を適用するために、MySQLとApacheデーモンを再起動し、以下のコマンドを発行してデーモンが実行中であることを確認します。

systemctl restart mysql apache2
systemctl status mysql apache2

WebMail Liteをインストール

すべてのシステム要件が満たされた後、WebMail LiteのWebページにアクセスします https://afterlogic.org/download/webmail-lite-php そして、以下のwgetユーティリティを発行して最新のzipパッケージ圧縮アーカイブをダウンロードします。以下のサンプルのように。

wget https://afterlogic.org/download/webmail_php.zip

WebmailLiteをダウンロード

zipアーカイブのダウンロードが完了したら、WebMail Lite zip圧縮アーカイブを抽出し、以下のコマンドを発行して抽出されたファイルをリストします。また、Apache Webサーバーによってwebrootパスにインストールされたデフォルトのindex.htmlファイルを削除し、以前に作成したinfo.phpファイルも削除します。

rm /var/www/html/index.html
rm /var/www/html/info.php
unzip webmail_php.zip
ls

次に、以下のコマンドを発行してwebmailディレクトリの抽出されたファイルをドメインのwebrootパスに再帰的にコピーします。また、webmailディレクトリからすべてのファイルがwebrootに完全に転送されたかどうかを確認するためにwebrootパスをリストできます。

ls webmail
cp -rf webmail/* /var/www/html/
ls -l /var/www/html/

抽出されたファイルをリスト

次に、以下のコマンドを実行してApacheランタイムユーザーにwebrootパスへのフル書き込み権限を付与します。lsコマンドを使用して、/var/www/html/ディレクトリにあるPrestashopインストールファイルの権限をリストします。

chown -R www-data:www-data /var/www/html/
ls –al /var/www/html/

Apacheにwebrootへのアクセスを付与

WebMail Liteのインストールプロセスを続行するには、ブラウザを開き、サーバーのIPアドレスまたはドメイン名をHTTPSプロトコルを介して/installディレクトリに移動します。最初のインストール画面では、WebMail Liteインストーラスクリプトが一連のシステムチェックを行い、すべての必要なPHP拡張機能とモジュールがサーバーにインストールされているかどうか、Apacheユーザーがdataディレクトリと設定ファイルに書き込み権限を持っているかどうかを確認します。以下の画像のように。すべてのサーバー要件が満たされた場合は、次のボタンを押して次のインストール画面に進みます。

https://yourdomain.tld/install

サーバー互換性テスト

次のインストール画面では、ライセンス契約の条件を読み、受け入れ、I Agreeボタンを押して続行します。以下の画像のように。

ライセンス条件を受け入れる

次のインストール画面では、データベースタイプMySQLを選択し、MySQLデータベースホストアドレス、データベース名、およびWebMail Liteデータベースにアクセスするために以前に作成した資格情報を指定します。Test databaseボタンを押してデータベース接続をテストし、MySQLデータベースへの接続が成功した場合は、インストーラーが必要なテーブルを作成できるようにCreate database Tablesをチェックし、次のボタンを押して次のインストール画面に進みます。

MySQLデータベースの詳細を入力

次のインストール画面では、mailadmユーザーの強力なパスワードを提供し、次のボタンを押して続行します。このユーザーは、管理パネルを介してWebMail Liteのさまざまな側面を管理するために使用されます。

管理者パスワードを設定

次に、IMAPおよびSMPプロトコルを介してメールサーバーへの接続が期待通りに機能しているかどうかを確認します。デモンストレーション目的で、Yahoo! Mailが提供するメールサービスへの接続を構成してテストします。メールサービスのドメインを適宜変更できます。Yahoo! MailサーバーのSMTP接続をテストするには、Eメールサーバーホストフィールドに次のアドレスsmtp.mail.yahoo.comを入力し、SMTPチェックボックスをオンにして接続テストボタンを押します。Yahoo! SMTPサーバーへの接続が成功した場合、緑色のメッセージが表示され、Yahoo! MailからSMTPを介して送信できることが通知されます。

メールサーバー接続をテスト

Yahoo! Mailサーバーで暗号化されたIMAP接続が許可されているかどうかをテストするには、Eメールサーバーホストフィールドにimap.mail.yahoo.com:993を入力し、IMAP4チェックボックスをオンにして接続テストボタンを押します。Yahoo! IMAPサーバーへの接続が成功した場合、緑色のメッセージが表示され、Yahoo! MailからIMAPSを介して受信メールを確認およびダウンロードできることが通知されます。完了したら、次のボタンを押して最後のインストールステップに進みます。

imaps接続をテスト

インストールプロセスが完了すると、インストーラーはWebMail Lite Webアプリケーションが正常にインストールされたことを通知し、ドメインのwebrootからインストーラーのディレクトリを削除する必要があります。Exitボタンを押して画面を離れ、WebMail Lite管理パネルに移動します。

インストール成功

WebMail Lite管理パネルにアクセスするには、次のアドレスに移動します。ドメイン名またはIPアドレスを適宜置き換えてください。

https://yourdomain.tld/adminpanel

mailadmユーザー名と、インストールプロセス中にこのユーザーのために設定したパスワードで管理パネルにログインします。以下のスクリーンショットのように。

メール管理者としてログイン

WebMail Liteのドメインメールサービスを設定するには、Domains -> Default settingsに移動します。このガイドではデモンストレーション目的でWebMail LiteをYahoo! Mailアカウントのメールを管理するように設定しますが、必要な設定を追加することで自分のドメインを構成することもできます。

受信メールフィールドにYahoo! MailサーバーのIMAPアドレスimap.mail.yahoo.comとポート993を追加します。また、セキュリティ接続を介してメールを取得するためにUse SSLチェックボックスをオンにします。

送信メールフィールドにYahoo! MailサーバーのSMTPアドレスsmtp.mail.yahoo.comとポート465を追加します。また、セキュリティ接続を介してメールを送信するためにUse SSLチェックボックスをオンにします。

SMTP認証では、Yahoo! Mail SMTPサーバーに認証するために、’Use incoming mail’s login/password of the user’をチェックします。

最後に、サイトの名前を追加したり、WebMail Liteアプリケーションのテーマを変更したり、ユーザーがインターフェース設定にアクセスできるようにするオプションもあります。また、アプリケーションの地域設定を変更することもできます。以下のスクリーンショットのように。設定を保存して適用するには、Saveボタンを押します。

メールアカウントを構成

WebMail Lite管理パネルは、アプリケーション設定を変更するために使用できる他のオプションも提供します。たとえば、ログを有効にしたり、mailadmアカウント名とパスワードを変更したり、Webメールインターフェースを他の外部サービスと統合したりできます。カスタム設定の設定が完了したら、Logoutボタンを押します。

Yahoo! MailアカウントでWebMail Liteアプリケーションにログインするには、HTTPプロトコルを介してドメイン名に移動し、以下の画像のようにYahoo! Mailの資格情報を提供します。Yahoo!アカウントのメールがWebMail Liteインターフェースに表示されます。

WebmailLiteにログイン

WebMail Lite

訪問者がWebMail LiteインターフェースをHTTPSプロトコルを介して閲覧するように強制し、インストールディレクトリとバージョンファイルを保護するには、サーバーコンソールに移動し、次の内容で新しい.htaccessファイルをWebサーバーのドキュメントルートパスに作成します。

nano /var/www/html/.htaccess

.htaccessファイルの抜粋:

  
RewriteEngine on  
RewriteCond %{HTTPS} !=on [NC]  
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]  
  
  
RewriteEngine on  
Options -Indexes   
# return a 403 forbidden error for install dir and version file  
RewriteRule ^install/?$ - [F,L]  
RewriteRule ^VERSION/?$ - [F,L]

すべての接続にSSLを強制する

インストールディレクトリに新しい.haccessファイルを作成し、以下の内容を追加します。

nano /var/www/html/install/.htaccess

.htaccessファイルの抜粋:

RewriteEngine on  
Options -Indexes  
Require all denied

.htaccessファイルにリライトルールを追加

これで完了です!Debian 9.1にWebMail Liteを正常にインストールおよび構成しました。ただし、Apache HTTPサーバーが自己署名証明書を使用してサーバーと訪問者のブラウザ間のトラフィックを暗号化しているため、警告メッセージが常に生成され、ブラウザに表示されます。この場合、信頼できる証明書機関から発行された証明書を購入するか、Let’s Encrypt CAから無料の証明書ペアを取得する必要があります。WebMail Liteに関する他のカスタム構成については、以下のアドレスのドキュメントページを訪れてください: https://afterlogic.com/docs/webmail-lite


Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。