昨今の SPAM(スパム)メール、いわゆる迷惑メール対策として、大手商用プロバイダでも色々な対策を取るようになってきました。そのような対策としてプロバイダ側が採用した方法が、『 SMTP ポート(TCP 25番) を制限する 』という手法です。制限のかけられているプロバイダでは、通常メールを送信するためのポート 25 番を禁止にし、専用ポート 587 番を利用するように告知がなされています。このポート 587 がサブミッション・ポート、と呼ばれています。
現状、よくあるケースとして、プロバイダさんの側で SMTP ポートを制限されてしまい、外部のメールサーバ(会社なり別のホスティングしているサーバだったり)からのメール送信ができなくなってしまう問題が発生しています。そこで、サーバ側では、どのようにメール送信を許可させるか、サブミッション・ポート 587 を使って外部ネットワークのメールサーバからメールを送る方法を以下に整理しました。
まず、/etc/mail/sendmail.mc を開き、下記のように修正します。
また、以下の項目がコメントされていない(先頭に dnl が無い)事を確認しておく必要があります。そうしないと SMTP ポートとして 25 番が開かなくなり、外部サーバから送られてくるメールも受信できなくなってしまいます。
sendmail.mc から sendmail.cf の再構築→sendmail の再起動によりポート 587 の利用ができるようになります。
※この際、下記のようにエラーが出る場合があります。
エラーが出た場合は、下記のように"sendmail-cf"パッケージをインストールした後に、再度上記の"m4"コマンド実行します。
最後に、サービスを再起動して設定を反映させます。
動作確認は telnet コマンドで簡単に行えます。
このようにポート 587 が正常に応答してくれれば問題ありません。【 QUIT 】 と入力して通信を終了させます。
と表示されたら sendmail.mc の記述が間違っているかもしれません。もう一度、記述を確認してみる必要があります。
CentOS では、インストール時にファイアウォールで許可するサービスを指定出来ます。ここでは、インストール後にファイアウォールのポートを開放する方法を説明します。
"/etc/sysconfig/iptables" を直接編集しても良いのですが、ここでは、"system-config-securitylevel" ユーティリティーを利用します。
http://sourceforge.jp/magazine/07/04/03/0148224
http://d.hatena.ne.jp/kopug/20070526/1180162629
JQueryで使えるプラグインをリストアップします。
サーバーのホスト名を変更する方法を記述します。ホスト名をきちんと設定しないとsudoができないときがあるので、気をつけましょう。
下記ファイルの該当箇所を修正する。
パソコン起動時に、自動的に立ち上るサービスを設定する方法を記載します。今回はUbuntuなどのDebian系での設定方法を主に記載しております。
ディレクトリ「/etc/init.d/」へ起動スクリプトを設置する。
ソースインストールなどの場合、自動的に起動スクリプトが生成されている場合が多いので、生成されたスクリプトを該当ディレクトリにインストールしてください。
Debian 系の場合は,update-rc.d コマンドを使って登録します.
このコマンドは、rc.dディレクトリに起動スクリプトのシンボリックリンクを張ってくれます。
実行すると、ランレベル 2 3 4 5 に S91apache が、ランレベル 0 1 6 に K91apache が作成されます.
(ちなみに91 を省略すると、デフォルトの 20 が用いられます)
ランレベル 2 3 4 5 で起動、というのはデフォルトです。
ランレベルを明示的に指定するなら,以下のように実行します.
また、Debian系におけるランレベルは下記の通りです。
init0 = 停止
init1 = シングルユーザーモード
init2 = マルチユーザーモード
init3 = マルチユーザーモード
init4 = マルチユーザーモード
init5 = マルチユーザーモード
init6 = 再起動
登録を抹消するには、以下のように実行します。
実行すると、S??donothing と K??donothing がなくなります。
いずれも、-n オプションをつけて実行すると実際の作業自体は行われません。ですので、まず -n オプションをつけて実行し、問題なさそうであれば、本番に挑むのがよろしいのではないかと思います。
MySQLをソースからコンパイルしてインストールする方法を記載します。
公式サイトよりソースをダウンロード、展開します。
コンパイルを行い、インストールします。
MySQL の自動起動スクリプトを使うことで、サーバーマシンが起動するときに自動的に MySQL を起動させることができます。
MySQL の自動起動スクリプトは MySQL のソースファイル(support-files/mysql.server)に含まれています。
これを /etc/init.d/mysql ファイルとしてコピーします。
PostgreSQLをソースからコンパイルしてインストールする方法を記載します。
公式サイトよりソースをダウンロード、展開します。
コンパイルを行い、インストールします。
「Success. You can now start the database ~」と表示されれば成功です。
PostgreSQL の自動起動スクリプトを使うことで、サーバーマシンが起動するときに自動的に PostgreSQL を起動させることができます。
PostgreSQL の自動起動スクリプトは PostgreSQL のソースファイル(contrib/start-scripts/linux)に含まれています。
これを /etc/init.d/postgresql ファイルとしてコピーします。