« 2020年02月 | メイン | 2020年04月 »

2020年03月07日

Debian10にメールサーバを構築-2

メールサーバ構築の続報です。
通常のプロバイダのメールアドレスには届くのですが、Gmailや携帯電話のメールアドレスには届かないようです。
どうやら相手側(受信側)のサーバがはじいていますね。
これは送信元サーバの正引きと逆引きが異なる場合は怪しいから受信しないという設定のようで、今の世の中では極めて一般的です。
(DHCPでIPアドレスを取得し、ダイナミックDNSで名前解決をしているような個人のサーバでは当然ダメです)

しかし、メール送信しても届くアドレスと届かないアドレスが混在するのは困るので、exim4の設定を変えましょう。

# dpkg-reconfigure exim4-config [Enter]
 ↓
 「スマートホストでメール送信: SMTPまたはfetchmailで受信...」を選択
 ↓
 「送出スマートホストのIPアドレスまたはホスト名:」に契約プロバイダの「送信メールサーバ名::587」を入力
 (ちなみに、OP25Bなので587番ポートです)
 ↓
 あとは適当に…。

# vi /etc/exim4/passwd.client [Enter]
 ↓
 メールサーバ名:アカウント:パスワード
 
 を記述(なお、アカウントは「ユーザ名@ドメイン名」であることが多いかな)

# update-exim4.conf [Enter]

あとは送信テストでGmailやDocomoのメールアドレスに送ってみて、きちんと届くことを確認しました。

投稿者 masatsu : 16:54 | コメント (0)

2020年03月06日

Debian10にメールサーバを構築

使い慣れた「Postfix」を入れてみます。
これで元々入っていた「exim4」は自動削除されます(らしい)。

main.cfを設定後、メールコマンドで送信テストしてみましたが、statusがbouncedになり送信できません。
LAN内には別のメールサーバ(CentOS上でPostfix…送受信用)が稼働しているので、このサーバ(Debian)からはメールの送信だけできれば良いのですがどうにもうまくいかない。
こねくり回す時間もないので、「Postfix」は諦めて「exim4」に戻しましょう。

まず「Postfix」を完全削除。次に「exim4」をインストールしてから

# dpkg-reconfigure exim4-config [Enter]

で対話形式で設定していきます。
とは言っても、「メール設定の一般的なタイプ」を『インターネットサイト』にしてドメイン名を設定したくらいですが…。

# echo "(メール本文)" | mail -s "(メールタイトル)" -r (送り元メールアドレス) (送り先メールアドレス) [Enter]

で送信できました。
(mailコマンドを使うために「mailutils」のインストールが必要)

なんともあっけなく終わりました。
まぁ、Debianサーバで動かすWebアプリーケーションからプログラムでメール送信したいだけなので、細かい設定を行う必要がないってことです。
超簡単!

投稿者 masatsu : 09:51 | コメント (0)

2020年03月04日

Let's Encryptから無料サーバ証明書を取得

Certbot(https://certbot.eff.org/)のサイトを開き、ドロップダウンリストから「Software」を『Apache』、「System」を『CentOS 6』と選択し、該当ページを表示します。
(うちのサーバ環境がCentOS6+Apacheなので…)

WebサーバにSSH接続を行い、上記のページに示されている手順を実行します。

# wget https://dl.eff.org/certbot-auto --no-check-certificate [Enter]
# mv certbot-auto /usr/local/bin/certbot-auto [Enter]
# chmod 0755 /usr/local/bin/certbot-auto [Enter]
# cd /usr/local/bin [Enter]
# ./certbot-auto --apache [Enter]

の順で実行すると、下記の手順で自動的に証明書が導入されます。

26個のrpmパッケージをyumインストールすることになりましたが、問題なく終了。
 ↓
メールアドレスを入力。
 ↓
AgreeかCancelかの入力はAを入力。
 ↓
YesかNoの入力ではどちらでも良いけど、とりあえずYを入力。
 ↓
ドメイン名を入力(うちの場合「friction-river.mydns.jp」)。
 ↓
「1: httpd.conf」か「2: ssl.conf」の選択では2を選択。
 ↓
「1: No redirect」か「2: Redirect」では1を選択(httpのページもあるので…)。

これで今までオレオレ証明書だったのが、自動的に『Let's Encrypt』の証明書に変わりました。
(めちゃ簡単!)

注意点としては、証明書の有効期限が3ヶ月しかないので、cronで定期的に更新してやる必要があります。

# crontab -e [Enter]
で下の一文を追記します。

0 0 1 3,6,9,12 * /usr/local/bin/certbot-auto renew -q

最初の証明書を3月4日に取得して有効期限が6月2日までになっているので、3月1日、6月1日、9月1日、12月1日に実行するように設定。
(但し、この設定でうまく更新されるのかは不明(笑))

投稿者 masatsu : 17:27 | コメント (0)