XAMPPやMAMPを使えばMacでも簡単にLAMP環境を導入することができますが、それらを使わずに構築する方法です。LAMP構築には[Apache] [MySQL] [PHP/Perl/Python] が必要ですが、MacはデフォルトでApacheとPHP/Perlが導入されているので、MySQLとデータベース管理用にphpMyAdminを入れてLAMP環境を構築します。ついでにバーチャルホストの設定をしてサイトごとに専用のドメインを割り当てます。
MySQLをインストール
下記サイトよりMySQLをダウンロードします。 Download MySQL Community Server
※:MacPortsからもMySQLをインストールできますが、時間がかかる上に、後述するシステム環境設定の項目が追加されないので手動でインストールします。
ダウンロードし、展開orマウントして開くとインストーラー2つと環境設定ファイルがあるので、すべてインストールします。
インストールすると、システム環境設定内に「MySQL」という項目が追加されます。 ここでMySQLの起動/停止と、自動で起動させる設定ができます。
インストール後、下のpassの部分に設定したいパスワードを入れて実行し、MySQLのrootパスワードを設定します。
phpMyAdminの導入と設定
こちらはMacPortsでインストールします。MySQLのように手動でインストールするとmcryptという拡張機能が導入されず面倒なのでMacPortsで入れます。
$ sudo port install phpmyadmin
シンボリックリンク(エイリアス)作成
$ sudo ln -s /opt/local/www/phpmyadmin /Library/WebServer/Documents
phpMyAdminの設定:config.inc.phpを編集
インストール終了後、phpmyadminの設定ファイル「config.inc.php」を編集します。
※:config.inc.phpが無かったら下記を実行して作成
$ cd /Library/WebServer/Documents/phpmyadmin/
$ cp config.sample.inc.php config.inc.php
config.inc.phpを編集
$ sudo nano /Library/WebServer/Documents/phpmyadmin/config.inc.php
17行目付近、下記赤字部に適当な文字列を記入
$cfg['blowfish_secret'] = 'jgioerfd45634gjerldgj';
※半角の英数字なら何でも良いです。パスワードではないので覚えておく必要もありません。
この設定をしておかないと、「設定ファイルが秘密のパスフレーズ(blowfish_secret)を必要とするようになりました」と表示されます。
47~57行目付近、下記赤字部のコメントアウトを外す
/* Storage database and tables */
// $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
// $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
// $cfg['Servers'][$i]['relation'] = 'pma_relation';
// $cfg['Servers'][$i]['table_info'] = 'pma_table_info';
// $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
// $cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
// $cfg['Servers'][$i]['column_info'] = 'pma_column_info';
// $cfg['Servers'][$i]['history'] = 'pma_history';
// $cfg['Servers'][$i]['tracking'] = 'pma_tracking';
// $cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
// $cfg['Servers'][$i]['userconfig'] = 'pma_userconfig';
この設定と、後述する「create_tables.sql」のインポートをしないと拡張機能が無効になっている旨の警告が表示されます。
PHPの設定:php.iniを編集
次に、mysqlのソケットファイルの場所を調べ、そのパスを「php.ini」というphpの設定ファイルに記入します。この設定ファイルは、既存のサンプルファイルをリネームして作成/編集します。
mysqlにログイン
$ /usr/local/mysql/bin/mysql -u root -p
下記赤字部を実行し、ソケットファイルの場所を調べる
mysql> status
--------------
/usr/local/mysql/bin/mysql Ver 14.14 Distrib 5.5.12, for osx10.6 (i386) using readline 5.1
Connection id: 4
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.5.12 MySQL Community Server (GPL)
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: latin1
Db characterset: latin1
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /tmp/mysql.sock ←これがソケットのパス
Uptime: 1 hour 19 min 22 sec
Threads: 1 Questions: 17 Slow queries: 0 Opens: 33 Flush tables: 1 Open tables: 26 Queries per second avg: 0.3
--------------
調べたら下記赤字部を実行し、ログアウトする
mysql> quit
php.iniを作成
$ sudo cp /etc/php.ini.default /etc/php.ini
アクセス権を設定
$ sudo chmod 644 /etc/php.ini
php.iniを編集
$ sudo nano /etc/php.ini
1213行目付近、赤字部に調べたmysqlのソケットファイルのパスを記入
mysql.default_socket = /tmp/mysql.sock
ソケットの場所を記入しないと、「#2002 MySQL サーバーにログインできません」と表示されphpMyAdminにログインできません。
一番下の空いている箇所に下記を追加し、mcrypt拡張を有効にする
extension = /opt/local/lib/php/extensions/no-debug-non-zts-20090626/mcrypt.so
上の書き方でダメな場合は下記を追加
extension_dir = "/opt/local/lib/php/extensions/no-debug-non-zts-20090626" extension = mcrypt.so
※:青字の数字部分は環境によって違うかもしれませんので確認してください。
mcryptを有効にしないと、「mcrypt拡張がありません」と表示されます。 mcryptを有効にしてもエラーが表示される場合は、config.inc.phpに下記を追加してエラーを非表示にすることもできます。
config.inc.phpを編集
$ sudo nano /Library/WebServer/Documents/phpmyadmin/config.inc.php
下記を追加
$cfg['McryptDisableWarning'] = true;
Apacheの設定:httpd.confの編集とアクセス制限
Apacheの設定ファイル「httpd.conf」を変更し、phpを有効にします。
httpd.confを編集
$ sudo nano /etc/apache2/httpd.conf
116行目付近、下記赤字部のコメントアウトを外してphpを有効にする
#LoadModule php5_module libexec/apache2/libphp5.so
「/etc/apache2/other」フォルダ内に「phpmyadmin.conf」というファイルを作成し、phpmyadminへのアクセスを制限します。
例として、phpmyadminが入っているMacと、同じLAN内にある別PC(IPアドレス:192.168.1.5)のみアクセス出来るようにします。
※:アクセス制限をしない場合や、後述するバーチャルホストで制限するならこの設定は不要です。
phpmyadmin.confの作成と編集
$ sudo nano /etc/apache2/other/phpmyadmin.conf
下記を記入
Order deny,allow
Deny from all
Allow from localhost
Allow from 192.168.1.5
ここまで終わったら下記コマンドを実行し、ApacheとMySQLを再起動して設定を反映させます。
phpMyAdminに設定用のデータベースをインポート
設定反映後、http://localhost/phpmyadmin/からphpMyAdminにアクセスし、MySQLのユーザー名(root)と設定したパスワードを入力してログインします。
ログインしたら、「インポート」タブを選択し、「現在のサーバへのインポート」ページを開きます。
ページを開いたら、下記パスにあるフォルダのphpMyAdminの設定用データベース「create_tables.sql」をインポートします。
インポートに成功すると、下の様に左カラムにphpmyadminというデータベースが追加されます。
バーチャルホストの設定
一つのサーバー上で複数のサイトを運営したい時等に、それぞれのサイトに専用のドメインを割当てる場合に設定します。
現在phpmyadminにアクセスするにはhttp://localhost/phpmyadmin/というアドレスでしかアクセスできませんが、この設定をすることで好きなアドレスを割当てることができ、そのアドレス(例えばhttp://phpmyadmin.osx.comとか)でアクセスできるようになります。
httpd.confを編集
デフォルトでは「/etc/apache2/extra/httpd-vhosts.conf」ファイルに全てのサイトの設定を記述するようになっているのですが、サイトごとにファイルを用意した方が管理しやすいので、サイトごとにファイルを用意する方法で説明します。
例として、phpMyAdminに「http://phpmyadmin.osx.local」を。
既存のWordpress製のサイトに「http://wordpress.osx.local」を割り当てます。
httpd.confを編集してバーチャルホストを有効にし、設定ファイル用のフォルダを作成します。
バーチャルホスト用フォルダを作成
$ sudo mkdir /etc/apache2/vhosts
htpd.confを編集してバーチャルホストを有効にする
$ sudo nano /etc/apache2/httpd.conf
一番下の空いている箇所に下記を追加
# Virtual hosts
Include /etc/apache2/vhosts/*.conf
既存のvhosts.confをコピー
$ sudo cp /etc/apache2/extra/httpd-vhosts.conf /etc/apache2/vhosts/httpd-vhosts.conf
※
デフォルトで「It works!」ページが置いてある/Library/WebServer/Documentsに関するバーチャルホストの設定が書いてあります。必要なければコピーする必要はありません。
phpmyadmin用のバーチャルホストファイルを作成
$ sudo nano /etc/apache2/vhosts/phpmyadmin-vhosts.conf
※ファイル名の最後に「.conf」がついていればファイル名は何でもいいです。
ファイルに下記を記入
# phpmyadmin
DocumentRoot "/opt/local/www/phpmyadmin"
#↑phpmyadminのフォルダを指定
ServerName phpmyadmin.osx.local
#↑割り当てたいアドレスを指定
order deny,allow
deny from all
allow from 127.0.0.1
#↑deny from allで全アクセスを拒否した後、サーバーの入っているMac(127.0.0.1)のみ
# アクセスできるようにしています。
Wordpress用のバーチャルホストファイルを作成
$ sudo nano /etc/apache2/vhosts/wordpress-vhosts.conf
ファイルに下記を記入
# wordpress
DocumentRoot "/Users/system47/Sites/wordpress"
ServerName wordpress.osx.local
order deny,allow
allow from all
#↑アクセス制限をしないのでallow from allとしています。
バーチャルホストの設定が終わったら、「/etc/hosts」ファイルを編集して、指定したアドレスでアクセスできるようにします。
hostsファイル編集
$ sudo nano /etc/hosts
空いている箇所に下記を追加
127.0.0.1 phpmyadmin.osx.local
127.0.0.1 wordpress.osx.local
または下記でも可
127.0.0.1 phpmyadmin.osx.local wordpress.osx.local
全ての設定が終わったら、Apacheを再起動して設定を反映させます。
設定反映後、指定したアドレスでアクセスできるかどうか確認します。
参考Link:
Mac に MacPorts を使って MySQL と PHPMyAdmin をインストールする方法
Mac にphpMyAdmin を入れる手順
スポンサード リンク