brewパッケージを介してOS XでFastCGI(mod_phpではなく)を介してMagento 2を実行する


23

一部の人々が使用していないPHP環境を経由してOS X上のMagentoの2の開発インスタンスを実行しているように、コミュニティ内のさまざまなフォーラムの投稿や会話に基づいて、それが思わApacheの/ PHPのコンボを内蔵し、代わりにパッケージを使用してbrew取得しますnginxおよび/またはでFastCGI PHP環境が稼働しているapache

brewパッケージを使用してMagento 2をOS Xで起動して実行するためのコマンドと設定手順のリストや、OS X のFastCGI環境でPHPを実行する他の手段はありますか?私はDockerやVagrantを探していません。OSXでPHPをネイティブに実行したいのですが、使いたくありませんmod_php


役に立つかどうかはわかり
Marcel Hauri

@mhauri liipパッケージからphp-fpmを取得するための指示があれば、完全な答えが得られます。
アランストーム

回答:


12

Homebrewを使用したApache + PHP-FPM

ステップ0:始める前に

brew update
brew tap homebrew/services

ステップ1:Apache

1.-ビルドインApacheサービスを必ず停止してみましょう

sudo launchctl unload /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
sudo apachectl stop

2.- apache2.4をインストールする

brew install homebrew/apache/httpd24 --with-privileged-ports

Apacheをコンパイルする必要があるため、この手順には時間がかかります。

3.-正しくインストールされたことを確認すると、次のようなメッセージが表示されます。

launchdでhomebrew / apache / httpd24を今すぐ起動し、起動時に再起動するには:sudo brew services start homebrew / apache / httpd24

コマンドを実行しましょう:

sudo brew services start homebrew/apache/httpd24

http:// localhostをロードして、すべてが実行されていることを確認します。その後、It Worksが表示されます。メッセージ できます

ステップ2:PHP-FPM

1.- PHPをインストールして続けましょう

brew install -v homebrew/php/php70

2.- PHP-FPMを起動します。homebrew/ phpの利点は、PHPとFPMをインストールすることです。したがって、次のコマンドを実行するだけで済みます。

brew services start homebrew/php/php70

今のところ、デフォルトの設定を使用しましょう。変更する必要がある場合、設定は/usr/local/etc/php/7.0/にあります。

ステップ3:設定

1.- Apache設定を開きます:

vim /usr/local/etc/apache2/2.4/httpd.conf

2.-次の行のコメントを解除します。

LoadModule proxy_module libexec/mod_proxy.so
LoadModule proxy_fcgi_module libexec/mod_proxy_fcgi.so

3.- PHP-FPMのプロキシ設定をセットアップします。

<IfModule proxy_module>
  ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/usr/local/var/www/htdocs/$1
</IfModule>

通常、適切なディレクトリを指すようにvhostごとにこれを設定します

4.-最後に/ usr / local / var / www / htdocs /内にphpinfo()ページを作成し、テストページをロードしてすべてが機能していることを確認します。 PHPがあります

いくつかの調整とターンがありますが、これによりOSXで直接起動して実行できるはずです。

設定の詳細なウォークスルーについては、この迷惑メールボックスの設定(vhost、phpプールなど)を確認してください。

https://github.com/DemacMedia/vagrant-lamp/tree/master/files


私のbrew install homebrew/apache/httpd24 --with-privileged-ports代わりにbrew install httpd24 --with-privileged-ports。それはあなたの現実世界の経験と一致しますか?
アランストーム

@AlanStorm同じ手順に従いましたが、Magentoのindex.phpの読み込み中に.htaccessが問題を作成する方法がいくつかありました。ページを開くことはできませんが、ルートフォルダーから.htaccessを削除すると、少なくともMagentoが開き、理由により再び歪んでしまいます。これについて教えていただけますか?
リズワンデューカ

10
  1. 次のような多くのMac + Nginx + PHP-FPM + Mysqlセットアップチュートリアルのいずれかに従ってください(必ず使用してくださいbrew services):
  2. brew install php70-intl php70-mcrypt
  3. /usr/local/etc/nginx/nginx.conf内部のhttp新しい上流の定義

    アップストリームfastcgi_backend {
      サーバー127.0.0.1:9070;
    }
    

    9000はデフォルトのポートですが、PHPバージョン番号を最後の2桁として追加することをお勧めします。これにより、M1のように同時に少数のバージョンのPHPを使用できるようになります。ファイル内のFPMポートを変更し、/usr/local/etc/php/7.0/php-fpm.d/www.conf- listen = 127.0.0.1:9070を使用してPHPを再起動できますbrew services restart php70

  4. nginx.conf.sampleフォームM2リポジトリをコピーしてとして保存し/usr/local/etc/nginx/magento2.confます。この構成fastcgi_backendは、前のステップで定義されたものを使用します。

  5. 仮想ホストとドメインのセットアップ
    サーバー{
      80を聞きます。
      server_name magento2.dev;
      set $ MAGE_ROOT / path / to / m2 / project;
      $ MAGE_MODE開発者を設定します。
      /usr/local/etc/nginx/magento2.confを含めます。
    }
    
  6. Nginxを再起動します

その最初の要点は、自作/デュペをタップするようにあなたに頼みます。 警告:homebrew / dupesは廃止されました。すべての数式が移行されたため、このタップは空になりました
アランストーム

dupesコアの一部になったように見えるので、それを無視して固執するbrew tap homebrew/phpだけです。
イグロチェク

ありがとうございました。これはまさに私が必要としたものです。Magentoのセットアップに従いましたが、Ubuntuおよび 'listen = /run/php-fpm/php-fpm.sock'の行では、非常に多くの問題が発生していました。私が必要なのは、単に使用するためにそれを追加することではありません:listen = 127.0.0.1:9000、マルチPHPバージョンを使用したい場合はlisten = 127.0.0.1:9071に変更します。解決策を探して歳を過ごした。
iva

10

ステップ1:既存のApacheサービスを停止し、Brewを通してApacheをインストールします。

$ sudo apachectl stop
$ sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
$ brew install httpd24 --with-privileged-ports --with-http2

ソースからApacheをビルドするため、このステップには少し時間がかかります。完了すると、次のようなメッセージが表示されます。

/usr/local/Cellar/httpd24/2.4.23_2: 212 files, 4.4M, built in 1 minute 60 seconds

ステップ2:次のステップでそのパスが必要になるため、これは重要です。

$ sudo cp -v /usr/local/Cellar/httpd24/2.4.23_2/homebrew.mxcl.httpd24.plist /Library/LaunchDaemons

$ sudo chown -v root:wheel /Library/LaunchDaemons/homebrew.mxcl.httpd24.plist

$ sudo chmod -v 644 /Library/LaunchDaemons/homebrew.mxcl.httpd24.plist

$ sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.httpd24.plist

HomebrewのApacheをインストールし、特権アカウントで自動起動するように設定しました。

サーバーにアクセスできますhttp:// localhost

ステップ3:Apacheの設定

構成ファイルのパス

/usr/local/etc/apache2/2.4/httpd.conf

構成を変更する場合は、ここで行う必要があります

注: mod_rewriteを有効にする必要がありますが、これはデフォルトでコメント化されています。

LoadModule rewrite_module libexec / mod_rewrite.so

Magentoのインストールでは、この設定ファイルでmod_rewriteを有効にする必要があります。

# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
#   AllowOverride FileInfo AuthConfig Limit
#
AllowOverride All

ステップ4:PHPのインストール

次のように入力すると、使用可能なオプションの完全なリストを取得できます。

$ brew install php71 --with-httpd24

使用するバージョンを選択できます。

たとえば、memory_limit、date.timezone、display_errors ... etc / apache2 / 2などのニーズに合わせてPHPの微調整構成設定を構成します。

/usr/local/etc/php/7.1/php.ini

ステップ5:Apache PHPのセットアップ

これで、PHPバージョンを正常にインストールできましたが、Apacheにそれらを使用するよう指示する必要があります。Apache設定ファイルを編集する必要があります

/usr/local/etc/apache2/2.4/httpd.conf

PHPパスを変更します。

LoadModule php7_module    /usr/local/opt/php71/libexec/apache2/libphp7.so

以下の設定を変更する必要があるため、ApacheでPHPリクエストを処理します

<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

構成ファイルを保存し、Apacheを再起動します。

$ sudo apachectl -k restart

ステップ6:PHPの検証

ドキュメントルートディレクトリにphpファイルinfo.phpを作成します

info.phpのコンテンツは

<?php phpinfo(); ?>

ステップ6:php.iniファイルでMagentoのPHPの依存拡張を確認します。

Magento2に必要なPHP拡張機能:

bc-math 
curl
gd, ImageMagick 6.3.7 (or later) or both
intl
mbstring
mcrypt
mhash
openssl
PDO/MySQL
SimpleXML
soap
xml
xsl
zip
PHP 7 only:
json
iconv

その後、Magentoのインストールを続行できます。


5
  1. PHP 7をインストールします。

    brew install php70-intl php70-mcrypt php70-xdebug
  2. Laravel Valetを使用して、Nginx + PHP-FPMのインストールを自動化できますhttps : //laravel.com/docs/5.4/valet

    composer global require laravel/valet
    valet install
  3. プロジェクトディレクトリがない場合はプロジェクトディレクトリを作成します(好きな名前を付けることができます)

    mkdir ~/projects
  4. Laravel Valetに、プロジェクトをそこに保存することを伝えます

    cd ~/projects
    valet park
  5. この投稿の時点では、Magento2ドライバーを含むLaravel Valetのバージョンはまだリリースされていません(マージされています、タグを介してまだリリースされていません)。それを使用するには、次のいずれかを実行できます。

    • dev-masterブランチを介してLaravel Valetをインストールします。

      composer global require laravel/valet:dev-master`
    • または、ドライバーをダウンロードして、ローカルValetドライバーとして使用します。

      curl https://github.com/laravel/valet/raw/master/cli/drivers/Magento2ValetDriver.php -o ~/.valet/Drivers/Magento2ValetDriver.php

これでhttp://[projectname].dev/、ローカルプロジェクトを参照して参照できます([projectname]は〜/ projectsのディレクトリに対応します。例:

~/projects/my-super-awesome-client => my-super-awesome-client.dev

完全な開示:私はLaravel ValetのMagento2ドライバーの作成者の1人です。


私はかなり密集している可能性がありますが、これらの手順は不完全なようです(例:valet linking、nginx m2のセットアップ...)。私はこれを考え直していますか?
ベンマーク

係員付き駐車場がリンクを処理します。プロジェクトディレクトリに「パーク」し、各プロジェクトがM2インストールを含むサブディレクトリである限り、他に行うことはありません。valetのMagento2ドライバーは、ValetがM2サイトをサーバーする方法を知るようにすべてを処理します(したがって、追加のnginx構成は不要です)。はい、本当に簡単です。Valetは、Laravelサイトの設定の苦痛を取り除くために構築されました。彼らは、Laravel以外のプロジェクトでもそれを使用できるようにしたので、誰もが勝ちます
ジョーコンスタント

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.