#1 MAMPでローカルにWeb開発環境を作る

自分のパソコン(ローカル環境)にWebサーバと同じ環境(LAMP環境)を作る

自分でPC内に、Webサーバーと同じ環境を作るのはちょっと難しくなります。
  • ・webサーバ(Apacheアパッチnginxエンジンエックス)
  • ・データベース(MySQLマイ エスキューエルPostgreSQLポスグレMariaDBマリアディービー)
  • ・データベース管理ツール(phpMyAdminピーエイチピー マイ アドミン)
他、PHPのダウンロード、設定、バージョン管理ができれば必要ないのですが、 最初は統合ツールを使ったほうが良いと思います。
統合ツールもいろいろあります。OSがMacの方はMAMPマンプ、 Windowsの方はXAMPPザンプがお薦めです。ダウンロードしましょう。
※両ソフトとも両OSに対応しています。解説はMac+MAMPで進めます。

MAMPダウンロードサイトへ

XAMPPダウンロードサイトへ
まずは無料版で良いと思います。ダウンロードしたらインストールしてみましょう。

MAMP、XAMPPの初期設定

インストールが終わったら初期設定を変更します。
MAMP設定方法

チェックボックスにチェックを入れる。※Check for updateは外してください。

ポート番号を変更する

PHPのバージョンを選択。7.xを選択

WebサーバはひとまずApacheで良いです。
XAMPP設定方法

ファイアウォールについて、プライベート環境の場合に許可するように設定します。

右のメニューに有るConfigをクリックし、ApacheとMySQLにチェックを入れます。また、ポートセッティングをクリックします。

Main Portを8888にします。

バーチャルホストの設定

ローカルにLAMP環境が構築されましたが、設定を変えない場合MAMPで扱えるPHPプロジェクト数はひとつのみです。 そこでバーチャルホストを設定し、複数のプロジェクトをポート番号を変えることで、各プロジェクトをブラウザで表示できるようにしておきます。
バーチャルホストを使わない場合

バーチャルホストを使わない場合は、application/MAMP/htdocs/ 内にデータを入れます。
ブラウザのアドレスで、http://localhost:8888 と入力すれば表示されます

複数プロジェクトを扱えるようにhttpd.confの設定を変更します。

バーチャルホストが使えるようにコメントを外します。
Macのパス
/application/MAMP/conf/apache/httpd.conf

Windowsのパス
\MAMP\conf\apache\httpd.conf


※httpd.confは必ずバックアップを取ってからおこなってください。

# Virtual hosts
# Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

/*↓ 2行目のコメントアウト(#)を外し、有効化します*/

# Virtual hosts
Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
MACの場合

# Virtual hosts
# Include /conf/extra/httpd-vhosts.conf

/*↓ 2行目のコメントアウト(#)を外し、有効化します*/

# Virtual hosts
Include /conf/extra/httpd-vhosts.conf
Windowsの場合
保存しMAMPを再起動すればブラウザで表示されるようになります。

XAMPPは最初からコメントアウトされていますが念の為確認してみましょう。
また、XAMPPの設定でMain Portを8888にした場合は、60行目辺りにあるポート番号を80から8888に変更しておきましょう。

#Listen 80
Listen 8888

複数プロジェクトを管理するためのデータ置き場(フォルダ)を作る

PCの適当な場所にstgという名前のフォルダを作り、その中にプロジェクトフォルダを量産していきます。
Windowsの方の場合はユーザーフォルダ内にjob/stgとフォルダを作ってください。

各プロジェクトフォルダは、例えば8001-プロジェクトA、8002-プロジェクトB、8003-プロジェクトCといったように、自分の管理しやすい名前を自由につけて結構です。
※8001はポート番号です。ブラウザのアドレスにポート番号を入れるので、わかりやすく入れてます。
※このstgフォルダのエイリアスをサイドバー(⌘+option+s)のよく使う項目などにリンクさせます。
※stgはstaging(ステージング)の略で、開発用フォルダという意味です。

httpd-vhosts.confの設定

httpd-vhosts.confファイルが置いてある場所は以下のとおりです。
Macのパス
/application/MAMP/conf/apache/extra/httpd-vhosts.conf

Windowsのパス
C:/MAMP/bin/apache/conf/extra/httpd-vhosts.conf

XAMPPのパス
C:/xampp/apache/conf/extra/httpd-vhosts.conf


httpd-vhosts.confをテキストエディタで開きます。
文章の最後に以下の内容を追記します。

Listen 8001
<virtualhost *:8001>
  DocumentRoot "/Users/ユーザ名/job/stg/8001-つけた名前/"
</virtualhost>

Listen 8002
<virtualhost *:8002>
  DocumentRoot "/Users/ユーザ名/job/stg/8002-つけた名前/"
</virtualhost>
・
・
・増やしていく
Mac

Listen 8001
<virtualhost *:8001>
  DocumentRoot "C:/Users/ユーザ名/job/stg/8001-つけた名前"
</virtualhost>
<Directory "C:/Users/ユーザ名/job/stg/8001-つけた名前">
  AllowOverride All
  Require all granted
</Directory>

Listen 8002
<virtualhost *:8002>
  DocumentRoot "C:/Users/ユーザ名/job/stg/8002-つけた名前"
</virtualhost>
<Directory "C:/Users/ユーザ名/job/stg/8002-つけた名前">
  AllowOverride All
  Require all granted
</Directory>
・
・
・増やしていく
Windows

httpd-vhosts.confの最後の行に、自分のパソコンのユーザ名、自分がつけた「ポート番号-フォルダ名」
例はポート8001にフォルダ「8001-cri-sortable」を設定しました。 8002番、8003番…と増やせば多くのプロジェクトを作れます。
毎度アクセスするのは大変なので上記のようにhttpd-vhosts.confファイルのエイリアス(ショートカット)を作り、 stgフォルダに入れておきます。動画のように移動と同時にエイリアスのコピーにならない場合は、⌘+Lでエイリアスを作って移動させましょう。

PHPが表示されるかテストしましょう

テキストエディタで新規書類を作成し、以下の2行をコピーペーストしましょう。

<?php
  phpinfo();
8002ポートを設定したフォルダに(例では8002-test)「phpinfo.php」というファイル名で保存します。
基礎3 #4で「8001-scss」フォルダを作成しているのでここでは8002にします。

MAMPを再起動して、ブラウザのアドレス欄に以下のように入力してアクセスします。
http://localhost:8002/phpinfo.php

このように表示されたらOKです。

出ない場合は、MAMPを再起動するか、httpd-vhosts.confの内容をもう一度よく確認しましょう。
サンプルのユーザ名やフォルダ名を自分で決めた独自のものに変えましょう。

MAMPをアップデートした場合

MAMPのバージョンをアップデートした際には、conf/apache/httpd.confファイルのVirtual hostsのIncludeをコメントアウトして有効にし、/extra/httpd-vhosts.confの内容をアップデート前のフォルダからコピーしましょう。

Windowsで「MySQL Server」のランプがつかない場合


[mysqld]
+ explicit_defaults_for_timestamp = TRUE
+ character-set-server = utf8

ちょっと下の方
# Replication Master Server (default)
# binary logging is required for replication
log-bin=mysql-bin
+ log_syslog = 0
+ log_timestamps = SYSTEM

[mysql]
no-auto-rehash
+ default-character-set = utf8
\MAMP\conf\mysql\my.ini に+の行(+は含まない)を追記
#26行目辺り

+ $cfg['Service'][$i]['socket'] = '/tmp/mysql.sock';
\MAMP\bin\phpMyAdmin\config.inc.php に以下を追記
他には、\MAMP\db\mysql\ib_logfile0〜1 を削除してみる
コピーしました
RSS https://cbc-study.com/rss.xml
質問などあればSlackで