ワイルドカードSSLの申請

ワイルドカードSSLサーバー証明書の申請と設置方法を書きます。

(知ってる人には、何を今更な話ですが …)

前提条件として Apache / mod_ssl は普通に使える環境であるものとします。

■ ワイルドカードSSLサーバー証明書とは

FQDNのホスト名(サブドメイン名)の部分が何でも使えるSSLサーバー証明書のことです。

例)
www.very-cute.net
www2.very-cute.net
test.very-cute.net
demo.very-cute.net
shop.very-cute.net
hogehoge.very-cute.net
arecore.very-cute.net
...
など

これの申請方法、設置方法は、ワイルドカードじゃない普通のものとほとんど変わらず、CSRを作るときの1点だけが違います。

続きを読む

SSLの申請と設置

SSLサーバー証明書の申請と設置方法を書きます。

前提条件として Apache / mod_ssl は普通に使える環境であるものとします。

■ 事前準備

(1) OpenSSLがインストールされているか確認

# openssl version

OpenSSL 1.0.0-fips 29 Mar 2010
などと表示されればOK.

インストールされていなければインストール
# yum install openssl

(2) 申請書、証明書の保存場所を作成しておく

Apache の conf のパスに移動して

# cd /etc/httpd/conf/

# mkdir ssl.key
# mkdir ssl.csr
# mkdir ssl.crt

続きを読む

Apache チューニングの基本

Apache チューニングの基本的な考え方と設定について書きます。

(1) 基本的な考え方

ホームページのレスポンスを良くするには、まずは KeepAlive On!
そしてあとは MaxClient の調整。
これが基本です。

KeepAlive の正しいドキュメントはこれですが↓
http://httpd.apache.org/docs/2.2/ja/mod/core.html#keepalive

本来 KeepAlive とは一定時間接続をキープするという設定です。
接続をキープする時間を KeepAliveTimeout で設定します。

HTMLファイルとその中のimgタグは別リクエストなのは周知の事実ですが、それを踏まえて上記のマニュアルを見てください。

On にすると、複数のリクエストが(imgタグも)同じ TCP の接続で送られます。
逆に Off だと1リクエスト毎に(imgタグ毎に)1接続ずつ必要です。

接続をキープする時間が長すぎるとホームページから去った人の接続も解放されず溜まっていきます。
それはそれで問題で、KeepAliveTimeout 2 くらいがよいとされています。

続きを読む

Apache2.2 インストールと設定

CentOS/RHELに Apache2.2 を yum でインストールする方法と、いつもやる最低限の初期設定を書きます。

■ Apache2.2 と mod_ssl (yum配布版rpm)

(1) インストール

SSLを入れない理由もないので mod_ssl も同時に入れます。

# yum  -y install httpd mod_ssl

(2) ファイル構成

/etc/httpd/conf/httpd.conf
/etc/httpd/conf.d/README
/etc/httpd/conf.d/ssl.conf
/etc/httpd/conf.d/welcome.conf

この中で重要なのはメインの設定ファイル httpd.conf です。
SSLの設定は ssl.conf で行います。

続きを読む

バーチャルメールのジレンマ

ブラウザでメールアドレスが簡単に追加/削除できるバーチャルメールシステム。
便利ですが、これを導入すると別のことが制限されることもあります。

まず「バーチャルメール」とは何のことか説明します。

・バーチャルメールボックス
・バーチャルメールアドレス
・バーチャルメールシステム

こんな言い方で使われることが多くどれも微妙に違いますが、どれも概ね同じ類の話をするとき使う言葉で、バーチャルメールのメールボックス、メールアドレス、システムを指しています。

「バーチャルメール」とは?

メールのPOPユーザーがFTPユーザー(UNIXアカウントのユーザー)でなく仮想的なユーザー(大抵メールアドレスそのもの)でメールアドレスを送受信できることを大雑把に総称してそう呼びます。

これを当たり前と思っている人のほうが増えてきたような気がしますのであえて少し解説します。
続きを読む

PostfixAdminでバーチャルメールの構築

postfix/dovecotのメールサーバーで、従来の方式「FTPユーザーがメール受信ユーザー」という環境からバーチャルメール環境に切り替える方法について書きます。
バーチャルメールの運用ツールは PostfixAdmin 1択です。
他によいツールを知りません。
そして、PostfixAdminを使用するにはデータベース MySql が必要です。

前提条件としてpostfix/dovecotでメールを送受信できる環境まで設定済みとします。
postfix/dovecotのインストールと設定については postfix 2.3.x の設定dovecot ver.1系と2系の違い を参照してください。

■ PostfixAdmin インストール

(0) 事前準備

mysql に postfixデータベース、専用のpostfixユーザーを作成しておく必要があります。
(データベースは空でよいです)

データベース名: postfix
ユーザー名    : postfix
パスワード    : xxxxxxxxxxxx

メールボックスにアクセスするバーチャルユーザーを作成します。
後でいくつかの設定ファイルにユーザーID、グループIDを記述するため、ここで決めておきます。
使っていない番号なら何でもよいのですが、ここでは ユーザーID = 600、 グループID = 600 とします。

# mkdir /home/vmailbox
# groupadd -g 600 vuser
# useradd -g vuser -u 600 -d /home/vmailbox -s /sbin/nologin vuser
# chown vuser:vuser /home/vmailbox
# chmod 771 /home/vmailbox

続きを読む

MySQL5.5 インストールと初期設定

CentOS/RHELに MySQL5.5 を yum でインストールする方法と、いつもやる最低限の初期設定を書きます。

■ MySQL5.5インストール (yum配布版rpm)

yum で rpmパッケージをインストールするには標準のリポジトリでなく remi を使います。
(2012/9月現在では標準のリポジトリでは配布されていません)

remi リポジトリをまだ入れていない場合は入れておきます。

# cd /etc/yum.repos.d
# wget http://rpms.famillecollet.com/enterprise/remi.repo

(1) インストール

# yum --enablerepo=remi -y install mysql-server

(2) ファイル構成

/usr/bin/mysql*         ... プログラム諸々
/etc/my.cnf             ... 設定ファイル
/usr/share/mysql        ... 設定ファイルの雛形など
/var/lib/mysql          ... データベースが配置される
/var/lib/mysql/mysql.sock ... ソケットファイル
/var/log/mysqld.log     ... ログ
/var/lock/subsys/mysqld    ... 実行中のロックファイル
/var/run/mysqld/mysqld.pid ... 実行中のPIDファイル
/etc/init.d/mysqld      ... サービス起動シェル

続きを読む

サービス化してない apache のログローテート

logrotate というツールがあります。

これはサーバーのログを定期にファイル名を変更して世代管理してくれるものです。

特に apache のログは定期的な整理、削除をしないと肥大化していってディスクを食いつぶしますのでこの手のツールは必須と言えます。

ところで、apache が yum でインストールされていれば話は簡単ですが、特定バージョンのソースを持ってきてビルドしてインストールしてある場合はちょっと困ったことになります。

普通、logrotate をインストールすると、自動的に apache のログ整理用の設定ファイルが出来ますが、apache がビルドインストールだと、それがうまくいきません。
標準の apache のインストール先にモジュールが無いのがいけないでしょうか。

そんなときの対処方法を書いておきます。

(1) logrotate ファイル構造

/etc/logrotate.conf
/etc/logrotate.d/
	acpid
	httpd
	mgetty
	munin
	・
	・
	・
	サービスやモジュール毎の設定ファイル諸々

続きを読む

postfix 2.3.x の設定

CentOS/RHELのデフォルトのMTA(Mail Transfer Agent) (またはSMTPサーバーとも呼びます)である postfix のインストールと設定について書きます。

■ postfix 2.3.x (yum配布版rpm)

CentOS6ならデフォルトで postfix 2.3 以上のバージョンです。
CentOS5ならyumだと違ったかもしれません。

postfix は、2.3 以上のバージョンを使いましょう。
理由は【mysql対応】しているからです。
mysql対応していれば後で postfixadmin (バーチャルメールボックスに対応させるツール) が使えるからです。
(postfixadminについては今回は割愛します)

(1) インストール

# yum install postfix

(2) ファイル構成

ファイルは複数ありますが、メインの設定は main.cf です。
サブミッションポートを使用可能にする場合、master.cf を修正します。

/etc/postfix/
	access
	canonical
	generic
	header_checks
	main.cf     ... メインの設定ファイル
	master.cf   ... コマンドの拡張などの設定
	relocated
	transport
	virtual     ... バーチャル配送定義

続きを読む

dovecot ver.1系と2系の違い

CentOS/RHELのデフォルトのPOP3/IMAP4メールサーバー dovecot がメジャーバージョンアップしました。
ある日 yum update でOSのモジュールアップデートをすると、dovecot がバージョン 1.xから 2.0 になりました。

このメジャーバージョンアップ、とんでもないことに、設定ファイルの数、構成が変わったのです。
今まで1つだった設定ファイルの数が増え、サブフォルダに用途別に配置されるようになりました。
どのファイルに何の設定を書くか仕様ががらっと変わってしまいました。
焦ります。こういうバージョンアップはできれば止めて欲しいものです。

ここに、バージョン1系と2系の設定ファイルの違いについてまとめます。

■ dovecot 1.x

(1) インストール

# yum install dovecot

(2) ファイル構成

設定ファイルは1つだけです。

/etc/dovecot.conf

続きを読む