Contents
ブログの執筆・投稿に集中できる環境を作りたい
ブログを立ち上げてはや7日、ブログを書くことよりも、文書の整形に手間取ったり、ファイルを加工したりアップロードする作業に時間がかかったりで、効率的なブログ作成環境にはほど遠いです。
早く定型化して、楽にして、記事の内容を考えることにより多く時間を割きたいと思っています。
とはいえ、せっかくなので、効率化の作業そのものも記事にしていきます。
WordPressのコンテンツフォルダをWindowsのexplorerで直接操作したい(samba利用)
WordPressの作成環境を整えるにあたって、時々、WordPressをインストールしたフォルダを直接いじりたくなることがあります。(wp-config.phpが置いてあるディレクトリです)
wp-config.php を編集したり、favicon.icoファイルを配置してみたり、robots.txtを編集してみたり。
WindowsPCで調べ物をしていて、すぐにサーバで試してみたいことがあるときに、一々teratermを立ち上げてunixにログインし、ファイルをいじる、というのが面倒なので、explorerでアクセスできれば楽ちんです。
目的別にプラグインを探してダッシュボード経由で操作する方法もあるかと思いますが、いじれる手段を複数用意しても、損になるわけではありません。いろいろと可能性を追求していきます。
今回は、expolorerからsamba経由でファイルやディレクトリを直接操作し、ファイルの権限やユーザなどに矛盾を来さない環境構築を考えてみます。
下手するとファイルを消してしまうリスクは上がりますので、運用は慎重にしていくことになります。
自宅サーバ環境(前提)
- OSはVine Linux 6.1
- webサーバはapache
- コンテンツフォルダ内ファイルの権限設定は原則700か600
- sambaのセキュリティ設定は”user”
- sambaサーバにはunixアカウントと同名のアカウント名を登録済み
- webサーバのunixアカウント名はwebuser
- ログインに用いるunixアカウント名はhoge
コンテンツフォルダでlsすると、こんな状態。
[root@localhost]# ls -al
drwx—— 5 webuser webuser 4096 9月 15 12:00 ./
drwxr-xr-x 11 root root 4096 9月 7 23:27 ../
-rw——- 1 webuser webuser 2924 9月 15 11:59 favicon.ico
-rw——- 1 webuser webuser 53 9月 14 23:48 googlexxxxxxxxxxxxxxxx.html
-rw——- 1 webuser webuser 53 9月 14 22:41 googleyyyyyyyyyyyyyyyy.html
-rw——- 1 webuser webuser 395 9月 14 14:57 index.php
-rw——- 1 webuser webuser 19929 9月 14 14:57 license.txt
-rw——- 1 webuser webuser 3081 9月 14 14:57 readme-ja.html
-rw——- 1 webuser webuser 10101 9月 14 14:57 readme.html
-rw——- 1 webuser webuser 717 9月 14 22:30 robots.txt
smb.confを一部示すと、こんな状態。
[global]
security = user
passdb backend = tdbsam
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = * %n\n * %n\n *
dos charset = cp932
unix charset = utf-8
display charset = utf-8
[homes]
・・・・
sambaに設定を追加(smb.conf)
通常利用するユーザ名hogeでログインし、コンテンツフォルダへの読み書きはwebuser名で行うように設定します。また、ログインできるunixユーザも、限定します。
smb.confに以下を追記。
[WordPress]
comment = WordPress
path = /wordpressコンテンツのパス
valid users = hoge #wordpressフォルダにアクセスできるユーザを制限
read only = No #書き込みOK
hosts allow = 192.168.1.0/24 #アクセス可能な端末をLAN内に限定。適宜。
force user = webuser #コンテンツフォルダに書き込むときは、このユーザ名になる
force group = webuser #コンテンツフォルダに書き込むときは、このユーザ名になる
create mask = 0600 #ファイル作成時は権限設定600強制
directory mask = 0700 #ディレクトリ作成時は権限設定700強制
で、できあがったsamba経由のフォルダの様子はこんな感じ↓
始めに接続するときは、ユーザhogeの認証を求められるかも知れません。
動作を確認する
試しに、samba経由のWordPressコンテンツフォルダに、ファイルを新規に作成してみます。
上のように、味も素っ気もないテキストファイルを作成しました。
自宅サーバにログインして、コマンドラインでlsで確認すると、以下の通り。
[root@localhost]# ls -al
drwx—— 5 webuser webuser 4096 9月 15 13:10 ./
drwxr-xr-x 11 root root 4096 9月 7 23:27 ../
-rw——- 1 webuser webuser 2924 9月 15 11:59 favicon.ico
中略
-rw——- 1 webuser webuser 0 9月 15 13:10 新しいテキスト ドキュメント.txt
[root@localhost]#
きちんと、正しいユーザ名(webuser)、権限(600)でファイルができたことが確認できました。
テキストエディタを選ぶ(おまけ)
テキストファイルは、windows系とunix系で、改行コードが違います。windowsのテキストエディタでunixのテキストファイルを編集すると、改行コードが変わってしまい、サーバの挙動が変わることがあります。
ご存知の方がほとんどだと思いますが、念のため。
- Windows系の改行コード: CR+LF 2文字使ってます。
- UNIX系の改行コード: LF
- Macの改行コード: CR 持ってませんが、そうらしいです。
シェアウェアの秀丸エディタは、ファイルの中身を見てどちらの改行コードか判断して、設定を変えてくれます。
つまり、sambaの環境と秀丸エディタを使えば、explorerで開いたフォルダにあるテキストファイルを、何も考えずに開いて編集し、保存することができるようになります。
そういうテキストエディタは、今時探せばたくさん出てきそうですが、とりあえず私の知る一例として紹介しました。
コメント