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 のアプリケーション レベルのパッケージ マネージャー。
テスト環境:
- CentOS 7 と LEMP スタック
この記事では、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 スタックがある場合は、この手順をスキップできます。そうでない場合は、次のコマンドを使用してインストールします。
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.31 と testinglaravel.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 フレームワークです。インストール中にすべてがうまくいったことを願っていますが、そうでない場合は、下のコメント フォームを使用して質問を共有してください。