質問: cakephpのサイトを参考にして terminalで git clone -b 2.x git://github.com/cakephp/cakephp.git を実行してダウンロードを行ったのですが HTTPDUSER=`ps aux | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\ -f1` setfacl -R -m u:${HTTPDUSER}:rwx app/tmp setfacl -R -d -m u:${HTTPDUSER}:rwx app/tmp 上記を実行すると -bash: setfacl: command not found このようなエラーが起きてしまいます。 さらにサイトを参考に進めて行き ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 開発(Development) 開発用のインストールは CakePHP をセットアップする最も早い方法です。 この例では CakePHP をインストールし、 http://www.example.com/cake_2_0/ でアクセスできるようにする方法を説明します。 ドキュメントルートは /var/www/html であると仮定します。 CakePHP のアーカイブを /var/www/html に展開してください。 ドキュメントルートに、ダウンロードしたリリースの名前がついたフォルダ(例えば cake_2.0.0)が取得できます。 このフォルダを cake_2_0 という名前にリネームしてください。 ファイルシステム上の開発用の設定は次のようになります *上記はコピペです。 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー この中にある「CakePHP のアーカイブを /var/www/html に展開してください。」 という文の意味がわからないです。 調べてわかったのは apacheにcakephpを展開すればいいのかと思うのですが、その解釈は合っているのでしょうか? また、ドキュメントルートに移るにはどうしたらいいのでしょうか。 ご教授よろしくお願いします。。。
回答: Macユーザではないことと、質問者さんの環境がよくはわからないので、大雑把な回答になります。 まず、質問順と前後しますが、 > > この中にある「CakePHP のアーカイブを /var/www/html に展開してください。」 > > という文の意味がわからないです。 > > 調べてわかったのは > > apacheにcakephpを展開すればいいのかと思うのですが、その解釈は合っているのでしょうか? > > また、ドキュメントルートに移るにはどうしたらいいのでしょうか。 > > > ですが、解釈としては合っています。WebサーバーのドキュメントルートとなるディレクトリにCakePHPのアーカイブの内容を展開します(もしくは展開済みのものをドキュメントルートにコピーか移動します)。 ディレクトリの移動には`cd`コマンドを使用します(ドキュメントルートがどこになるかはWebサーバーのインストール次第なので、何とも言えません)。 次にコマンドのエラーについてですが、`setfacl`コマンドが無いことで発生しています。このsetfaclコマンドはLinuxのコマンドになるのですが、残念ながら、**Mac OSはLinuxではないので、このコマンドがありません。**このコマンドでやろうとしていることは、 1. app/tmp配下のパーミッションの変更 2. app/tmp配下のオーナー値の変更 3. app/tmp配下のファイル作成マスク値の変更 になります。そこで、それぞれを`chmod`、`chown`、`umask`コマンドで代替します。 ここでオーナー値の取得を行っているのが、その前でやっている`HTTPDUSER=~`の部分です。なお、質問者さんは見落としているかもしれませんが、ここは`ps aux`以降はバッククォートで囲まなければなりません。つまり、 ``` HTTPDUSER=`ps aux | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\ -f1` ``` となります(psコマンド以降のワンライナーの実行結果を取得したいので)。 で、`chmod`、`chown`、`umask`を以下のように実行します。 ``` chmod -R 775 app/tmp chown -R ${HTTPDUSER} app/tmp umask 000 ``` ここでは、`chmod`で指定するモード値を`775`にしましたが、もし、自分で勉強するためとかの目的であるならば、`777`でもよいです(実運用を見据えているならば、適切なモードを設定してください)。また、umaskコマンドの実行は省略しても構いません(その代わり、ファイルやディレクトリを作る毎にchmodでモード設定をする必要があります。でも、その方が融通が効きますけどね)。