Day by day
Apache デフォルトcgi-binディレクトリの注意点
投稿日時: 2013年10月16日 16:49 投稿者: admin カテゴリー: FreeBSD
Apacheの設定ファイルでは、ScriptAliasという項目でcgiファイル置き場のディレクトリを指定できます。
デフォルトでcgi-binディレクトリの場所を設定しています。
このディレクトリ内に置かれたファイルはすべて実行ファイルとして処理されるため、そうでないファイルを置いて直にアクセスしようとすると実行できない旨のエラーが出てしまいます。
[Fri Mar 30 15:14:19 2012] [error] [client *.*.*.*] (13)Permission denied: exec of '/hoge/cgi-bin/test.txt' failed, referer: http://hoge/
[Fri Mar 30 15:14:19 2012] [error] [client *.*.*.*] Premature end of script headers: test.txt, referer: http://hoge/
これを回避するには、cgi-binディレクトリをScriptAliasで指定するのではなく、単にAliasとして指定します。
#ScriptAlias /cgi-bin/ "/hoge/cgi-bin/" ← コメントアウト
Alias /cgi-bin/ "/hoge/cgi-bin/" ← 追記
さらに、<Directory>ディレクティブの内容を変更します。
<Directory "/hoge/cgi-bin">
AddHandler cgi-script .cgi ← 拡張子cgiのファイルをCGIスクリプトと認識
#AllowOverride None
AllowOverride Limit ← .htaccessファイル使用可に変更
Options ExecCGI ← CGIスクリプトの使用許可
Order allow,deny
Allow from all
</Directory>
これで直アクセス可能になりました。
Apache デフォルトcgi-binディレクトリの注意点 はコメントを受け付けていません。
OpenSSH makeエラー
投稿日時: 2013年10月16日 16:30 投稿者: admin カテゴリー: FreeBSD
portsのOpenSSHはバージョンが古かったりするのでオリジナルのソースからインストールしていました。
そのとき出たエラーがコレ↓
gcc -g -O2 -Wall -Wpointer-arith -Wuninitialized -Wsign-compare -Wformat-security -Wno-pointer-sign -fno-strict-aliasing -fno-builtin-memset -fstack-protector-all -I. -I.. -I. -I./.. -I/usr/local/include -I/usr/local/lib -DHAVE_CONFIG_H -c bsd-openpty.c
bsd-openpty.c: In function 'openpty':
bsd-openpty.c:128: error: 'I_PUSH' undeclared (first use in this function)
bsd-openpty.c:128: error: (Each undeclared identifier is reported only once
bsd-openpty.c:128: error: for each function it appears in.)
*** Error code 1
Stop in /usr/local/src/openssh-5.9p1/openbsd-compat.
*** Error code 1
Stop in /usr/local/src/openssh-5.9p1.
検索してみたけどlibutilがどうこうということしかわからず、configure –helpを見ても–disable-libutilという無効にする設定しかない。
portsでのインストール時は何か設定があるのかなと確認してみると、files/extra-patch-configureにfix build on 9.0というのがありました。
パッチの中身はconfigureファイルに1行追加するだけ。5.9p1の場合は8982行目に
LIBS="-lutil $LIBS"
と書いてconfig & makeすればインストール出来ました。
OpenSSH makeエラー はコメントを受け付けていません。
シングルユーザーモード
投稿日時: 2013年10月16日 16:06 投稿者: admin カテゴリー: FreeBSD
マルチユーザーモードで起動していた場合は、リブートしないとシングルユーザーモードへ移行できないのかと思っていました。
# shutdown now
だけでいけたんですね。
シングルユーザーモード はコメントを受け付けていません。
Mailman ホスト名変更時に行うこと
投稿日時: 2013年10月16日 16:00 投稿者: admin カテゴリー: FreeBSD
mm_cfg.pyファイルの中身を新ホスト名に変更しておくと引き続き使えます。
これだけだとWeb管理画面に以前のホスト名のまま表示される箇所があるので、それも対応するには
# ${MAILMANDIR}/bin/withlist -l -r fix_url <listname>
とコマンドをうつ必要があります。
保存書庫内でリンク先が以前のホスト名のままである箇所については、そのリスト宛てにメールを1度送ることで新ホスト名が反映されました。
※ ついでに通し番号の変更について
# ${MAILMANDIR}/bin/withlist <listname>
Loading list <listname> (unlocked)
The variable `m' is the <listname> MailList instance
>>> m.Lock()
>>> m.post_id
4.0
>>> m.post_id = 10 ← 変更したい数字
>>> m.Save()
>>> ^d
Unlocking (but not saving) list: <listname>
Finalizing
Mailman ホスト名変更時に行うこと はコメントを受け付けていません。
tDiaryのアップグレード
投稿日時: 2013年10月16日 13:08 投稿者: admin カテゴリー: FreeBSD
以前使用していたtDiaryについて、アップグレード時の注意点を記載しておく。
- /home/$User/public_html/diary のディレクトリ(※設置場所による)を丸ごとバックアップ
- ユーザーディレクトリにあるファイルをアップグレード
# /usr/local/bin/tdiary-inst.rb --user=User
- /home/$User/public_html/diary 内全てのディレクトリ及びファイルをオーナー変更www:wwwする
tDiaryのアップグレード はコメントを受け付けていません。
GPT保護パーティションの削除
投稿日時: 2013年10月16日 10:56 投稿者: admin カテゴリー: Windows
32bit版のWindowsXPでは、GPT形式でフォーマットされたディスクはサポートされていません。
このようなディスクを接続した場合、ディスク自体は認識しますが保護された状態となっているのでパーティションの削除やフォーマットを行うことができません。
パーティション操作を可能にするには、コマンドプロンプトでDiskPartコマンドを使ってディスクの管理情報を全て削除し完全初期化します。
C:\>diskpart
Microsoft DiskPart version 5.1.3565
Copyright (C) 1999-2003 Microsoft Corporation.
コンピュータ: **********
DISKPART> list disk
Disk ### Status Size Free Dyn Gpt
-------- --------------- ------- ------- --- ---
Disk 0 オンライン 115 GB 0 B
Disk 1 オンライン 56 GB 0 B
DISKPART> select disk 1 ・・・選択するディスク番号に注意!(※ 環境により数字部分が異なります)
ディスク 1 が現在選択されているディスクです。
DISKPART> list partition
Partition ### Type Size Offset
------------- ------------------ ------- -------
Partition 1 不明 56 GB 512 B
DISKPART> clean ・・・ディスクが初期化されます
DiskPart はディスクを正常にクリーンな状態にしました。
DISKPART> list disk
Disk ### Status Size Free Dyn Gpt
-------- --------------- ------- ------- --- ---
Disk 0 オンライン 115 GB 0 B
* Disk 1 オンライン 56 GB 56 GB
DISKPART> exit
DiskPart を終了しています...
C:\>
これで無事32bit版WindowsXP上でディスク管理できるようになります。
GPT保護パーティションの削除 はコメントを受け付けていません。
Cyrus-SASL SMTP認証
投稿日時: 2013年10月15日 16:58 投稿者: admin カテゴリー: FreeBSD
ひととおり設定を終えて運用開始すると以下のエラー。
これでもSMTP認証自体は出来ているみたい。
postfix/smtpd[****]: sql_select option missing
postfix/smtpd[****]: auxpropfunc error no mechanism available
postfix/smtpd[****]: _sasl_plugin_load failed on sasl_auxprop_plug_init for plugin: sql
原因は、
- OpenLDAPをインストールしている場合は無視。
- 64bitOS環境はライブラリの場所が違う場合があるのでsmtpd.confの置き場所に注意!
- もう一つはどこかのフォーラムで見つけたコレ↓
Removing libsql from the /usr/lib/sasl2 directory solved my problem.
コレがヒット。
Cyrus-SASLインストール時にまだ認証方法を決めていなかったので、コンフィグオプションMySQLを有効にしたまま結局使っていませんでした。
コンフィグオプションでMySQLを無効にしてからCyrus-SASLを再インストールすることで無事解決。
Cyrus-SASL SMTP認証 はコメントを受け付けていません。
BIND9.8系以降でのchroot
投稿日時: 2013年10月15日 16:43 投稿者: admin カテゴリー: FreeBSD
BINDをportupgradeする度にエラーが出て起動できない。
initializing DST: openssl failure
chroot配下にライブラリlibgost.soが無いことが原因らしい。
アップグレードでフォルダ毎消されるので、毎回フォルダを作成してライブラリをコピーする必要がある。
# ls -alp /usr/local/lib/engines
# mkdir -p ${chroot}/usr/local/lib/engines
# cp -p /usr/local/lib/engines/libgost.so ${chroot}/usr/local/lib/engines/
# ls -alp ${chroot}/usr/local/lib/engines
BIND9.8系以降でのchroot はコメントを受け付けていません。
portsの名称が変わったとき
投稿日時: 2013年10月15日 16:31 投稿者: admin カテゴリー: FreeBSD
/usr/ports/MOVEDに記載
Ex.) databases/db51 ⇒ databases/db5
# portupgrade -rfo databases/db5 db51
- r : 指定portsに依存するportsを全て更新
- f : バージョンが同じでも強制的に更新
- o : 名称変更後のフォルダ(/usr/ports/ 以下)を指定
portsの名称が変わったとき はコメントを受け付けていません。
smartmontools
投稿日時: 2013年10月15日 16:22 投稿者: admin カテゴリー: FreeBSD
HDDのS.M.A.R.T.情報を見るため、sysutils/smartmontoolsを導入。
全ての情報を見るとき:
# smartctl -a /dev/ad0
BIOSでS.M.A.R.T.がEnableになっていないとき:
# smartctl --smart=on /dev/ad0
1日1回チェックしてメールで報告してもらえるように、/etc/periodic.confに以下の2行を追加した。
daily_status_smart_enable="YES"
daily_status_smart_devices="/dev/ad0 /dev/ad2"
smartmontools はコメントを受け付けていません。