更新履歴
| 2011/0429 |
ver1作成 |
| 2011/05/15 |
仮想OSのインストールを追記 |
| 2012/11/18 |
システム構成は削除、homebrewのインストール方法更新 |
概要
自分の開発環境の構築について書いておく
Macを利用する上での注意点
Macの大文字・小文字の区別について
結構、自分で忘れてしまっていることが多いが、Macを標準でそのまま利用していると、ファイル名の大文字と小文字は区別されない。CUIで作業していると困ることがある。
一応、HDフォーマット時に、区別するように指定もできるみたいだが、それをやると、Macのアプリケーションが、大文字と小文字は区別されないことが前提だったりして動かなくなることもあるみたいだ。
なので、基本は区別せずに自分で気をつけることにする。
Macの64bit対応について
ソフトウェアをインストールするときなど、i386やx86_64などと書かれたものが分かれていたりするが
簡単にいうと、32bit対応か64bit対応の違いらしい。
現在、利用しているMac OS X 10.6(snow leopard)は64bitに対応している。
しかし、標準では32bitモードで起動しているみたい。
そもそも、プロセッサが対応しているかは、
起動するカーネルを自分で選択する場合は、
まあ、今のところは他のアプリなどに影響が出ると嫌なので、デフォルトの32bitにしておく。(2011/05)
基本のセットアップ
パッケージ管理ソフトをいれる
パッケージをいれるのに管理ソフトがあると便利のためパッケージ管理ソフトを導入。将来的にはAppStoreに統一されていくんだろうか。
以前はMacportsが有名だったが、現在はHomebrewが主流のようだ。
今のMacbookでインストールするために方法を変更
以前はダウンロードしてきてインストールしていたが、今はAppStoreから手に入る。便利!
$ ruby -e "$(curl -fsS http://gist.github.com/raw/323731/install_homebrew.rb)"
利用方はmanコマンドで確認したほうが早いが、主に
$ brew command [options] [formula]
という形式。 formulaというのはいわゆるパッケージのことだと思えばよい。。。と思う。
| command |
内容 |
| install |
インストールする |
| options |
インストール時に指定できるオプションを見る。オプションは、brew install [option] formula といった形で利用する。 |
| search |
formulaを探す |
| info |
formulaの情報を表示 |
| list |
インストールされているformulaのリスト |
| update |
Homebrewのアップデートを行う |
MySQLのインストール
MySQLはデフォルトでは入ってないのでインストールの必要がある。
ここで方法としては、下記のものがある。
1.パッケージをダウンロードして、インストールする。
Mac OS X のタイプをダウンロードする。DMGパッケージのものがtar.gzのタイプより楽でいいと思う。
このタイプだとシステム環境設定から起動などをGUIから制御できるみたい。
2.brewパッケージ管理ソフトからコマンドラインでインストールする。
今回はこちらの方法でインストールを行う。
$ brew install mysql
--ここまで依存関係のダウンロードなどで結構時間がかかった--
Set up databases to run AS YOUR USER ACCOUNT with:
unset TMPDIR
mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
To set up base tables in another folder, or use a differnet user to run
mysqld, view the help for mysqld_install_db:
mysql_install_db --help
and view the MySQL documentation:
* http://dev.mysql.com/doc/refman/5.5/en/mysql-install-db.html
* http://dev.mysql.com/doc/refman/5.5/en/default-privileges.html
To run as, for instance, user "mysql", you may need to `sudo`:
sudo mysql_install_db ...options...
Start mysqld manually with:
mysql.server start
A "/etc/my.cnf" from another install may interfere with a Homebrew-built
server starting up correctly.
To connect:
mysql -uroot
To launch on startup:
* if this is your first install:
mkdir -p ~/Library/LaunchAgents
cp /usr/local/Cellar/mysql/5.5.10/com.mysql.mysqld.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/com.mysql.mysqld.plist
* if this is an upgrade and you already have the com.mysql.mysqld.plist loaded:
launchctl unload -w ~/Library/LaunchAgents/com.mysql.mysqld.plist
cp /usr/local/Cellar/mysql/5.5.10/com.mysql.mysqld.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/com.mysql.mysqld.plist
You may also need to edit the plist to use the correct "UserName".
Warning: m4 macros were installed to "share/aclocal".
Homebrew does not append "/usr/local/share/aclocal"
to "/usr/share/aclocal/dirlist". If an autoconf script you use
requires these m4 macros, you'll need to add this path manually.
==> Summary
/usr/local/Cellar/mysql/5.5.10: 6232 files, 219M, built in 5.9 minutes
$ mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
Installing MySQL system tables...
OK
Filling help tables...
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/local/Cellar/mysql/5.5.10/bin/mysqladmin -u root password 'new-password'
/usr/local/Cellar/mysql/5.5.10/bin/mysqladmin -u root -h (machine name).local password 'new-password'
Alternatively you can run:
/usr/local/Cellar/mysql/5.5.10/bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
cd /usr/local/Cellar/mysql/5.5.10 ; /usr/local/Cellar/mysql/5.5.10/bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd /usr/local/Cellar/mysql/5.5.10/mysql-test ; perl mysql-test-run.pl
Please report any problems with the /usr/local/Cellar/mysql/5.5.10/scripts/mysqlbug script!
上記に書かれている内容から以下の内容をやった。
$ unset TMPDIR
$ mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
$ mysql.server start
$ mysql -uroot
Can’t connect to local MySQL server through socket '/tmp/mysql.sock'
となってエラーがでた。このエラーが出た場合の可能性としては、次の可能性がある。
そもそもmysqlが起動していない。起動していないときはエラーがでる。psコマンドで確認してみる。
MySQLサーバとクライアントで、利用しているソケットファイルのパスが違う。
MySQLサーバのソケットファイルの位置は、インストール時に指定していなければ/tmp/mysql.sock
また、次のコマンドで知ることもできる。
このソケットファイルの位置をサーバとクライアントであわせる必要がある。
何らかの影響でsocketファイルが存在しない場合。このような場合は再起動をかけると、
ソケットファイルが復元される。
今回は、調べたところ、プロセスはたちあがっていたが、ソケットファイルが存在しなかった。
そのため、mysqldを再起動をかける。
ちなみに、launchctlでロードしているplistファイルでOnDemandがfalseの場合、stopするとすぐに起動する。よってstopすると結果的に再起動となる。
$ launchctl stop com.mysql.mysqld.plist
が、結局、sockファイルが作成されていなかったので、一度unloadした。
$ launchctl unload com.mysql.mysqld.plist
この時点で残っていたプロセスは、killした。
mysql.server stopのほうがよかった気もする。
再び、launchctlでloadを行う
$ launchctl load com.mysql.mysqld.plist
自動起動をしないようにする場合は、launchctlを利用せず、
でよいと思う
3.設定ファイルの準備
最後に設定ファイルを準備する。
通常、設定ファイルの位置は、
| ファイル |
目的 |
| /etc/my.cnf |
グローバルオプション |
| $MYSQL_HOME/my.cnf |
サーバ固有のオプション |
| defaults-extra-file |
--defaults-extra-file=pathで指定されたファイル(あれば) |
| /.my.cnf |
ユーザ固有のオプション |
MYSQL_HOMEはサーバ固有のファイルmy.cnfを含むディレクトリへのパスを含む環境変数です。
MYSQL_HOME がセットされていない状態で mysqld_safe プログラムを使ってサーバをスタートさせると、 mysqld_safe は次のように MYSQL_HOME をセットしようとします。
BASEDIR と DATADIR をそれぞれ、MySQLベースディレクトリとデータディレクトリのパスネームの代理に立てます。
DATADIRにはmy.cnfファイルが存在し、BASEDIRには存在しない場合、mysqld_safeはMYSQL_HOMEをDATADIRにセットします。
または、もしMYSQL_HOMEがセットされておらず、my.cnfファイルがDATADIRに存在しない場合、mysqld_safeはBASEDIRにMYSQL_HOMEをセットします。
MySQL 5.1ではDATADIRのmy.cnfファイルのロケーションとしての使用は認証されていません。BASEDIR の方が良い場所です。
ということらしい。
ちなみに、
一般的にDATADIRは/usr/local/mysql/dataでバイナリインストールに、または/usr/local/varでソースインストールに使用されます。これはコンフィグレーションタイムに特定されたデータディレクトリロケーションであって、mysqldが起動したときの--datadirオプションに呼応しているのではないということに注意してください。--datadirの起動時の使用はサーバがオプションファイルを探す際に何の影響ももたらしません。 これはサーバがオプションを処理する前にオプションファイルを探すからです。
らしい。最近まで勘違いしていた。
Node.jsのインストール
Windows or Macでインストールする場合、Node.jsが単一のバージョンのみでよいか、複数必要かで違ってくると思われる。
単一のバージョンのみでよい場合
ネイティブのインストーラがおすすめ。インストーラをダウンロードしてきて実行するだけ。
複数のバージョンをインストールする場合
複数のバージョンをインストールして試す場合、nvm、nave、n、nodeenv、nodebrew などがある。
個人的にzshを利用していて、相性が良さそうなのが nodebrewのようなのでこれを利用する。
インストール方法はREADMEの通り。
$ curl https://raw.github.com/hokaccha/nodebrew/master/nodebrew | perl - setup
・
・
ずらずらとコンパイル
・
・
完了したら環境変数でパスを通す。
export PATH=$HOME/.nodebrew/current/bin:$PATH
$ source ~/.zshrc
$ nodebrew ls
v0.8.14
current: none
$ nodebrew use v0.8.14
use v0.8.14
$ node -v
v0.8.14
$ npm -v
1.1.65
最終更新:2012年11月18日 21:10