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

CentOS8にNginxを使用してLaravelPHPフレームワークをインストールする方法

Laravel は、オープンソースで、よく知られた、最新のPHPベースのWebフレームワークであり、表現力があり、エレガントで、理解しやすい構文を備えているため、大規模で堅牢なWebアプリケーションを簡単に構築できます。

その主な機能には、シンプルで高速なルーティングエンジン、強力な依存性注入コンテナ、セッションおよびキャッシュストレージ用の複数のバックエンド、表現力豊かで直感的なデータベースORM(オブジェクトリレーショナルマッピング)、堅牢なバックグラウンドジョブ処理、およびリアルタイムのイベントブロードキャストが含まれます。

また、作曲家などのツールを使用します –依存関係と職人を管理するためのPHPパッケージマネージャー –Webアプリケーションを構築および管理するためのコマンドラインインターフェイス。

この記事では、最新バージョンの Laravel PHPをインストールする方法を学びます。 CentOS 8のWebフレームワーク Linuxディストリビューション。

サーバー要件

Laravel フレームワークには次の要件があります。

  • PHP> =7.2.5 これらのPHP拡張機能を使用すると、OpenSSL、PDO、Mbstring、Tokenizer、XML、Ctype、JSONが使用されます。
  • 作曲家 –依存関係のインストールと管理用。

ステップ1:CentOS8にLEMPスタックをインストールする

1。 まず、システムソフトウェアパッケージを更新し、 LEMPをインストールします スタック( Linux Nginx MariaDB / MySQL 、および PHP )次のdnfコマンドを使用します。

# dnf update
# dnf install nginx php php-fpm php-common php-xml php-mbstring php-json php-zip mariadb-server php-mysqlnd

2。 LEMPの場合 インストールが完了したら、 PHP-PFMを開始する必要があります 、 Nginx およびMariaDB 次のsystemctlコマンドを使用するサービス。

# systemctl start php-fpm nginx mariadb
# systemctl enable php-fpm nginx mariadb
# systemctl status php-fpm nginx mariadb

3。 次に、 MariaDBを保護して強化する必要があります 図のようにセキュリティスクリプトを使用するデータベースエンジン。

# mysql_secure_installation

サーバーのインストールを保護するために、次の質問に答えてください。

Enter current password for root (enter for none): Enter Set root password? [Y/n] y #set new root password 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

4。 firewalldをお持ちの場合 サービスを実行している場合は、 HTTPを開く必要があります およびHTTPS NginxWebサーバーへのクライアントリクエストを有効にするファイアウォールのサービス。

# firewall-cmd --zone=public --permanent --add-service=http
# firewall-cmd --zone=public --permanent --add-service=https
# firewall-cmd --reload

5。 最後に、 LEMP スタックは、システムのIPアドレスでブラウザを使用して実行されています。

http://server-IP

NginxWebページを確認する

ステップ2:PHP-FPMとNginxの構成と保護

6。 Nginxからのリクエストを処理するには ウェブサーバー、 PHP-FPM UnixソケットまたはTCPソケットでリッスンでき、これはリッスンによって定義されます /etc/php-fpm.d/www.confのパラメータ 構成ファイル。

# vi /etc/php-fpm.d/www.conf

デフォルトでは、リッスンするように構成されています 次のスクリーンショットに示すように、Unixソケット上で。ここでの値は、後でNginxサーバーブロックファイルで指定されます。

PHP-FPMリッスンソケットを設定する

7。 Unixソケットを使用している場合は、スクリーンショットに示すように、正しい所有権とアクセス許可も設定する必要があります。次のパラメータのコメントを解除し、ユーザーとグループに値を設定して、ユーザーとグループの Nginxに一致させます。 として実行されています。

listen.owner = nginx
listen.group = nginx
listen.mode = 066

ListenSocketOwnershipをNginxに設定します

8。 次に、 /etc/php.iniでシステム全体のタイムゾーンも設定します 構成ファイル。

# vi /etc/php.ini

“;date.timezone”の行を探します コメントを外してから、スクリーンショットに示すように値を設定します(お住まいの地域/大陸および国に適用される値を使用してください)。

 
date.timezone = Africa/Kampala

PHPでタイムゾーンを設定する

9。 Nginxのリスクを軽減するため 他の拡張機能を使用してPHPコードを実行する悪意のあるユーザーからのリクエストをPHP-FPMに渡し、次のパラメーターのコメントを解除して、その値を0に設定します。 。

cgi.fix_pathinfo=1

安全なPHPとNginx

10。 前のポイントに関連して、 /etc/php-fpm.d/www.confの次のパラメータのコメントも解除します ファイル。詳細についてはコメントをお読みください。

security.limit_extensions = .php .php3 .php4 .php5 .php7

PHP拡張機能の実行を制限する

ステップ3:ComposerとLaravelPHPFrameworkのインストール

11。 次に、作曲家をインストールします 次のコマンドを実行してパッケージ化します。最初のコマンドはインストーラーをダウンロードし、PHPを使用して実行します。

# curl -sS https://getcomposer.org/installer | php
# mv composer.phar /usr/local/bin/composer
# chmod +x /usr/local/bin/composer

CentOS8にComposerをインストールする

12。 これで作曲家 がインストールされている場合は、次のようにLaravelファイルと依存関係をインストールするために使用します。 mysite.comを置き換えます Laravelファイルが保存されるディレクトリの名前を使用すると、絶対パス(またはNginx構成ファイルのルートパス)は /var/www/html/mysite.comになります。 。

# cd /var/www/html/
# composer create-project --prefer-dist laravel/laravel mysite.com

CentOS8にLaravelをインストールする

プロセス中にすべてがうまくいけば、アプリケーションが正常にインストールされ、次のスクリーンショットに示すようにキーが生成されます。

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

13。 インストールプロセス中、.env 環境ファイルが作成され、必要なアプリケーションも生成されたため、以前のように手動で作成する必要はありません。これを確認するには、lsコマンドを使用してlaravelルートディレクトリの長いリストを実行します。

# ls -la mysite.com/

Laravelファイルのリスト

14。 次に、ストレージの正しい所有権と権限を構成する必要があります およびブートストラップ/キャッシュ NginxWebサーバーで書き込み可能なディレクトリ。

# chown -R :nginx /var/www/html/mysite.com/storage/
# chown -R :nginx /var/www/html/mysite.com/bootstrap/cache/
# chmod -R 0777 /var/www/html/mysite.com/storage/
# chmod -R 0775 /var/www/html/mysite.com/bootstrap/cache/

15。 SELinuxの場合 サーバーで有効になっている場合は、ストレージのセキュリティコンテキストも更新する必要があります およびブートストラップ/キャッシュ ディレクトリ。

# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/mysite.com/storage(/.*)?'
# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/mysite.com/bootstrap/cache(/.*)?'
# restorecon -Rv '/var/www/html/mysite.com'

ステップ4:Laravel用にNginxサーバーブロックを構成する

16。 Nginxの場合 Webサイトまたはアプリケーションの提供を開始するには、.confにそのサーバーブロックを作成する必要があります。 /etc/nginx/conf.d/の下のファイル 示されているディレクトリ。

# vi /etc/nginx/conf.d/mysite.com.conf

次の構成をコピーしてファイルに貼り付けます。ルートとfastcgi_passに注意してください パラメータ。

server {
	listen      80;
       server_name mysite.com;
       root        /var/www/html/mysite.com/public;
       index       index.php;

       charset utf-8;
       gzip on;
	gzip_types text/css application/javascript text/javascript application/x-javascript  image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
        location / {
        	try_files $uri $uri/ /index.php?$query_string;
        }

        location ~ \.php {
                include fastcgi.conf;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/run/php-fpm/www.sock;
        }
        location ~ /\.ht {
                deny all;
        }
}

17。 ファイルを保存して、 Nginxかどうかを確認します 実行することで構成構文が正しくなります。

# nginx -t

Nginx構成を確認する

18。 次に、 PHP-FPMを再起動します およびNginx 最近の変更を有効にするためのサービス。

# systemctl restart php-fpm
# systemctl restart Nginx

ステップ5:WebブラウザからLaravelWebサイトにアクセスする

19。 LaravelのWebサイト( mysite.com )にアクセスするには 、これは完全修飾ドメイン名(FQDN)ではなく、登録されていません(テスト目的でのみ使用されます)。 / etc / hostsを使用します。 ローカルDNSを作成するためにローカルマシンにファイルします。

次のコマンドを実行して、サーバーのIPアドレスとドメインを必要なファイルに追加します(設定に応じて値を置き換えます)。

# ip add		#get remote server IP
$ echo "10.42.0.21  mysite.com" | sudo tee -a /etc/hosts

ローカルファイルにDNSエントリを追加する

20。 次に、ローカルマシンでWebブラウザを開き、次のアドレスを使用してナビゲートします。

http://mysite.com

LaravalWebアクセス

Laravelのデプロイに成功しました CentOS 8 。これで、 Laravelを使用してWebサイトまたはWebアプリケーションの開発を開始できます。 。詳細については、Laravelスタートガイドを参照してください。

共有は思いやりがあります…
Facebookで共有するTwitterで共有するLinkedinで共有するRedditで共有する
Cent OS
  1. CentOS7にNginxを使用してWordPressをインストールする方法

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

  3. CentOS7にNginxでPhorumをインストールする方法

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

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

  3. CentOS7にNginxでMediaWikiをインストールする方法

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

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

  3. Ubuntu16.04LTSにNginxを使用してLaravel5PHPフレームワークをインストールする方法