2010年10月

1

PHPインストールのときにオプション指定できなかったものたちをインストールしていきます。

  • php5-sqlite
  • php5-mysql
  • php5-mbstring
  • php5-curl
  • php5-gd
  • php5-tidy
  • php5-mcrypt
  • php5-zip

こんなところでしょうか。ではインストールしていきます。

$ sudo port install php5-sqlite php5-mysql php5-mbstring php5-curl php5-gd php5-tidy php5-mcrypt php5-zip

apacheが入りましたので、お次は私にとって使用頻度が最も高いPHPをインストールします。

まずはデフォルトのPHPバージョンの確認

$ php -v
PHP 5.3.2 (cli) (built: Aug  7 2010 00:04:41) 
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

次にMacPortsでインストールできるPHPバージョンの確認

$ port search php
・・・
php4 @4.4.9 (lang, php, www)
    PHP: Hypertext Preprocessor

php5 @5.3.3 (lang, php, www)
    PHP: Hypertext Preprocessor
・・・

インストール時に指定できる variants を確認

$ port variants php5
php5 has the variants:
   apache: Add Apache 1 web server module
     * conflicts with apache2 no_web
[+]apache2: Add Apache 2.2 web server module
     * conflicts with apache no_web
   debug: Enable debug support (useful to analyze a PHP-related core dump)
   fastcgi: Add FastCGI web server binary
     * conflicts with no_web
   gmp: Obsolete; install php5-gmp port instead
   imap: Obsolete; install php5-imap port instead
   ipc: Add semaphore, shared memory and IPC functions
   macports_snmp: Obsolete; install php5-snmp port instead
   mssql: Obsolete; install php5-mssql port instead
   mysql4: Obsolete; install php5-mysql port instead
   mysql5: Obsolete; install php5-mysql port instead
   mysqlnd: Obsolete; install php5-mysql port instead
   no_web: Don't include any web server support
     * conflicts with apache apache2 fastcgi
   oracle: Obsolete; install php5-oracle port instead
   pcntl: Obsolete; install php5-pcntl port instead
   pear: Add PEAR
   postgresql82: Obsolete; install php5-postgresql port instead
   postgresql83: Obsolete; install php5-postgresql port instead
   pspell: Obsolete; install php5-pspell port instead
   snmp: Obsolete; install php5-snmp port instead
   sockets: Obsolete; install php5-sockets port instead
   sqlite: Obsolete; install php5-sqlite port instead
   suhosin: Add Suhosin patch
   tidy: Obsolete; install php5-tidy port instead
   universal: Build for multiple architectures

ほとんど「Obsolete」になっていてもう使えないもよう。、代わりに php5-**** でインストールする必要があるみたいです。

とりあえず、+apache2 と +pear だけ一緒にインストールしましょう。

$  sudo port install php5 +apache2 +pear

インストールの最後に、次のような指示がきました。

To customize php, copy
/opt/local/etc/php5/php.ini-development (if this is a development server) or
/opt/local/etc/php5/php.ini-production (if this is a production server) to
/opt/local/etc/php5/php.ini and then make changes.

If this is your first install, you need to activate PHP in your web server.

To enable PHP in Apache, run
  cd /opt/local/apache2/modules
  /opt/local/apache2/bin/apxs -a -e -n "php5" libphp5.so

指示に従ってまずはphp.iniファイルを作成します。

$ sudo cp /opt/local/etc/php5/php.ini-development /opt/local/etc/php5/php.ini

apacheにPHPを追加

$ cd /opt/local/apache2/modules
$ /opt/local/apache2/bin/apxs -a -e -n "php5" libphp5.so
[activating module `php5' in /opt/local/apache2/conf/httpd.conf]
unable to open configuration file

!!sudoをつけ忘れたw 直接設定ファイルを編集することに。

phpモジュールの読み込みを追加

$ sudo vi /opt/local/apache2/conf/httpd.conf

# phpモジュールの読み込み
LoadModule php5_module modules/libphp5.so

# mod_php.confの読み込み
Include conf/extra/mod_php.conf

index.php を有効に

$ sudo vi /opt/local/apache2/conf/httpd.conf

#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
    # DirectoryIndex index.html
    DirectoryIndex index.php index.html index.html.var
</IfModule>

インストールされたPHPのバージョン確認も忘れずに。(ターミナル再起動してね)

$ php -v
PHP 5.3.3 (cli) (built: Oct 26 2010 17:02:06) 
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

phpinfo で確認するとdate関数でエラーが表示されていたのでphp.ini の date.timezone を以下のように設定します。

$ sudo vi /opt/local/etc/php5/php.ini 

date.timezone = Asia/Tokyo

参考サイト:Mac OS X(Snow Leopard)のMacPortsでApache2, PHP5, MySQL5をインストールし直した

続いてwebサーバー「Apache」をインストールします。

まずはデフォルトのApacheバージョンの確認。

$ apachectl -v
Server version: Apache/2.2.14 (Unix)
Server built:   Dec  9 2009 19:21:30

次にMacPortsでインストールできるApacheバージョンの確認

$ port search apache
・・・
apache @1.3.41 (www)
    The extremely popular Apache http server
・・・
apache2 @2.2.16 (www)
    The extremely popular second version of the Apache http server

apache20 @2.0.63 (www)
    The extremely popular second version of the Apache http server
・・・

最新バージョンのApache2.2.16をインストールしたいので、インストールコマンドは「apache2」を指定します。

それではMacPortsでインストール

$ sudo port install apache2

インストールの最後に表示された自動起動コマンドを叩いておきます。

$ sudo port load apache2

設定ファイルを編集して、ユーザーディレクトリを有効にします。

$ sudo vi /opt/local/apache2/conf/httpd.conf
Password:

# 一番下の方にあります
# User home directories
Include conf/extra/httpd-userdir.conf

自動起動されているかも確認したいのでPCを再起動

バージョン確認

$ /opt/local/apache2/bin/apachectl -v
Server version: Apache/2.2.16 (Unix)
Server built:   Oct 26 2010 15:07:16

プロセス確認

$ ps aux | grep apache2
_www       183   0.0  0.0  2442056    592   ??  S     4:08PM   0:00.00 /opt/local/apache2/bin/httpd -k start
_www        83   0.0  0.0  2442056    592   ??  S     4:08PM   0:00.00 /opt/local/apache2/bin/httpd -k start
_www        82   0.0  0.0  2442056    592   ??  S     4:08PM   0:00.00 /opt/local/apache2/bin/httpd -k start
_www        81   0.0  0.0  2442056    592   ??  S     4:08PM   0:00.00 /opt/local/apache2/bin/httpd -k start
_www        80   0.0  0.0  2442056   1488   ??  S     4:08PM   0:00.00 /opt/local/apache2/bin/httpd -k start
_www        79   0.0  0.0  2442056   1464   ??  S     4:08PM   0:00.00 /opt/local/apache2/bin/httpd -k start
root        74   0.0  0.1  2442056   2436   ??  Ss    4:08PM   0:00.09 /opt/local/apache2/bin/httpd -k start
root        55   0.0  0.0  2446752   1020   ??  Ss    4:07PM   0:00.01 /opt/local/bin/daemondo --label=apache2 --start-cmd /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper start ; --stop-cmd /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper stop ; --restart-cmd /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper restart ; --pid=none

最後に表示確認。

「http://localhost/」に接続して『It works!』と表示されることを確認。

「http://localhost/~username/」に接続して『あなたの Web サイト。』と表示されることを確認。

起動・停止コマンド

$ sudo /opt/local/apache2/bin/apachectl start
$ sudo /opt/local/apache2/bin/apachectl stop

MacPortsがインストールできたので、MacPortsを利用して、バージョン管理システム「Subversion」をインストール

まずはデフォルトのsvnバージョンの確認

$ svn --version
svn, version 1.6.5 (r38866)
   compiled Jan 26 2010, 17:43:42

次にMacPortsでインストールできるsvnバージョンの確認

$ port search subversion
・・・
subversion @1.6.13 (devel)
    subversion (svn) -- a version control system designed to be a better cvs
・・・

それではMacPortsでインストール

$ sudo port install subversion

インストール時間:約30分。結構時間がかかりますね。何も入っていない状態だったので関連リソースがかなりインストールされたみたい。

では、改めてsvnバージョンの確認。(確認の前にターミナルを再起動してね!)

$ svn --version
svn, バージョン 1.6.13 (r1002816)
   コンパイル日時: Oct 26 2010, 00:32:52

無事、最新バージョンにかわっていることを確認できました。うれしいことに日本語表示になってますw

今度は仕事に必要なweb開発の環境を構築していきます。

まずは「MacPorts」をインストール。

MacPorts

MacPortsをインストールするには、Apple's Xcode Developer Tools が必要です。

Apple Developer Connection か Mac OS X のインストールCDから入手可能です。

とりあえず「help」コマンドでコマンド確認

$ port -help

念のためMacPortsを最新版にアップデート。「sync」でMacPortsのソフトウェア一覧も最新情報に更新。(root権限が必要なので「sudo」を忘れずに。)

$ sudo port selfupdate
$ sudo port sync

Snow Leopardの場合、環境変数の追加とかは特に必要ないみたい。

参考サイト:MacPortsのインストール方法

参考サイト:MacPortsの基本的な使い方とコマンド

購入して5年。数々のトラブルを乗り越えてがんばっていたwindowsがとうとう逝ってしまわれました。

HDは存命なので修理すれば、またしばらくは持ちこたえてくれると思うのだけれど、こんなことでは仕事にも支障が・・・。と、いうことで mac mini を購入しました。

で、これからいろいろ設定していくわけですが、とりあえずインストールしたものたちを記録しておこうと思います。

MySQLで年齢計算

| コメント(0)

いつも検索しちゃうので忘れないように覚え書き

MySQL 4.1 リファレンスマニュアル :: 3 MySQL チュートリアル :: 3.3 データベースの作成および使用 :: 3.3.4 テーブルからの情報の取得 :: 3.3.4.5 日付計算

mysql> SELECT name, birth, CURDATE(),
    -> (YEAR(CURDATE())-YEAR(birth))
    -> - (RIGHT(CURDATE(),5) AS age
    -> FROM pet ORDER BY age;
+----------+------------+------------+------+
| name     | birth      | CURDATE()  | age  |
+----------+------------+------------+------+
| Chirpy   | 1998-09-11 | 2003-08-19 |    4 |
| Puffball | 1999-03-30 | 2003-08-19 |    4 |
| Whistler | 1997-12-09 | 2003-08-19 |    5 |
| Slim     | 1996-04-29 | 2003-08-19 |    7 |
| Claws    | 1994-03-17 | 2003-08-19 |    9 |
| Fluffy   | 1993-02-04 | 2003-08-19 |   10 |
| Fang     | 1990-08-27 | 2003-08-19 |   12 |
| Bowser   | 1989-08-31 | 2003-08-19 |   13 |
| Buffy    | 1989-05-13 | 2003-08-19 |   14 |
+----------+------------+------------+------+
1