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で共有する