Yii ( Yeeと発音します または[ji:] )は、PHPを使用してあらゆる種類のWebアプリケーションを開発するための、無料でオープンソースの高速で高性能、安全で柔軟性がありながら実用的で効率的な汎用Webプログラミングフレームワークです。
この記事では、最新バージョンのYiiフレームワークをインストールする方法を学びます。 Ubuntu 最新のPHPWebアプリケーションの開発を開始するためのLTS(長期サポート)リリース。
プラットフォームのサポート
Yii 次のUbuntuLTS(長期サポート)リリースを保持しています:
- Ubuntu 20.04 LTS(「フォーカス」)
- Ubuntu 18.04 LTS(「バイオニック」)
- Ubuntu 16.04 LTS(「Xenial」)
要件
- Ubuntuサーバーの実行中のインスタンス。
- PHP5.4.0以降のLEMPスタック。
- Composer –PHP用のアプリケーションレベルのパッケージマネージャー。
このページについて
- UbuntuのComposerを介したYiiFrameworkのインストール
- PHP開発サーバーを使用したYiiの実行
- NGINXHTTPサーバーを使用して本番環境でYiiプロジェクトを実行する
- Let’sEncryptを使用してYiiアプリケーションでHTTPSを有効にする
Yiiをインストールするには2つの方法があります 、作曲家を使用 パッケージマネージャーまたはアーカイブファイルからインストールします。前者は、新しい拡張機能をインストールしたり、 Yii を更新したりできるため、推奨される方法です。 1つのコマンドで。
UbuntuのComposerを介したYiiFrameworkのインストール
作曲家がない場合 インストールされている場合は、次のコマンドを使用してインストールできます。後で Yiiがインストールされます。 依存関係を管理します。
$ curl -sS https://getcomposer.org/installer | php $ sudo mv composer.phar /usr/local/bin/composer $ sudo chmod +x /usr/local/bin/composer
コンポーザーをインストールしたら、ディレクトリ/var/www/html/
に移動します。 WebアプリケーションまたはWebサイトファイルを保存してから、 Yiiをインストールします 作曲家を使用したパッケージ (テストプロジェクトを置き換えます Webアプリケーションのディレクトリの名前を使用します。
$ cd /var/www/html/ $ composer create-project --prefer-dist yiisoft/yii2-app-basic testproject
PHP開発サーバーを使用したYiiの実行
この時点で、 Yiiの使用を開始する準備が整いました。 開発のためのフレームワーク。 PHP開発サーバーを実行するには、テストプロジェクトに移動します ディレクトリ(前のコマンドで指定したものに応じてディレクトリ名が異なる必要があります)、次に開発サーバーを起動します。デフォルトでは、ポート 8080で実行する必要があります 。
$ cd /var/www/html/testproject/ $ php yii serve
別のポート(たとえば、ポート 5000 )で開発サーバーを実行するには 、--port
を使用します 示されているようにフラグを立てます。
$ php yii serve --port=5000
次に、Webブラウザーを開き、次のアドレスを使用してナビゲートします。
http://SERVER_IP:8080 OR http://SERVER_IP:5000
NGINXHTTPサーバーを使用して本番環境でYiiプロジェクトを実行する
Yiiをデプロイしてアクセスするには 本番環境のアプリケーションには、 NGINXなどのHTTPサーバーが必要です 、Apache / HTTPS、またはその他のサポートされているWebサーバーソフトウェア。
Yiiにアクセスするには ポートを入力せずにアプリケーションを使用するには、必要なDNS A
を作成する必要があります ドメインをYiiにポイントするように記録します フレームワークアプリケーションサーバー。
このガイドでは、 Yiiをデプロイする方法を示します NGINXを使用したアプリケーション 。そのため、 / etc / nginx / sites-available /の下に仮想ホストまたはサーバーブロックの構成ファイルを作成する必要があります。 NGINX となるように、アプリケーションのディレクトリ 提供できます。
$ sudo vim /etc/nginx/sites-available/testproject.me.conf
次の構成をコピーして貼り付けます(testprojects.me
を置き換えます) およびwww.testprojects.me
あなたのドメイン名で)。 NGINXの手段も指定してください FastCGIに合格します PHP-FPMへのリクエスト 、この例では、UNIXソケット( /run/php/php7.4-fpm.sock )を使用しています。 ):
server { set $host_path "/var/www/html/testproject"; #access_log /www/testproject/log/access.log main; server_name testprojects.me www.testprojects.me; root $host_path/web; set $yii_bootstrap "index.php"; charset utf-8; location / { index index.html $yii_bootstrap; try_files $uri $uri/ /$yii_bootstrap?$args; } location ~ ^/(protected|framework|themes/\w+/views) { deny all; } #avoid processing of calls to unexisting static files by yii location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ { try_files $uri =404; } # pass the PHP scripts to FastCGI server listening on UNIX socket location ~ \.php { fastcgi_split_path_info ^(.+\.php)(.*)$; #let yii catch the calls to unexising PHP files set $fsn /$yii_bootstrap; if (-f $document_root$fastcgi_script_name){ set $fsn $fastcgi_script_name; } fastcgi_pass unix:/run/php/php7.4-fpm.sock; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fsn; #PATH_INFO and PATH_TRANSLATED can be omitted, but RFC 3875 specifies them for CGI fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fsn; } # prevent nginx from serving dotfiles (.htaccess, .svn, .git, etc.) location ~ /\. { deny all; access_log off; log_not_found off; } }
ファイルを保存して閉じます。
次に、 NGINXを確認します 正しさのための構成構文、問題がない場合は、次のように新しいアプリケーションを有効にします。
$ sudo nginx -t $ sudo ln -s /etc/nginx/sites-available/testprojects.me.conf /etc/nginx/sites-enabled/testprojects.me.conf
次に、NGINXサービスを再起動して、新しい変更を適用します。
$ sudo systemctl restart nginx
Webブラウザーに戻り、ドメイン名でナビゲートします。
http://testprojects.me OR http://www.testprojects.me
Let’sEncryptを使用してYiiアプリケーションでHTTPSを有効にする
最後に、 HTTPSを有効にする必要があります あなたのウェブサイトで。無料のLet’s Encrypt SSL / TLS証明書(最新のすべてのWebブラウザーで自動化および認識されます)を使用するか、商用CAから証明書を取得できます。
Let’s Encrypt証明書を使用する場合は、 certbotを使用して自動的にインストールおよび構成できます。 道具。 certbotをインストールするには 、インストールするにはsnapdをインストールする必要があります。
$ sudo snap install --classic certbot
次に、 certbotを使用します NGINXWebサーバーで使用する無料のSSL/TLS証明書を取得してインストール/構成するには(更新用の有効な電子メールを提供し、プロンプトに従ってインストールを完了します):
$ sudo certbot --nginx
次に、もう一度Webブラウザにアクセスして、 Yiiを確認します。 アプリケーションは現在HTTPSで実行されています ( HTTPを覚えておいてください 自動的にHTTPSにリダイレクトする必要があります 。
http://testprojects.me OR http://www.testprojects.me
アプリケーションをデータベースに接続するなどの詳細については、Yiiプロジェクトの公式WebサイトにあるYiiフレームワークのドキュメントを参照してください。試してみて、 Yiiについての考えを共有してください または、以下のフィードバックフォームから質問してください。