Mailman は、電子メール サーバー データベースの管理を支援する React で書かれた SPA です。
Thomas Leister 氏の素晴らしいメールサーバー チュートリアル「Dovecot、Postfix、MySQL および Rspamd を使用した Debian 9 ストレッチのメールサーバー」で提供されているデータベース モデルを備えた機能的なメールサーバーが必要です。
vmail データベース ユーザーの権限を更新して、クエリの挿入、更新、削除を許可します。
grant select , insert, update , delete on vmail. * to ' vmail ' @ ' localhost ' identified by ' vmaildbpass ' ;
または、新しいユーザーを作成します。
grant select , insert, update , delete on vmail. * to ' vmail_mailman ' @ ' localhost ' identified by ' vmaildbpass ' ;
サーバーにdocker
がインストールされている場合は、Docker コンテナーで Mailman を実行できます。それ以外の場合は、「デプロイメント」セクションに進み、手動でデプロイする方法を確認してください。
sample.env
ファイルをダウンロードします。
wget https://github.com/phiilu/mailman/raw/master/sample.env -O .env
.env
内の変数を更新して、mailman を起動します。
docker run -d --net= " host " --env-file .env --restart=always --name mailman phiilu/mailman
説明:
-d
、コンテナをデーモン プロセス (別名バックグラウンド) として実行します。--net="host"
ネットワークをホストと共有するように docker に指示します。これは vmail データベースにアクセスするために必要です--env-file .env
コンテナ内の環境変数を設定します--name mailman
Docker コンテナの名前を mailman に設定します。サブフォルダー構成を備えた Docker:
http root /
ではなくサブフォルダー/mailman
を介して mailman にアクセスする場合は、以下を変更する必要があります。
sample.subfolder.env
ファイルをダウンロードします。
wget https://github.com/phiilu/mailman/raw/master/sample.subfolder.env -O .env
.env
内の変数を更新し、:subfolder タグを使用して mailman を起動します。
docker run -d --net= " host " --env-file .env --restart=always --name mailman phiilu/mailman:subfolder
注:この Docker イメージはパス/mailman
専用です。変更することはできません。
sudo apt install build-essential python
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.6/install.sh | bash
nvm をインストールした後は、ほとんどの場合、ログアウトして再度ログインします。
nvm を使用してノードをインストールする
nvm install 9.1.0
$ node -v
v9.1.0
$ npm -v
5.5.1
npm i -g pm2
Mailman のクローンを root 以外のユーザーのホーム ディレクトリに作成するのが最も簡単です。
git clone https://github.com/phiilu/mailman.git
cp sample.env .env
テキスト エディタで .env を開き、環境変数を構成に合わせて調整します。
MAILMAN_SECRET
JWT トークンに署名するための長い一意のランダム文字列MAILMAN_DB_ENGINE
mailman によって使用されるエンジン。値が指定されていない場合、デフォルトは maria になります。MAILMAN_DB_USER
vmail
データベース ユーザーMAILMAN_DB_PASSWORD
vmail
データベース ユーザーのパスワードMAILMAN_DB_DATABASE
vmail
データベースMAILMAN_HOST
mailman がバインドする IP アドレス。デフォルトは0.0.0.0
ですMAILMAN_PORT
メールマンがバインドする TCP ポート。デフォルトは4000
ですMAILMAN_BASENAME
HTTP ベース。デフォルトは/
ですMAILMAN_ADMIN
vmail
データベースの管理を許可されているユーザーの電子メール アドレスサブフォルダーの構成:
http root /
ではなくサブフォルダー/mailman
を介して mailman にアクセスする場合は、以下を変更する必要があります。
これらの手順は、Mailman を構築する前に行う必要があります。
mailman/client/package.json
を開き、 "homepage": "http://localhost:4000/"
を"homepage": "http://localhost:4000/mailman"
に変更します。mailman/client/.env.production
を開き、 REACT_APP_BASENAME=/
REACT_APP_BASENAME=/mailman
に変更します。mailman/.env
を開き、 MAILMAN_BASENAME=/
をMAILMAN_BASENAME=/mailman
に変更します。npm install && cd client && npm install && cd - && npm run build
pm2
pm2 kill
killnpm start
ランダムなハッシュを生成するには、ターミナルでコマンドを使用します。
head /dev/urandom | tr -dc A-Za-z0-9 | head -c 128 ; echo ' '
cd mailman && npm install && cd client && npm install && cd - && npm run build
npm start
Mailman はサーバーのポート4000
で実行されているはずです。
mailman ディレクトリ内で次のコマンドを実行します。
git stash && git pull && npm install && cd client && npm install && cd - && npm run build && pm2 restart all
docker pull phiilu/mailman:latest
新しいイメージをプルした後は、新しいコンテナを起動するだけです。
server {
listen 80 ;
server_name mailman.example.org;
##
## Uncomment one of the two possibilities
##
# Subdomain
#location / {
# proxy_pass http://localhost:4000;
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
#}
# Subfolder
#location /mailman {
# proxy_pass http://localhost:4000;
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
#}
}
キャッチオール電子メールアドレスを使用したい場合は、トーマスガイドを参照してください。
キャッチオールのアドレスを設定しますか? (ドイツ語)
このプロジェクトは MIT ライセンスに基づいてライセンスされています