Ubuntu Apache(htaccess) 設定

Basic認証

.htaccessファイルを作成し、以下を記述。

AuthUserFile /home/okamura/.pwd

AuthName “please enter”

AuthType Basic

Require valid-user

.pwdの名称はなんでもいいが指定はフルパスにする。

一般的には.htpasswdとする。

htpasswd -c /home/okamura/.pwd taro

New password:xxx

Re-type new password:xxx

-cオプションがなくhtpasswdコマンドだけだと、追加、変更。-dオプションを付けるとと削除となる。

apache2ctl -M

有効なモジュールを確認できる。

sudo a2enmod rewrite

rewriteを有効化する。

/etc/apache2/apache2.conf

で、該当するDirectoryにAllowOverride allを追加する。

sudo /etc/init.d/apache2 restart

転送

301は恒久的(元のキャッシュが消える)な転送302(元のキャッシュが残る)は一時的な転送。

外部サイトに転送している設定。Rに数字をいれないと302転送。

RewriteEngine On

RewriteRule ^ http://start-affiliate-life.com [R,L]

メインディレクトリをサブに飛ばす設定。

RewriteEngine On

RewriteCond %{REQUEST_URI} !/w

RewriteRule ^(.*)$ /w/ [R,L]

RewriteCond が true の時 RewriteRuleが実行される。

RewriteCond %変数名(テスト文字列) 条件パターン(正規表現) [フラグ]。

PHP関連

変数登録の優先順位

variables_order = “EGPCS”

外部ホストへのアクセス

allow_url_fopen = off

エラーレポート

error_reporting = E_ALL & ~E_NOTICE & E_STRICT

E_NOTICEとE_STRICT以外は全てという意味 ~ は否定の意味

画面へエラーを表示

display_errors = off

エラーのログを出力(Windowsの場合はイベントログにエラーがいくらしい)

log_errors = On

error_log = file name

セーフモード

safe_mode_gid = On

セーフモードはファイルオープンはスクリプトと同じ所有者のファイルのみになる。

重要なのはセーフモードを使うときはスクリプトの所有者を一般ユーザーにしておくこと。

セーフモードはdlや()やshell_execが使えない。

exec,system,passthru,popenはsafe_mode_exec_dirで指定したディレクトリに制限される。

open_base_dir ファイル操作できるフォルダを限定。

disable_functions 使える関数を制限。