follow us in feedly

2012年4月

HomebrewでRuby 1.9.3をインストールする

新しい職場では Ruby を使うことになりそうなので、勉強のために Ruby をインストールしました。
Mac にはデフォルトで Ruby が入っているようですが、バージョンが 1.8 と古いものなので最新版の Ruby をインストールします。

Homebrew で Ruby をインストールする

Homebrew で Ruby 1.9.3 をインストールします。
まずは、Ruby のバージョン管理ツールの rbenv と readline をインストールします。

$ brew install rbenv
$ brew install ruby-build
$ brew install readline
$ brew link readline

.bash_profile や .bashrc あたりに下記を追加します。

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

Ruby をインストールします。
rbenv install とするとインストールできる候補の一覧が表示されます。

$ rbenv install
$ CONFIGURE_OPTS="--with-readline-dir=/usr/local" rbenv install 1.9.3-p125
$ rbenv rehash
$ rbenv global 1.9.3-p125
$ ruby -v
ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-darwin11.3.0]

Ruby をインストールするところで GCC がないと下記のようなエラーが出るので、その場合は kennethreitz/osx-gcc-installer から GCC をダウンロードしてインストールします。
Homebrew で GCC をインストールする場合はこちら

$ rbenv install 1.9.3-p125

ERROR: This package must be compiled with GCC, and we
couldn't find a suitable `gcc' binary on your system.
Please install GCC and try again.

As of version 4.2, Xcode is LLVM-only and no longer
includes GCC. You can install GCC with these binary
packages on Mac OS X:

https://github.com/kennethreitz/osx-gcc-installer/downloads

BUILD FAILED

以上で完了です。

Command Line Tools for Xcodeへの切り替えとHomebrewでGCC 4.7をインストールする方法

Rubyをインストールしようと思ったら、GCCがないと言われてインストールできなかった。
いろいろ調べてみたら、Xcode 4.2以降ではGCCからLLVM GCCに代わっているというのでHomebrewでGCCをインストールしました。

ついでにXcodeをCommand Line Tools for Xcodeに切り替えました。
自分の場合、Xcodeを使うのはHomebrewぐらいだからCommand Line Tools for Xcodeで十分だし、HDDの容量の削減にもなるので。
ちなみに、Command Line Tools for XcodeはLionのみ使えます。

Command Line Tools for Xcodeをインストールする

まずは下記コマンドを実行してXcodeをアンインストールします。

$ sudo /Developer/Library/uninstall-devtools --mode=all

Downloads for Apple DevelopersからCommand Line Tools for Xcodeをダウンロードしてインストールします。
インストーラーを起動して進めていけばインストール完了です。

Command Line Tools for Xcodeに含まれるソフトは下記コマンドで確認できます。

$ cd /Volumes/Command Line Tools/Packages/
$ pkgutil --payload-files DeveloperToolsCLI.pkg

HomebrewでGCC 4.7をインストールする

HomebrewでGCCをインストールする場合には、homebrew-altからインストールします。
下記コマンドを実行してGCC 4.7をインストールします。
make bootstrapのところは時間がかかります。

$ brew install https://raw.github.com/Homebrew/homebrew-dupes/master/gcc.rb --enable-all-languages --use-llvm

以上で完了です。

ソーシャルブックマークのリンクを設置してみた

SNSでシェアできるようにソーシャルブックマークボタンを設置しました。
Twitter、はてなブックマーク、Google+、Facebookの4つです。

あまり押すこともないだろうけどとりあえず付けておこう、ということで付けました。
プラグインは使わずに設置してみたが、なかなか手間がかかる。
ソーシャルブックマークを簡単に設置したいならWP Social Bookmarking Lightというプラグインがあります。

Macのローカル環境に構築したWordPressでパーマリンク設定をおこなう

ローカル環境でも WordPress のパーマリンク設定をしてみました。
あまり必要ないかもしれないですが、VPS と同じかたちにしとこうと思ったので。
Apache での設定をためしてみるという意味も少しあります。

.htaccess ファイルを作成する

WordPress のルートディレクトリ に .htaccess ファイルを作成します。
ターミナルを起動して下記コマンドを実行します。

$ touch .htaccess

パーマリンクの設定を行う

WordPress ページにアクセスしてダッシュボードの [設定] – [パーマリンク設定] から設定します。
VPS での設定と同じにするので下記のようにします。

/archives/%post_id%

変更を保存すると .htaccess に下記のコードが記入されます。
書き込み権限の設定などで自動記入されないときは手動でコピーします。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /~hoge/wordpress/
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /~hoge/wordpress/index.php [L]
</IfModule>

# END WordPress

Apache で .htaccess を使用可能にする。

作成した .htaccess ファイルの設定が有効になるように設定します。
/etc/apache2/users/hoge.confを下記のように変更します。

<Directory "/Users/hoge/Sites/">
    Options Indexes MultiViews SymLinksIfOwnerMatch
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

Apache を再起動します。

$ sudo apachectl restart

ブラウザから自分のページにアクセスするとパーマリンクが反映されていると思います。

MacでWordPressのローカル環境を構築する

Mac で WordPress のローカル環境を構築します。
WordPress のテーマやプラグインなどカスタマイズするとして、最初からサーバ上で作るわけにもいかないしローカルであれば手軽に試すこともできるので。
MAMP ならインストールして完了なんですが、ちょっと面倒なことになったこともあるので個別に準備します。
Homebrew もインストールしたことだし。

Webサーバ を起動する

Mac には標準で Apache がインストールされているので起動するだけで使えるようになります。
[システム環境設定] – [共有] にある [Web 共有] にチェックを入れれば完了です。
ブラウザを立ち上げて、下記にアクセスするとページが表示されます。
http://localhost/~username

Homebrew で PHP をインストールする

Homebrew で PHP をインストールします。
Mac には PHP も標準で入っているようですがインストールします。
まず、Formula を落として Homebrew のディレクトリに移動します。

$ curl -O https://raw.github.com/ampt/homebrew/php/Library/Formula/php.rb
$ mv php.rb `brew --prefix`/Library/Formula

brew コマンドを実行してインストールします。オプションは Apache と MySQL を指定します。
MySQL が入っていない場合はインストールされます。

$ brew install php --with-mysql --with-apache

インストールが完了したら、パスをとおすため .bash_profile に下記を追加します。

export PATH="`brew --prefix`/bin:$PATH"

確認して、下記のようになれば OK です。

$ which php
/usr/local/bin/php

Apache の設定をします。/etc/apache2/d.conf に下記を追加します。

#LoadModule php5_module libexec/apache2/libphp5.so ← こちらは標準でインストールされているほうの設定
LoadModule php5_module /usr/local/Cellar/php/5.3.10/libexec/apache2/libphp5.so

Homebrew で MySQL をインストールする

Homebrew で MySQL をインストールします。
brew コマンドを実行してインストールします。
PHP のときにインストールされてると思うが念のために書いておく。

$ brew install mysql

インストール時にメッセージが表示されるので、それに従って設定します。
現在のユーザアカウントでデータベースをセットアップします。

$ unset TMPDIR
$ mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

MySQL を起動します。

$ mysql.server start

ログイン時に自動起動するように設定します。

$ mkdir -p ~/Library/LaunchAgents
$ cp /usr/local/Cellar/mysql/5.5.19/homebrew.mxcl.mysql.plist ~/Library/LaunchAgents/

MySQL の root パスワードを設定します。

$ /usr/local/Cellar/mysql/5.5.19/bin/mysqladmin -u root password 'password'

MySQL サーバに root で接続する。

$ mysql -u root -p
Enter password: password

MySQL に WordPress 用のデータベースを作成する

MySQLサーバに接続して、データベースを作成します。

mysql> CREATE DATABASE wordpress DEFAULT charset utf8;

データベースのユーザを作成します。

mysql> GRANT ALL ON wordpress.* TO wpuser@localhost IDENTIFIED BY 'password'

WordPress をインストールする

WordPress をダウンロードして、/Users/username/Sites に展開します。
Finder だと [Macintosh HD] → [ユーザ] → [username] → [サイト] です。

$ cd /Users/username/Sites
$ curl -O https://ja.wordpress.org/latest-ja.zip
$ unzip latest-ja.zip

wp-config.php を作成して、WordPress の設定をします。

$ cp wp-config-sample.php wp-config.php
$ vi wp-config.php

下記の部分を修正します。FS_METHOD は追加します。

define('DB_NAME', 'wordpress');
define('DB_USER', 'wpuser');
define('DB_PASSWORD', 'password');
define('FS_METHOD', 'direct');

ブラウザから http://localhost/~username/wordpress/wp-admin/ にアクセスして設定を行えば、ローカル環境で WordPress が使えます。

HomebrewでMacのパッケージ管理を行う

Macのパッケージ管理にはHomebrewを使っています。
MacPortsを使っていたんですが、MacPortsは依存関係のあるソフトウェアがすでにMacに入っていても、
新しくインストールしてしまうのでHomebrewに移行してみました。

MacPortsをアンインストールする

MacPortsを使っている場合はアンインストールします。
MacPortsでインストールしたパッケージも消えてしまうので注意です。

$ sudo port -f uninstall installed
$ sudo rm -rf /opt/local

Homebrewをインストールする

Homebrewをインストールします。
インストールには以下が必要です。自分は特に問題なし。

下記を実行してインストールします。

$ /usr/bin/ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"

Homebrewのコマンド

Homebrewで使用する基本的なコマンドです。
HomebrewではパッケージのことをFormula(フォーミュラ)と呼びます。

Homebrewのバージョンを表示する。

$ brew --version

Homebrewと管理しているFomulaをアップデートする。

$ brew update

Fomulaを検索する。

$ brew search hoge

Fomulaの情報を表示する。

$ brew info hoge

Fomulaをインストールする。

$ brew install hoge

Fomulaをアンインストールする。

$ brew uninstall hoge

インストールしたFomula一覧を表示する。

$ brew list

参考サイト

Homebrew — MacPorts driving you to drink? Try Homebrew!
Installation · mxcl/homebrew Wiki · GitHub

nginxでサブドメインを使えるように設定する

nginx でサブドメインを使えるように設定します。
設定方法はいくつかあるようですが、ディレクトリでわけて管理する方法をとります。
nginx.conf に server { … } の設定をサブドメインの数だけ追記していけばできるが、
これだとドメインが増えるにつれてファイルサイズが大きくなるし管理もめんどう。
ということで、ディレクトリで管理します。

/var/www 以下にディレクトリを作成する

/var/www 以下にサブドメインに対応するディレクトリを作成します。
たとえば、以下のように切り分けます。

/var/www/blog.77dogs.net ← blog.77dogs.net のディレクトリ
/var/www/www.77dogs.net  ← www.77dogs.net のディレクトリ

nginx.conf を修正する

/etc/nginx/nginx.conf を修正します。
$host でホスト名が取得できるので、ホスト名でディレクトリを切り分けておくことで判別されるようになります。

server {
    listen 80;
    server_name ~^(.*.)?77dogs.net;
    …
}

server {
    listen 8080;
    server_name ~^(.*.)?77dogs.net;

    location / {
        root /var/www/$host;
        …
    }

    …
    location ~ .php$ {
        …
        fastcgi_param  SCRIPT_FILENAME  /var/www/$host$fastcgi_script_name;
        …
    }

参考にしたサイト

VirtualHostExampleJa#ワイルドカードでサブドメインへのアクセスをまとめて受け付ける設定