今までSSLサイトを自己署名した俗に言う「オレオレ証明書」で運用していたのですが、最近安いSSL Certificates(SSL証明書)が利用できるようになってきたので使ってみました。安い証明書ということで色々調べるとNameCheapが扱っているRapidSSLが一番安いみたいです。同じRapidSSLでも本家だと年間69ドルと高かったり、日本語で扱っている所で30ドルくらいしてます。NameCheapのは3年期限だと年間12.88ドルです。今回はとりあえずということで1年期限で14.88ドルで購入しました。購入手続きをするとSSL証明書取得のリンクがユーザーパネルに現れます。
/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 設置手順
/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を http://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でそのままアクセスできるように設定変更してみたら何故かエラーが消えた。
とりあえず結果オーライだけど、うーん、謎。
/usr/ports/sysutils/apcupsd
言わずと知れたUPSのコントロールソフト。
-
# cd /usr/ports/sysutils/apcupsd
-
# portinstall
Options選択はCGIとSNMPにX印を入れて続行。
終わったら/usr/local/etc/apcupsdでapcupsd.confの作成
今回はapcupsd.conf.net-master.sampleをapcupsd.confにコピーして編集する。一台だけの独立したサーバーなのでスタンドアローンの設定にするだけにする。バッテリーの保持時間とかの細かな設定は後回し。SMART-UPS 700にDELLのSC430のシリアル接続。
-
# diff apcupsd.conf apcupsd.conf.net-master.sample
-
5,7c5,7
-
<UPSCABLE smart
-
<UPSTYPE apcsmart
-
<DEVICE /dev/ttyd0
-
---
-
> UPSCABLE 940-1524C
-
> UPSTYPE smartups
-
> DEVICE /dev/usv
-
21,22c21,22
-
<UPSCLASS standalone
-
<UPSMODE disable
-
---
-
> UPSCLASS netmaster
-
> UPSMODE net
/etc/rc.confに下記追記
-
# apcupsd
-
apcupsd_enable="YES"
-
apcupsd_program="/usr/local/sbin/apcupsd"
rehashして/usr/local/etc/rc.d/apcupsd startで起動。
/usr/local/etc/apcupsd/cgi下を/usr/local/www/apache22/cgi-binにapcupsdディレクトリを作ってコピー。
http://www.ほげほげ/cgi-bin/apcupsd/multimon.cgi でUPSの状態を見れるようにする。
今度のサーバーのUPSはSMART-UPS 700を使っているが、温度が40℃を超えている。長寿命バッテリーを奮発したとは言え夏場の高温での劣化が今から心配。手元のサーバーのUPSはSMART-UPS 2200で約30℃。筐体の余裕の違いだろうなぁ。。。
参考URL 1
/usr/ports/mail/squirrelmail
以前は/user/ports/japanese/に日本語版が置いてあったが今はここのみに置いてあるみたい。
日本語版本家では1.4.5で止まっているけど、portsのは1.4.8。とりあえずportsで入れてみる。
-
# cd /usr/ports/mail/squirrelmail
-
# portinstall
その後、/usr/local/www/squirrelmailに降りて、
-
# cd /usr/local/www/squirrelmail
-
# ./configure
で各種設定を行う。
日本語を使うなら、 メニュー10番目のLanguageの所を
-
Language preferences
-
1. Default Language : ja_JP
-
2. Default Charset : iso-2022-jp
-
3. Enable lossy encoding : false
でOK。あと、メニュー2番目のServer SettingsでIMAPサーバーを選択すれば使えるようになります。ウチはuw IMAPなのでこんな感じ。
-
IMAP Settings
-
--------------
-
4. IMAP Server : localhost
-
5. IMAP Port : 143
-
6. Authentication type : cram-md5
-
7. Secure IMAP (TLS) : false
-
8. Server software : uw
-
9. Delimiter : detect
あとは、適当に好みで。
apacheの設定は、SSLで使いたかったのでIncludesに置いたhttpd-ssl.confに下記を追記。
-
<code>Alias /webmail "/usr/local/www/squirrelmail"</code>
-
AllowOverride All
-
Options FollowSymLinks ExecCGI Includes
-
Allow from All
これで https://wwwほげほげ/webmail で使えるようになる。
ところが、 返信とかすると下記のようなウォーニングが。
-
Warning: preg_split() expects parameter 4 to be long, string given in /usr/local/www/squirrelmail/functions/imap_messages.php on line 808Warning: Invalid argument supplied for foreach() in/usr/local/www/squirrelmail/functions/mime.php on line 52
ぐぐってみたらパッチ発見。
http://www.hmailserver.com/forum/viewtopic....
http://sourceforge.net/tracker/index.php?func=detail&aid=1543573.....
-
# diff imap_messages.php.org imap_
-
messages.php
-
808c808
-
<$flags = preg_split('/ /', $regs[1],-1,'PREG_SPLIT_NI_EMPTY');
-
---
-
> $flags = preg_split('/ /', $regs[1],-1,PREG_SPLIT_NO_EMPTY);
これで解決。
/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
「[warn] (2)No such file or directory: Failed to enable the ‘httpready’ Accept Filter」と言ってApacheに怒られた。
ちょっとググってみたらビンゴなページがあった。感謝。
# kldload accf_http.ko
or
「/boot/loader.conf」に「accf_http_load=”YES”」を追加。
# portinstall www/wget4web
で一発。
あらかじめApacheが入っていないとApacheのインストールから始めようとするので要注意。 あとでApache2.2を入れるつもりだったのがApache1.3xを入れようとするのでちょっと焦った。
今日は適当にメモっただけ。後日清書するかも。
/usr/ports/www/apache22
/usr/local/etc/pkgtools.conf
MAKE_ARGS = {
‘www/apache22′ => [
‘WITHOUT_DAV_MODULES=yes’,
‘WITHOUT_PROXY_MODULES=yes’,
‘WITHOUT_IPV6=yes’,
],
}
# portinstall www/apache22
# diff /usr/local/etc/apache22/httpd.conf httpd.conf.org
40c40
< Listen www.xxx.yyy.zzz:80
—
> Listen 80
132c132
< ServerAdmin www@ほげほげ
—
> ServerAdmin you@example.com
453,468d452
< < NameVirtualHost *:80
<
<
< ServerAdmin webmaster@ほげほげ
< DocumentRoot /usr/home/www/404
< ServerName 404.ほげほげ
<
< Options Indexes FollowSymLinks
< AllowOverride None
< Order allow,deny
< Allow from all
<
< ErrorLog /var/log/404.ほげほげ-error_log
< CustomLog /var/log/404.ほげほげ-access_log common
<
こうしておけば /usr/local/etc/apache22/Includesで設定していないホストへのアクセスを全部ここに集中できる。
# /usr/bin/openssl genrsa -out /usr/local/etc/apache22/server.key 1024
# /usr/bin/openssl req -new -days 365 -key /usr/local/etc/apache22/server.key -out /usr/local/etc/apache22/server.csr -out /usr/local/etc/apache22/server.csr
なんちゃって自己証明
# /usr/bin/openssl x509 -in /usr/local/etc/apache22/server.csr -out /usr/local/etc/apache22/server.crt -req -signkey /usr/local/etc/apache22/server.key -days 365
# chmod 600 server.*
を忘れずに。
/usr/local/etc/apache22/extra/httpd-ssl.confのDocumentRoot, ServerName, ServerAdminをを適当に書き換えて/usr/local/etc/apache22/Includes/httpd-ssl.confに置く。
あと、必要に応じて /usr/local/etc/apache22/IncludesにVirtual Hostのファイルを作って置けばOK。こんな感じ
# Virtual Hosts
#
ServerAdmin webmaster@へろへろ
DocumentRoot /usr/home/www/http
ServerName www.へろへろ
ServerAlias へろへろ
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
ErrorLog /var/log/www.へろへろ-error_log
CustomLog /var/log/www.へろへろ-access_log common
Apcheの再起動は /usr/local/etc/rc.d/apache22 restart
# /usr/local/etc/rc.d/apache22
Usage: /usr/local/etc/rc.d/apache22 [fast|force|one](start|stop|restart|rcvar|re
load|graceful|gracefulstop|configtest|status|poll)
/usr/local/etc/apache22/Includes/no-accf.confはそのままそっと置いておく。

