3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MACでAMP環境の構築

Last updated at Posted at 2015-04-28

MACでMAMPPROを使用してPHPの開発環境を整えていたけど、railsも勉強したいと思い、MAC標準のunixを使用してAMP環境を構築したほうがいいかなと思ったので忘却録を…

##パッケージ管理システム
Linuxでいうyumやaptみたいに、MACにもHomebrewというパッケージ管理システムがあるので、それをまずインストールしておく。

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リカバリしてから行った方がスムーズかも…
自分はそうだった

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?