Archive for the ‘Apache’ Category

SSL証明書のインストール(CentOS)

ここを参考にした。
CSRの作成方法 (Apache+ModSSL)
SSL証明書のインストール方法

キーや関係ファイルは /etc/httpd/conf 以下にフォルダ作ってそこにまとめた。
今回は証明書の関係から1024bitのキーを作った。
(が、これからは2048bitなんで注意。→どういうことかは「SSL 2010年問題」でググってみるべし)

cd /etc/httpd/conf/ssl.key
openssl genrsa -des3 -rand ファイル名 1024 > mydomain.key.with_pass

※ファイル名のとこは乱数の種にするので、適当なファイルにすればいい。アクセスログとか。
※2048bitの鍵の場合は、1024を2048にすればいい。
鍵ファイルにかかったパスワードを解除します。

openssl rsa -in ./mydomain.key.with_pass -out ./mydomain.key
rm mydomain.key.with_pass
chmod 600 mydomain.key

んで、CSRの作成。

cd ../ssl.csr
openssl req -new -key ../ssl.key/mydomain.key -out ./mydomain.csr
chmod 600 mydomain.csr

このCSRファイル(mydomain.csr)を認証局に送ります。

認証局から証明書(crtファイル)が来ますので、それをインストールします。
入れる場所は /etc/httpd/conf/ssl.crt/ とします。
私が使ったとこは中間証明書も必要だったので、これは /etc/httpd/conf/ssl.ca/ に置くこととします。
CentOSなら、 /etc/httpd/conf.d/ssl.conf にすでに設定がありますんで、これをなおします。

SSLEngine on
# キー
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/mydomain.key
# 証明書
SSLCertificateFile /etc/httpd/conf/ssl.crt/mydomain.crt
# 中間証明書
SSLCACertificateFile /etc/httpd/conf/ssl.ca/cacertificate.ca

これだけです。
あとは、

# /etc/init.d/httpd restart

で再起動するだけ。

念のため https://mydomain/ でアクセスして証明書の情報を確認すること。

hetemlでCakePHPを使うときの.htaccess設定注意事項

さきほどはまってしまったので、忘れないためにもメモ。

インストールは普通にやってOK。特にはまった記憶は無いです。
私の場合、webディレクトリと(CakePHPの)appディレクトリをわけています。
このへんに関しては省略。

それはさておき。
.htaccessが通常の設定のやりかたと違うので、忘れないためにメモ。
ちなみに、RewriteBaseの設定です。

(1)http://*.heteml.jp/hoge/ でアクセスするときは、RewriteBaseの設定は不要
(2)http://example.com/ (独自ドメイン)でアクセスするときは、RewriteBaseの設定が必要

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase    /
    RewriteRule    ^$    webroot/    [L]
    RewriteRule    (.*) webroot/$1    [L]
</IfModule>

※省略しましたが webroot/.htaccess にも同様に RewriteBase を追加してあげてください。

つまり、Apacheのデフォルト設定でやった時と完全に逆です。

ちなみに。
RewriteBaseを設定するということは、アクセス方法は(1)か(2)のどちらかしか選べません、ということです。
(2)の設定で(1)にアクセスされる心配は(たぶん)ありません。

・・・というか。
確実なのは、どっちにせよ「RewriteBaseでちゃんと明示しとけ」ってことですねw

Apache2 on Debian – あなたの予想に反してIt Works!

最近、いろいろあってDebianさわってます。
自宅のサーバ(2台目)もDebianです。
個人的には、FreeBSD触ってたらあまりストレスなく使えるかんじ。

さて。
DebianでApache2の設定をしようとしたら、いっぱいconfigファイルがあるので、混乱したわけですよ。
・・・ええ、いままで、httpd.conf (またはapache2.conf) に全部書いてたんで(笑)
このへんの解説を読んで再度勉強。

設定ファイルは、/etc/apache2/ 以下にあります。
そして、その中でよく弄るのが、 sites-available , mods-available のフォルダ内のファイル。
前者はVirtualHostの設定、後者はApacheモジュールの設定に関わります。

sites-available に (site-name) のファイル名で VirtualHostの設定を書いておけば、

# a2ensite (site-name)

これで sites-enabled フォルダにシンボリックリンクが生成され、有効になります。
モジュール設定も同様です。(a2enmod)

向こうにしたい場合は enをdisにすればOK。

※VirtualHost、moduleに関しての説明はばっさり割愛。
各自ぐぐってみてくだされ。

おまけ・・・というか、本当に余談。
モジュールというと、個人的にはここはチェックしておきたい。(個人的メモだけどw)
Apache 2.2でWebサイトをパフォーマンスアップ!(1/3) - @IT