Moral Hazard!!

ドラマーが音楽やホームページやガラクタを作るよ。

Windows10のフォルダ内に大文字小文字が違う同一名ファイルを保存する (Windows Subsystem for Linux使用)

No Comment 駄日記,,

FTPでサーバからファイルをダウンロードした際、Linux上に大文字小文字が違う同一名称のファイルがあると、Windowsが区別出来ない。
そのため、ローカルのファイルを上書きすると片方しか残らない。
Windows,Macでは基本Top.pngとtop.pngのような、ファイル名が一緒だが大文字小文字が違うファイルを同じフォルダに置くことは出来ない。
Top.pngがあるフォルダにtop.pngを移動すると、上書きされる。
Linuxではどちらも同じフォルダに存在が可能。

・何が問題か?

Linuxサーバ上のWEBアプリケーション(WordPressなど)でtop.pngをアップロードする。
そして、同じフォルダにTop.pngをアップロードする。
もちろんLinuxのフォルダ上にはtop.png、Top.png両方が保存される。

その後、WindowのFTPソフト(Dreamweaverなど)で当該フォルダをダウンロードすると、Top.pngがダウンロードされた後にtop.pngがダウンロードされ、大文字小文字で共存できないために上書きされてtop.pngしか残らなくなる。

■Windows側でWindows Subsystem for Linuxを有効化

・「プログラムと機能」を開く(winキー→appwiz.cplと入力)
・左側の「Windowsの機能の有効化または無効化」をクリック
・「Windows Subsystem for Linux」にチェックを入れる

コマンドプロンプトから

fsutil.exe file setCaseSensitiveInfo パス enable

とすることで、対象フォルダで大文字小文字の区別が可能になる。
ドキュメント内のwebというフォルダに適用するには

fsutil.exe file setCaseSensitiveInfo C:\Users\ユーザー名\Documents\web enable

となる。
ちなみに

fsutil.exe file setCaseSensitiveInfo パス
= 区別が可能かどうかを調べる

fsutil.exe file setCaseSensitiveInfo パス disable
= 区別させない設定に変更

※注意…すでに作ってあるフォルダのサブフォルダには設定は適用されないため、フォルダ毎に設定する必要がある。
※Windowsユーザー名に半角スペースが入ると動作しない。その場合はユーザー名から作り直し。

htpasswdを編集したら認識しなくなったミス

No Comment サイト製作,

htpasswdのユーザー名,パスワードを変更したら認識しなくなった。
慌てたがよくよく見てみると、

httpd.confに

AuthUserFile /etc/httpd/conf/.htpasswd
AuthGroupFile /dev/null
AuthName "Password"
AuthType Basic
require user ユーザ名

この[require user ユーザ名]に自分で前のユーザ名を指定していたために入れなかったというオチ。
.htpasswdに登録してある全てのユーザー名で認証出来るように

[require valid-user]

しておけば問題は無かった。