GNU/Linux >> Linux の 問題 >  >> Ubuntu

UbuntuにYiiPHPフレームワークをインストールする方法

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についての考えを共有してください または、以下のフィードバックフォームから質問してください。


Ubuntu
  1. Ubuntu 20.04 /Ubuntu18.04にPHP8.0をインストールする方法

  2. Ubuntu16.04にPHP7.2をインストールする方法

  3. Ubuntu16.04にPHP7.3をインストールする方法

  1. Ubuntu18.04または20.04にPHP7.4および8.0をインストールする方法

  2. UbuntuLinuxにPHPをインストールする方法

  3. Ubuntu16.04にPHP7.2をインストールする方法

  1. Ubuntu18.04にPHPをインストールする方法

  2. Ubuntu18.04にMySQLをインストールする方法

  3. Ubuntu18.04にMinecraftサーバーをインストールする方法