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

Ubuntu16.04にNginxを使用してGravCMSをインストールする方法

Gravは、データベースを必要としない最新のWebアプリケーションです。これはファイルベースのウェブプラットフォームであり、シンプルで高速で、インストールは不要です。 Gravは、テンプレート用のTwig Templating、コンテンツ作成用のMarkdown、単純な構成用のYAML、Parsedown、パフォーマンスレイヤー用のDoctrineキャッシュなどの最新テクノロジーを使用しています。ツールはPHPで記述されており、 Grav自体、およびテーマとプラグインのインストールとアップグレードを含むGravシステム。

このチュートリアルでは、Ubuntu16.04にGravCMSをインストールして構成する方法を段階的に説明します。 GravはPHPWebアプリケーションベースであるため、システムにPHPをインストールする必要があります。パフォーマンスを向上させるには、NginxWebブラウザーでPHP-FPMを使用します。

前提条件
  • Ubuntu 16.04
  • root権限

私たちが行うこと:

  1. Nginxをインストールする
  2. PHP-FPMのインストールと構成
  3. PHPComposerをインストールする
  4. GravCMSをダウンロードしてインストールする
  5. Grav用にNginx仮想ホストを構成する
  6. テスト
ステップ1-NginxWebサーバーをインストールします

この最初のステップでは、UbuntuリポジトリからNginxWebサーバーをインストールします。その前に、次のaptコマンドを使用してすべてのパッケージとリポジトリを更新する必要があります。

sudo apt update
sudo apt upgrade

次に、NginxWebサーバーをインストールします。

sudo apt install nginx -y

インストールが完了したら、サービスを開始し、システムの起動時に起動できるようにします。これは、次のsystemctlコマンドを使用して実行できます。

systemctl start nginx
systemctl enable nginx

NginxWebサーバーはUbuntu16.04にインストールされており、デフォルトのHTTPポート80で実行されています。次の方法でnetstatコマンドを使用して確認してください。

netstat -plntu

そして、以下のような結果が得られます。

ステップ2-PHP-FPMのインストールと構成

次に、Gravインストール用にPHP-FPMをインストールして構成します。次のコマンドを使用して、PHPおよびPHP-FPMパッケージ(必要なすべての拡張機能を含む)をインストールします。

sudo apt install -y php7.0 php7.0-fpm php7.0-cli php7.0-gd php7.0-mbstring php-pear php7.0-curl php7.0-dev php7.0-opcache php7.0-xml php7.0-zip

次に、PHP-FPMを構成する必要があります。

-追加の拡張機能をインストールする

これはオプションですが、Gravのパフォーマンスに最適です。 PECLコマンドを使用して、PHP拡張機能リポジトリからいくつかの追加拡張機能を手動でインストールします。

以下の「pecl」コマンドを使用して、「apcu」拡張機能をインストールします(キャッシュパフォーマンスを向上させるため)。

sudo pecl install apcu

次に、「/ etc / php / 7.0 /mods-available/」ディレクトリに新しい拡張設定「apcu.ini」を作成します。

sudo vim /etc/php/7.0/mods-available/apcu.ini

次の構成をそこに貼り付けます。

extension=apcu.so

保存して終了します。

次に、以下のコマンドを使用して拡張機能をアクティブにします。

sudo ln -s /etc/php/7.0/mods-available/apcu.ini /etc/php/7.0/fpm/conf.d/20-apcu.ini
sudo ln -s /etc/php/7.0/mods-available/apcu.ini /etc/php/7.0/cli/conf.d/20-apcu.ini

次に、Gravのパフォーマンスをさらに向上させるために、「YAML」拡張機能をインストールします。ただし、拡張機能をインストールする前に、次のaptコマンドを使用していくつかのパッケージをインストールする必要があります。

sudo apt install libyaml-dev unzip -y

次に、peclコマンドを使用してyaml拡張機能をインストールします。

sudo pecl install yaml-2.0.0

インストールが完了したら、新しい「yaml.ini」構成ファイルを作成します。

sudo vim /etc/php/7.0/mods-available/yaml.ini

次の構成をそこに貼り付けます。

extension=yaml.so

保存して終了します。

次に、YAML拡張機能をアクティブにします。

sudo ln -s /etc/php/7.0/mods-available/yaml.ini /etc/php/7.0/fpm/conf.d/20-yaml.ini
sudo ln -s /etc/php/7.0/mods-available/yaml.ini /etc/php/7.0/cli/conf.d/20-yaml.ini

Grav用の新しいPHP拡張機能が追加されました。

-Grav用にPHP-FPMプールを構成する

新しいPHP-FPMプール構成を作成する前に、「grav」という名前の新しいユーザーをシステムに追加する必要があります。これは、useraddコマンドを使用して実行できます。

useradd -m -s /bin/bash grav
passwd grav

次に、「/ etc / php / 7.0 / fpm / pool.d」ディレクトリに移動し、デフォルトの「www.conf」構成をバックアップします。

cd /etc/php/7.0/fpm/pool.d/
mv www.conf www.conf.bak

次に、Grav用の新しいPHP-FPMプール構成('grav.conf')を作成します。

vim grav.conf

次の構成をそこに貼り付けます。

[grav]

user = grav
group = grav

listen = /run/php/php7.0-fpm.sock

listen.owner = www-data
listen.group = www-data

pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

chdir = /

保存して終了します。

PHP-FPMサービスを再起動し、システムの起動時に起動できるようにします。

systemctl restart php7.0-fpm
systemctl enable php7.0-fpm

PHP-FPMは「php7.0-fpm.sock」ファイルで実行されています。次の方法でnetstatコマンドを使用して確認してください。

netstat -pl | grep php

そして、以下のような結果が得られるはずです。

注:

apcuおよびyaml拡張機能を確認する場合は、次のphpコマンドを使用できます。

sudo php -m | grep apcu
sudo php -m | grep yaml

PHP-FPMのインストールと構成が完了しました。

ステップ3-PHPComposerをインストールする

コンポーザーは、PHP用のアプリケーションレベルのパッケージマネージャーです。 PHPの依存関係を管理するために使用されます。

次のコマンドを使用してPHPComposerをインストールします。

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

インストールが完了したら、次の方法でcomposerコマンドを実行してみてください。

composer --version

PHPComposerがインストールされました。

ステップ4-Gravをダウンロードしてインストールする

'grav'ユーザーとしてツールをインストールして実行します。ユーザーは前の手順のいずれかで作成されました。

まず、「grav」ユーザーとしてログインします。

su - grav

次に、新しい「www」ディレクトリを作成します。

mkdir -p ~/www
cd ~/www

wgetを使用して最新のgravバージョンをダウンロードし、ファイル名に「.zip」拡張子を追加します。

wget https://getgrav.org/download/core/grav/latest
mv latest latest.zip

'latest.zip'ファイルを抽出し、'grav'ディレクトリの名前を'html'に変更します。

unzip latest.zip
mv grav/ html/

ここでルート特権に戻り、グループ所有者を「www-data」に変更します。

exit
cd /home/grav/www
sudo chown -R grav:www-data html/

Gravは、「grav」ユーザーによって「/ home / grav / www/html」ディレクトリにダウンロードおよびインストールされるようになりました。

ステップ5-Grav仮想ホストを構成する

このステップでは、Grav用にNginx仮想ホストを構成します。 「sites-available」ディレクトリ内に「grav」という名前の新しい仮想ホストファイルを作成してから、Grav仮想ホストをアクティブ化します。

'/ etc / nginx'構成ディレクトリに移動し、vimエディターを使用して新しいファイル'grav'を作成します。

cd /etc/nginx
vim sites-available/grav

次のGravNginx仮想ホスト構成をそこに貼り付けます。

server {
    ## Define Index
    #listen 80;
    index index.html index.php;

    ## Web root and Domain Name
    root /home/grav/www/html;
    server_name grav.hakase-labs.co;

    ## Begin - Index
    # for subfolders, simply adjust the rewrite:
    # to use `/subfolder/index.php`
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    ## End - Index

    ## Begin - PHP-FPM Configuration
    location ~ \.php$ {
        # Choose either a socket or TCP/IP address
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        # fastcgi_pass 127.0.0.1:9000;

        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
    }
    ## End - PHP

    ## Begin - Security
    # deny all direct access for these folders
    location ~* /(.git|cache|bin|logs|backups)/.*$ { return 403; }
    # deny running scripts inside core system folders
    location ~* /(system|vendor)/.*\.(txt|xml|md|html|yaml|php|pl|py|cgi|twig|sh|bat)$ { return 403; }
    # deny running scripts inside user folder
    location ~* /user/.*\.(txt|md|yaml|php|pl|py|cgi|twig|sh|bat)$ { return 403; }
    # deny access to specific files in the root folder
    location ~ /(LICENSE|composer.lock|composer.json|nginx.conf|web.config|htaccess.txt|\.htaccess) { return 403; }
    ## End - Security
}

保存して終了します。

次に、仮想ホストをアクティブにして、nginx構成をテストします。

ln -s /etc/nginx/sites-available/grav /etc/nginx/sites-enabled/
nginx -t

注: 構成をテストした後、Nginxエラーが発生しないことを確認してください。

次に、NginxおよびPHP-FPMサービスを再起動します。

systemctl restart nginx
systemctl restart php7.0-fpm

NginxGrav仮想ホストの構成が完了しました。

ステップ6-テスト

Webブラウザーを開き、Gravサイトのドメイン名を入力します。私の名前はhttp://grav.hakase-labs.co/

そして、以下に示すように、デフォルトのGravホームページが表示されます。

Ubuntu16.04でPHP-FPMとNginxWebサーバーを使用したGravFlatCMSのインストールが正常に完了しました。


Ubuntu
  1. Ubuntu18.04にNginxでWordPressをインストールする方法

  2. Ubuntu15.04にGravCMSをインストールする方法

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

  1. Ubuntu16.04にNginxでMediaWikiをインストールする方法

  2. Ubuntu15.10にNginxを使用してMagentoをインストールする方法

  3. Ubuntu15.10にNginxでMailpileをインストールする方法

  1. Ubuntu15.10でNginxを使用してRedmine3をインストールする方法

  2. Ubuntu15.10にNginxを使用してPiwikをインストールする方法

  3. Ubuntu16.04でNginxを使用してRedmine3.2をインストールする方法