Linux でウェブメール環境を構築する方法~Mailpile を使った簡単セットアップガイド~


[初回公開] 2025年09月17日

Linux 環境でメールを管理する際、コマンドラインだけでなくブラウザ上で手軽に確認・操作できるウェブメールの導入は非常に便利です。本記事では、オープンソースのウェブメールクライアント「Mailpile」を使い、Linux サーバーにウェブメール環境を構築する手順を丁寧に解説します。特に、開発環境で root 宛てのメールをブラウザで簡単に閲覧できるメリットや、Mailpile の特徴、必要な依存環境の整備から起動・初期設定までの具体的な方法を章ごとにわかりやすく紹介します。

Linux でウェブメール環境を構築する方法~Mailpile を使った簡単セットアップガイド~

1.ウェブメールとは

ウェブメールは、ブラウザから直接メールを送受信・管理できるサービスのことを指します。
専用のメールクライアントをインストールせずに、インターネットに接続された任意の端末からメールを扱える利便性が特徴です。
メール本文は手元のパソコンやスマホに残らずサーバにあるので端末を変更してもメール操作が可能です。

ウェブメールとは

サーバを利用した開発現場ではメーラーを利用するよりウェブメールのツールを用意することで動作確認しながら効率良く進めることができます。

2.開発環境に立てた root 宛てのメールをブラウザで簡単に見るメリット

開発サーバーの root ユーザー宛に送られるシステム通知メールは重要な情報源です。
しかしコマンドラインでの確認は手間がかかり、見逃しも発生しがちです。

root 宛てメールをウェブブラウザから簡単に閲覧できる環境を整えることで、管理効率やトラブル対応力が向上します。

3.Mailpile(メールパイル)とは

Mailpile はオープンソースのウェブメールクライアントで、プライバシー重視の設計や高速検索機能が特徴です。
Python で書かれており、簡単にカスタマイズできます。

Mailpile(メールパイル)とは

また、セキュリティや利便性を兼ね備えたツールとして注目されています。

4.Linux に Mailpile をインストールする方法

本章は Mailpile を Linux 環境にセットアップする具体的な手順を細かく解説します。
Python のバージョン管理や必要なライブラリのインストール、Mailpile の設定から起動まで、初めての方でも迷わないように説明しています。
環境構築に必要なポイントを順に確認していきます。

4-1.Python 2.7 のインストールする

Mailpile は Python 2.7 環境で動作するため、まずはこのバージョンの Python をインストールします。

  • Python インストールに必要なパッケージをインストール
    # dnf groupinstall “Development Tools” –disablerepo=zabbix
  • さらに必要なパッケージを入れる
    # dnf install gcc openssl-devel bzip2-devel libffi-devel zlib-devel –disablerepo=zabbix
  • 手動で Python2.7 をブラウザで入手
    https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz
  • Python-2.7.18.tgz をテラタームでアップロード
  • 解凍してディレクトリ移動
    # tar -xvf Python-2.7.18.tgz
    # cd Python-2.7.18
  • make してインストール
    # ./configure –enable-optimizations
    # make
    → 途中で「error: [Errno 0] Error」が出てるが無視
    # make altinstall
  • インストール後のバージョン確認
    # python2.7 –version

4-2.Python の2系と3系を切り替える

Linux には複数バージョンの Python が共存することが多いため、Mailpile 用に Python 2.7 を優先して使うための切り替えます。

  • Python の稼働しているバージョン確認
    # python -V
    Python 3.9.2 → 3系で動いている
  • 2系のある場所を確認
    # which python2
    /usr/bin/which: no python2 in (/root/.local/bin:/root/bin:/usr/local/rbenv/bin:
    /usr/local/rbenv/shims:/usr/local/rbenv/bin:/usr/share/Modules/bin:/usr/local/sbin:
    /usr/local/bin:/usr/sbin:/usr/bin)
    → 「python2 が使えない」と出る
  • Python 2 がある場所を探す(上記でヒットすればこの操作は不要)
    # find /usr -name “python2*” 2>/dev/null
    /usr/share/bash-completion/completions/python2
    /usr/share/bash-completion/completions/python2.7
    /usr/share/systemtap/tapset/python2.stp
    /usr/local/bin/python2.7 → これ
    /usr/local/bin/python2.7-config
    /usr/local/include/python2.7
    /usr/local/lib/python2.7
    /usr/local/share/man/man1/python2.7.1
  • エイリアスを作成
    # ln -s /usr/local/bin/python2.7 /usr/local/bin/python2
    → コマンド「python2」で python2.7 が使えるようになる
  • 再度、Python2 が使えるか確認
    # python2 –version
    Python 2.7.18
  • Python 3 がある場所を探す
    # which python3
    /usr/bin/python3
  • Python の切り替えリストに入れる
    # alternatives –install /usr/bin/python python /usr/local/bin/python2 1
    # alternatives –install /usr/bin/python python /usr/bin/python3 2
  • Python を2系に切り替える
    # alternatives –config python → 数値を入れる
    There are 2 programs which provide ‘python’.

    Selection Command
    ———————————————–
    1 /usr/local/bin/python2
    *+ 2 /usr/bin/python3
    Enter to keep the current selection[+], or type selection number: → 2になってるので1を入れる

4-3.pgdump をインストールする

Mailpile が利用する PostgreSQL のデータベースバックアップツール「pg_dump」をインストールします。
pg_dump は Mailpipe を動作させるのに必要になります。

  • ブラウザで直接ダウンロード
    https://ftp.riken.jp/Linux/deepin/apricot/pool/main/p/python-pgpdump/
    python-pgpdump_1.5.orig.tar.gz
  • ダウンロードしたファイルを /root にアップロード
    # tar -xvzf python-pgpdump_1.5.orig.tar.gz
    # cd python-pgpdump-1.5/
  • pgdump をインストール
    # python2 setup.py install
    → /usr/local/lib/python2.7/site-packages に pgdump と
    → pgpdump-1.5-py2.7.egg-info ができる

4-4.必要な Python パッケージをインストールする

Mailpile の動作に必要な Python パッケージ群を pip コマンドでインストールします。
後述の Mailpipe のインストール時にで求められるため、先にインストールしておきます。

  • パッケージ管理
    # pip2 install pbr –trusted-host pypi.org –trusted-host pypi.python.org –trusted-host=files.pythonhosted.org
  • セキュリティ機能(暗号化、復号、署名、証明書処理など)を提供する 高水準な暗号ライブラリ
    # pip2 install cryptography –trusted-host pypi.org –trusted-host pypi.python.org –trusted-host=files.pythonhosted.org
  • スレッドやプロセス間での ロック(排他制御) を簡単に扱えるユーティリティライブラリ
    # pip2 install fasteners –trusted-host pypi.org –trusted-host pypi.python.org –trusted-host=files.pythonhosted.org
  • .ics 形式のカレンダーファイルを扱うためのライブラリ
    # pip2 install icalendar –trusted-host pypi.org –trusted-host pypi.python.org –trusted-host=files.pythonhosted.org

4-5.Mailpipe のインストールする

GitHub から Mailpile のソースコードを取得し、実際にインストール・セットアップします。

  • ディレクトリ移動
    # cd /root/
  • ソースをダウンロード
    # git clone https://github.com/mailpile/Mailpile.git
    # cd Mailpile
  • インストール
    # python2 setup.py install

4-6.外部からブラウザで接続できるようにする設定する

ローカルだけでなく外部ネットワークからアクセス可能にするための設定や、ファイアウォール、ポート開放を行います。

  • ポートの状態を確認
    # netstat -tuln | grep 33411
    tcp 0 0 127.0.0.1:33411 0.0.0.0:* LISTEN
    → 33411 が空いているが、127.0.0.1 しか許可していない
    → これを 0.0.0.0:33411 にしないと外部から接続できない
  • ディレクトリ移動
    # cd /usr/local/lib/python2.7/site-packages/mailpile/config/
  • 設定ファイルコピー
    # cp -a defaults.py defaults.py.bak
  • 設定変更
    # vi defaults.py
    ‘http_host’: p(_(‘Listening host for web UI’),’hostname’, ‘localhost’),

    ‘http_host’: p(_(‘Listening host for web UI’),’hostname’, ‘0.0.0.0’),

4-7.Mailpipe を起動する

インストールが完了した Mailpile を実際に起動し、動作確認をします。

  • ディレクトリ移動
    # cd /root/Mailpile
  • 起動
    # python2 mailpile
    (略)
    mailpile>
    Mailpile is unconfigured, please run `setup` or visit the web UI.

4-8.Mailpipe を初期設定する

初回起動後はユーザー登録や基本設定が必要になります。

  • 初期設定
    mailpile> setup
    (略)
    Choose a password for Mailpile: → 入力する:adminadmin
    Confirm password:
    (略)
    OK: Performed initial Mailpile setup
  • メールボックスの追加
    mailpile> add /var/spool/mail/root
    Elapsed: 0.003s (add: Added 1 mailboxes)

    {
    “added”: {
    “1”: “/var/spool/mail/root”
    }
    }

  • メールの取り込み
    mailpile> rescan mailboxes
    Elapsed: 0.003s (rescan: Rescanned mailboxes)

    {
    “mailboxes”: 1,
    “messages”: 112
    }

  • メール一覧を表示
    mailpipe> search
    → メール一覧が表示される

4-9.ブラウザでアクセスする

設定した Mailpile にブラウザからアクセスします。
正常に起動していれば、ログイン画面が表示されます。

Mailpile のログイン画面
  • http://{IP アドレス}:33411

4-10.Mailpipe を停止する

Mailpile の利用を停止したり、OS をシャットダウンするときは次の手順で停止させます。

  • mailpipe> quit

5.OS 起動時に Mailpile を自動的に起動するように方法

ここまでは Mailpile を利用したいときに手動で起動していました。
これを Linux の systemd を利用して、OS 起動時に Mailpile を自動的に立ち上げるようにします。

  • systemd サービスファイルを作成
    # nano /etc/systemd/system/mailpile.service
  • 次の内容を mailpile.service ファイルに記述
    Description=Mailpile Service
    After=network.target

    [Service]
    WorkingDirectory=/root/Mailpile
    ExecStart=/usr/bin/python2 /root/Mailpile/mailpile
    ExecStop=/bin/echo “quit” | /usr/bin/python2 /root/Mailpile/mailpile
    Restart=always
    User=root
    Group=root

    [Install]
    WantedBy=multi-user.target

  • systemd に新しいサービスファイルを読み込ませて、有効化
    # systemctl daemon-reload
    # systemctl enable mailpile.service
  • サービスを手動で起動して動作を確認
    # systemctl start mailpile.service

6.まとめ

Mailpipe は簡易的にウェブメールを利用したいときに活用できます。
特に、システムの開発時にローカル内に届くメールはコマンドで確認するより Mailpipe を利用する方が見やすいです。
システム開発者におすすめのツールです。

関連記事

コメントを残す