SNIを使ったSSL設定

自分のためのメモ

SNIで常時SSLのバーチャルドメインサイトを構築します。
前提は、すでにIPアドレスベースのSSLサイトの設定はできていて、それにSNIでSSLのバーチャルドメインサイトを追加する形です。

実はSNIと言ってもそんなにとりたてて何か特別な作業が必要という訳ではありません。普通にバーチャルホスト80番ポートを443番ポートに変更して証明書だけIPベースと同じように各ドメイン名のを指定してやればそれでOKです。特にひねりはありません。むしろ、昔のIPベースのSSLサイトの時代に「IPアドレス一個にSSLサイトは一個のみ」というのを知らなくて設定ファイルを書いてやってみてうまく動かなくてやっとダメだと分かった時の設定でSNIはうまくいくように作られてます。
“SNIを使ったSSL設定” の続きを読む

FreeBSD (phpMyAdmin)

/usr/ports/databases/phpmyadmin

本家はここ。 過去に日本語版を配布していたサイトはここ

MySQLサーバーのwebインターフェース。

# cd /usr/ports/databases/phpmyadmin
# portinstall

でOK。

# /usr/local/www/phpMyAdmin
# cp ./libraries/config.default.php config.inc.php

でconfig.inc.phpを編集。最低限下記で動かせます。

$cfg['PmaAbsoluteUri'] = 'https://URL/ほげほげ';
$cfg['Servers'][$i]['port']          = '3306';
$cfg['Servers'][$i]['password']      = '(mysqlのrootのパスワード)';
$cfg['DefaultLang'] = 'ja';

https://URL/ほげほげでアクセスしたいので、/usr/local/etc/apache22/extra/http-ssl.confに下記追記。

Alias /ほげほげ "/usr/local/www/phpMyAdmin"
AllowOverride All
Options FollowSymLinks ExecCGI Includes
Allow from All

当然、/usr/local/www/phpMyAdminに.htaccessを置いてベーシック認証をかけるべし。

参考リンク: phpMyAdmin 設置手順

FreeBSD (Webmin)

/usr/ports/sysutils/webmin

Webmin 1.310をインストール。

# cd /usr/ports/sysutils/webmin
# portinstall

終わったら、rc.confに webmin_enable=”YES” を追記。

# /usr/local/lib/webmin/setup.sh

でセットアップ。sslを選ぶ。ポートはデフォの10000。

# /usr/local/etc/rc.d/webmin start

で起動。

ブラウザで https:ほげほげ:10000 でアクセスできるはず。
参考リンク: 日本Webminユーザー会公式Webページ

サーバーの引越し

このブログのサーバーを引越ししました。

その際にブログのURLを https://www.masashi.org/blog/ として新サーバーにWordpressをインストール。旧サーバーからDBをエクスポートしてURLの部分を修正し、新サーバーにインポートしたのだけど、httpdが、

Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary.
Use 'LogLevel debug' to get a backtrace.

というエラーを吐くようになった。httpd.confに LimitInternalRecursion 100 とか設定すると頻度は減るのだがそれでもエラーは消えない。値を250にしてみたがそれでも時々出てくる。どうにもよく分からないので元のURLでそのままアクセスできるように設定変更してみたら何故かエラーが消えた。

とりあえず結果オーライだけど、うーん、謎。

FreeBSD (PHP5)

/usr/ports/lang/php5

# portinstall lang/php5
# cat /var/db/ports/php5-extensions/options

# This file is auto-generated by ‘make config’.
# No user-servicable parts inside!
# Options for php5-5.2.0
_OPTIONS_READ=php5-5.2.0
WITH_CLI=true
WITH_CGI=true
WITH_APACHE=true
WITHOUT_DEBUG=true
WITH_SUHOSIN=true
WITH_MULTIBYTE=true
WITHOUT_IPV6=true
WITHOUT_REDIRECT=true
WITHOUT_DISCARD=true
WITH_FASTCGI=true
WITH_PATHINFO=true

/usr/ports/lang/php5-extensions

# portinstall lang/php5
# cat /var/db/ports/php5-extensions/options

# This file is auto-generated by ‘make config’.
# No user-servicable parts inside!
# Options for php5-extensions-1.0
_OPTIONS_READ=php5-extensions-1.0
WITHOUT_BCMATH=true
WITH_BZ2=true
WITH_CALENDAR=true
WITH_CTYPE=true
WITHOUT_CURL=true
WITHOUT_DBA=true
WITHOUT_DBASE=true
WITH_DOM=true
WITHOUT_EXIF=true
WITHOUT_FILEINFO=true
WITHOUT_FRIBIDI=true
WITH_FTP=true
WITH_GD=true
WITH_GETTEXT=true
WITHOUT_GMP=true
WITH_HASH=true
WITH_ICONV=true
WITHOUT_IMAP=true
WITHOUT_INTERBASE=true
WITHOUT_LDAP=true
WITH_MBSTRING=true
WITHOUT_MCRYPT=true
WITHOUT_MHASH=true
WITHOUT_MING=true
WITHOUT_MSSQL=true
WITH_MYSQL=true
WITHOUT_MYSQLI=true
WITHOUT_NCURSES=true
WITHOUT_ODBC=true
WITHOUT_OPENSSL=true
WITHOUT_PCNTL=true
WITH_PCRE=true
WITH_PDF=true
WITH_PDO=true
WITHOUT_PGSQL=true
WITH_POSIX=true
WITHOUT_PSPELL=true
WITHOUT_READLINE=true
WITHOUT_RECODE=true
WITH_SESSION=true
WITHOUT_SHMOP=true
WITH_SIMPLEXML=true
WITHOUT_SNMP=true
WITHOUT_SOAP=true
WITHOUT_SOCKETS=true
WITH_SQLITE=true
WITHOUT_SYBASE_CT=true
WITHOUT_SYSVMSG=true
WITHOUT_SYSVSEM=true
WITHOUT_SYSVSHM=true
WITHOUT_TIDY=true
WITH_TOKENIZER=true
WITHOUT_WDDX=true
WITH_XML=true
WITH_XMLREADER=true
WITHOUT_XMLRPC=true
WITH_XMLWRITER=true
WITHOUT_XSL=true
WITHOUT_YAZ=true
WITH_ZIP=true
WITH_ZLIB=true

/usr/local/etc/apache22/httpd.confに下記追記

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

同じく、index.phpをDeirectoryIndexに追記

DirectoryIndex index.php index.html index.htm