$theTitle=wp_title(" - ", false); if($theTitle != "") { ?>
この前から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
今までSSLサイトを自己署名した俗に言う「オレオレ証明書」で運用していたのですが、最近安いSSL Certificates(SSL証明書)が利用できるようになってきたので使ってみました。安い証明書ということで色々調べるとNameCheapが扱っているRapidSSLが一番安いみたいです。同じRapidSSLでも本家だと年間69ドルと高かったり、日本語で扱っている所で30ドルくらいしてます。NameCheapのは3年期限だと年間12.88ドルです。今回はとりあえずということで1年期限で14.88ドルで購入しました。購入手続きをするとSSL証明書取得のリンクがユーザーパネルに現れます。
/usr/ports/databases/phpmyadmin
MySQLサーバーのwebインターフェース。
[code]
# cd /usr/ports/databases/phpmyadmin
# portinstall
[/code]
でOK。
[code]
# /usr/local/www/phpMyAdmin
# cp ./libraries/config.default.php config.inc.php
[/code]
でconfig.inc.phpを編集。最低限下記で動かせます。
[code]
$cfg['PmaAbsoluteUri'] = 'https://URL/ほげほげ';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['password'] = '(mysqlのrootのパスワード)';
$cfg['DefaultLang'] = 'ja';
[/code]
https://URL/ほげほげでアクセスしたいので、/usr/local/etc/apache22/extra/http-ssl.confに下記追記。
[code]
Alias /ほげほげ "/usr/local/www/phpMyAdmin"
AllowOverride All
Options FollowSymLinks ExecCGI Includes
Allow from All
[/code]
当然、/usr/local/www/phpMyAdminに.htaccessを置いてベーシック認証をかけるべし。
参考リンク: phpMyAdmin 設置手順
/usr/ports/sysutils/webmin
Webmin 1.310をインストール。
[code]
# cd /usr/ports/sysutils/webmin
# portinstall
[/code]
終わったら、rc.confに webmin_enable=”YES” を追記。
[code]
# /usr/local/lib/webmin/setup.sh
[/code]
でセットアップ。sslを選ぶ。ポートはデフォの10000。
[code]
# /usr/local/etc/rc.d/webmin start
[/code]
で起動。
ブラウザで https:ほげほげ:10000 でアクセスできるはず。
参考リンク: 日本Webminユーザー会公式Webページ
このブログのサーバーを引越ししました。
その際にブログのURLを http://www.masashi.org/blog/ として新サーバーにWordpressをインストール。旧サーバーからDBをエクスポートしてURLの部分を修正し、新サーバーにインポートしたのだけど、httpdが、
[code]
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.
[/code]
というエラーを吐くようになった。httpd.confに LimitInternalRecursion 100 とか設定すると頻度は減るのだがそれでもエラーは消えない。値を250にしてみたがそれでも時々出てくる。どうにもよく分からないので元のURLでそのままアクセスできるように設定変更してみたら何故かエラーが消えた。
とりあえず結果オーライだけど、うーん、謎。
2006-12-05 (火曜日) In: Apache|apcupsd|FreeBSD|Server(1,622 views)
/usr/ports/sysutils/apcupsd
言わずと知れたUPSのコントロールソフト。
[code]
# cd /usr/ports/sysutils/apcupsd
# portinstall
[/code]
Options選択はCGIとSNMPにX印を入れて続行。
終わったら/usr/local/etc/apcupsdでapcupsd.confの作成
今回はapcupsd.conf.net-master.sampleをapcupsd.confにコピーして編集する。一台だけの独立したサーバーなのでスタンドアローンの設定にするだけにする。バッテリーの保持時間とかの細かな設定は後回し。SMART-UPS 700にDELLのSC430のシリアル接続。
[code]
# 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
[/code]
/etc/rc.confに下記追記
[code]
# apcupsd
apcupsd_enable="YES"
apcupsd_program="/usr/local/sbin/apcupsd"
[/code]
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
2006-12-04 (月曜日) In: Apache|FreeBSD|imap|Squirrelmail(4,362 views)
/usr/ports/mail/squirrelmail
以前は/user/ports/japanese/に日本語版が置いてあったが今はここのみに置いてあるみたい。
日本語版本家では1.4.5で止まっているけど、portsのは1.4.8。とりあえずportsで入れてみる。
[code]
# cd /usr/ports/mail/squirrelmail
# portinstall
[/code]
その後、/usr/local/www/squirrelmailに降りて、
[code]
# cd /usr/local/www/squirrelmail
# ./configure
[/code]
で各種設定を行う。
日本語を使うなら、 メニュー10番目のLanguageの所を
[code]
Language preferences
1. Default Language : ja_JP
2. Default Charset : iso-2022-jp
3. Enable lossy encoding : false
[/code]
でOK。あと、メニュー2番目のServer SettingsでIMAPサーバーを選択すれば使えるようになります。ウチはuw IMAPなのでこんな感じ。
[code]
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
[/code]
あとは、適当に好みで。
apacheの設定は、SSLで使いたかったのでIncludesに置いたhttpd-ssl.confに下記を追記。
[code]
Alias /webmail "/usr/local/www/squirrelmail"
AllowOverride All
Options FollowSymLinks ExecCGI Includes
Allow from All
[/code]
これで https://wwwほげほげ/webmail で使えるようになる。
ところが、 返信とかすると下記のようなウォーニングが。
[code]
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
[/code]
ぐぐってみたらパッチ発見。
http://www.hmailserver.com/forum/viewtopic….
http://sourceforge.net/tracker/index.php?func=detail&aid=1543573…..
[code]
# 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);
[/code]
これで解決。
/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を入れようとするのでちょっと焦った。
日々の四方山話を徒然と・・・
いらっしゃいませ。このブログはオーストラリアの生活に関する話題とFreeBSDに関連する話題を主に色々と書き綴っています。
Sorry, This site consists of Japanese contents only. If you are interested in my blog, feel free to leave your comments in English or Japanese. Thank you.