.htaccessを有効にし、
DirectoryIndexを指定する
cat ファイル | grep -A 1000 ‘開始文字列’ | grep -B 1000 -m 1 ‘終了文字列’ # UUOC
とすれば、非貪欲に(?)欲しい部分だけ取ってくれる。とても便利。
# 設定ファイルのバックアップ cp -a /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak # .htaccessを使えるように[AllowOverride]を書き換える cat /etc/httpd/conf/httpd.conf | grep -A 1000 '<Directory "/var/www/html">' | grep -B 1000 -m 1 '</Directory>' <Directory "/var/www/html"> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.2/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None # # Controls who can get stuff from this server. # Order allow,deny Allow from all </Directory> # AllowOverride All等に書き換える vim /etc/httpd/conf/httpd.conf # AllowOverrideが書き換わってるか確認 cat /etc/httpd/conf/httpd.conf | grep -A 1000 '<Directory "/var/www/html">' | grep -B 1000 -m 1 '</Directory>' <Directory "/var/www/html"> | grep AllowOverride AllowOverride All # index.html以外のファイル名でアクセス可能にする # DirectoryIndexで指定する vim .htaccess # top.htmlでアクセス可能になる cat .htaccess DirectoryIndex top.html # ブラウザでアクセスするなり、curlするなりで確認 curl localhost # -> Apacheのテストページなどが表示される # 適当なhtmlを記述する vim top.html # 壊れたhtmlでも気にしない cat top.html i am top.html # apache再起動 /etc/init.d/httpd restart # ブラウザでアクセスするなり、curlするなりで確認 curl localhost # -> i am top.html になり、index.html以外でアクセスできることを確認できる
htpasswdコマンドをためす
まずはhtpasswdコマンドで認証用のファイルを作る
# モジュールが有効か確認 httpd -M | grep auth | grep -e basic -e digest Syntax OK auth_basic_module (shared) auth_digest_module (shared) # .htpasswdファイルを新規で作成する # パスワードはpiyopassで作成される(ヒストリーに残るので危険) htpasswd -c -b /etc/httpd/conf/.htpasswd hogeuser piyopass Adding password for user hogeuser cat /etc/httpd/conf/.htpasswd hogeuser:uCyz14O48E4u2 # 新規で作成するので上書きされる htpasswd -c -b /etc/httpd/conf/.htpasswd foouser barpass Adding password for user foouser cat /etc/httpd/conf/.htpasswd foouser:7O5VSh2qgE8z6 # 元からあるファイルに追記される htpasswd -b /etc/httpd/conf/.htpasswd spamuser hampass Adding password for user spamuser # 追記されてる cat /etc/httpd/conf/.htpasswd foouser:7O5VSh2qgE8z6 spamuser:wxFGe6Ar5tMrE # -b でパスワードを指定せず、対話式で入力する(ヒストリーにも残らないの安心) htpasswd -c /etc/httpd/conf/.htpasswd blauser New password: # blubpass Re-type new password: # blubpass Adding password for user blauser # 確認 cat /etc/httpd/conf/.htpasswd blauser:t/RXyFZI/UV.w
Basic 認証をためす
AuthUserfile は htpasswd で作成したファイルを指定する。
# .htaccessを編集し、Basic認証を有効にする vim /var/www/html/.htaccess # 設定を確認 cat /var/www/html/.htaccess DirectoryIndex top.html AuthUserfile /etc/httpd/conf/.htpasswd AuthGroupfile /dev/null AuthName "Basic Auth" AuthType Basic Require valid-user
Digest認証をためす
Basic認証とほぼ同じ方法でできる。
また、htpasswd と違い、-bオプション等は存在しない。
# htdigestコマンドでAuthUserfileを作成 htdigest -c '/etc/httpd/conf/.htdigpas' 'Digest Auth' hogeuser Adding password for hogeuser in realm Digest Auth. New password: Re-type new password: # 作成されたファイルを確認 cat /etc/httpd/conf/.htdigpas hogeuser:Digest Auth:7f582bfbc0df4370cd43ab8c241e602e # .htaccessを編集し、Digest認証を有効にする vim .htaccess # 設定を確認 cat .htaccess DirectoryIndex top.html AuthUserfile /etc/httpd/conf/.htdigpas AuthGroupfile /dev/null AuthName "Digest Auth" AuthType Digest Require valid-user
参考情報群:
.htaccess
http://www.uetyi.com/server-const/entry-570.html
https://ex1.m-yabe.com/archives/2467
Basic認証
https://issus.me/projects/971/issues/18
https://qiita.com/yamamotoshu1127/items/d72aa5d8786fe19f26ff
https://qiita.com/toshiya/items/e7dcc7610b15884b167e
コメント