この記事は古くなっています。 Yosemite 以降の OS X ではこの記事の通りにインストールしても動作しません。

はじめに

去年の4月に面接してから早いもので、来月には弊社に新卒が3人入ってきます。

3人が使う端末はiMacなのですが、技術チームのヤング娘とメリケンガールが未だにWin何とかと言う端末を使っているので、「4月から新人のMac買うからついでに全員Macにしちゃおう」という大義名分のもと、Studio Umiスタッフ全員の端末をMacにすることにしました。

ウェブ系の開発やるならUnix系OSの方が断然早くて便利です。しかし彼女たちはMacと言う言葉を聞いただけでしかめつらをするので、3ヶ月後には「Macにして本当に良かった」と絶対に言わせてやりたい…!。そんな思いを込めてMacでの開発環境のセットアップ方法を記事にしました。

基本方針

  • Mac OS Xに最初から入ってるソフトはできるだけそのまま使い、足りないものについてはHomebrewで追加する。
  • 開発のし易さを重視してセキュリティは必要最低限レベル。不特定多数の人が使う端末やネットワークの場合はもっとしっかり防備してください。
  • 弊社では一人一端末で開発を行いますので、多数のユーザーが一つの端末を使う事を考慮していません。
  • コマンドライン入力を駆使します。GUIでの操作は殆どないので、最低限のコマンドラインは基礎知識として覚えてください。

ここでの設定内容は自己責任で利用してください。

おすすめリンク

Xcode command Line Toolsのインストール

Macで開発用のgccなどのコマンドを使うにはXcodeのCommand Line Toolsが必要。

Mavericksからは以下のコマンドでインストールできる。

$ xcode-select --install

Xcodeのダイアログがでてきますので、インストールボタンを押してください。

Homebrewのインストール

Homebrewを下記のスクリプトでインストールします。

$ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
==> This script will install:
/usr/local/bin/brew
/usr/local/Library/...
/usr/local/share/man/man1/brew.1

Press RETURN to continue or any other key to abort

リターンキーを押して続けます。

==> /usr/bin/sudo /bin/mkdir /usr/local

WARNING: Improper use of the sudo command could lead to data loss
or the deletion of important system files. Please double-check your
typing when using sudo. Type "man sudo" for more information.

To proceed, enter your password, or type Ctrl-C to abort.

Password:

あなたのパスワードを入力してください。

==> /usr/bin/sudo /bin/chmod g+rwx /usr/local
==> /usr/bin/sudo /usr/bin/chgrp admin /usr/local
==> /usr/bin/sudo /bin/mkdir /Library/Caches/Homebrew
==> /usr/bin/sudo /bin/chmod g+rwx /Library/Caches/Homebrew
==> Installing the Command Line Tools (expect a GUI popup):
==> /usr/bin/sudo /usr/bin/xcode-select --install
xcode-select: note: install requested for command line developer tools
Press any key when the installation has completed.

Xcodeのインストーラーが起動しますので、画面に従ってインストールをしてください。インストールが終わったらターミナルで何かキーを入力して続けます。

Homebrewが正しくインストールできたか、下記のコマンドで確認してください。

$ brew doctor

成功すれば Your system is ready to brew. と表示されます。

Homebrewでインストールしたソフトを優先的に使うようにする

Homebrewで入れたソフトは /usr/local/bin にインストールされ、パスが通っているのでそのまま使えますが、/usr/bin に同じファイル名のプログラムがある場合そちらが優先されてしまうのでその対策をします。

/etc/paths の内容を書き換えて、/usr/local/bin が優先されるようにする。

Before:

/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin

After:

/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin

上に行くほど優先度が高い。

Gitを新しめのバージョンにする

Macには最初からgitコマンドが入ってるけど、後で使うからHomebewで新しめのバージョンを入れます。

$ brew install git

UTF-8 Mac問題に対応したSubversionのインストール

弊社ではSubversionを利用しているので、クライアントを入れます。

Macの日本語はUTF-8 Macと呼ばれるWindowsで使われているものとは微妙に違う文字コードが使われています。濁点付きの文字があるとうまくコミットやチェックアウトができません。

その問題に対応するため、--unicode-path のオプション付きで Subversion をインストールします。

$ brew install --unicode-path --java subversion

テキストエディタを入れる

弊社ではテキストエディタの選択は各個人に任せています。弊社内で使われているエディタを3本紹介します。

Sublime Text

最近ムッチャ流行ってるエディタです。マルチカーソルの魔法の様な機能を見たらそりゃもうイチコロですね。特に使いたいエディタが決まってなくて、今から開発始めるならコレですね。$70のシェアウェアですがその価値は十分にあると思います、って同僚が言ってた。実は私は使ったことがありません。

Sublime Text

MacVim

私はVim使ってます。たまにサーバー関連をいじることがあるので、操作感を変えたくないのと、変態的なキー操作で驚くほど少ないキータッチで目的のアクションをこなせる、そんなオタクらしいこのエディタが大好きです。隣に座ってる人が使ってるSublime Textも気になりますが、触ったら邪念が生まれる気がするので今は遠慮してます。

macvim-kaoriya - MacVim KaoriYa - Google Project Hosting

Aptana Studio

Eclipseをウェブ系に特化させたIDEです。私もWindows時代はコレのお世話になってたのですが、Macにしてからコマンドラインを使っての作業が多くなったので使わなくなりました。GUIでサーバーにファイル転送やバージョンコントロールできたりとか、最初から色々な機能がついててとにかく便利です。

Aptana Studio 3

Apacheの設定

Macでは最初からApacheが入っているのでそれを利用します。

Apache 起動

まずはApacheを起動してみて動いているか確認します。

$ sudo apachectl start

ブラウザから http://localhost/ へアクセスして「It works!」と表示されれば稼働しています。

httpd.confの設定

httpd.confを管理者権限で開きます。

$ sudo vi /etc/apache2/httpd.conf

DocumentRootの変更

170行目辺りに設定されているDocumentRootのパスを編集します。USERNAMEは自分のアカウント名に書き換えてください。

#DocumentRoot "/Library/WebServer/Documents"
DocumentRoot "/Users/USERNAME/Sites"

ディレクトリへのアクセス許可

199行目辺りのディレクティブを書き換えて、自分のSitesフォルダへApacheがアクセスができるようにします。

#<Directory "/Library/WebServer/Documents">~
<Directory "/Users/USERNAME/Sites">

アクセス制御

初期状態だと誰でもApacheへアクセスできてしまうので、もしそれが怖い場合は225行目辺りを下記の様な感じにします。下記の例では自分自身しかアクセスすることができません。

# Order allow,deny~
# Allow from all
Order deny,allow
Deny from all
Allow from 127.0.0.1

~

クリーンURLのための設定

Drupalでは付属の.htaccessファイルでクリーンURLを有効にしているため、クリーンURLの機能を使う場合は.htaccessでの制御を全て許可する必要があります。219行目辺りのAllowOverrideをAllに変更しください。

#AllowOverride None
AllowOverride All

設定の再読み込み

Apacheを再起動します。

$ sudo apachectl restart

以上で http://localhost/ へアクセスすると /Users/USERNAME/Sites のフォルダが参照されるようになります。

MySQLを入れる

Homebrewで簡単にインストールすることができます。

$ brew install mysql

インストールが終わったらMySQLサーバーを起動します。

$ mysql.server start

初期状態だとMacを再起動するたびに上記のコマンドを打たなければなりません。自動起動も可能ですが今回は省きます。

MySQLの初期設定

ターミナルで以下のコマンドを打って、対話形式で設定を済ませます。下記のように内容に合わせてyかnで回答します。

$ mysql_secure_installation

一番最初にrootのパスワードを聞かれるが、設定されていないはずなのでそのままエンター。

Enter current password for root (enter for none):

rootユーザーのパスワードを設定するか。利便性を考慮して設定なし。外に公開するサーバーの場合は必ず設定してください。

Set root password? [Y/n] n

匿名ユーザーを削除するか。要らないので削除します。

Remove anonymous users? [Y/n] y

リモートでのrootログインを非許可にするか。リモートログインはしません。

Disallow root login remotely? [Y/n] y

テスト用のtestデータベースを削除するか。要らないので削除します。

Remove test database and access to it? [Y/n] y

権限設定を再読み込みするか。設定した内容を今すぐ使いたいのでyes。

Reload privilege tables now? [Y/n] y

MySQLにログインユーザー名と同じ名前のユーザーを追加する

mysqlコマンドの利用を楽にします。通常、MySQLは -u のオプションを付け、ユーザー名を指定して利用することが一般的ですが、-u オプションを省くとログイン中のユーザー名が自動的に使われますので、それを利用します。

MySQLは -u オプションを省略すると自動的に現在ログインしているユーザー名が利用されるので、自分のログイン名と同じユーザー名でmysql上にユーザーを追加する。USERNAMEとなっている場所は使用するユーザーの名前に置き換えてください。

MySQLへrootでログインする。

$ mysql -u root

ユーザーを追加。

mysql> GRANT ALL ON *.* TO USERNAME@"localhost";
mysql> FLUSH PRIVILEGES;

PHPからMySQLを利用できるようにする

初期状態ではPHPの設定ファイルであるphp.iniが/etcフォルダに無いので、無い場合はデフォルトの設定ファイルをコピーして、PHPの設定を変更できるようにする。

$ cd /etc
$ sudo cp php.ini.default php.ini

下記の3つの項目に値が何も入っていないので /tmp/mysql.sock をセットする。

$ sudo vi /etc/php.ini

pdo_mysql.default_socket = /tmp/mysql.sock
mysql.default_socket = /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock

phpMyAdminを入れる

Homebewを使って入れることもできますが英語版のパッケージのため、今回はサイトからダウンロードしてインストールします。

phpMyAdminのDownloadのメニューを押して他言語版phpMyAdminをダウンロードしてください。

ダウンロードしたzipファイルを適当な場所に解凍します。ファイル名やディレクトリ名は執筆時のものなので適宜変更してください。

$ unzip ~/Downloads/phpMyAdmin-4.1.9-all-languages.zip

phpMyAdminを/usr/local/share/phpmyadminへ移動します。先ほど設定したDocumentRootのフォルダに入れてもいいですが、使用するユーザーが変わった時にも影響が出ないように配慮します。

$ sudo mv ~/phpMyAdmin-4.1.9-all-languages /usr/local/share/phpmyadmin

phpMyAdminの設定

デフォルトの設定ファイルをコピーします。

$ sudo cp /usr/lcoal/share/phpmyadmin/config.sample.inc.php /usr/local/share/phpmyadmin/config.inc.php

エディタで設定ファイルを開き、設定を変更します。

$ sudo vi /usr/local/share/phpmyadmin/config.inc.php

Apacheに設定ファイルを作成する

/phpmyadmin のアドレスで先ほどインストールしたphpmyadminが表示されるようにApacheの設定ファイルを追加します。

$ sudo vi /etc/apache2/other/phpmyadmin.conf

下記のような感じで設定ファイルを作ります。この例ではローカルホストのみからしかアクセスできないようにしてます。

Alias /phpmyadmin /usr/local/share/phpmyadmin
<Directory /usr/local/share/phpmyadmin/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order deny,allow
    Deny from all
    Allow from localhost
</Directory>

Apacheを再起動

$ sudo apachectl restart

これで http://USERNAME.localhost/phpmyadmin/ のURLでアクセスできるはずです。

Drushを入れる

Drupalをターミナルからいじるのに必須なDrushを入れます。Homebrewから簡単にインストールできる。

$ brew install drush

Drupalを動かしてみる

Drupalのインストール

早速Drushコマンドを使っていれてみましょう。最新の安定バージョンが自動的にダウンロードして解凍されます。

$ cd ~/Sites
$ drush dl

Drupalサイトの動作確認

上記のコマンドでSitesフォルダにdrupal-7.xと言う名前のフォルダができているはずです。 7.xはその時のバージョン番号となりますので読み替えてください。

ブラウザから http://localhost/drupal-7.x へアクセスしてみましょう。Drupalのインストール画面が表示されれば成功です。

終わり

以上で終了となります。

いかがでしたか?初めてのMac環境は難しいことだらけかもしれませんが、慣れてくるとかなり早く開発作業を進められます。