手探りローカル開発環境構築(Mac+homebrew+ruby+Rails+apach+phpMyAdmin)

という訳で自分のMac内に環境を作っていくことに。
まず参考にしたのは下記記事。とっても丁寧でわかりやすい。

次いでphpMyAdmin。これについては下記記事。
※PHPは php -v したらすでに入っていたので飛ばした。

ここで http://localhost/phpmyadmin/ にアクセスしてるのにフォルダ一覧が出てきてしまい困る。phpが動いてない模様。

<解決方法>

↑こちらの記事を参考にさせていただきました。

sudo vi /private/etc/apache2/httpd.conf

して

#LoadModule php7_module libexec/apache2/libphp7.so
↓(コメントアウトの#を外す)↓
LoadModule php7_module libexec/apache2/libphp7.so

で解決。apachがphpを認識してなかったみたい?(なんでデフォルトがコメントアウトになってるんだ…怒)

でようくやくphpMyAdminにアクセスできたんだけど、ログインができない。
<解決方法>

↑こちらの記事を参考にさせていただきました。

sudo mysql

して

ALTER USER 'root'@'localhost' identified WITH mysql_native_password BY 'パスワード';

して /usr/local/etc/my.cnf の最下部に

default_authentication_plugin=mysql_native_password

を追記

なんとかログインできるようになったと思ったらこんなエラー。

phpMyAdmin 環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています。理由についてはこちらをご覧ください。
代わりにデータベースの操作タブを使って設定することもできます。

<解決方法>

の記事を参考にさせていただいて解決。まだ

$cfg['TempDir'] (./tmp/) にアクセスできません。phpMyAdmin はテンプレートをキャッシュすることができないため、低速になります。

というエラーが出ているけどこれは無視。無視というか

の記事をもとに

chown -R _www:_www /usr/local/Cellar/phpmyadmin

とかってサーバーに権限つけてみた(うまくできているかは分からない)けど変わらずエラーが出ている。↑はやらないほうがいいかもしれない。

<よく使ったコマンドたち>

mysqlの開始と停止

sudo mysql.server start
sudo mysql.server stop

Apacheの開始・停止・再起動

sudo apachectl start
sudo apachectl stop
sudo apachectl restart

Apache ウェブサーバが実行中かの確認(?)

ps aux | grep httpd

<参照した記憶のあるフォルダ>

/usr/local/etc/my.cnf
/private/etc/apache2/httpd.conf
/usr/local/Cellar/phpmyadmin/4.8.3/share/phpmyadmin

<所感>

さらっと覚えてる範囲で書いたけど、環境構築に10時間くらいかかった。。
つらみ。
漏れ色々ありそうだから、もっと細かくメモしていけばよかった。

<追記:18/11/03>

MacのOSをMojaveにアップデートしたらphpMyAdminが見れなくなった。
アップデートでhttpd.confからphpmyadmin関連の記述が無くなっていたのが原因だと思われる。(brew uninstall phpmyadminで一回消して、brew install phpmyadmin で入れ直したんだけど、これはしなくて良かった…。)

多分、httpd.confの最下部に

Alias /phpmyadmin /usr/local/share/phpmyadmin
<Directory /usr/local/share/phpmyadmin/>
       Options Indexes FollowSymLinks MultiViews
       AllowOverride All
       <IfModule mod_authz_core.c>
           Require all granted
       </IfModule>
       <IfModule !mod_authz_core.c>
           Order allow,deny
           Allow from all
       </IfModule>
   </Directory>

をもう一回書いてあげるだけでOKなはず。
どうやって入れたっけ?というときに備忘録の自身の記事が役に立った。
関連ファイルの場所を一応メモ。

ローカルサーバーのドキュメント
/Library/WebServer/Documents

httpd.conf
/private/etc/apache2

php
/usr/local/etc/php

phpMyAdmin
/usr/local/share/phpmyadmin

余談:
一時、phpMyAdmin諦めてソフトを探そうとしたんだけど、
有料だったり、無料のSequel Proはクラッシュしたり(新しいMysqlに対応していない?)。そんな中、無料でみつけたのがTeamSQL。

編集はできないけど、見る分には全く問題なし。

あとターミナルの移動を楽ちんにしたくて

を見つけたけどインストールの仕方がイマイチ分からず。

とかやっちゃったけど平気かな。。

開発以外のところでつまづくのホントつらいな〜〜〜



いいなと思ったら応援しよう!