MACでMAMPPROを使用してPHPの開発環境を整えていたけど、railsも勉強したいと思い、MAC標準のunixを使用してAMP環境を構築したほうがいいかなと思ったので忘却録を…
##パッケージ管理システム
Linuxでいうyumやaptみたいに、MACにもHomebrewというパッケージ管理システムがあるので、それをまずインストールしておく。
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
##Apacheの設定
既にApacheは入ってるので以下のコマンドで動かすことは出来る。
$ sudo apachectl start
localhost にアクセスすると「It works!」とか表示される。
ローカルだし、いちいちスーパーユーザーで設定するのも面倒なので、ユーザー権限でゴニョゴニョしたい。なのでドキュメントルートを変更してしまう
#Apacheの設定ファイルを開く
$ sudo vi /etc/apache2/httpd.conf
httpd.confの設定に関してはググれば色々と出てくるので、色々と参考にしてやってみた
#これをコメント解除しないとユーザーディレクトリが使えない
LoadModule userdir_module libexec/apache2/mod_userdir.so
#php5を使用するために
LoadModule php5_module libexec/apache2/libphp5.so
#サーバー名を指定しないと警告が出る(動くけど…)
ServerName localhost:80
#ドキュメントルートをユーザー配下にする
#この場合はユーザーディレクトリ配下に'www'を追加した場合
DocumentRoot "/Users/user_name/www"
#ディレクトリの設定
<Directory "/Users/user_name/www">
#htaccessの使用を許可する
AllowOverride All
#CGIを使う予定はないのだれけども…
AddHandler cgi-script .cgi .pl .py .rb
とりあえずここまで設定して後は後々勉強する予定
sudo apachectl graceful
エラーが出なければ完了。エラーが出た場合はエラー読んで対応すれば大丈夫だと思う。
あと、バーチャルホストとかは必要ないので特に触れない
##PHPのインストール設定
PHPも入ってるので
$ php -v
でバージョンを確認出来る。
自分の場合は5.5.20だった。
php.iniの設定を行う。
/etc/php.ini.defaultファイルがあるのでコピーして、/etc/php.iniを作成する。
#php.iniを作成する
$ sudo cp /etc/php.ini.default /etc/php.ini
書き込み権限がないので
$ sudo chmod o+w /etc/php.ini
$ sudo vi /etc/php.ini
設定内容はsentosサーバー構築マニュアルを参考。
#ショートタグ使用派なので
short_open_tag = On
#とりあえず1分ぐらいで
max_execution_time = 60
#デフォルト文字コードをUTF-8に
default_charset = "UTF-8"
#最大アップロードサイズを変更(なんぼでもいいと思います)
upload_max_filesize = 20M
#デフォルトタイムゾーンを東京に
date.timezone = Asia/Tokyo
#デフォルト言語を日本語に
mbstring.language = Japanese
#内部エンコーディングをUTF-8に
mbstring.internal_encoding = UTF-8
#HTTP入力エンコーディングをUTF-8に
mbstring.http_input = UTF-8
#HTTP出力エンコーディング
mbstring.http_output = pass
#内部文字エンコーディングの有効・無効
mbstring.encoding_translation = On
#文字コード検出のデフォルト値
mbstring.detect_order = auto
#無効な文字を代替する文字を定義
mbstring.substitute_character = none
以上でとりあえず完了
$ sudo apachectl graceful
反映されているかどうかはphpinfo()
とかで確認してみる。
##mysqlのインストール設定
# インストール
$ brew install mysql
# MySQLの起動
$ mysql.server start
# パスワードの作成
$ mysqladmin -u root password 'password'
# rootユーザでログイン
$ mysql -u root -p
【追記】
mysql_secure_installation
が良さそうなので、こちらで設定することにした。とりあえず「Y」だけでいいみたい。
$ mysql_secure_installation
#設定したパスワードを入れる
Enter current password for root (enter for none):
#rootパスワードを設定するか否か(パスワード設定してなければYすでにしている場合はn)
Set root password? [Y/n] n
#匿名ユーザーの削除(誰でもログインできるユーザー)
Remove anonymous users? [Y/n] Y
#rootユーザーのリモートログインの禁止
Disallow root login remotely? [Y/n] Y
#テストデーターベースの削除
Remove test database and access to it? [Y/n] Y
権限の変更の再読み込み
Reload privilege tables now? [Y/n] Y
localhostではなく127.0.0.1で接続できるようになる。
とりあえずこんな感じ
過去にMAMPとか入れてると動かないところがあるので、
一旦OSリカバリしてから行った方がスムーズかも…
自分はそうだった