Quantcast
Channel: OpenMediaLaboratory Blog
Viewing all articles
Browse latest Browse all 147

Mountain LionでWebサーバ+PHP+MySQLを動作させる方法

$
0
0

もうすぐ次のOSが発売されそうなので今更感満載ですが・・・

同じような記事を下記に書いていますが、そちらをもう少し掘り下げた記事になります。
Mountain LionでWordPressが動作する環境を構築してみる


今回、設定の多くはターミナルを活用することになります。
というか、開発を行う上でターミナルはとても重要なツールの一つです。出来ればDockに登録しておきましょう。
もちろん、iTerm2などでも使用可能です(私はiTerm2を使っています)。

apache2を起動してみる

まずはapache2を起動してみます。
ターミナルを起動し、下記コマンドを入力します。
(“$”は最初から表示されていますので入力の必要はありません、念のため)

$ sudo apachectl start
Password: ユーザパスワードを入力します
(ユーザパスワード:アプリなどをインストールする際に入力するパスワード)

※パスワード入力は”sudo”コマンドを使うとほぼ毎回聞かれます。
面倒に思われる方はrootパスワードを設定し、ターミナル起動直後に”su”コマンドでスーパーユーザになって作業下さい(あんまり推奨しませんが)。

起動したかどうか、Safariなどのブラウザを起動し、URLに

http://localhost/

と入力します。
大きく”It works!”と表示されれば大丈夫です。

ユーザ名について事前に補足

以下で出てくる”ユーザ名”とは、例えばファインダーなどに表示されているユーザフォルダの名称の事です。
ターミナルで確認する場合、下記コマンドを入力します。

$ ls /Users

3つ程、表示されると思います。その中の”.localized”、”Shared”を除いた、もう一つがユーザ名になります。

ユーザ用フォルダを有効にする

LionまでのOS Xであれば、http://localhost/~ユーザ名/でユーザフォルダ内の”サイト”フォルダ内にあるhtmlコンテンツなどを表示できました。
Mountain Lionでも同様にユーザフォルダ内にフォルダを作ればいいのですが、”サイト”という名前で作るわけではありません。
ここでもターミナルから

$ cd
$ mkdir Sites

でOKです。

次に設定ファイルを設置します。
※Lionなどからアップデートを行った場合は既にファイルが設置されているかと思います。
ファイルが既にある場合は作成の必要はありません。
当方環境はゼロから構築したため、ファイルがありませんでした。

設置するファイルは
/private/etc/apache2/users/ユーザ名.conf
となります。この場合の”ユーザ名”は必ず半角英数字にして下さい。

$ sudo vi /private/etc/apache2/users/ユーザ名.conf

ファイルの内容は下記の通りです。
“ユーザ名”をご自身のユーザ名に置き換えて下さい。

<Directory "/Users/ユーザ名/Sites/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
</Directory>

保存したらapache2を再起動します。

$ sudo apachectl restart

この中にhtmlファイルなどを設置すると

http://localhost/~ユーザ名/

で表示されるようになります。

PHPを有効にする

httpd.confなどの設定ファイルは基本、下記フォルダにあります。
/private/etc/apache2/
PHPを有効にしたい場合、下記コマンドでhttpd.confを編集します。viが立ち上がりますが、viの使い方を知らない場合は検索して調べてみて下さいませ。

$ sudo vi /private/etc/apache2/httpd.conf

下記行を探して
#LoadModule php5_module libexec/apache2/libphp5.so
行頭の"#"を削除する
LoadModule php5_module libexec/apache2/libphp5.so

変更したらapache2を再起動します。

$ sudo apachectl restart

PHPが動作するかどうか確認してみましょう。
先程設定したユーザ用フォルダに移動し、テスト用ファイルを作成します。

$ cd 
$ cd Sites
$ echo "<?php phpinfo(); ?>" > test.php

Safariなどのブラウザで下記URLにアクセスしてみます。

http://localhost/~ユーザ名/test.php

PHPのバージョンや詳細設定内容が表示されればOKです。

MySQLをインストール

※時代の流れを考えるとここでインストールすべきは「MariaDB」なのですが、どうもMac OS X用バイナリがオフィシャルでは提供されてないようです。
Homebrewでは提供されているようですが、ここでHomebrewというのもアレですので、MySQLの方をインストールしてみます。

サイトからMySQLをダウンロードします。
Download MySQL Community Server | MySQL
ここからMountain Lionの場合、
Mac OS X ver. 10.7 (x86, 64-bit), DMG Archive
をダウンロードします。
クリックすると、何やら[Login][Sign Up]というボタンが表示され、ユーザ登録してないとダウンロードできないような画面になっています。
もちろん登録してダウンロードして頂いてもいいのですが、それが面倒な方は、その下に「No thanks, just start my download」とありますので、そちらをクリックして下さい。
容量がまあまあ大きい(160MB程度)ので、少し時間が掛かります。

ダウンロードが終わったら、ダウンロードしたdmgファイルをクリックし、マウントします。

まずは”mysql-バージョン番号-osx10.7-x86_64.pkg”をダブルクリックし、インストールします。特に手順で注意する点はありませんので、インストーラの通りに進めて下さい。

次に”MySQLStartupItem.pkg”をダブルクリックし、インストールします。このパッケージはMySQLを自動起動するためのパッケージです。こちらも特に注意する点はありません。

最後に”MySQL.prefPane”をダブルクリックします。すると「システム環境設定」が起動し、下記ウィンドウが表示されます。
スクリーンショット_2013_08_26_12_52
基本、どちらでも構いませんが、自分専用のマシンの方が多いかと思いますので”このコンピュータのすべてのユーザ用にインストールする”で問題ないと思います。
インストールが終わると、下記のようなMySQLのコントロールパネルらしきものが表示されます。
MySQL
MySQLそのものをインストールしたばかりなので”The MySQL Server Instance is stopped”になっているはずです。
その横の[Start MySQL Server]をクリックすると、管理者認証が行われ、パスワードを入力すると”stopped”が”running”に変わります。
(もし変わらなければ何かインストールが間違っているかも知れません)
“running”になったことを確認したら、コントロールパネルを閉じます。

MySQLを使える状態にする

ひとまずMySQLのインストールが終わりました。
ただ、コマンドラインでの操作が出来ません。

まずはコマンドラインで操作できるようにしましょう。
MySQLのプログラムがあるフォルダにパスを通します。
viで”/etc/paths”ファイルを開きます。

$ sudo vi /etc/paths

デフォルトでは下記のようになっているはずです。

/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin

この最後の行へ
/usr/local/mysql/bin
を追加します。結果は下記のようになります。

/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
/usr/local/mysql/bin

これで保存し、ターミナルを再起動します。
下記コマンドを実行し、最後に”/usr/local/mysql/bin”が追加されていればOKです。

$ echo $PATH

コマンドラインから”mysql”と入力し、MySQLの管理モードに入れば問題ありません。”quit”で一度抜けましょう。

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

さて、ローカルで使用する分にはこれでも特に問題ありませんが、セキュリティ面がちょっと甘過ぎかも知れませんね。
せめてrootパスワードくらいは設定しておきましょう。
以前は”mysqladmin”というコマンドで設定するのが一般的でしたが、最近は初期設定のツールが提供されています。

ターミナルから下記コマンドを入力します。

$ mysql_secure_installation

以下の手順で設定を行います。

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we'll need the current
password for the root user.  If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):パスワードを設定してないので[enter]キーを入力
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.

Set root password? [Y/n] ルートパスワードを設定したいので"Y"
New password:設定したいパスワードを入力します。もちろん半角の英数記号です。
Re-enter new password:確認のため、同じパスワードを入力します。

Reloading privilege tables..
 ... Success!


By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] デフォルトで登録されている匿名ユーザを削除するかの確認です。基本的に"Y"でOKです。
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] リモートからのrootユーザでのログインを許可しないかどうか。基本的には許可しないので"Y"です。
 ... Success!

By default, MySQL comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] テスト用データベースを削除していいかどうか。基本的には削除しますので"Y"です。
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] 設定した内容でリロードするかどうか。もちろん"Y"です。
 ... Success!




All done!  If you've completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!


Cleaning up...

これでrootユーザの設定など、セキュリティ面の設定が行われました。
試しにコマンドラインから”mysql”と入力してみましょう。”Access denied”エラーが表示されるかと思います。
次に

$ mysql -u root -p

と入力します。するとパスワード入力を求められますので、先程設定したrootのパスワードを入力すると、MySQLの管理モードへ入ります。

PHPでMySQLに接続出来るよう設定します

次にPHPの設定を行っておきます。

/private/etc/内に”php.ini.default”というファイルがありますので、これを下記コマンドでコピーしておきます。

$ cp /private/etc/php.ini.default /private/etc/php.ini

コピーしたらviで編集します。

$ vi /private/etc/php.ini

“mysql.default_socket”と書いてあるところを探して、次のように変更します。

mysql.default_socket = /tmp/mysql.sock

保存して、apache2を再起動します。

$ sudo apachectl restart

これで基本的な設定は終了です。

後はご自身で設定を進めましょう

後は例えばphpMyAdminをインストールしたり、WordPressをインストールしたり・・・
ローカルに試験用の環境があると、ネットが繋がらない場所でもサイト製作を進めることが出来たり、sass/compass環境なども構築しやすいので便利です。
一度チャレンジしてみてはどうでしょうか?

Web制作者のためのSassの教科書 これからのWebデザインの現場で必須のCSSメタ言語

著者/訳者:平澤 隆 森田 壮

出版社:インプレスジャパン( 2013-09-13 )

定価:¥ 2,940

Amazon価格:¥ 2,940

単行本(ソフトカバー) ( 352 ページ )

ISBN-10 : 4844334662

ISBN-13 : 9784844334668



オリジナル記事はこちら Mountain LionでWebサーバ+PHP+MySQLを動作させる方法 | OpenMediaLaboratory on 2013年8月26日.

The post Mountain LionでWebサーバ+PHP+MySQLを動作させる方法 appeared first on OpenMediaLaboratory.


Viewing all articles
Browse latest Browse all 147

Trending Articles