apache と パーミッションと samba とシンボリックリンク

前回のつづき。
/var/www/html/xxx にターミナル上で作成できたのは
よいが VMWare内でエディットするのがメンドくさい。

HTMLのサンプルコピペがめんどくさいので
Samba 経由でなんとかならないかと
/var/www/html/xxx に ln コマンドでシンボリックリンクを張るも
アクセスエラー
たすけてー


[追記]
Linux のターミナルからは編集できる
・Samba からはアクセスできない
ことから Samba 側の設定の問題と思い、そっちから調べる。
調べたところ、単に smb.conf に共有の設定がなかったことが原因。 
単にシンボリックリンクではNGで、
 /var/www/html/xxx にアクセスできるよう、smb.conf を編集する必要がある。


具体的には以下の感じ。(セキュリティの観点からすると甘いかもしれないので試し用の設定)
[web]
path = /var/www/html/test
read only = No
guest ok = Yes


Sambaの設定の切り分けには前回同様、チュートリアルを参考にした。
http://www.samba.gr.jp/doc/diag.html

apache と パーミッション

apache
apt-get のroot権限でインストールした apache
/var/www 以下の権限が root になっているのでhtmlファイルの編集が面倒なので
パーミッションを変えてみたのでメモ。


test用にディレクトリ「test」を追加し、
testディレクトリが所属するグループを編集用ユーザのグループ「aaa」に変更。
コマンドは chgrp。

ユーザがroot、グループ「aaa」のtestディレクトリのパーミッション
グループが読み取り、実行のみ。
グループ aaa が編集できるように変更。
コマンドは chmod 。



作業中、httpd.conf のユーザ・グループ欄にある
User apache
Group apache
と混乱したが、 http.conf はapache(webサーバ)の権利。
上記 chgrp、chmod でいじったのはHTMLファイルの権利で別物。
ちなみに、ps -aux | grep httpd とすると ユーザapache で起動していることが分かる。
apache 19523 0.0 0.3 25136 3776 ? S 04:24 0:00 /usr/sbin/httpd

PHP

yumphp 入れたあと、
/var/www/html 以下にPHPスクリプトを置くだけで
PHPが動いたので 驚いた。


なぜなら普段使うプログラミング言語C言語なので、
PHPテキストを動かすのにコンパイルも設定もする必要がない、というのは
かなり不思議だった為。


少し検索してみると httpd.conf に php.conf を includeする設定があって、
その php.conf 内で拡張子が .php だったらPHPと解釈する宣言が書いてあった。
また、 php 用のDSOモジュールのロードの宣言も書いてあった。


なので、設定不要というか、yum によって必要な設定も一緒に投入されているようだ。。
CGIじゃなくて、mod_xxx で動作する設定になっている)


yum だとここまでやってくれんのかー。便利だなー。
今までの最新のソースを漁ってきて
./configure
./make
./make install
とかやってられなくなりますね。
特に configure のオプションが面倒なので助かる。

CentOSのビープ音

CentOS でビープ音がやたらうるさい。。。

ターミナル
vi
emacs
それぞれで鳴る。。。

対処法検索中。

以下Webページに回答があった。
http://www.glamenv-septzen.net/nifty/others/computer/linux_silence.html#main_04
http://blog.goo.ne.jp/billmon/e/2d16ddd7632344df0c98291dcac629ef

emacs

emacs
emacs の日本語入力でも
しょうもないことではまったのでメモしておく。

.emacs はホームディレクトリに置くので
当然ユーザ毎に必要。
http://www.ep.sci.hokudai.ac.jp/~epnetfan/tebiki/server-editor/emacs21_sample_dot_emacs.txt

rootの.emacs に日本語の設定をしてなくて、
apache のデフォルトドキュメントルート で日本語入れようとして
ハマったのでメモ。。
デフォルトドキュメントルートの所有権は無設定だと。root。

apache のインストール

apache
apache のパッケージインストールで
ハマったのでメモしておく。

apt-get コマンドでインストールする場合。

http://okwave.jp/qa/q1117019.html
#apt-get install apache2 とかうってもできません。
上のページにあるとおり、パッケージリストを最新化したうえで
パッケージ検索して該当するものを探して
apt-get しましょう。

結局は #apt-get install httpd だった。
しかも 使ってた CentOS6 には入ってたし。。。

Samba

LinuxSamba
Samba の設定で四苦八苦しているので
進捗をまとめる


○目的
VMWare Player に仮想化OSとしてCentOSをインストール。
この CentOS とホストPC間でファイル共有をしたい。
○手段
Samba を使ってファイル共有を行う。
○進捗
CentOS インストールあれこれ

1.VM Ware Player に CentOSをインストール
CentOS 6.3 ではなぜか VM Ware にインストールできず。
CentOS 5.8 なら OK。

簡易インストールでいれると以下状態。
言語が英語だったので、日本語パッケージをインストール
samba が入ってなかったのでインストール。
samba のバージョンは 3.x になった。

samba の設定を変えようとしたら
emacs が入ってなかったので
emacs も合わせてインストール。

各設定変更時にいちいちビープ音がなってうるさかったので
これも修正。

2.samba の設定。

ドメイン名をPCと同じにして
再起動しても見えず。

iptables を無効化(停止)すると
IPアドレス指定で Windows 側からのアクセスの応答が
出た。やっとフォルダがみれた
フォルダアクセスはまだ。

設定自体は smb.confの編集か、 swat の2つ。
試しに swat をやってみるが、元々ある smb.conf をがっさり書き換えるので
止めにした。
swat自体もなかなか上手くいかず。
iptablesを無効化することで
vmware内で swat にアクセスできた。
(どこかのポートの設定とは思うが特定できず、目的ともずれてきたので保留)
ちなみにアドレスは http://localhost:901/
localhostIPアドレスにしたら無理だった。 Sambaの設定か。

smb.confの編集
適当にグーグル先生頼りに検索。

3.進捗
Windowsのネットワークで CentOSは見えるし、
ユーザログインではじかれることもないが、
ログインしたユーザでフォルダを見に行くと Windowsからエラーが返る。


http://www.samba.gr.jp/doc/diag.html
上記チュートリアルに従って調べるも特に間違ってそうな箇所は見当たらず。
testparm による smb.conf の設定確認
が、以下で引っかかった。
smbclient による Linux マシン上での共有アクセス
NT_STATUS_ACCESS_DENIED というエラーが出る。
これをキーにグーグル先生に聞くとSELinux を切るととりあえずはOKみたい。
なんとかできた―。
http://ameblo.jp/ikeshow/entry-11044146915.html
http://fixunix.com/samba/140231-%5Bsamba%5D-nt_status_access_denied.html
http://maneetti.net/modules/wordpress/index.php?p=678