共有ホスティングにYii2をインストールして構成する

Yii2のインストールと設定は公式ガイドに記載されており、多くの記事が公開されていますが、このフレームワークを最初から最後までインストールして設定するのに役立つガイドは見つかりませんでした。 インストール中に、インターネット上のさまざまな場所にあるいくつかの質問に出会いました。 タンバリンとの長いダンスの後、私はYii2を望みどおりにセットアップしました。 この記事では、ダンスの時間を短縮し、誰かの人生を簡素化することを期待して、チューニングの経験を説明します。



1. Composerをインストールします



サーバーのセットアップとLinux / Unixコンソールでの作業の経験がほとんどないため、最初の問題はComposerのインストール時にすでに現れていました。 PHPのいくつかのバージョンがサーバーにインストールされており、デフォルトではコンソールコマンドはPHPバージョン5.2.17によって実行されます。 Composerには、PHPバージョン5.3.2以降が必要です。 解決策はこれでした:

php -r "readfile('https://getcomposer.org/installer');" | php5.6
      
      





サーバー設定では、Composerを実行可能にして直接実行することはできないため、PHPのバージョンを指定することを忘れずに、PHPインタープリターから起動します。

 php5.6 composer.phar install
      
      





最初のステップが完了しました-Composerがインストールされました。



2. Yii2のインストール



最初に、指示従います。bowerおよびnpmパッケージの依存関係を管理するcomposer assetプラグインをインストールします。

 php5.6 composer.phar global require "fxp/composer-asset-plugin:~1.1.1"
      
      





これを行う必要があるのは一度だけです。将来的には、以下で説明するコマンドを使用してYii2を数回インストールできます。

次に、インストールするYii2テンプレートのバージョンを選択します:BasicまたはAdvanced。 Basicは単純なアプリケーションであり、Advancedはパブリック部分と管理部分(フロントエンドとバックエンド)の分離を実装し、既製のモデル(およびデータベーステーブル)ユーザーを作成します。



2.1。 Yii2 Basicをインストールする


まず、Basicのインストールを検討してください。 より簡単で、次のコマンドを使用してインストールが実行されます。

 php5.6 composer.phar create-project --prefer-dist yiisoft/yii2-app-basic mysite
      
      





mysite



mysite



をインストールするディレクトリである場合、空である必要があります(サーバーにサイトのディレクトリを作成するときにpublic_html



サブディレクトリが自動的に作成された場合、削除する必要があります)。 Composerは、Githubからのログインパスワードを要求できます(Githubからの要求数の制限のため)。



サーバーとフレームワークのディレクトリ構造に関する小さな叙情的な余談。 mysite/public_html



の仮想ホスティングは、サイトファイルがmysite/public_html



ディレクトリに配置されるように構成されています。 public_html



ディレクトリ内のファイルには、Webからアクセスできます。



Yii2 Basicテンプレートの構造には、「コードとデータを不要なアクセスから保護する」ためにWebからアクセスできないようにすることが推奨されるいくつかのファイルとディレクトリ、およびWebサーバーのルートディレクトリとなるbasic/web



ディレクトリが含まれます。 必要な構造のために、「シンボリック」リンクを作成します。

 cd mysite ln -s web public_html
      
      





これで、 basic/web



ディレクトリのコンテンツは私たちのサイトであり、他のフレームワークファイルはネットワークからアクセスできません。

Yii2 Basicがインストールされている場合、ブラウザでサイトを開くことができます。



2.1.1。 Yii2 Basicの構成


config/db.php



を開き、設定をデータベースの正しい設定に変更します。 'charset' => 'utf8',



次のようにテーブルプレフィックスを指定できます: 'tablePrefix' => 'myprefix_'



(複数のサイトが同じデータベースを使用している場合)。



次に、リンクを設定します。デフォルトでは、ルーティングの形式は/index.php?r=site%2Fabout



、これを/site/about



形式に変換します。 これを行うには、 オフィスで推奨されている内容のweb/.htaccess



ファイルを作成します ガイド

 Options +FollowSymLinks IndexIgnore */* RewriteEngine on # if a directory or a file exists, use it directly RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # otherwise forward it to index.php RewriteRule . index.php
      
      





これで、Webサーバーはリクエストをindex.phpに送信する必要があることを認識し、URLにindex.phpを指定する必要がなくなりました。 次に、 config/web.php



'db' => require(__DIR__ . '/db.php'),



後に$config = ['components']



次の行を追加(またはコメント解除)し'db' => require(__DIR__ . '/db.php'),





  'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, 'rules' => [ ], ],
      
      





enablePrettyUrl-美しいリンクを生成し、showScriptName-index.phpスクリプト名をリンクに書き込まないでください。 これで、サイトにアクセスして、 /site/about



などの美しいリンクが既に使用されていることがわかります。

さて、Yii2 Basicで整理しました。次に、高度に進みましょう。



2.2。 Yii2 Advancedをインストールする


インストールの開始は基本に似ています:

 php5.6 composer.phar create-project --prefer-dist yiisoft/yii2-app-advanced mysite
      
      





Yii2がインストールされ、Yii2ファイルとディレクトリがmysiteディレクトリに表示されました。これには、サイトの公開部分のフロントエンドと管理パネルのバックエンドが含まれます。 ただし、frontend / webにはindex.phpファイルがないため、initコマンドを実行してテンプレートを初期化し、フロントエンドのシンボリックリンクを作成します。

 cd mysite php5.6 init ln -s frontend/web public_html
      
      





これで、フロントエンドがサイトのメインアドレスで利用可能になりました。 次に、バックエンドを構成します。

 cd frontend/web ln -s ../../backend/web admin
      
      





バックエンドは/admin



利用可能になりました。

フロントエンドに美しいアドレスを設定します。

  1. 基本テンプレートと同じ.htaccess



    /frontend/web



    に作成します
  2. config / /frontend/config/main.php



    config / /frontend/config/main.php



    同じ/frontend/config/main.php



    書きます


バックエンドに対して同様の操作を実行します。 途中で、 db.php



ファイルがconfig



ディレクトリにdb.php



ことに気付きます。

Advancedでデータベースにアクセスするためのパラメーターはcommon/config/main-local.php



db.php



され、Basicのdb.php



と同じようにdb.php



。 次に、移行を適用します。

 php5.6 yii migrate
      
      





移行テーブルとユーザーテーブルがデータベースに作成されます。



やった! Yii2がインストール、構成され、準備完了です。



使用したソース



はじめに-作曲家

Yii 2.0決定版ガイド(英語の公式Yii2ガイド)

Yii 2.0の完全ガイド(ロシア語翻訳)

Yii2 Advancedのインストール

Yii2で高度なテンプレートをインストールする方法



All Articles