GMOクラウドALTUSのコンソールでデータ用ディスクを作成してVMにアタッチする
LVMパーティションの作成
# fdisk /dev/xvdb
n ←新規
p ←基本領域
1 ←パーティションナンバー1
t ←タイプの変更
8e ←LVM
w ←書き込み
PVの作成
# pvcreate /dev/xvdb1
(fdiskせずにいきなりpvcreate /dev/xvdbでもいいらしい)
PVの確認
# pvdisplay -C
拡張したいLVが含まれるVGに新しいPVを追加
既存のVG:VolGroup
新しいPV:/dev/xvdb1
# vgextend VolGroup /dev/xvdb1
VGの確認
# vgdisplay -v VolGroup
LVの拡張
LV:/dev/VolGroup/lv_root
(VGの確認で拡張したいLVのパスを見ておく、/dev/VolGroup/lv_root)
# lvextend -l +100%FREE /dev/VolGroup/lv_root
ファイルシステムの拡張
# resize2fs /dev/VolGroup/lv_root
ファイルシステムが拡張されたか確認
# df -h
2020年4月23日木曜日
2015年12月4日金曜日
PleskでSSL証明書の追加時の注意点
CA証明書のファイルが作成されないバグがあるようです。
今回遭遇したのは、Pleskの管理画面から登録したはずのCA証明書が作成されておらず証明書を適用するためにApacheを再起動すると停止後起動しないというもの。
対応方法はCA証明書を自力で作成することです。
方法は以下の通り。
Pleskの管理画面で証明書とCA証明書を登録したら以下のコンフィグファイルを開いて
/var/www/vhosts/********/conf/last_httpd.include
(********は証明書を追加したドメイン)
以下の項目をチェック。
SSLCertificateFile /usr/local/psa/var/certificates/cert-NdJneh
SSLCACertificateFile /usr/local/psa/var/certificates/cert-icDdTh
「/usr/local/psa/var/certificates/cert-icDdTh」がなかったので
vi /usr/local/psa/var/certificates/cert-icDdTh
とやってCA証明書の中身を貼り付け、Apacheを起動。
事なきを得ました。
以前SSL証明書を登録したときはこんなことはなかったのでどういう状況で起こるのかはわかりません。
ちなみに、証明書のテキスト登録やファイル登録を繰り返してしてみましたが解決はしませんでした。
あせった。
今回遭遇したのは、Pleskの管理画面から登録したはずのCA証明書が作成されておらず証明書を適用するためにApacheを再起動すると停止後起動しないというもの。
対応方法はCA証明書を自力で作成することです。
方法は以下の通り。
Pleskの管理画面で証明書とCA証明書を登録したら以下のコンフィグファイルを開いて
/var/www/vhosts/********/conf/last_httpd.include
(********は証明書を追加したドメイン)
以下の項目をチェック。
SSLCertificateFile /usr/local/psa/var/certificates/cert-NdJneh
SSLCACertificateFile /usr/local/psa/var/certificates/cert-icDdTh
「/usr/local/psa/var/certificates/cert-icDdTh」がなかったので
vi /usr/local/psa/var/certificates/cert-icDdTh
とやってCA証明書の中身を貼り付け、Apacheを起動。
事なきを得ました。
以前SSL証明書を登録したときはこんなことはなかったのでどういう状況で起こるのかはわかりません。
ちなみに、証明書のテキスト登録やファイル登録を繰り返してしてみましたが解決はしませんでした。
あせった。
2015年4月10日金曜日
GMOクラウド ALTUS Basicでデータディスクの拡張
ちょっと嵌ったのでメモしときます。
パーティションを作成して行う方法は結構ネットとかにあるんですがパーティションなしで行う方法です。
GMOクラウドALTUSのコンソールでデータ用ディスクを作成してVMにアタッチする
新しいディスクの確認
# fdisk -l
→/dev/xvdbとして認識されている
fdiskで新しいディスクのパーティションタイプの変更を行う(Linux LVMにする)
# fdisk /dev/xvdb
t
8e
w
PV, VG, LVの作成
# pvcreate /dev/xvdb
# vgcreate VolGroupData /dev/xvdb
# lvcreate -n lv_data01 -l 100%FREE VolGroupData
# mkfs.ext4 /dev/VolGroupData/lv_data01
# mount /dev/mapper/VolGroupData-lv_data01 /data
!!ここからが本番!!
※ディスク容量を増やす時
# umount /data ←まずマウント解除
# lvchange --available n /dev/VolGroupData/lv_data01 ←これをしないとディスクをデタッチできない
GMOクラウドALTUSのコンソールで以下の作業をします。
・データディスクをデタッチ
・データディスクのディスク容量を増やす
・データディスクを再びアタッチ
# pvresize /dev/xvdb ←もしかしたらしなくて良いかも
# lvextend -l +100%FREE /dev/VolGroupData/lv_data01 ←LVをマックスまで拡張
# lvchange --available y /dev/VolGroupData/lv_data01
# mount /dev/mapper/VolGroupData-lv_data01 /data
# resize2fs /dev/mapper/VolGroupData-lv_data01 ←これでようやくディスクサイズが拡張される
df -hとかで確認する。
GMOクラウドのALTUSのコンソールでデータ用ディスクを作成してVMにアタッチする
簡単に拡張できるようにする為パーティションは作成しない
新しいディスクの確認
# fdisk -l
フォーマット
# mkfs.ext4 /dev/xvdb
マウント
# mount /dev/xvdb /data
※ディスク容量を増やす時
# umount /data
コンソール
・データディスクをデタッチ
・データディスクのディスク容量を増やす
・データディスクを再びアタッチ
# resize2fs /dev/xvdb
# mount /dev/xvdb /data
パーティションを作成して行う方法は結構ネットとかにあるんですがパーティションなしで行う方法です。
<LVMで作成する場合>
GMOクラウドALTUSのコンソールでデータ用ディスクを作成してVMにアタッチする
新しいディスクの確認
# fdisk -l
→/dev/xvdbとして認識されている
fdiskで新しいディスクのパーティションタイプの変更を行う(Linux LVMにする)
# fdisk /dev/xvdb
t
8e
w
PV, VG, LVの作成
# pvcreate /dev/xvdb
# vgcreate VolGroupData /dev/xvdb
# lvcreate -n lv_data01 -l 100%FREE VolGroupData
# mkfs.ext4 /dev/VolGroupData/lv_data01
# mount /dev/mapper/VolGroupData-lv_data01 /data
!!ここからが本番!!
※ディスク容量を増やす時
# umount /data ←まずマウント解除
# lvchange --available n /dev/VolGroupData/lv_data01 ←これをしないとディスクをデタッチできない
GMOクラウドALTUSのコンソールで以下の作業をします。
・データディスクをデタッチ
・データディスクのディスク容量を増やす
・データディスクを再びアタッチ
# pvresize /dev/xvdb ←もしかしたらしなくて良いかも
# lvextend -l +100%FREE /dev/VolGroupData/lv_data01 ←LVをマックスまで拡張
# lvchange --available y /dev/VolGroupData/lv_data01
# mount /dev/mapper/VolGroupData-lv_data01 /data
# resize2fs /dev/mapper/VolGroupData-lv_data01 ←これでようやくディスクサイズが拡張される
df -hとかで確認する。
<ちなみに普通にLVMでは無く単純にext4で作成&拡張する場合>
VM上の話なのでこっちで十分な気が・・・。GMOクラウドのALTUSのコンソールでデータ用ディスクを作成してVMにアタッチする
簡単に拡張できるようにする為パーティションは作成しない
新しいディスクの確認
# fdisk -l
フォーマット
# mkfs.ext4 /dev/xvdb
マウント
# mount /dev/xvdb /data
※ディスク容量を増やす時
# umount /data
コンソール
・データディスクをデタッチ
・データディスクのディスク容量を増やす
・データディスクを再びアタッチ
# resize2fs /dev/xvdb
# mount /dev/xvdb /data
2014年6月2日月曜日
ldapまとめ
ldapに取り組んだとき、取っ掛かりが悪いのでメモを作ってたのを晒します。
(あくまで個人的なものです。信用しないように!)
属性名
ObjectClass属性
log level
(あくまで個人的なものです。信用しないように!)
属性名
| 属性名 | 値の種類 | もともと の名前 |
| c | 国名 | Country |
| cn | 一般名、人名 | Common Name |
| dc | ドメイン名 | Domain Component |
| o | 団体名 | The Organization |
| ObjectClass | スキーマ | - |
| ou | 部署名 | Organization Unit |
| sn | 姓 | Sumame |
| st | 都道府県 | State |
| uid | ユーザID | User ID |
ObjectClass属性
| 名前 | 必須属性 |
| dcObject | dc |
| organization | o |
| organizationalRole | cn |
| organizationalUnit | ou |
| account | uid |
| simpleSecurityObject | userPassword |
| inetOrgPerson | cn, sn |
| posixAccount | uid ( accountなど構造型オブジェクトクラスと一緒に使用する必要あり ) |
| posixGroup | cn |
log level
| レベル | 名称 | 記録内容 |
| 0 | - | メッセージを出力しない |
| 1 | trace | slapd内部の関数のトレース |
| 2 | packets | パケット処理のデバック情報 |
| 4 | args | slapd内部の関数のトレースで引数も表示 |
| 8 | conns | コネクション管理 |
| 16 | BER | 送受信したパケット |
| 32 | filter | 検索フィルタ処理 |
| 64 | config | 設定ファイルに関する処理 |
| 128 | ACL | アクセス制御に関する処理 |
| 256 | stats | コネクション、LDAP命令、結果 |
| 512 | stats2 | 送られたエントリのステータス |
| 1024 | shell | シェルバックエンドとの通信 |
| 2048 | parse | エントリの解析処理 |
| 16384 | sync | LDAP同期レプリケーション |
| 32768 | none | どのログレベルにも属さないもの |
| 65535 | any | 全てのレベルを表示 |
ldapadd
| オプション | 説明 |
| -H | LDAPサーバを参照するURIを指定する。プロトコル、ホスト、ポートのみ指定できる。 指定しない場合、ldap://localhost:389となる。 |
| -h | LDAPサーバを指定する。指定しない場合、ローカルホストになる ( 非奨励オプション。-Hの使用を奨励 ) |
| -p | LDAPサーバのポート番号を指定する。指定しない場合、389となる ( 非奨励オプション。-Hの使用を奨励 ) |
| -x | 簡易認証設定 |
| -D | LDAPサーバの認証に使うDN ( バインドDN ) を指定する。指定しない場合は匿名接続となる。 |
| -w | LDAPサーバの認証に使うDNのパスワードを指定する。 |
| -W | LDAPサーバの認証に使うDNのパスワードをプロンプトから入力することを指定する。 |
| -f | LDIFテキストフォーマットファイルを標準入力ではなく、指定したファイルから読み込む。 |
ldapsearch
| オプション | 説明 |
| -H | LDAPサーバを参照するURIを指定する。プロトコル、ホスト、ポートのみ指定できる。指定しない場合、ldap://localhost:389となる。 |
| -h | LDAPサーバを指定する。指定しない場合、ローカルホストになる ( 非奨励オプション。-Hの使用を奨励 ) |
| -p | LDAPサーバのポート番号を指定する。指定しない場合、389となる ( 非奨励オプション。-Hの使用を奨励 ) |
| -x | 簡易認証設定 |
| -D | LDAPサーバの認証に使うDN ( バインドDN ) を指定する。指定しない場合は匿名接続となる。 |
| -w | LDAPサーバの認証に使うDNのパスワードを指定する。 |
| -W | LDAPサーバの認証に使うDNのパスワードをプロンプトから入力することを指定する。 |
| -b | 検索の起点を指定。例えばBaseDNに「ou=dept,dc=unix-power,dc=net」に指定した場合は上位のエントリは検索対象外となります。 |
| -s [Scope] | 検索範囲を指定します。[Scope]の値は「base」「one」「sub」の3種類です。「base」はBaseDNエントリのみです。「one」はBaseDNエントリ自身と直下のエントリ、「sub」はBaseDN以下全てのエントリを指します。-sに何も指定しなければ「sub」が適用されます。 |
| [Filter] | 検索フィ ルタを指定します。例えば全てのエントリを抽出するには「(objectclass=*)」を指定します。また、cn属性が「tanaka」で終わるエントリを抽出するには「(cn=*tanaka)」とワイルドカードを指定できます。その他、複数のフィルタを組み合わせたAND検索やOR検索も実行できます。例えばcn属性が「tanaka」で終わり、かつcn属性が「taro」で始 まるエントリを抽出するには「(&(cn=*tanaka)(cn=taro*))」とAND検索を表す&を使って複数指定できます。OR検索には「|」、否定記号には「!」記号を使います。 |
| [Attr] | 表示対象 とする属性を指定します。例えばあるエントリのtelephonenumber属性値を表示対象にする場合はAttrにtelnephoneNumberを指定します。何も指定しなければ全ての属性値が表示されます。 |
| -L | 検索結果をLDIFv1フォーマットで表示する |
| -LL | 検索結果をコメントのないフォーマットで表示する |
| -LLL | 検索結果をコメント無し、LDIFバージョン表示なしで表示する。 |
2014年2月14日金曜日
CentOS6にFFMpegをyumでインストール
以前yumで入れたときはバージョンが古くて、結局ソースからコンパイルすることになって大変だったんだけど、RPM Fusionから新らし目のものを入れることができたのでメモっときます。
EPELレポジトリの導入
(既に導入済みだったので実際にはしてません。RPM Fusionが依存しているらしい)
# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-5-4.noarch.rpm
RPM Fusionレポジトリの導入
# yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/el/updates/6/x86_64/rpmfusion-free-release-6-1.noarch.rpm http://download1.rpmfusion.org/nonfree/el/updates/6/x86_64/rpmfusion-nonfree-release-6-1.noarch.rpm
EPELレポジトリの導入
(既に導入済みだったので実際にはしてません。RPM Fusionが依存しているらしい)
# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-5-4.noarch.rpm
RPM Fusionレポジトリの導入
# yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/el/updates/6/x86_64/rpmfusion-free-release-6-1.noarch.rpm http://download1.rpmfusion.org/nonfree/el/updates/6/x86_64/rpmfusion-nonfree-release-6-1.noarch.rpm
普段のyum利用時に干渉しないよう以下のファイルを開き enable=0 にしておく
/etc/yum.repo.d/rpmfusion-free-updates.repo
/etc/yum.repo.d/rpmfusion-free-updates-testing.repo
/etc/yum.repo.d/rpmfusion-nonfree-updates.repo
/etc/yum.repo.d/rpmfusion-nonfree-updates-testing.repo
FFMpegのインストール
(思わず入れてしまったがffmpeg-develは必要ない)
# yum install --enablerepo=rpmfusion-free-updates install ffmpeg-devel
# yum install --enablerepo=rpmfusion-free-updates install ffmpeg
かなり簡単にインストール可能。
2014年2月6日木曜日
Apache 2.4 の設定ではまる
Apache 2.4(ほんとは2.3から)アクセス許可周り設定が変わっています。
xamppのバージョンを挙げていつもどおりにvirtual hostの設定をしても 404 access forbidden。
つながりません。
こういう理由でした。↓
http://httpd.apache.org/docs/2.4/upgrading.html#run-time
今まで(2.2まで)は、(バーチャルホスト用の)ディレクトリのアクセス許可の設定を以下のように書いてました。
Order allow,deny
Allow from all
2.4からは、以下のようになる。
Require all granted
ググってもなかなか出てこないもんで少しはまりました。
ちゃんと公式ドキュメントに載ってるのにね。
xamppのバージョンを挙げていつもどおりにvirtual hostの設定をしても 404 access forbidden。
つながりません。
こういう理由でした。↓
http://httpd.apache.org/docs/2.4/upgrading.html#run-time
今まで(2.2まで)は、(バーチャルホスト用の)ディレクトリのアクセス許可の設定を以下のように書いてました。
Order allow,deny
Allow from all
2.4からは、以下のようになる。
Require all granted
ググってもなかなか出てこないもんで少しはまりました。
ちゃんと公式ドキュメントに載ってるのにね。
2013年11月11日月曜日
crontabについて
忘れるのでメモ
左から、分 時 日 月 曜日
以下の数値を設定可能
分 0-59
時 0-23
日 1-31
月 1-12
曜日 0-7 (0または7は日曜日)
・カンマ区切りで列挙
(例)
0,15,30,45 * * * * /hoge/hoge
毎時0分15分30分45分に/hoge/hogeを実行
・ハイフンつなぎで期間を指定
(例)
「0-6」
0 0-6 * * * /hoge/hoge
0時から6時の間0分に/hoge/hogeを実行
・カンマ区切りとハイフンつなぎの両方
(例)
「0,4-6」
0 0,4-6 * * * /hoge/hoge
0時と4時5時6時の0分に/hoge/hogeを実行
・スラッシュで間隔を指定
(例)
*/5 * * * * /hoge/hoge
5分間隔で/hoge/hogeを実行
・メールの送信先を代える場合
crontabの先頭に
MAILTO="xxx@xxx.xx.xx"
・メールを受信したくない場合
crontabの先頭に
MAILTO=""
または、
0 * * * * /hoge/hoge >/dev/null 2>&1
・エラーメールを受信したい
0 * * * * /hoge/hoge 1> /dev/null
・エラー以外のメールを受信したい
0 * * * * /hoge/hoge 2> /dev/null
編集コマンド
crontab [-u ユーザ名] -e基本書式
* * * * * [実行コマンド]左から、分 時 日 月 曜日
以下の数値を設定可能
分 0-59
時 0-23
日 1-31
月 1-12
曜日 0-7 (0または7は日曜日)
日時の指定方法各種
各種時間指定方法・カンマ区切りで列挙
(例)
0,15,30,45 * * * * /hoge/hoge
毎時0分15分30分45分に/hoge/hogeを実行
・ハイフンつなぎで期間を指定
(例)
「0-6」
0 0-6 * * * /hoge/hoge
0時から6時の間0分に/hoge/hogeを実行
・カンマ区切りとハイフンつなぎの両方
(例)
「0,4-6」
0 0,4-6 * * * /hoge/hoge
0時と4時5時6時の0分に/hoge/hogeを実行
・スラッシュで間隔を指定
(例)
*/5 * * * * /hoge/hoge
5分間隔で/hoge/hogeを実行
メール送信先の設定
デフォルトではcrontabのユーザにメールが送信される。・メールの送信先を代える場合
crontabの先頭に
MAILTO="xxx@xxx.xx.xx"
・メールを受信したくない場合
crontabの先頭に
MAILTO=""
または、
0 * * * * /hoge/hoge >/dev/null 2>&1
・エラーメールを受信したい
0 * * * * /hoge/hoge 1> /dev/null
・エラー以外のメールを受信したい
0 * * * * /hoge/hoge 2> /dev/null
2013年7月10日水曜日
CentOS6でyumでちゃっちゃとtomcat6
tomcatを動かして以前のwarファイルを動かさないといけなくなったんですがやり方を忘れてて手間取ったのでメモ。
# yum install tomcat6
# yum install tomcat6-webapps
# yum install tomcat6-admin-webapps
manager用のユーザを追加する
# vi /etc/tomcat6/tomcat-users.xml
以下を追加
# service tomcat6 start
# chkconfig tomcat6 on
iptableとかでポート閉じてたら設定変更して開く。
ブラウザでアクセス
http://XXX.XXX.XXX.XX:8080/
tomcatの画面が出ればOK
そのままTomcat Managerに行ってwarファイルをデプロイする。
が、デプロイ失敗。
JVMバージョンが1.5なのが問題の気がするので上げてやる。
# yum -y install java-1.6.0-openjdk
# service tomcat6 restart
動かしたいwarファイルのデプロイが成功してました。
以上
# yum install tomcat6
# yum install tomcat6-webapps
# yum install tomcat6-admin-webapps
manager用のユーザを追加する
# vi /etc/tomcat6/tomcat-users.xml
以下を追加
# service tomcat6 start
# chkconfig tomcat6 on
iptableとかでポート閉じてたら設定変更して開く。
ブラウザでアクセス
http://XXX.XXX.XXX.XX:8080/
tomcatの画面が出ればOK
そのままTomcat Managerに行ってwarファイルをデプロイする。
が、デプロイ失敗。
JVMバージョンが1.5なのが問題の気がするので上げてやる。
# yum -y install java-1.6.0-openjdk
# service tomcat6 restart
動かしたいwarファイルのデプロイが成功してました。
以上
2013年1月10日木曜日
error_reportingの.htaccessでの書き方
以前メモったと思ってたのに無かったのでメモ。
.htaccessに以下のように記述しても有効にならない。
まあ当然か。
以下のどちらかでかく
(以前数字で書けという記述を見たが"でくくっても大丈夫だった)
数字のほうはE_ALLやE_DEPRECATED等の定数を加減したもの。
以下のようにすれば簡単に求められる。
.htaccessに以下のように記述しても有効にならない。
php_value error_reporting E_ALL & ~E_DEPRECATED
まあ当然か。
以下のどちらかでかく
php_value error_reporting "E_ALL & ~E_DEPRECATED"
php_value error_reporting 22527
(以前数字で書けという記述を見たが"でくくっても大丈夫だった)
数字のほうはE_ALLやE_DEPRECATED等の定数を加減したもの。
以下のようにすれば簡単に求められる。
<?php前は手計算してたよw。
echo E_ALL & ~E_DEPRECATED;
?>
2012年11月1日木曜日
munin 2.0.6 のhttp loadtime
munin 2.0.6でhttp loadtimeが正しく取得されない。
2.0.7では直っているらしいが、まだyum updateとかで変わらないのでちょめちょめっと対応。
以下を参考に、/usr/share/munin/plugins/http_loadtime を修正
https://github.com/frasten/munin/commit/401524d03ac75f31046224d3c12ed9714efba28e
2.0.7では直っているらしいが、まだyum updateとかで変わらないのでちょめちょめっと対応。
以下を参考に、/usr/share/munin/plugins/http_loadtime を修正
https://github.com/frasten/munin/commit/401524d03ac75f31046224d3c12ed9714efba28e
2012年3月3日土曜日
xampp1.7.7のPEAR
マシンを入れ替えたのでxamppもpleiadesごと新しく入れて、xampp1.7.7に。
PEARが中途半端にしか動かないので、ちょいちょい調べる。
設定しようにもgo-pear.batとかpear.iniがない。
↓
おそらくxamppを入れた後に行う、setup-xampp.batでPEARの設定とかしているんだろう。
↓
pear.batの中の環境変数の設定が設置ディレクトリのものになっている。
↓
コマンドラインでpear config-showとやると設定が中途半端に変わっている。
↓
pear.batの中を見ると以下のような感じで設置ディレクトリの設定になっている。
■pear.bat 31~33行目■
IF "%PHP_PEAR_INSTALL_DIR%"=="" SET "PHP_PEAR_INSTALL_DIR=C:\pleiades-e3.7\xampp\php\pear"
IF "%PHP_PEAR_BIN_DIR%"=="" SET "PHP_PEAR_BIN_DIR=C:\pleiades-e3.7\xampp\php"
IF "%PHP_PEAR_PHP_BIN%"=="" SET "PHP_PEAR_PHP_BIN=C:\pleiades-e3.7\xampp\php\.\php.exe"
↓
pear config-showで表示される設定には足りない。
ということで、pear.batの35行目あたりに以下を追加。
IF "%PHP_PEAR_CFG_DIR%"=="" SET "PHP_PEAR_CFG_DIR=C:\pleiades-e3.7\xampp\php\cfg"
IF "%PHP_PEAR_DOC_DIR%"=="" SET "PHP_PEAR_DOC_DIR=C:\pleiades-e3.7\xampp\php\docs"
IF "%PHP_PEAR_DATA_DIR%"=="" SET "PHP_PEAR_DATA_DIR=C:\pleiades-e3.7\xampp\php\data"
IF "%PHP_PEAR_TEST_DIR%"=="" SET "PHP_PEAR_TEST_DIR=C:\pleiades-e3.7\xampp\php\tests"
IF "%PHP_PEAR_WWW_DIR%"=="" SET "PHP_PEAR_WWW_DIR=C:\pleiades-e3.7\xampp\php\www"
これで、pear config-showすると設定した値で表示されるし、今のところうまく動いている。
PEARが中途半端にしか動かないので、ちょいちょい調べる。
設定しようにもgo-pear.batとかpear.iniがない。
↓
おそらくxamppを入れた後に行う、setup-xampp.batでPEARの設定とかしているんだろう。
↓
pear.batの中の環境変数の設定が設置ディレクトリのものになっている。
↓
コマンドラインでpear config-showとやると設定が中途半端に変わっている。
↓
pear.batの中を見ると以下のような感じで設置ディレクトリの設定になっている。
■pear.bat 31~33行目■
IF "%PHP_PEAR_INSTALL_DIR%"=="" SET "PHP_PEAR_INSTALL_DIR=C:\pleiades-e3.7\xampp\php\pear"
IF "%PHP_PEAR_BIN_DIR%"=="" SET "PHP_PEAR_BIN_DIR=C:\pleiades-e3.7\xampp\php"
IF "%PHP_PEAR_PHP_BIN%"=="" SET "PHP_PEAR_PHP_BIN=C:\pleiades-e3.7\xampp\php\.\php.exe"
↓
pear config-showで表示される設定には足りない。
ということで、pear.batの35行目あたりに以下を追加。
IF "%PHP_PEAR_CFG_DIR%"=="" SET "PHP_PEAR_CFG_DIR=C:\pleiades-e3.7\xampp\php\cfg"
IF "%PHP_PEAR_DOC_DIR%"=="" SET "PHP_PEAR_DOC_DIR=C:\pleiades-e3.7\xampp\php\docs"
IF "%PHP_PEAR_DATA_DIR%"=="" SET "PHP_PEAR_DATA_DIR=C:\pleiades-e3.7\xampp\php\data"
IF "%PHP_PEAR_TEST_DIR%"=="" SET "PHP_PEAR_TEST_DIR=C:\pleiades-e3.7\xampp\php\tests"
IF "%PHP_PEAR_WWW_DIR%"=="" SET "PHP_PEAR_WWW_DIR=C:\pleiades-e3.7\xampp\php\www"
これで、pear config-showすると設定した値で表示されるし、今のところうまく動いている。
2012年1月25日水曜日
.forwardでPHPにメールを食わせる
.forwardファイルを使ってPHP等のプログラムにメールを処理させることがありますが、ちょっと躓いたのでメモ。
まず、何もなければ、.forwardファイルに以下のように書けばいい。
> vi .forward
"| /usr/bin/php /home/john/sciptfile.php"
(john, scriptfile.phpあたりは任意でっせ。)
ところが、smrshが動作していると簡単には実行してくれません。
勝手にプログラム起動して処理するなということです。
smrshに許可してもらうには、/etc/smrsh内に実行ファイルのリンクを作成してやればよい。
こんなコマンド↓
> ln -s /usr/bin/php /etc/smrsh/php
とここまではよく見かけます。
しかし今回はこれでうまくいきませんでした。
.forwardファイル内の記述が問題のようで、絶対パスは無視されたりいろいろ制約があるようです。
詳細は偉い人に聞いてください。すいません。
でどうするかというと。
.forwardに記述する内容を単純化するためシェルスクリプトを1つ作成します。
> vi scriptcall.sh
#!/bin/sh
/usr/bin/php /home/john/sciptfile.php
↑こんな単純なファイル。
作成したシェルスクリプトに実行権限をつけて、smrshで実行できるようにシンボリックリンクを作成。
> chmod 755 /etc/smrsh/scriptcall.sh
> ln -s /usr/bin/scriptcall.sh /etc/smrsh/scriptcall.sh
.forwardファイルの内容を以下の用に変更
>vi .forward
|sciptcall.sh
以上でjohnさんにメールが来るとプログラムにメールが渡されます。
まず、何もなければ、.forwardファイルに以下のように書けばいい。
> vi .forward
"| /usr/bin/php /home/john/sciptfile.php"
(john, scriptfile.phpあたりは任意でっせ。)
ところが、smrshが動作していると簡単には実行してくれません。
勝手にプログラム起動して処理するなということです。
smrshに許可してもらうには、/etc/smrsh内に実行ファイルのリンクを作成してやればよい。
こんなコマンド↓
> ln -s /usr/bin/php /etc/smrsh/php
とここまではよく見かけます。
しかし今回はこれでうまくいきませんでした。
.forwardファイル内の記述が問題のようで、絶対パスは無視されたりいろいろ制約があるようです。
詳細は偉い人に聞いてください。すいません。
でどうするかというと。
.forwardに記述する内容を単純化するためシェルスクリプトを1つ作成します。
> vi scriptcall.sh
#!/bin/sh
/usr/bin/php /home/john/sciptfile.php
↑こんな単純なファイル。
作成したシェルスクリプトに実行権限をつけて、smrshで実行できるようにシンボリックリンクを作成。
> chmod 755 /etc/smrsh/scriptcall.sh
> ln -s /usr/bin/scriptcall.sh /etc/smrsh/scriptcall.sh
.forwardファイルの内容を以下の用に変更
>vi .forward
|sciptcall.sh
以上でjohnさんにメールが来るとプログラムにメールが渡されます。
exim4 mailq一括削除
exim4のmailqの一括削除方法で、いいのがあった。
http://www.fukudat.com/wiki/ja/%E7%8E%84%E7%AE%B1/exim4
# for msgid in `mailq | grep '<.*>' | cut -c11-27`; do
> echo $msgid
> exim4 -Mrm $msgid
> done
ありがとう。
登録:
コメント (Atom)