16.04前書き最近では、多くの人がGmailのようなブラウザベースのメールクライアントを使用してメールにアクセスしています。メールの確認時に広告の表示を停止したい場合、またはパブリックメールサービスから独自のドメインに移動した場合は、独自のウェブメールクライアント(_mailユーザーエージェント_またはMUAとも呼ばれます)を実行できます。Roundcubeは、PHPで書かれた最新のカスタマイズ可能なIMAPベースのWebメールクライアントです。電子メールを表示、整理、および作成するための多数の機能があり、連絡先とカレンダー管理のサポートもあります。プラグインリポジトリを使用すると、最も一般的なブラウザベースのクライアントに匹敵する機能を追加できます。Roundcubeがメールインフラストラクチャのどこに収まるかを理解するために、舞台裏でメールを構成するコンポーネントを見ていきましょう。agent(MUA)は、ユーザーが電子メールを表示および送信するために対話するインターフェースです。agent(MTA)は、送信者から受信者に電子メールを転送します。Protocol(SMTP)は、MUAがMTAにメールを送信するために使用するプロトコルです。メール配信エージェント(MDA)は、MTAから電子メールを受信して​​保存します。インターネットメッセージアクセスプロトコル(IMAP)は、MDAがMUAにメールを配信するために使用するプロトコルです。メールを送信すると、MUAはSMTPを使用してメールサーバーのMTAに転送します。数ホップ後、受信者のMTAはメールを受信し、IMAPを使用してMDAに転送します。その後、受信者は、選択したMUAを使用して電子メールを表示できます。このチュートリアルでは、Gmailを使用したRoundcubeをセットアップします。前提条件このチュートリアルを実行するには、次のものが必要です。rootユーザーとファイアウォール。Ubuntu上のこのLAMPに従ってインストールされたLAMPスタック16.04チュートリアル]。IMAPベースの電子メールサーバー。[Gmail]を使用しますが、IMAPベースの電子メールサーバーはすべて機能します。電子メールサーバーのIMAPおよびSMTP設定を確認してください。ステップ1-依存関係のインストールRoundcubeを設定する最初のステップは、依存関係のインストールとPHPの構成です。Roundcubeをインストールしたら、便利な依存関係チェックページを使用して、すべてが正しくセットアップされていることを確認できます。これらは、すぐに含まれないRoundcubeの依存関係です。+)パッケージインデックスを更新し、これらの依存関係をすべて一度にインストールします。php.ini`ファイルでPHPライブラリの一部を有効にする必要があります。php.ini`にあります。+」またはお好みのテキストエディターで開きます。/etc/php/7.0/apache2/php.ini必要な変更の多くは、コメント化されたオプションを有効にするだけです。+`セミコロンで始まります。行のコメントを解除するには、この先頭のセミコロンを削除します。行をコメントするには、先頭にセミコロンを追加します。+`で始まる多くのコメント行を含むセクションを検索します。php_xmlrpc.dll`拡張機能の行のコメントを解除します。.このファイルには、他にいくつかの変更が必要です。行のコメントを解除し、タイムゾーンを引用符で囲んで追加します。[PHPのタイムゾーンページ]を参照してください。東部標準時間に住んでいる場合、ファイルは次のようになります。upload_max_filesize`設定を検索します。この設定は、主に添付ファイルのアップロードに影響します。デフォルトでは、2MBに設定されています。MBに制限されています。複数のユーザーが同時に添付ファイルを追加する場合に備えて、ここで12MBに設定します。+`設定は添付ファイルにのみ適用されますが、この設定はメール全体(添付ファイルを含む)のサイズに適用されます。デッドロックを防ぐために、これを少し高い値に設定します。+`を検索してコメントを外し、その値が0に設定されていることを確認します。これにより、マルチバイト文字列関数のサポートが有効になります。.ファイルを保存して閉じます。サーバーは、LAMPスタック、Roundcubeの依存関係、および必要なPHP構成でセットアップされました。次のステップは、Roundcubeソフトウェアのダウンロード、インストール、および構成です。ステップ2-RoundcubeのダウンロードLinuxの世界の多くのプロジェクトと同様に、Roundcubeをインストールする方法は2つあります:パッケージから、またはソースから。RoundcubeにはPPAがありますが、プロジェクトは活発に開発中であるため、多くの場合PPAは古くなっています。(執筆時点では、PPAはバージョン1.2.3ですが、プロジェクト自体は1.3です)。最新バージョンを確実に入手するために、ソースからインストールします。Roundcubeダウンロードページに移動します。*パッケージを見つけます。[ダウンロード]ボタンを右クリックして、[リンクアドレスのコピー]を選択します。tarballをダウンロードします。https://github.com/roundcube/roundcubemail/releases/download//roundcubemail--complete.tar.gzRoundcubeアーカイブを解凍します。roundcubemail--complete.tar.gztarの引数は少しhttps://xkcd.com/1168/[intimidating]になる可能性があるため、各フラグの機能は次のとおりです。+`フラグは抽出を表します。+`に抽出されたすべてのファイルのパスと名前を出力するよう指示します。+`が付いているため、ファイルがgzipで圧縮されていることがわかります。`フラグはファイルを表します。これは最後のフラグである必要があります。+`が直後のファイルを抽出するファイルとして使用するためです。+」を必ず省略してください。/var/www/roundcube最後に、アクセス許可を変更して、Apacheがファイル(構成ファイルやログなど)を作成および編集できるようにします。*に変更し、所有者とグループの読み取りおよび書き込み権限を変更しますが、他のすべてのユーザーに対してのみ読み取りを許可します。/var/www/roundcube/logs/Roundcubeのコードをダウンロードし、その場所と権限を更新しましたが、この時点では部分的にしかインストールされていません。インストールを完了するには、RoundcubeのGUIを介してRoundcubeをデータベースに接続する必要があります。それを行う前に、ApacheにRoundcubeがどこにあるかを知らせて、Webサイトをロードできるようにする必要があります。[仮想ホストファイルです]。仮想ホストは、Apacheが同じサーバー上の複数のサイトをホストできるようにする機能です。これがApacheがホストしている唯一のサイトである場合でも、Apacheのメイン構成を編集するよりも仮想ホスト構成ファイルを使用する方が簡単でクリーンです。+`ファイルは異なるサイトを表します。ここでRoundcubeの仮想ホストファイルを作成し、Apacheにそのことを伝えて、ブラウザ経由で利用できるようにします。最初に、デフォルトの構成ファイルをコピーして、新しいファイルの開始点として使用します。/etc/apache2/sites-available/roundcube.confテキストエディターでファイルを開きます。/etc/apache2/sites-available/roundcube.confこのファイルにいくつかの変更を加える必要があります。最初にそれぞれについて説明し、次にファイル全体をコピーして貼り付けます。+`ブロックで、次のディレクティブを変更します。+`は、どのドメインをリッスンするかをApacheに指示します。使用している場合、これはサーバーのIPアドレスまたはドメイン名である必要があります。`は、トラフィックが入ったときにトラフィックを送信する場所を指定します。roundcube`のRoundcubeに送信する必要があります。+`を使用すると、Apacheに関する問題の連絡先メールアドレスを指定できます。このチュートリアルでは、これを行うようにApacheを設定していませんが、とにかく含めることをお勧めします。+`は、このサイトの成功した接続ログとエラーログを保存する場所を定義します。エラーログに特定の名前を付ける必要があるため、問題がある場合は、このサイト固有のログを簡単に見つけることができます。」ブロックを追加します。+`ブロックの各行の最初の単語は、実際の設定オプションが後に続く設定名です。+`ファイルが見つからない場合に警告を表示するようApacheに指示します。デフォルトでは、代わりにディレクトリの内容がリストされます。+`ファイルが見つかった場合、そのファイルのオプションがこのファイルのグローバル設定をオーバーライドすることをApacheに伝えます。+`は、最初にApacheに、一致するクライアントがサイトへのアクセスを許可し、次に一致しないクライアントを拒否するように指示します。+`行へのフォローアップです。どのタイプのクライアントが許可されるかを定義します。これらの変更を行うと、ファイルは次のようになります。簡潔にするため、コメントは削除されました。combined</VirtualHost>ファイルを保存して閉じます。次に、Apacheにデフォルトサイトのホスティングを停止するように指示します。000-default次に、代わりにRoundcubeサイトのホストを開始するようApacheに指示します。`を含めないようにしてください。+`は、拡張子のない設定のファイル名を必要とします。Apacheモジュールを有効にします。rewrite最後に、Apacheを再起動して、Roundcubeインストールにアクセスできるようにします。restartWebメールクライアントはほぼ使用可能です。インストールプロセスの最後のステップは、Roundcubeがアプリ固有のデータを保存できるようにデータベースを構成することです。ステップ4-MySQLの構成この時点で、Webブラウザーを開いてサーバーにアクセスしようとすると(IPアドレスまたはドメイン名を使用している場合)、構成エラーページが表示されます。これは、Roundcubeが構成のセットアップ中に生成されたファイルをチェックしているが、まだ構成のセットアップを行っていないためです。そのセットアップを実行する前に、データベースを準備する必要があります。MySQLインタラクティブシェルに接続します。+)ようにMySQLに指示します。-pコマンドを入力すると、MySQLのインストール時に作成したルートパスワードの入力を求められます。MySQLシェルになったので、データベースとデータベースユーザーを作成し、そのユーザーに新しいデータベースでコマンドを実行する権限を与えます。最初にデータベースを作成します。+)などのデータベースオプションを提供します。*/;他の多くの認証システムとは異なり、MySQLはユーザーを名前と接続元で定義します。+`から接続するように定義します。データベースにアクセスするアプリケーションの場合、ユーザーが要求を送信する場所を定義すると、セキュリティが強化されます。このユーザーを作成し、パスワードを安全なものに変更してください。+`データベースとそのすべてのテーブルに対するすべての権限を付与します。'roundcube'@'localhost';次に、変更を保存し、MySQL対話型シェルを終了します。+」を作成し、そのユーザーにデータベースへの完全な権限を付与しました。次に、データベースの構造を設定して、Roundcubeが情報を保存する場所を認識できるようにする必要があります。Roundcubeインストールでは、データベースを構成するファイルが提供されるため、手動で行う必要はありません。+`に適用するようMySQLに指示します。*ユーザーのパスワードを入力するよう求められます。この方法でデータベースをセットアップすると、Roundcubeで使用できるようにデータベースが準備され、適切な権限があることを確認できます。すべてが成功した場合、フィードバックは表示されず、コマンドプロンプトに戻ります。次に、Roundcubeにメール設定を伝え、インストールを完了します。前述したように、今すぐRoundcubeインストールにアクセスしようとすると、エラーページが表示されます。+`にアクセスする必要があります。オプションのLDAP設定とMySQLを除くすべてのデータベース行です。*がある場合、それらの依存関係をインストールする必要があります。Roundcubeは、不足している依存関係へのリンクを提供してくれるので、インストールする内容を把握できます。すべてが正しく設定されたら、ページの一番下までスクロールダウンし、[次へ]ボタンをクリックします。次のページのフォームは、7つのセクションに分かれており、Roundcube構成ファイルの生成について順を追って説明しています。以下は、記入する必要があるフォームの部分をセクションごとに分けたものです。フォームの行が以下のセクションで除外されている場合、その行をスキップしてデフォルト設定のままにすることができます。一般的な構成*一般構成*セクションには、カスタマイズ用のいくつかの化粧品オプションといくつかの一般設定があります。ここで変更する必要があるオプションは1つだけです。*にチェックマークが付いていることを確認してください。セッション認証でクライアントのIPをチェックします。いくつかのオプションの変更を行うこともできます。これは任意の名前にすることができ、テキスト内の「ラウンドキューブ」へのすべての参照は、代わりにこの名前に置き換えられます。*は、ユーザーがRoundcubeインストールのサポートを取得できるURLです。厳密に必要というわけではありませんが、支援が必要な人々のグループにRoundcubeが提供されていると便利です。mailto:+」などのメールアドレスを使用できます。*に置き換えることができます。これは、PNGファイル(178×47ピクセル)へのURLを取得します。HTTPSを有効にする場合(強くお勧めします。URLであることを確認してください。他のすべてのオプションは、デフォルト値のままにすることができます。ロギングとデバッグこのセクションのすべてをデフォルト設定のままにします。データベースのセットアップRoundcubeはMySQLを使用して、Webクライアントを実行するための情報(メールではありません)を保存します。このセクションでは、手順4で設定したデータベースにアクセスする方法をRoundcubeに指示する必要があります。以前に作成したデータベースユーザー、ユーザーパスワード、データベース名が必要です。+`を選択してください。