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


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

  • Powerful ORM (Object-Relational Mapping) for working with your database.
  • Uncomplicated and fast routing mechanism.
  • Powerful dependency injection container.
  • Provides a unified API across multiple queue backends including Amazon SQS and Redis and many more, for session and cache storage.
  • Supports a simple authentication mechanism.
  • Supports real-time event broadcasting.
  • Also supports database agnostic migrations and schema builder.
  • Supports background job processing and more.

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

  • PHP >= 7.1.3 with OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype and JSON PHP Extensions.
  • Composer – an application-level package manager for the PHP.
  1. CentOS 7 with LEMP Stack

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

ステップ1:Yumリポジトリを設定する

1. まず最初に、Linuxディストリビューションで REMI EPEL リポジトリを有効にして更新パッケージを入手する必要があります( PHP Nginx MariaDB など)、次のコマンドを使用します。

------------- 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 スタックが機能している場合は、次のコマンドを使用してインストールしない場合はこの手順をスキップできます。

# yum install nginx        [On CentOS/RHEL]

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

------------- 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
# yum install mariadb-server php-mysql
# systemctl start mariadb.service
# /usr/bin/mysql_secure_installation
# 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 Frameworkをインストールする

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. ウェブドキュメントのルートの長いリストを作成すると、そこに testsite ディレクトリが存在し、そこにlalavelファイルが含まれます。

$ 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. この手順では、ウェブブラウザからアクセスするために、テストサイト用に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.31 および testinglaravel.com

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フレームワークです。インストール中にすべてがうまくいったことを願っています、そうでなければ、下記のコメントフォームを使ってあなたの質問を私たちと共有してください。