この記事は古くなっています。 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のシェアウェアですがその価値は十分にあると思います、って同僚が言ってた。実は私は使ったことがありません。
MacVim
私はVim使ってます。たまにサーバー関連をいじることがあるので、操作感を変えたくないのと、変態的なキー操作で驚くほど少ないキータッチで目的のアクションをこなせる、そんなオタクらしいこのエディタが大好きです。隣に座ってる人が使ってるSublime Textも気になりますが、触ったら邪念が生まれる気がするので今は遠慮してます。
macvim-kaoriya - MacVim KaoriYa - Google Project Hosting
Aptana Studio
Eclipseをウェブ系に特化させたIDEです。私もWindows時代はコレのお世話になってたのですが、Macにしてからコマンドラインを使っての作業が多くなったので使わなくなりました。GUIでサーバーにファイル転送やバージョンコントロールできたりとか、最初から色々な機能がついててとにかく便利です。
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行目辺りの
#<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環境は難しいことだらけかもしれませんが、慣れてくるとかなり早く開発作業を進められます。
募集しています
スタジオ・ウミは「Drupal」に特化したサービスを提供する Drupal のエキスパートチーム。
フルリモート&フレックス制だから、働く場所を選ばず時間の使い方も自由です。
そんなワークライフバランスの整った環境で、当ブログに書かれているような
様々な技術を共に学びながら、Drupalサイト開発に携わってみたい方を募集しています。
まずはお話だけでも大歓迎!ぜひお気軽にご連絡ください。