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について、アップグレード時の注意点を記載しておく。

  1. /home/$User/public_html/diary のディレクトリ(※設置場所による)を丸ごとバックアップ
  2. ユーザーディレクトリにあるファイルをアップグレード
    # /usr/local/bin/tdiary-inst.rb --user=User
  3. /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

原因は、

  1. OpenLDAPをインストールしている場合は無視。
  2. 64bitOS環境はライブラリの場所が違う場合があるのでsmtpd.confの置き場所に注意!
  3. もう一つはどこかのフォーラムで見つけたコレ↓

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 はコメントを受け付けていません。

« 前ページへ« 前のページ  次のページ »次ページへ »

フリースペース

バナーやブログパーツなどを貼って、ご自由にお使いください。