この記事は、最初はほんの数ステップでHomesteadにEZ Publicをインストールする方法についての簡単なヒントになる予定でした。しかし、WindowsでホストされているVagrant Boxでゼロから作業するのにどれだけの労力がかかったかを見た後、私はそれを完全な記事にすることにしました。私は苦しんだので、あなたはそうする必要はありません:)
EZチームが以下で述べている問題に対処することを望んでいます。(もしそうなら)、それに応じてこの投稿を変更します。確かに、私の環境は非常に具体的です:Windowsの浮浪者。ただし、これは問題ではありません。私が同じ方法で起動しようとしたすべてのCMS、アプリ、およびフレームワークは、数分で実行可能でした。今日の現代のウェブ世界には、すべてが同じように機能しないという理由はありません。
キーテイクアウト各チームメンバーに同一の
ホストマシン、または同じマシン上の他のクライアントに専念する環境を混乱させることなく、生産環境を可能な限り密接に複製できる
以下のインストール手順を実験することで、EZ Publishがこれを簡単にするではないことがわかりました。 2014年、複数のクライアントやプロジェクトを持つほとんどのプロフェッショナルな開発者は、ソロでもVagrantを使用しています。各プロジェクトに専用の、別々の、破壊可能で再構築可能な環境を持つことは、ホスティングオプション、ツール、バージョンのバージョンを考慮する際に貴重です。廃棄。
最近、より多くのアプリが浮浪者のアプローチを採用しているのを見ないことに失望しています。フロントエンドを開発するときにモバイルを最初に考える必要があるように、バックエンドライブラリ、フレームワーク、アプリを開発するときにVMファーストを考える必要があります。世界がHeroku、Gae、Amazonなどに移動するにつれて、適応することは残されます。今すぐインストール手順を開始しましょう。
重要な注意:Windowsにいない場合は、ステップ5がおそらく発生しません。 Windowsにいる場合は、「昇格した」gitbash /コマンドプロンプト(管理者として実行する)で手順全体を実行することで、ステップ5を回避できます。管理者ユーザーは、Windows 8にシンリンクを作成する許可を持つ唯一のユーザーです。これが修正可能であるという噂がありましたが、どれも確実に機能しませんでした。管理者として開発環境を実行すると、まったく新しいワームの缶が開きますので、あなた自身の責任でそれを行います。誰かがGitBashを介してSymlinksを作成するための通常のWindows8ユーザーの許可を正常に提供した場合は、私に知らせてください。
ララヴェルのホームステッドが用意されたボックスを改善し、動作させます。あなたがそれが機能するかどうかを確認するためにVagrantをした場合、私たちがそれを構成できるようにVagrantを破壊します。ステップ1:ホームステッドが改善されました
homestead.yamlファイルを開き、新しいサイトを追加します:
VMをVAGRANTで起動し、VAGRANT SSHでVMを入力します。
ステップ3:前提条件をインストール<span> - map: ez.app </span><span> to: /home/vagrant/Code/ezpub/web</span>
PHP-INTLとPHP-XSL拡張機能をインストールするには、PHPが必要です。また、セットアップウィザード全体でsendmailを求めます。 Homesteadでは、これらすべてを:
でインストールできますステップ4:コードを取得
上記は、開発用ではなく、使用するためのEZプロジェクトを作成します。開発バージョンを取得するには、GitHubページを参照してください。
Ez Publishは途方もなく大きく、これを行うのに時間がかかることに注意してください。 「1時間あたりの60リクエスト」を確認することはほぼ保証されています。タイムアウトとダウンロードが必要な膨大な量のデータにより、プロセスは数回失敗する可能性があります。その場合は、RM -RF EZPUBでEZPUBフォルダー全体を削除し、上記の作成プロジェクトコマンドを再実行するだけです。パッケージがダウンロードされるたびに、後続のリクエストでローカルキャッシュから提供されるため、毎回より速くなります。 、再ダウンロードするのではなく
インストーラーは、端近くのデータ(秘密、フォールバックロケールなど)を求めます。入力するか、それぞれのEnterを押してデフォルトを使用します。EZ PublishのWebサイトからダウンロードされた準備されたTarアーカイブを使用していない理由は、準備されたアーカイブにSymlinksが詰め込まれているためです。VMがWindowsマシンでホストされている場合は機能しません。マルチプラットフォームに優しいものを維持するために、私は作曲家の創造プロジェクトアプローチを選択しました。
ステップ5:インストーラーのバグを処理します[Windowsホストのみ]現状では、EZパブリッシュはVMやエッジケースに合わせて調整されておらず、チームが考慮していないことが多くあります。たとえば、WindowsボックスのVMで実行します。すべての依存関係により、インストール中にどこかを壊すことが保証されています。私にとって、そしておそらくあなたにとっても、これは資産をインストールするポストインストールスクリプトになります。インストール資産は実際にはSymfonyの一部であり、それを行うクラスでは、実際にWindowsやSymlinksに対して警告しますが、Parent ProjectがSymlinksを強制するかどうかを考慮していません。
ではなく、設計資産をコピーするように強制されます。
次に、[インストール後のスクリプト]を実行して再実行:<span> - map: ez.app </span><span> to: /home/vagrant/Code/ezpub/web</span>
レガシーEZバージョンと何らかのコメントバンドルに関するエラーが発生する可能性がありますが、まだ修正する方法や重要かどうかはわかりません。
ステップ6:データベースを作成後でEZに送信するデータベースを作成します。 mysql -u Homestead -pescretを使用してVMでmysqlインスタンスにログインします。次に、実行:
<span>sudo apt-get update </span><span>sudo apt-get install php5-intl php5-xsl sendmail</span>
ステップ7:フォルダー許可を設定します
このステップは、Ezpubフォルダーのすべてのサブフォルダーを所有する「Vagrant」ユーザーの下ですでに実行されているため、Homesteadでスキップできます。
編集:ステップ8とステップ9の一部を自動的に処理するアプローチについては、以下のJeromeのコメントを参照してください。
ez.app:8000にアクセスして、次の画面を参照してください。<span>cd Code </span><span>composer create-project ezsystems/ezpublish-community ezpub</span>
これは非常に奇妙になる場所です。理由もなく、これは起こります。はい、それは2年間未確認のままである問題です。真剣に、それはPHPプロジェクトでの2年前の未解決のバグです。コアでそれを修正するには、コミットとプッシュを含む7秒の作業がかかります(8.2を参照)。私たちの場合、それを回避するには2つの方法があります。快適なものはないので、それを選ぶのはあなた次第です。
それを回避するために、そして私が真剣に死んでいるので、これは冗談ではありません。開発ツールを開き、フォームのアクション属性の最後にezsetupを配置する必要があります。 .php。 2014年にそのような問題がまだ存在する方法は困惑していますが、ここにあります:
フレームワークのソースファイルを変更したくない場合は、このアプローチを選択してください。
ステップ8.2:ガットのハッキング
その上に、これを置いてください:
<span> - map: ez.app </span><span> to: /home/vagrant/Code/ezpub/web</span>
あなたが狂気になるので、ウィザードをスキップしてEz Publishを手動でセットアップすることをお勧めしません。客観的に、彼らのインストール手順と彼らのドキュメントは、私が今まで見た中で最悪のものです。あなたが彼らの指示に従おうとするならば、あなたはそれを試してみたいというすべての欲求を失うでしょう。 EZチームがすぐに彼らのレガシーシステムへのすべての依存関係と参照を完全に削除し、新しいコアのみを維持することを願っています。 VMはますます多く、エントリの容易さとともに短いインストール手順は、目立つことを望んでいるCMSの最も重要な属性です。
<span>sudo apt-get update </span><span>sudo apt-get install php5-intl php5-xsl sendmail</span>
この警告を無視します。次の画面に進みます(8.1を使用した場合は、フォームアクションを再度変更することを忘れないでください。
このキャッシュエンジンは、失敗した場合に無効にするほど賢くないため、手動で行う必要があります。
in ezpubezpublishconfigezpublish.ymlは、これに隠しブロックを変更します
「メモリ内」とは、ファイルシステムの代わりに、メモリがスタッシュキャッシュに使用されることを意味します。 RM -RF ezpublish/cache/*でキャッシュをクリアし、更新します。必要に応じて、キャッシュエンジンを後でファイルシステムキャッシュよりもまともなものに交換してください。 MKDIRのプロトコルエラーを他にどのように軽減するかはわかりません。VM関連であることは知っていますが、それ以上ではありません。どんなアドバイスでも大歓迎です。
<span> - map: ez.app </span><span> to: /home/vagrant/Code/ezpub/web</span>
しかし、少なくともレンダリングするタイトルを手に入れました!
これらすべての警告を引き起こすファイルは、実際、EZがロードするために必要なすべてのPHPファイルを編集することです。それらは1つ(!!!)に統合され、エズパブリッシュフォルダーに入れられました。ファイルはコードの混乱であり、デバッグは簡単ではありません。なぜなら、PHP拡張機能がなく、IDEのハイライトがないことを除いて、それはいかなる種類のコーディング標準も尊重しないためです(したがって、1つのファイルに数十のクラス、インデント、およびインデントなし、結局のところ、読みやすさはありません)、それは「単なるキャッシュファイル」です。ただし、アプリケーション全体がキャッシュファイルに依存している場合、簡単にデバッグできると便利です。
または、ezpub/webでindex.phpファイルを編集し、$環境= 'dev'を編集することができます。 $環境= getEnv( "環境"); 8行目。
この時点で、2番目のアプローチが続いている場合は簡単になります。それ以外これを終了すると、これをレンダリングすることができるはずです:
<span>sudo apt-get update </span><span>sudo apt-get install php5-intl php5-xsl sendmail</span>
EZの公開リクエスト応答が非常に大きいため、Nginxの制限を上げる必要があります:
ルート指令の下で、次のことを貼り付けます
sudo service nginx restartでnginxを保存、終了、再起動します。
いくつかのページは機能します(ブログ、発見)、他のページ、まあ、それほどではありません。ただし、デモバンドルをデバッグすることは、このすでに長すぎる記事の範囲外です。
ステップ12:url誰かが2001年からホスティングプロバイダーや開発者をサポートしなければならないと思います。削除することで両方のプロジェクトを21世紀に持ち込みましょう。 ここの指示に従って、「場所」ブロックの上に、追加:
<span> - map: ez.app </span><span> to: /home/vagrant/Code/ezpub/web</span>
sudo service nginx restartを使用してnginxを保存、終了、再起動します。
ステップ13:喜ぶ<span>sudo apt-get update </span><span>sudo apt-get install php5-intl php5-xsl sendmail</span>
骨の折れるプロセスの後、最終的に完了しました。 1日以上かかったのは、できれば10分以内にかかったことを願っています(ダウンロード時間を除く)。今、あなたも、あなた自身のホームステッドインスタンスで、過剰に複製され、複雑で時代遅れのCMSを試すことができます。それがどのように機能するかを教えてください!
浮浪者ボックスで起きて実行するためにこの多くの作業を必要とするCMSは、私の考えでは、注意を払う価値のあるCMSではありません。確かに、おそらくそれをホストマシンに簡単にインストールしてそのように実行できますが、それは専門的なアプローチではありません。開発環境はカプセル化され孤立する必要があり、開発者は気まぐれでインスタンスを破壊して再構築できる必要があります。 CMSには、自動実行のスクリプトがあり、すべての可能な問題を検出し(Symlinksが使用できない、ハードコピーモードに自動的に切り替えるなど)、すべてをセットアップします(データベースからフォルダー許可まで、必要に応じて)。途中。
編集:このgithubリポジトリは私の注意を喚起しました。これは、機能するEZパブリッシュの準備されたVagrant構成です。ただし、2つの注意事項があります
はい、既存のウェブサイトをEZ Publish 5.xに移行することが可能です。ただし、ウェブサイトがオンになっている現在のプラットフォームとコンテンツの量に応じて、プロセスは複雑になる場合があります。移行を試みる前に、専門家の助けを求めたり、プロセスを徹底的に調査したりすることをお勧めします。
オープンソースプラットフォームとして、EZ Publish 5.Xには、サポートを提供できるユーザーと開発者の大規模なコミュニティがあります。また、多くのオンラインリソース、チュートリアル、フォーラムがあり、ヘルプを見つけることができます。さらに、EZ Publicsの背後にある会社であるEZ Systemsからの専門的なサポートサービスは、EZ Publish 5.x?EZ Publish 5.xはセキュリティを念頭に置いて設計されています。ロールベースのアクセス許可、安全なパスワードストレージ、一般的なWeb攻撃に対する保護などの機能が含まれます。ただし、他のソフトウェアと同様に、サイトを更新し続け、Webセキュリティのベストプラクティスに従って、サイトを安全に保つことを保証することが重要です。 🎜>はい、EZパブリッシュ5.xはeコマースサイトに使用できます。製品管理、ショッピングカート機能、支払いゲートウェイの統合など、さまざまなeコマース機能をサポートしています。ただし、eコマースサイトに必要なすべての機能を提供するには、追加のプラグインまたは拡張機能を使用する必要があります。 5.xを公開するには、ApacheやNginxなどのWebサーバー、PHP 5.4以降、MySQLやPostgreSQLなどのデータベースが必要です。また、特定のPHP拡張機能と設定が必要です。詳細なシステムの要件は、EZ Publish Documentationに記載されています。 5.xサイトを公開します。これには、キャッシュを使用してサーバーの負荷を削減し、データベースの最適化、コンテンツ配信ネットワーク(CDN)を使用してコンテンツ配信を高速化することが含まれます。ソフトウェアとプラグインを定期的に更新することも、パフォーマンスの向上に役立ちます。EZパブリッシュ5.x?はい、EZパブリッシュ5.xの機能を拡張できますか?プラグインと拡張機能を使用して新しい機能と機能を追加することもできます。また、オープンソースの性質のためにコアコードをカスタマイズすることもできます。ただし、コアコードを変更すると、更新を適用することがより困難になり、セキュリティリスクを導入する可能性があることに注意することが重要です。
以上がEZをホームステッドで動作させるために5.xを公開する13のステップの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。