ウェブサイト検索

CentOS に Laravel PHP Web フレームワークをインストールする方法


Laravel は、表現力豊かで魅力的な構文を備えた無料のオープンソースの強力な PHP フレームワークです。最新の堅牢かつ強力なアプリケーションをゼロから開発するための、洗練されたシンプルで読みやすい構文を備えています。さらに、Laravel は、クリーンで最新の保守可能な PHP コードを作成するために必要なツールをいくつか提供します。

こちらもお読みください: Laravel PHP フレームワークを Ubuntu にインストールする方法

Laravel の主な機能:

  • データベースを操作するための強力な ORM (オブジェクト リレーショナル マッピング)。
  • 単純で高速なルーティング メカニズム。
  • 強力な依存関係注入コンテナー。
  • Amazon SQS や Redis などの複数のキュー バックエンドにわたって、セッションおよびキャッシュ ストレージ用の統合 API を提供します。
  • 単純な認証メカニズムをサポートします。
  • リアルタイムのイベントブロードキャストをサポートします。
  • データベースに依存しない移行とスキーマ ビルダーもサポートします。
  • バックグラウンドジョブ処理などをサポートします。

システム要求

最新バージョンのLaravel を実行するには、システムが次の要件を満たしている必要があります。

  • OpenSSL、PDO、Mbstring、Tokenizer、XML、Ctype、および JSON PHP 拡張機能を備えた PHP >= 7.1.3。
  • Composer – PHP のアプリケーション レベルのパッケージ マネージャー。

テスト環境:

  1. CentOS 7 と LEMP スタック

この記事では、CentOS、Red Hat、Fedora システムに最新バージョンの Laravel 5.6 PHP Framework をインストールする方法を説明します。

ステップ 1: Yum リポジトリのセットアップ

1. まず、Linux ディストリビューションで REMIEPEL リポジトリを有効にして、更新されたパッケージ (PHP<) を含める必要があります。NginxMariaDB など) 次のコマンドを使用します。

------------- On CentOS/RHEL 7.x ------------- 
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

------------- On CentOS/RHEL 6.x -------------
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

ステップ 2: Nginx、MySQL、PHP をインストールする

2. 次に、動作する LEMP 環境をシステムにインストールする必要があります。すでに動作する LEMP スタックがある場合は、この手順をスキップできます。そうでない場合は、次のコマンドを使用してインストールします。

Nginxをインストールする

yum install nginx        [On CentOS/RHEL]

3. nginx がインストールされたら、Web サーバーを起動してシステム起動時に起動できるようにし、次のコマンドを使用してステータスを確認します。

------------- On CentOS/RHEL 7.x ------------- 
systemctl start nginx
systemctl enable nginx
systemctl status nginx

------------- On CentOS/RHEL 6.x -------------
service nginx start  
chkconfig nginx on
service nginx status

4. パブリック ネットワークから nginx にアクセスするには、図に示すように、システム ファイアウォールでポート 80 を開いて外部リクエストを受信する必要があります。

------------- On CentOS/RHEL 7.x -------------
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload 

------------- On CentOS/RHEL 6.x -------------
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
service iptables restart

MySQLをインストールする

yum install mariadb-server php-mysql
systemctl start mariadb.service
/usr/bin/mysql_secure_installation

PHPをインストールする

yum install yum-utils
yum-config-manager --enable remi-php72
yum install php php-fpm php-common php-xml php-mbstring php-json php-zip

5. 次に、PHP-FPM サービスを開始して有効にし、稼働しているかどうかを確認します。

------------- On CentOS/RHEL 7.x ------------- 
systemctl start php-fpm
systemctl enable php-fpm
systemctl status php-fpm

------------- On CentOS/RHEL 6.x -------------
service php-fpm start  
chkconfig php-fpm on
service php-fpm status

ステップ 3: Composer と Laravel PHP フレームワークをインストールする

6. 次に、次のコマンドを使用して、必要な Laravel 依存関係をインストールするために Composer (PHP の依存関係マネージャー) をインストールします。

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

7. Composer をインストールしたら、次のように composer create-project コマンドを実行して Laravel をインストールできます。が続きます。

cd /var/www/html/
sudo composer create-project --prefer-dist laravel/laravel testsite 

8. Web ドキュメントのルートの長いリストを作成すると、laravel ファイルを含む testsite ディレクトリがそこに存在するはずです。

ls -l /var/www/html/testsite

ステップ 4: Laravel インストールを構成する

9. 次に、次のコマンドを使用して、testsite ディレクトリと laravel ファイルに適切な権限を設定します。

chmod -R 775 /var/www/html/testsite
chown -R apache.apache /var/www/html/testsite
chmod -R 777 /var/www/html/testsite/storage/

10. さらに、SELinux が有効になっている場合は、次のコマンドを使用してストレージ ディレクトリとブートストラップ/キャッシュ ディレクトリのセキュリティ コンテキストを更新する必要があります。

semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/testsite/bootstrap/cache(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/testsite/storage(/.*)?'
restorecon -Rv '/usr/share/nginx/html/testapp'

11. 次に、提供されているサンプル ファイルを使用して、アプリケーションの環境ファイルを作成します。

cp .env.example .env

12. 次に、Laravel はアプリケーション キーを使用して、ユーザー セッションやその他の暗号化されたデータを保護します。したがって、次のコマンドを使用してアプリケーション キーを生成し、ランダムな文字列に設定する必要があります。

php artisan key:generate

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

13. このステップでは、Web ブラウザからアクセスできるように、テストサイトの Nginx サーバー ブロックを構成する必要があります。図に示すように、/etc/nginx/conf.d/ ディレクトリに .conf ファイルを作成します。

vi /etc/nginx/conf.d/testsite.conf

そして、次の設定を追加します (環境に該当する値を使用します。この例では、ダミー ドメインは testinglaravel.com です)。 laravel インデックス ファイルは /var/www/html/testsite/public に保存されていることに注意してください。これがサイト/アプリケーションのルートになります。

server {
	listen      80;
	server_name testinglaravel.com;
	root        /var/www/html/testsite/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:/var/run/php/php7.2-fpm.sock;
	}
	location ~ /\.ht {
		deny all;
	}
}

ファイルを保存して終了します。次に、Web サーバーを再起動して、最近の変更を有効にします。

systemctl restart nginx

ステップ6: Laravel Webサイトにアクセスする

14. 次に、完全に登録されたドメイン名がない場合は、/etc/hosts ファイルを使用して、テスト目的でローカル DNS を作成する必要があります。

示されているように、/etc/hosts ファイルに次の行を追加します (192.168.43.31testinglaravel.com の代わりにシステムの IP アドレスとドメインを使用してください)それぞれ)。

192.168.43.31  testinglaravel.com

15. 最後に、次の URL を使用して、ブラウザから Laravel サイトにアクセスします。

http://testinglaravel.com
OR
http://your-ip-address

ローカルで開発している場合は、次のように、PHP の組み込み開発サーバーを使用してアプリケーションまたはサイトを提供できます。このコマンドは、http://localhost:8000 または http://127.0.0.1:8000 で開発サーバーを起動します。 CentOS/REHL では、この方法でアプリケーションを提供するには、ファイアウォールでこのポートを開く必要があります。

php artisan serve

この時点から準備は完了し、サイトの開発を開始できます。キャッシュ、データベース、セッションなどの追加の設定については、Laravel ホームページにアクセスしてください。

Laravel は、実用的で最新の Web 開発のための表現力豊かで美しい構文を備えた PHP フレームワークです。インストール中にすべてがうまくいったことを願っていますが、そうでない場合は、下のコメント フォームを使用して質問を共有してください。