質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

Q&A

解決済

1回答

2470閲覧

Apache2のエラー解決に関する質問

Daisuke_2017

総合スコア12

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

0グッド

0クリップ

投稿2017/03/26 05:47

cakephpを使うためにapacheを使っているのですが、
Apache実行ユーザに対して、ログファイルやキャッシュディレクトリに対しての書き込み権限が無いことでエラーが起きてます。

そこでhttp://kwski.net/cakephp-2-x/1009/
このサイトを参考にしています。

tmpディレクトリの所有者を再帰的にapacheユーザへ変更し、パーミッション755を付与

chown -R apache tmp

chmod -R 755 tmp

という部分がわかりません。

自分の解釈としてはターミナルでtmpディレクトリに移動して実行すればいいのかなと思うのですが、そのtmpディレクトリに移動する方法がわからないです。

tmpファイルの場所は
Finderを開いて
MacintoshHD/ライブラリ/WebServer/Documents/cakephp/app/tmp
であってますでしょうか?
それともドキュメントルートを変える必要があるのでしょうか?

解決方法を
ご教授いただけると幸いです。

よろしくお願いします。

開発環境は
mac sierra
mac osX
Apache/2.4.23

ドキュメントルートは
Library/WebServer/Documents/cakephp

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

MacintoshHD/ライブラリ/WebServer/Documents/cakephp/app/tmp

あっているはずです。ただしターミナルで書くときは「/Library/WebServer/Documents/cakephp/app/tmp」になります。

それともドキュメントルートを変える必要があるのでしょうか?

/Library/WebServer/Documents/cakephpのすぐ下に「index.php」はありますでしょうか?あれば問題ないと思います。

そのtmpディレクトリに移動する方法がわからないです。

ご説明していきます。
ターミナルで下記のコマンドを入力してみてください。今自分がいる場所が表示されます。

$ pwd /Users/[ユーザ名]

おそらくターミナルを開いた時点だと自分のユーザ名のディレクトリに自分がいます。
ここからtmpディレクトリがある階層まで移動するには「cd(change directoryの意)」コマンドを使用します。

$ cd /Library/WebServer/Documents/cakephp/app //上のコマンドで「/Library/WebServer/Documents/cakephp/app」に移動される $ pwd /Library/WebServer/Documents/cakephp/app //pwdで自分がいる場所を表示するとcdしたところに移動する $ ls -l drw------- 1 test test 424 12 11 15:07 tmp //「ls(listの意)」コマンドを実行すると現在いるディレクトリ配下に何があるか表示されます。 //今回だとtmpディレクトリが存在するはずです。(-lは権限と所有者を表示します) //上の場合、drw-------のはdはディレクトリ、rw-------は数字で表すと600を意味します。 //ここで上で書かれている「tmpディレクトリの所有者を再帰的にapacheユーザへ変更し、パーミッション755を付与」を行います。 $ chown -R apache tmp $ ls -l drw------- 1 apache test 424 12 11 15:07 tmp //所有者がtest→apacheに変わっていると思います。 $ chmod -R 755 tmp $ ls -l drwxr-xr-x 1 apache test 424 12 11 15:07 tmp //権限がrw-------(600)→rwxr-xr-x(755)に変わっていると思います。 //chownかchmodでもしも権限がなくて失敗する場合はsudoを頭につけてみてください。

これで権限と所有者を変更できると思います。

投稿2017/03/26 14:04

soich

総合スコア176

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Daisuke_2017

2017/03/26 14:25

ls -l total 16 drwxr-xr-x 10 daisukekobayashi staff 340 3 14 17:55 Config drwxr-xr-x 7 daisukekobayashi staff 238 3 14 17:55 Console drwxr-xr-x 5 daisukekobayashi staff 170 3 14 17:55 Controller drwxr-xr-x 3 daisukekobayashi staff 102 3 14 17:55 Lib drwxr-xr-x 3 daisukekobayashi staff 102 3 14 17:55 Locale drwxr-xr-x 5 daisukekobayashi staff 170 3 14 17:55 Model drwxr-xr-x 3 daisukekobayashi staff 102 3 14 17:55 Plugin drwxr-xr-x 4 daisukekobayashi staff 136 3 14 17:55 Test drwxr-xr-x 3 daisukekobayashi staff 102 3 14 17:55 Vendor drwxr-xr-x 9 daisukekobayashi staff 306 3 14 17:55 View -rw-r--r-- 1 daisukekobayashi staff 882 3 14 17:55 composer.json -rw-r--r-- 1 daisukekobayashi staff 689 3 14 17:55 index.php drwxr-xr-x 7 daisukekobayashi staff 238 3 26 03:11 tmp drwxr-xr-x 10 daisukekobayashi staff 340 3 14 17:55 webroot chown -R apache tmp これを実行すると、 chown: apache: illegal user name こうなってしまい、 total 16 drwxr-xr-x 10 daisukekobayashi staff 340 3 14 17:55 Config drwxr-xr-x 7 daisukekobayashi staff 238 3 14 17:55 Console drwxr-xr-x 5 daisukekobayashi staff 170 3 14 17:55 Controller drwxr-xr-x 3 daisukekobayashi staff 102 3 14 17:55 Lib drwxr-xr-x 3 daisukekobayashi staff 102 3 14 17:55 Locale drwxr-xr-x 5 daisukekobayashi staff 170 3 14 17:55 Model drwxr-xr-x 3 daisukekobayashi staff 102 3 14 17:55 Plugin drwxr-xr-x 4 daisukekobayashi staff 136 3 14 17:55 Test drwxr-xr-x 3 daisukekobayashi staff 102 3 14 17:55 Vendor drwxr-xr-x 9 daisukekobayashi staff 306 3 14 17:55 View -rw-r--r-- 1 daisukekobayashi staff 882 3 14 17:55 composer.json -rw-r--r-- 1 daisukekobayashi staff 689 3 14 17:55 index.php drwxr-xr-x 7 daisukekobayashi staff 238 3 26 03:11 tmp drwxr-xr-x 10 daisukekobayashi staff 340 3 14 17:55 webroot このように変化はなかったのですが、 chown: apache: illegal user name これを解消するにはどうすればいいですか?
soich

2017/03/26 23:55

あ、Macにapacheユーザが作られていないということで注意されていますね。 下のサイトでユーザを追加してから実行するか http://kade.hatenablog.com/entry/2014/07/24/192331 $ sudo chmod -R 777 tmp もしくはユーザを作らなくても上のコマンドだけで解決できるかもしれません。
Daisuke_2017

2017/03/27 03:13

Error: ~daisukekobayashiController could not be found. Error: Create the class ~daisukekobayashiController below in file: app/Controller/~daisukekobayashiController.php <?php class ~daisukekobayashiController extends AppController { } Notice: If you want to customize this error message, create app/View/Errors/missing_controller.ctp 見にくいかもしれないです。すみません。 仰った通りに sudo chmod -R 777 tmp を実行したら上記のエラー画面になりました。 一応cakephpの画面が出てきてくれたので成功ですかね?
soich

2017/03/27 12:05

tmpのパーミッションエラーは解消されて、これはまた別のエラーですね。 エラーメッセージ見る限りエラーが2つありそうです。 「Error: Create the class ~daisukekobayashiController below in file: app/Controller/~daisukekobayashiController.php」 「Notice: If you want to customize this error message, create app/View/Errors/missing_controller.ctp」 ですかね。 つまづいたらエラーメッセージを検索して見ることも大切です。 「Create the class」とかで調べると原因が出てくると思います。 また、「If you want to customize this error message」と検索するとそちらの原因も出てくるかと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問