GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS7にNginxとPHP-FPM7.1を使用してLaravel5.xをインストールする方法

Laravelは、MVC(Model-View-Controller)デザインパターンに従ったオープンソースのPHPフレームワークです。これは、CodeIgniter(CI)フレームワークの高度な代替手段を提供する試みとして、2011年にTaylorOtwellによって作成されました。 2011年にLaravelプロジェクトがバージョン1と2をリリースし、今年はバージョン5.4がリリースされ、「artisan」という名前のコマンドライン(CLI)サポート、より多くのデータベースタイプの組み込みサポート、改善されたルーティングなどの多くの改善が行われました。

>

このチュートリアルでは、Laravel WebFrameworkとNginxWebサーバー、PHP-FPM 7.1、およびMariaDBをCentOS7システムにインストールする方法を紹介します。 CentOS7サーバーのLEMPスタックにLaravelをインストールして構成する方法を段階的に説明します。

このチュートリアルは、UbuntuのLaravelでも利用できます。

前提条件:

  • CentOS7サーバー。
  • ルート権限。
ステップ1-EPELリポジトリをインストールします

EPELまたはExtraPackagefor Enterprise Linuxは、CentOS公式リポジトリに含まれていない便利なソフトウェアパッケージを提供する追加のパッケージリポジトリです。 CentOSやFedoraなどのRPMベースのLinuxディストリビューションにインストールできます。

このチュートリアルでは、Nginxパッケージが公式のCentOSリポジトリに存在しないため、Nginxインストール用のEPELリポジトリが必要です。以下のyumコマンドを使用してEPELリポジトリをインストールします。

yum -y install epel-release

EPELリポジトリがインストールされました。

ステップ2-Nginxをインストールする

このチュートリアルでは、LEMPスタックの下でLaravelを実行します。 NginxはLEMPスタックのWebサーバー部分であり、EPELリポジトリからインストールできます。

yumを使用してEPELリポジトリからNginx1.10をインストールします。

yum -y install nginx

インストールが完了したら、Nginxを起動し、起動時に開始するように追加します。

systemctl start nginx
systemctl enable nginx

Nginxはポート80で実行されています。以下のnetstatコマンドで確認してください。

netstat -plntu

結果として「コマンドが見つかりません」というメッセージが表示された場合は、以下に示すようにnet-toolsパッケージをインストールします。

yum -y install net-tools
ステップ3-PHP-FPM7.1のインストールと構成

Laravelは、PHPバージョンが5.6.4以上のサーバーにインストールできます。このチュートリアルでは、Laravelでサポートされている最新バージョンのPHP7.1を使用します。

PHP 7.1はCentOSベースリポジトリに存在しないため、「webtatic」という名前のサードパーティリポジトリからインストールする必要があります。

このrpmコマンドを使用してwebtaticリポジトリをインストールします。

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

これで、1つのyumコマンドでLaravelに必要なすべての拡張機能を備えたPHP-FPMをインストールできます。

yum install -y php71w php71w-curl php71w-common php71w-cli php71w-mysql php71w-mbstring php71w-fpm php71w-xml php71w-pdo php71w-zip

PHP7.1がCentOS7システムにインストールされました。

次に、vimで構成ファイルphp.iniを編集してPHPを構成します。

vim /etc/php.ini

下の行のコメントを外し、値を0に変更します。

cgi.fix_pathinfo=0

ファイルを保存してエディタを終了します。

次に、PHP-FPMファイルwww.confを編集します。

vim /etc/php-fpm.d/www.conf

PHP-FPMは、ユーザーとグループ' nginxの下で実行されます '、以下の2行の値を' nginxに変更します '。

user = nginx
group = nginx

サーバーポートを使用する代わりに、PHP-FPMはソケットファイルで実行されます。 'listen'値をパス'/run/php-fpm/php-fpm.sockに変更します '以下に示すように。

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

ソケットファイルの所有者は「nginx」ユーザーになり、権限モードは660になります。コメントを解除して、次のようにすべての値を変更します。

listen.owner = nginx
listen.group = nginx
listen.mode  = 0660

環境変数については、これらの行のコメントを解除し、以下に示すように値を設定します。

env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

ファイルを保存してvimを終了し、PHP-FPMを起動して、起動時に実行できるようにします。

systemctl start php-fpm
systemctl enable php-fpm

PHP-FPMはソケットファイルで実行されています。以下のコマンドで確認してください。

netstat -pl | grep php-fpm.sock

PHPおよびPHP-FPM7.1のインストールと構成が完了しました。

ステップ4-MariaDBサーバーをインストールする

LaravelプロジェクトにはMySQLまたはPostgreSQLを使用できます。このチュートリアルでは、MariaDBデータベースサーバーを使用します。 CentOSリポジトリで利用できます。以下のyumコマンドを使用してMariaDB-serverをインストールします。

yum -y install mariadb mariadb-server

インストールが完了したら、「mariadb」を起動し、起動時に起動できるようにします。

systemctl start mariadb
systemctl enable mariadb

MariaDBが起動し、ポート3306で実行されています。netstatコマンドで確認してください。

netstat -plntu

次に、「 mylsq_secure_installation」を使用してMariaDBのルートパスワードを構成します。 '以下のコマンド。

mysql_secure_installation

mariadbのrootパスワードを入力したり、匿名ユーザーを削除したりします。

Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

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

ステップ5-PHPComposerをインストールします

PHP Composerは、PHPプログラミング言語のパッケージマネージャーです。これは2011年に作成され、Node.jsの「npm」とRubyの「bundler」インストーラーに触発されています。 curlコマンドを使用してcomposerをインストールします。

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer

インストールが完了したら、「作曲家」を使用してみてください 'コマンドを実行すると、次のような結果が表示されます。

composer

CentOS7にインストールされたPHPComposer

ステップ6-Laravel用にNginx仮想ホストを構成する

このステップでは、Laravelプロジェクトのnginx仮想ホスト構成を作成します。このLaravelインストールのWebルートディレクトリを定義する必要があります。「/var / www / laravel」を使用します 'Webルートディレクトリとしてのディレクトリ。

以下のmkdirコマンドで作成します:

mkdir -p /var/www/laravel

次に、nginxディレクトリに移動し、conf.dディレクトリに新しい仮想ホスト構成ファイルlaravel.confを作成します。

cd /etc/nginx
vim conf.d/laravel.conf

以下の構成をファイルに貼り付けます:

server {
        listen 80;
        listen [::]:80 ipv6only=on;

    # Log files for Debugging
        access_log /var/log/nginx/laravel-access.log;
        error_log /var/log/nginx/laravel-error.log;

    # Webroot Directory for Laravel project
        root /var/www/laravel/public;
        index index.php index.html index.htm;

        # Your Domain Name
        server_name laravel.hakase-labs.co;

        location / {
                try_files $uri $uri/ /index.php?$query_string;
        }

    # PHP-FPM Configuration Nginx
        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
}

ファイルを保存してvimを終了します。

nginx構成をテストし、エラーがないことを確認してから、nginxサービスを再起動します。

nginx -t
systemctl restart nginx

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

ステップ7-Laravelをインストールする

Laravelをインストールする前に、サーバーにunzipをインストールする必要があります。

yum -y install unzip

次に、laravelWebルートディレクトリ「/var / www/laravel」に移動します。

cd /var/www/laravel

Laravelは、サーバーにフレームワークをインストールするための2つの方法を提供します。 LaravelインストーラーでLaravelをインストールでき、PHPComposerでインストールできます。このチュートリアルでは、composerコマンドを使用して新しいプロジェクトを作成してLaravelをインストールします。

以下のコマンドを実行してLaravelをインストールします。

composer create-project laravel/laravel .

Laravelのインストールが完了するのを待ちます。これには時間がかかる場合があります。

インストールが完了したら、LaravelWebルートディレクトリの所有者を「nginx」ユーザーに変更し、以下のコマンドを使用してストレージディレクトリの権限を755に変更します。

chown -R nginx:root /var/www/laravel
chmod 755 /var/www/laravel/storage

Laravelのインストールが完了しました。

ステップ8-SELinuxを設定する

このチュートリアルでは、LaravelはSELinuxの「Enforcing」モードで実行されます。 SELinuxのステータスを確認するには、以下のコマンドを実行します。

sestatus

その結果、SELinuxは'強制で実行されます。 'モード。

次に、CentOS7用のSELinux管理ツールをインストールする必要があります。

サーバーに「policycoreutils-python」をインストールします。

yum -y install policycoreutils-python

次に、Laravelディレクトリのコンテキストを変更してから、restoreconコマンドを使用して変更を適用する必要があります。以下に示すように、SELinux管理コマンドを実行します。

semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/public(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/storage(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/app(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/bootstrap(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/config(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/database(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/resources(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/routes(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/vendor(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/tests(/.*)?'
restorecon -Rv '/var/www/laravel/'

LaravelのSELinux構成が完了しました。

ステップ9-Laravelのテスト

Webブラウザーを開き、サーバーのLaravelURLを入力します。 Nginx仮想ホストファイルでLaravelのドメイン名を定義しました。私のはlaravel.hakase-labs.co

ドメイン名にアクセスすると、Laravelのホームページが表示されます。

CentOS 7でのNginx、PHP-FPM7、MariaDBを使用したLaravelのインストールは成功しました。


Cent OS
  1. CentOS7にNginxをインストールして構成する方法

  2. Nginx、PHP-FPM、MariaDBを使用してCentOS7にMagentoをインストールします

  3. Nginxを使用してCentOS8にLet'sEncryptをインストールする方法

  1. CentOS7にNginxを使用してphpMyAdminをインストールする方法

  2. CentOS8にNginxとPHP7.3でNextcloudをインストールする方法

  3. CentOS7にNginxとMariaDBを使用してownCloud9.1をインストールする方法

  1. CentOS7にHHVMとNginxを使用してWordPressをインストールする方法

  2. CentOS7にNginxとPHP7-FPMを使用してNextcloudをインストールする方法

  3. CentOS7でNginxを使用してAskbotをインストールおよび構成する方法