- .htaccessのdeny from all で apacheのTestPageが表示されてしまう
- 2010.02.07
携帯サイト用にPCからのアクセスを拒否する.htaccessを作成する際、apacheのTestPageが表示されてしまい、対応に時間がかかったため、備忘録として記述します。
【.htaccessの内容】
order deny,allow
deny from all#アクセスを許可するIPアドレスを一行ずつ記入する
allow from 210.153.84.0/24
allow from 210.136.161.0/24#PC用のファイルを指定
ErrorDocument 403 /error_m/pc.html
#error_mディレクトリには.htaccessを設置しdeny from allを記述これで許可しているIPアドレス以外は/error_m/pc.htmlを表示するのですが、トップページを/(スラッシュ)で終了したURLにアクセスするとapacheのテストページが表示されていました。
http://www.hoge.com/ → NG(テストページ表示)
http://www.hoge.com/index.html → OK
http://www.hoge.com/index.htm → OK
http://www.hoge.com/index.php → OKいろいろ調べたところ、/etc/httpd/conf.d/welcome.confにある以下の内容が影響してるよう。
<LocationMatch “^/+$”>
Options -Indexes
ErrorDocument 403 /error/noindex.html
</LocationMatch>これを全部コメントアウトします。
いらないらしいけど、一応バックアップは取っておいたほうが安心
これで、httpd再起動後、正常に動作するようになりました。
service httpd restart
- FTPソフトでドットファイルを表示する
- 2010.01.22
使えるネットのVPSサーバを使ってるとFTPソフトで接続した際、.htaccessが表示されないので修正してみました。
まずは、SSH接続して/etc/proftp.confファイルを編集する。
vi proftpd.conf
<Global>ディレクティブ内に「ListOptions “-a”」を追加
<Global>
DefaultRoot ~ psacln
AllowOverwrite on
ListOptions ”-a”
</Global>そして再起動
service xinetd restartこれで無事、.htaccessファイルが表示されるようになりました。
SSH
- 空メールでPHPを起動する
- 2010.01.21
空メール処理を作成したので、メモします。
1.空メール送信用メールアドレス作成
2.受信メールボックスにメールが来たらPHPを起動するため、.qmailを編集。
使えるネットの場合、/var/qmail/mailnames/自分のドメイン/追加したメールアカウント/に.qmailがあるので、SSHで接続し、該当ディレクトリに移動してmoreコマンドなどで内容を表示してみると[root@*********]# more .qmail
| true
| /usr/bin/deliverquota ./Maildirとなっているので、1行目に以下の行を追加。
| /usr/bin/php -d safe_mode=off /var/www/vhosts/自分のドメイン/private/mail.php
※この例では、privateディレクトリのmail.phpを起動する
(セキュリティの為、ウェブでアクセス出来ないディレクトリに保存)
privateディレクトリのパーミッションは7053.mail.phpに処理を記述
と、このような処理になるのだが、動かなくて大分苦労しました。
結局privateディレクトリのパーミッションが原因だと分かり無事解決
- PEARのインストール
- 2009.11.21
共用サーバー(使えるネット)でFTPを使用したPEARライブラリのインストール方法をまとめます。
(1)http://pear.php.net/go-pearにアクセスして表示されたスクリプトをコピーしてgo-pear.php等の名前を付けてローカルに保存する。
(2)ウェブサーバー上にgo-pear等、適当な名前のディレクトリを作成し、そこに先程保存したgo-pear.phpをアップロード。
(3)第三者にアクセスされないよう、Basic認証でアクセス制限をかける。
「.htaccess」 の内容
# このフォルダーのアクセス制限 パスワードの設置
AuthUserFile /var/www/vhosts/**********/httpdocs/go-pear/.htpasswd
#制限をかけたいディレクトリ
AuthGroupFile /dev/null
AuthName “Please enter your ID and password“
AuthType Basic
require valid-user「.htpasswd」 の内容
ID:暗号化されたパスワード(4)PEARをインストールするディレクトリを作成し、そのディレクトリのパーミッションを777に変更。
(5)ブラウザでgo-pear.phpにアクセス。
1にPEARをインストールするパスを入力。
使えるネットの場合は「/var/www/vhosts/ドメイン名/httpdocs/pear」11にPHPパスを入力。
使えるネットの場合は「/usr/bin/php」全ての設定が終わったら「Install」をクリック。
(6)include_pathを設定。
共用サーバーではphp.iniを編集出来ないので、.htaccessで設定する。php_value include_path “.:/var/www/vhosts/ドメイン名/httpdocs/pear”php_value include_path “.:/var/www/vhosts/ドメイン名/httpdocs/pear”
- cronによる定期実行について
- 2009.09.24
最近はプログラムの定期実行(cron設定)もレンタルサーバの提供する管理画面から出来ることが多く、SSHでログインして自分でコマンド入力して設定するなんて滅多にやっていませんでしたが、先日管理画面で編集する環境がなく、自分でcrontabの編集をしました。
しかし、あまりにも久しぶりすぎて期待通りにPHPが動いてくれません!?
今後のために備忘録としてまとめておきます。
作業手順
crontab -e crontabを編集する。
0 * * * * php hoge.php
これで毎時0分に動作するようになりますが、私のミスは以下のように実行時間と実行するプログラムファイルのみ指定していた為、動きませんでした。
0 * * * * hoge.php
時間の指定も合ってる、実行ファイルの絶対パスも合ってるはずなのに動かない・・・とさんざん悩んだのですが私のケアレスミスでした
プログラムを組んでるときもそうですが、簡単な事が間違ってて動かないって事が結構ありますがこれも経験の一つということで・・・


