Apache-2.2.15_9へアップグレードできない

この前からapache-2.2.14_6をapache-2.2.15_9にportupgradeしようとしてエラーが出てうまくいかなかったのをApacheを止めたくないがために深く追求せずに放置したままになっていました。今日は本腰を入れてこれを調べてみた。

エラーメッセージを見ると apr-1 パッケージに問題ありそうなことが分かったのでさくっと「apache apr-1」でぐぐってみたら「portupgradeでapache- 2.2.15_9に更新できない」というそのまんまの情報がみつかりました。感謝感謝。

その記事の内容を参考にしつつ、以下の作業でアップグレードに成功。
まず、ざっくりとapache22と apr関係をアンインストール。私の環境では以下のとおり。

# pkg_delete -f apache-2.\*
# pkg_delete -f apr-ipv6-devrandom-gdbm-db42-1.4.2.1.3.9_1

次に/var/db/ports/apr のoptionsの内容をApache-2.2に合わせて変更。

WITHOUT_THREADS=true
WITHOUT_IPV6=true

最後に、Apache-2.2を再びインストール。apr関係はportsの依存関係で勝手に入る。今回入ったのは apr-nothr-devrandom-gdbm-db42-1.4.2.1.3.9_1 だった。

# portinstall apache22

これで完了。
以下はports設定ファイルの備忘録

# cat /var/db/ports/apr/options

# This file is auto-generated by ‘make config’.
# No user-servicable parts inside!
# Options for apr-ipv6-devrandom-gdbm-db42-1.4.2.1.3.9_1
_OPTIONS_READ=apr-ipv6-devrandom-gdbm-db42-1.4.2.1.3.9_1
WITHOUT_THREADS=true
WITHOUT_IPV6=true
WITH_BDB=true
WITH_GDBM=true
WITHOUT_LDAP=true
WITHOUT_MYSQL=true
WITHOUT_NDBM=true
WITHOUT_PGSQL=true
WITHOUT_SQLITE=true
WITH_DEVRANDOM=true

# cat /var/db/ports/apache22/options

# This file is auto-generated by ‘make config’.
# No user-servicable parts inside!
# Options for apache-2.2.15_9
_OPTIONS_READ=apache-2.2.15_9
WITHOUT_THREADS=true
WITH_MYSQL=true
WITHOUT_PGSQL=true
WITHOUT_SQLITE=true
WITHOUT_IPV6=true
WITHOUT_BDB=true
WITH_AUTH_BASIC=true
WITH_AUTH_DIGEST=true
WITH_AUTHN_FILE=true
WITHOUT_AUTHN_DBD=true
WITH_AUTHN_DBM=true
WITH_AUTHN_ANON=true
WITH_AUTHN_DEFAULT=true
WITH_AUTHN_ALIAS=true
WITH_AUTHZ_HOST=true
WITH_AUTHZ_GROUPFILE=true
WITH_AUTHZ_USER=true
WITH_AUTHZ_DBM=true
WITH_AUTHZ_OWNER=true
WITH_AUTHZ_DEFAULT=true
WITH_CACHE=true
WITH_DISK_CACHE=true
WITH_FILE_CACHE=true
WITHOUT_MEM_CACHE=true
WITH_DAV=true
WITH_DAV_FS=true
WITHOUT_BUCKETEER=true
WITHOUT_CASE_FILTER=true
WITHOUT_CASE_FILTER_IN=true
WITHOUT_EXT_FILTER=true
WITHOUT_LOG_FORENSIC=true
WITHOUT_OPTIONAL_HOOK_EXPORT=true
WITHOUT_OPTIONAL_HOOK_IMPORT=true
WITHOUT_OPTIONAL_FN_IMPORT=true
WITHOUT_OPTIONAL_FN_EXPORT=true
WITHOUT_LDAP=true
WITHOUT_AUTHNZ_LDAP=true
WITH_ACTIONS=true
WITH_ALIAS=true
WITH_ASIS=true
WITH_AUTOINDEX=true
WITH_CERN_META=true
WITH_CGI=true
WITH_CHARSET_LITE=true
WITHOUT_DBD=true
WITH_DEFLATE=true
WITH_DIR=true
WITH_DUMPIO=true
WITH_ENV=true
WITH_EXPIRES=true
WITH_HEADERS=true
WITH_IMAGEMAP=true
WITH_INCLUDE=true
WITH_INFO=true
WITH_LOG_CONFIG=true
WITH_LOGIO=true
WITH_MIME=true
WITH_MIME_MAGIC=true
WITH_NEGOTIATION=true
WITH_REWRITE=true
WITH_SETENVIF=true
WITH_SPELING=true
WITH_STATUS=true
WITH_UNIQUE_ID=true
WITH_USERDIR=true
WITH_USERTRACK=true
WITH_VHOST_ALIAS=true
WITH_FILTER=true
WITH_VERSION=true
WITHOUT_PROXY=true
WITHOUT_PROXY_CONNECT=true
WITH_PATCH_PROXY_CONNECT=true
WITHOUT_PROXY_FTP=true
WITHOUT_PROXY_HTTP=true
WITHOUT_PROXY_AJP=true
WITHOUT_PROXY_BALANCER=true
WITHOUT_PROXY_SCGI=true
WITH_SSL=true
WITHOUT_SUEXEC=true
WITHOUT_SUEXEC_RSRCLIMIT=true
WITH_REQTIMEOUT=true
WITHOUT_CGID=true

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 (apcupsd)

/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