Archive for the ‘Mac’ Category

Mac のターミナルの設定を永久に反映させる方法

Mac でターミナルの背景を黒くしたかったのですが、何度黒くしても一定時間が経つと白く戻ってしまって困っていました。

Mac の環境設定を変更した場合、左下のデフォルトというボタンをクリックすると設定が反映されるそうです。
@gezitaka さんに教えて頂きました。ありがとう、gezitaka さん!

MacPorts で package require Pextlib 1.0 というエラーが出る場合の解決策

新しく購入した Macbook で何かを失敗して以下のようなエラーが出てしまいました。

can’t find package Pextlib 1.0
while executing
“package require Pextlib 1.0″
(procedure “dportinit” line 310)
invoked from within
“dportinit ui_options global_options global_variations”
Error: /opt/local/bin/port: Failed to initialize ports system, can’t find package Pextlib 1.0

いろいろ弄ってるうちに解決できましたので、私の行った作業を紹介しておきます。

Xcode の再インストール

多分この作業は私の場合は必要なかったように思います。
なぜなら、この作業を行ったところで何も問題が解決されなかったからです。

MacPorts の再インストール

そもそも以下のページを参考に、MacPorts を入れなおそうとしようと思ったんですが、私の場合はこれでは解決できないんです。
mac OS X 10.6 snow leopard にアップデートしたらmac ports が動かなくなった – ウマい話、ちょいくれや。
チームリーダー日記 : [memo]Snow Leopard(10.6)移行後にMacPortsが動かなくなった→対応したMacPortsをインストールしたら直った。→(追記)それだとダメっぽくて入れ直した。
Migration – MacPorts

いろいろ触ってるうちに、寝ぼけて古い DarwinPorts をインストールしていたみたいで、それが原因なのかもしれないことが判明。すぐに DarwinPorts のアンインストール方法を探して発見。
Getting rid of DarwinPorts – The macosxhints Forums

1
rm -rf /opt/local /Applications/DarwinPorts /Library/Tcl/darwinports1.0 /etc/ports

でも実際は MacPorts や DarwinPorts 関連のアンインストールは以下のディレクトリだけで OK だそうですよ。またしても @nanasess さんから情報もらいました。

1
sudo rm -rf /opt/local

私が Macbook Pro で15インチを選択した理由

Macbook Pro の15インチを購入しました。

メインのデスクトップパソコンは譲ったり、高負荷処理専用 PC になったり、ファイルサーバーになったり、いろいろと各自新しい役割ができて毎日せっせと働いてます。11年前の PC はもう限界だったので寝てもらいます。

ところで、Macbook は13インチ、15インチ、17インチと3種類のサイズがあるのですが、皆さんどれにするか悩む方も多いかと思いますので、私の15インチを選択した理由を紹介しておきます。

それぞれのサイズに以下のような役割があるのかな

13インチ

  • 外によく出歩き外出先で PC を弄ることがよくある
  • 特に制作はこの PC では行わない

15インチ

  • 外によく出歩くことはないが出歩くかもしれない
  • この PC で制作を行っていこうと思っている

17インチ

  • 外によく出歩くことはない
  • この PC で制作を行っていこうと思っている
  • この PC であらゆることをやっていきたい

私は外によく出ませんし、この PC であらゆることをやっていきたいと思っています。
ですが、ディスプレイのサイズは15インチも17インチの変わらないと思います。

そのため17インチよりも15インチのほうが良いと思われます。

もし大きめのディスプレイで動画などを楽しみたいのであれば、17インチよりももっと大きなディスプレイを購入して15インチの Mac を大きなディスプレイに繋げば完璧だと思うです。

17インチだとカバンとかにも入りませんしね。

もし17インチを購入された方がいれば、そのあたりをお教えくださいませ。

Mac に pear をインストールする方法

pear は使ったことがありません。私が使うと動かないのです。
また、インストールするということで、作ったプログラムで pear を使って、本番サーバーで pear が使えなかったら、インストールできなかったら本末転倒じゃん…!という疑念があります。

同じディレクトリに置けば大丈夫だよなんていう話を聞いたことがあるけど、まだ試したことはありません。今度試さなければ。

今回も phpdoc をインストールするために pear が必要だったため、pear を使えるようにしてインストールしたんですが、見事に動きませんでした。ソースから使えるようにしたので問題ありません。

ていうか Mac 最初から入ってないんですね。

インストール

好きな場所にインストールすれば OK です。
私の場合は /Library/WebServer/php 以下にインストールしました。

1
2
3
$ mkdir /Library/WebServer/php
$ cd /Library/WebServer/php
$ curl http://pear.php.net/go-pear | php

適当に進めてください。

1
$ /Library/WebServer/php/bin/pear list

でパッケージとバージョンのリストが表示されるはずです。

Mac で .DS_Store をアーカイブ作成時に含めない CleanArchiver

.DS_Store とはディレクトリに関する情報ファイル。
以下は.DS_Store とは (Point Line) からの引用です。

Macのシステムが各ディレクトリに勝手に生成するファインダーファイルで、ファイルやフォルダを開いた際の位置や大きさや、背景色、カスタムアイコンなどの情報を記憶しているメタデータの不可視なファイル。ディレクトリの操作(フォルダやファイルを移動や開閉など)を行った際に自動的に生成、または更新されるファイル。すべてのディレクトリにあります。よって、このデータがあるので、次回に同じ物を開く時にもまた同じサイズ、位置で開きます。

Finder を使うと作られてしまうのでどうしようもないですね。作らないように設定したいんですが。
phpform という一部の人に便利なファイルを圧縮して公開しようと思っていたのですが、この .DS_Store が含まれてしまうせいで、公開は断念せざるを得なくなっておりました。

しかし Twitter で以下のアドバイスを。

@kiyotchi @soraiy .DS_Storeを消すのならCleanArchiver http://bit.ly/9YSTIH でどうでしょう。less than a minute ago via Echofon

これこそ求めていたものです。圧縮するときに .DS_Store を含めていないことが重要なので。
@kazumich さんに感謝!

ちなみに使い方ですが、アイコンファイルの上に圧縮したいフォルダをドロップするだけです。

Mac に MacPorts を使って MySQL と PHPMyAdmin をインストールする方法

Mac に MySQL をインストールする。とても難しそうなことですが、なんとか終わりました。所要時間は4時間くらいです。
実際には MacPorts を使ってコマンドを叩けば良いのですが、私の脳が足りず時間がかかってしまいました。あ、ちなみに MacPorts を入れてない場合は Mac OS 10.6 に MacPorts を入れる際に役に立ったサイトを参考にして入れてくださいね。

MySQL をインストール

Twitter と MySQL / Mac OS X を参考に進めてみました。
ほぼ引用ですが、躓いたところに補足コメントしたり、順序を変えたりしています。

1
$ sudo port install mysql5 +server

あ、以下の2種類に分解してもいけます。

1
$ sudo port install mysql5
1
$ sudo port -v install mysql5-server

MySQL の初期化をします。

1
$ sudo -u mysql mysql_install_db5

MySQL を起動テスト。
上手く行けば SUCCESS とでるはずですが ERROR と出れば何か上手くいなかった可能性がありそうです。

1
$ sudo /opt/local/share/mysql5/mysql/mysql.server start

root ユーザにパスワードを設定します。ここでは password と設定します。

1
$ /opt/local/lib/mysql5/bin/mysqladmin -u root password 'password'

ログインができるかテストします。

1
/opt/local/lib/mysql5/bin/mysql -u root -ppassword

ログインの仕方はちょっと躓きましたが以下のページが参考になりました。
MySQL をインストール / Mac OS 10.4.2 | Bowz::Notebook

起動時に MySQL サーバーを自動的に起動するように設定できるみたいです。

1
$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist

PHPMyAdmin

MySQL はきちんと動いていることを確認したことですし、PHPMyAdmin をインストールしてみましょうか。
今回は最新バージョンの 3.3.3 を入れてみることにしました。

任意のディレクトリに PHPMyAdmin を入れてログインしようとすると以下のエラーがでる場合は PHP の方を設定する必要があります。

#2002 MySQL サーバにログインできません

php.ini を設定しましょう。ちなみに、まだ php.ini がまだ無い人は /private/etc/ に php.ini.default がありますので、それをコピーして使いましょう。

1
2
$ sudo cp /private/etc/php.ini.default /private/etc/php.ini
$ sudo vi /private/etc/php.ini

socket のパスがダメのようです。以下のサイトがとても参考になりました。最高に素晴らしいページだと思います。前々から目にしていたサイトだったので、まさかここでここまで助けられるとは。この部分だけで4時間詰まりましたもん。
Mac OS X LeopardでPHPからMySQLに接続する – このブログは証明できない。

1217 行あたりだと思うんですが、mysql.default_socket を以下のように変更してください。

mysql.default_socket = /opt/local/var/run/mysql5/mysqld.sock

1276 行あたりだと思うんですが、mysqli.default_socket を以下のように変更してください。

mysqli.default_socket = /opt/local/var/run/mysql5/mysqld.sock

これで動くはずだと思います。

以下のサイト達の記事の一部で php.ini に問題があるかもしれないと思えました。
Mac にphpMyAdmin を入れる手順 – Slow Dance
Mac OS X 10.5 と php.ini – 風ブログ

そして最後に PHPMyAdmin にログインすると以下のようなエラーが出るかもしれません。

リンクテーブルを処理するための追加機能が無効になっています

以下のサイトに解決方法がのっていますよ。素晴らしいページですよね。大好きです。
phpMyAdminのインストール

MySQL の再起動

my.cnf を書き換えた場合は再起動が必要です。結果的に今回は書き換える必要はなかったのですが、私はいろいろ弄っていたので。以下のページが参考になりましたので紹介とともに引用します。
Mac portsで入れたMySQLを再起動する方法 – [サ]ロンパスの日記

1
2
$ sudo launchctl stop org.macports.mysql5
$ sudo launchctl start org.macports.mysql5

その他の参考にしたサイト

ITO の メモ書き | RedhatES4.0 + phpMyAdmin-3.3.3 インストール
データベースの管理 | MySQL講座 [Smart]
MacPortsでMySQLをインストール — BONNOH FRACTION 13

Mac でバーチャルホストを XAMPP や MAMP に頼らず設定する方法

Mac はデフォルトで PHP や Perl が入っているのでいきなり動きます。以下を参考にすれば一瞬で PHP や CGI などを動かすことができます。
超簡単 Mac OS XのローカルでCGI (SSIもPHPも)

ただ、バーチャルホストとなるとやっぱり大変でした。今まで Windows で XAMPP に頼って制作をしていた私には、はじめてのことばかりで6時間くらいかかりました。どこのサイトも、ここにこの名前のファイルがあるよ!って言ってるんですがなかなか見つからなくて…。

XAMPP や MAMP を使わず、一番最初から公開するところまでの設定方法を一通り、私のためにメモを残しておきます。Mac 関係の記事を書くのはまだ怖いので怒られないかビクビクしながらメモしますね。

httpd.conf を設定する

XAMPP の時も触った、httpd.conf です。これを弄っていきます。ちなみに場所は /private/etc/apache2/ にあると思いますが、もしかするとデフォルトではなかったかな…。もしなければ /private/etc/apache2/original/ に httpd.conf というファイルがあるので、それをコピーして使いましょう。

1
$ sudo cp /private/etc/apache2/original/httpd.conf /private/etc/apache2/httpd.conf

httpd.conf を開きましょう。ちょいと vi を使って編集しますが、もし vi を扱えない場合はどこか適当な場所にコピーして編集してから、ここに上書きするという方法で対応することができます。その方法でやっても全然構いません。

1
sudo vi httpd.conf

結構下のほうに以下のような記述があると思います。検索してみてください。

#Include /private/etc/apache2/extra/httpd-vhosts.conf

このファイルのコメントを消します。

Include /private/etc/apache2/extra/httpd-vhosts.conf

この httpd-vhosts.conf というファイルにバーチャルホストの設定を書いていきます。この名前でアクセスされたらこのディレクトリに振り分けるよーっていう記述ですね。別にこのファイルじゃなくても、httpd.conf に書いてもきっと良いと思うんですが、分かりやすいのでここに書いていきましょう。それが一般的でもあります。

ちなみに凄い余談になりますが、もっと凄まじい開発者の方はバーチャルホストの設定が多くなりすぎて分かりにくいので、その設定ごとにファイルを作成しているそうです。

httpd.conf の下の方に行くと以下の行があります。

Include /private/etc/apache2/other/*.conf

これは /private/etc/apache2/other 以下の hoge.conf とか fuga.conf とか xxxx.conf とかのファイルを何でも読み込むよーって事です。なので、もしあなたがバーチャルホストの設定をたくさん書くよ!って場合は以下のように。

Include /private/etc/apache2/vhosts/*.conf

として、/private/etc/apache2/vhosts 以下のファイルをすべて読み込むように設定して、example.com.conf なんていうファイルを作って、その都度設定ファイルを作っていったら管理が楽かもしれないですねー。うふふー、なんだかワクワクしますね!

httpd-vhosts.conf を設定する

それでは、さっそくさっき読み込むように設定した /private/etc/apache2/extra/httpd-vhosts.conf を開きましょう。開き方は自由に、ここでは vi を使って編集していきましょう。

1
$ sudo vi httpd-vhosts.conf

中にいろいろ書いてありますが、これサンプルなのですべて消しましょう。
ちなみに、/private/etc/apache2/original/extra/httpd-vhosts.conf に全く同じファイルがありますので、もし元に戻したくなったらそこからコピーしてくれば大丈夫なので安心してください。

それではさっそくバーチャルホストの設定を書いていきたいところですが、人によって書くことは変わってきますね。今回私はおそらく一般的な /Library/WebServer/Documents/ 以下で全ての制作をしていくことにしております。ご自分の環境に合わせてこのパスは書き換えると良いですね。

今回は以下のような設定をします。

http://localhost/ にアクセスしたら /Library/WebServer/Documents/
http://example.com/ にアクセスしたら /Library/WebServer/Documents/example.com

そうすると httpd-vhosts.conf には以下のように記述をします。

# localhost
<VirtualHost *:80>
    DocumentRoot "/Library/WebServer/Documents"
    ServerName localhost
<Directory "/Library/WebServer/Documents">
order deny,allow
allow from All
</Directory>
</VirtualHost>

# example.com
<VirtualHost *:80>
    DocumentRoot "/Library/WebServer/Documents/example.com"
    ServerName example.com
<Directory "/Library/WebServer/Documents/example.com">
order deny,allow
allow from All
</Directory>
</VirtualHost>

もしかしたら Apache の設定でフォルダへのアクセスが拒否になっているかもしれませんので、allow from All でアクセスを許可しています。

@nanasess 様より指摘していただきました。
DocumentRoot は最後のスラッシュ無しで 指定する必要があるみたいです。
core – Apache HTTP サーバ

以下の記事を参考にしました。
Webサイトのローカルテスト環境構築 on Mac OS X (groundwalker.com)
名前ベースのバーチャルホスト

hosts を書き換えます

そして最後に Windows でもきっとやっていたハズの hosts を編集します。

1
$ sudo vi /private/etc/hosts

多分既に localhost の設定が書いてあるかと思います。これの真似をして以下の記述をファイル一番下部に書き込んでしまいましょう。

127.0.0.1 example.com

こうすると、example.com にアクセスすると IP アドレス 127.0.0.1 にアクセス、つまり自分にという設定になりますね!そして、自分に example.com という名前でアクセスがこれば先程の設定で名前解決が行われます。

ちなみに hosts ファイルの場所を間接的に特定するのに以下のページが役に立ちました。
Mac OS X のXAMPP設定方法 – PHP初心者勉強会

Apache を再起動する

こんなこともあろうかと、先程Mac で Apache を再起動する方法を書いておきました。再起動しましょう。

今回の Apache 再起動は主に hosts 以外のファイルの書き換えを反映させるためです。httpd.conf とかバーチャルホストの設定はこれで反映されます。

403 Forbidden になってしまう

/Library/WebServer/Documents/example.com 以下に index.html ファイルをおいてアクセスしてもなぜか以下のような記述が出てきてファイルが表示できないかもしれません。

Forbidden

You don’t have permission to access /index.html on this server.

そんな時は共有とアクセス権を確認します。ファイルの上で右クリックして情報を表示すると、下の方に共有とアクセス権について書かれていますよー。ここで everyone がアクセス不可になっている場合はこれが犯人です!これを読み/書きにしてみてから、もう一度ブラウザを更新すると見れるようになるはずです。

このアクセス権について気づくのに以下の記事が参考になりました。
Mac OSX でのPHP開発について XAMPP MAXP AptanaStudio AptanaRadils NetBeans KomodoEdit

終わりに

いやー疲れた。以上です。

ちなみに途中でいろんなファイルを探すのに find を凄い使うことになりました。その際に以下の記事をちょっぴり参考になったので紹介しておきます。実際私はそこまでカッコよく使いませんでした。
“Trumps by the roadside” – ちょっとだけカッコよく find(1) を使う

なるべく自分が疑問に思っていたことなどは書くようにしたのですが、思い出し思い出しなので、もしかしたら抜けがあるかも。何かおかしなことがあれば優しく以下にコメントください。怒っちゃ嫌かもですよん。

Mac で Apache を再起動する方法

私の知る限り Mac で Apache を再起動する方法は2点あるので自分用にメモ。

apachectl を使った再起動

apachectlを使用してみるを参考にさせていただきました。

1
$ /usr/sbin/apachectl restart

Web 共有から再起動

システム環境設定の共有から Web 共有のチェックを外してから、もう一度チェックをすると再起動されます。こちらの方が良いみたいです。

Mac OS 10.6 に MacPorts を入れる際に役に立ったサイト

MacPortsでステキなUNIXツールをインストール – はこべにっき#

このサイトを参考に、Xcode Tools をインストールするべきだと知り、インストールしました。

Mac OS 10.6にMacPorts | THE HAM MEDIA

このサイトを参考に MacPorts をインストールしました。

ちなみにどちらのサイトも MacPorts のリンク先がおかしいかもしれないので、 以下のページから MacPorts ダウンロードできますです。
The MacPorts Project — Home

なんとかこれでインストールが完了しました。
ついでに subversion も入れちゃいました!

今日はこれくらいで寝ます。
本当は Mac で PHP 開発環境作ることが目的なんですが、perl が動かせるだけになったり、バーチャルドメインやったりしなきゃいけないと思うので、まだまだですね。今週中には制作再開できるようにしたいと思うところですが、Mac にまだ慣れないです。

macvim の設定で困ったことまとめ


(Mac でスクリーンショットを撮る方法)

macvim を設定しました。今まで Windows しか使ってこなかったこともあって、インストールしたファイルがどこにあるかとか、そういうそもそもの所から分からないことがいっぱいで困ってます。

vimrc + gvimrc の場所

MacVim.app/Contents/Resources/vim/vimrc
ホームフォルダ/.vimrc または _vimrc
MacVim.app/Contents/Resources/vim/gvimrc
ホームフォルダ/.gvimrc または _gvimrc

Readme – macvim-kaoriya – はじめにお読みください – Project Hosting on Google Code

アプリケーションから、.app ファイルを右クリックして、パッケージの内容を表示で中には入っていけるなんて知りませんでした。頭悪いって困りものですね。

カラースキーマが設定されない

ホームフォルダ /Users/hoge/ に .vimrc を置くと、それを読み込んでくれます。そこでカラースキーマを設定したんですが、なかなか設定が効きませんでした。

原因は vimrc の中の以下の行でした。

if 1 && (!exists(‘g:no_gvimrc_example’) || g:no_gvimrc_example == 0)
source $VIMRUNTIME/gvimrc_example.vim
endif

Page 1 of 212