共有ホスティングに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 

mysitemysiteをインストールするディレクトリである場合、空である必要があります(サーバーにサイトのディレクトリを作成するときに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.phpdb.phpされ、Basicのdb.phpと同じようにdb.php 。 次に、移行を適用します。
 php5.6 yii migrate 

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

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

使用したソース


はじめに-作曲家
Yii 2.0決定版ガイド(英語の公式Yii2ガイド)
Yii 2.0の完全ガイド(ロシア語翻訳)
Yii2 Advancedのインストール
Yii2で高度なテンプレートをインストールする方法

Source: https://habr.com/ru/post/J277209/


All Articles