[Blog書いた]OSXでWordPressを動かす[OSX]

wordpressmysql
WordPressでサイトを構築しなければならなくなったのでチェック用にローカルにも環境準備する事にした.
このMacBookProを手に入れた1年ちょっと前にもちょうど同じような話しがあってWodPressを動かしたけど、OSXが初めてでMySQLとかパッケージでインストールしていたようだ.

いつも思うんだけどさOSXのパッケージってモノによってはアップデートさえどうやるのかわよくわかんねーし、だいたいアンインストールの方法がよくわかんないというかOSXってそんな仕組みシステム的に無くね?アンインストーラが準備されてないパッケージは手で消すんだろうけど、入れるの簡単だけどモノがどこに入ってるかわかんねーし探して手で消すんだけど色々ゴミ残るだろうし、結局どうすんのが正解?

なんかpkgutilつーので探して消すらしい、

% pkgutil --pkgs | grep -i mysql
com.mysql.mysql
com.mysql.mysqlstartapp
% sudo pkgutil --unlink com.mysql.mysql
% sudo pkgutil --forget com.mysql.mysql
% sudo pkgutil --unlink com.mysql.mysqlstartapp
% sudo pkgutil --forget com.mysql.mysqlstartapp

消えたっぽい.

さて本題.
すぐ忘れてしまうので以下はOS X 10.8 Mountain LionにLAMP環境とWordpressを構築したときのメモをマルパクさせていただき環境構築をしたメモ.

~/Sites/を使う.
PHPを有効に.
httpd-vhosts.confをInclude.

% sudo emacs /etc/apache2/users/user.conf
<Directory "/Users/user/Sites/">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>

% sudo emacs /etc/apache2/httpd.conf
LoadModule php5_module libexec/apache2/libphp5.so

% sudo emacs /etc/apache2/httpd.conf
# Virtual hosts
Include /private/etc/apache2/extra/httpd-vhosts.conf

% sudo apachectl start
% sudo apachectl stop

MySQLはHomebreからインストールする.

% 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 connect:
mysql -uroot
==> Caveats
To have launchd start mysql at login:
ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
Then to load mysql now:
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Or, if you don't want/need launchctl, you can just run:
mysql.server start
...

言われた通りにセットアップする、

% unset TMPDIR
% mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
% mysql.server start
% /usr/local/opt/mysql/bin/mysqladmin -u root password 'new-password'
% /usr/local/opt/mysql/bin/mysqladmin -u root -h user.local password 'new-password'
usr/local/opt/mysql/bin/mysqladmin: connect to server at 'user.local' failed
error: 'Host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL server'

なんかエラー、127.0.0.1回避の方向で.

php.ini設定.
phpMyAdminを使うらしくHomebrewでインストール.

% sudo cp /etc/php.ini.default /etc/php.ini
% sudo chmod 755 /etc/php.ini
% sudo emacs /etc/php.ini
/var/mysql/mysql.sock => /tmp/mysql.sock
% cp /usr/local/Cellar/mysql/5.5.28/homebrew.mxcl.mysql.plist ~/Library/LaunchAgents/
% open ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
KeepAlive YES => NO
Program => /usr/local/bin/mysqld_safe
% launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

# phpMyAdmin
% brew tap josegonzalez/homebrew-php
% brew install phpmyadmin
Error: No available formula for zlib (dependency of phpmyadmin)
Please tap it and then try again: brew tap homebrew/dupes
% brew tap homebrew/dupes
% brew install phpmyadmin
Webserver configuration example (add this at the end of
your /etc/apache2/httpd.conf for instance) :

Alias /phpmyadmin /usr/local/share/phpmyadmin
<Directory /usr/local/share/phpmyadmin/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>

Then, open http://localhost/phpmyadmin

More documentation : file:///usr/local/Cellar/phpmyadmin/3.5.2.1/share/phpmyadmin/Documentation.html

# phpMyAdmin vhost
% sudo emacs /etc/apache2/extra/httpd-vhosts.conf
Alias /phpmyadmin /usr/local/share/phpmyadmin

<Directory /usr/local/share/phpmyadmin/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>

# phpMyAdmin config.inc.php

% cd /usr/local/Cellar/phpmyadmin/3.5.2.1/share/phpmyadmin/
% cp config.sample.inc.php config.inc.php
% emacs config.inc.php
/* Server parameters */
#$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['host'] = '127.0.0.1';

$cfg['blowfish_secret'] = 'pwgenして適当に入れた'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH!\ */

# よくわかんねけど以下をアンコメント
/* 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]['table_uiprefs'] = 'pma_table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma_tracking';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
$cfg['Servers'][$i]['userconfig'] = 'pma_userconfig';
$cfg['Servers'][$i]['recent'] = 'pma_recent';

% sudo apachectl start
% mysql.server restart

% open http://localhost/phpmyadmin/
The mcrypt extension is missing. Please check your PHP configuration.
なんかエラー...とりあえず放置してログイン確認できた.

% launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
% launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
% open http://localhost/phpmyadmin/
import:
/usr/local/Cellar/phpmyadmin/3.5.2.1/share/phpmyadmin/examples/create_tables.sql

WoredPressをインストールする.

% cd ~/Sites
% curl -O http://ja.wordpress.org/latest-ja.zip
% unzip latest-ja.zip
% mysqladmin -u root -p create wordpress
% cd ~/Sites/wordpress
% cp wp-config-sample.php wp-config.php
% emacs wp-config.php
define('DB_NAME', 'wordpress');
define('DB_USER', 'root');
define('DB_PASSWORD', 'new-password');
define('DB_HOST', '127.0.0.1');

% sudo chown -R _www:_www ~/Sites/wordpress

# WordPress vhost
% sudo emacs /etc/apache2/extra/httpd-vhosts.conf
Alias /wp /Users/user/Sites/wordpress
<Directory "/Users/user/Sites/wordpress">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>

% open http://localhost/wp/

インストールできた.

明日はHost1FreeのDebianでも稼動させる、まあそんな感じで.

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中