🧪

CentOS7にPHP8.1とLaravel9インストールする

2022/11/18に公開

はじめに

PHP8.1とLaravel9をCentOS7にインストールしています。

インストール手順

install.sh
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum install -y yum-utils
yum-config-manager --disable 'remi-php*'
yum-config-manager --enable remi-php81
yum update -y
yum install -y php php-xml php-zip
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
mv composer.phar /usr/bin/composer

Laravel9のプロジェクトの作成

composer create-project --prefer-dist laravel/laravel:^9.0 test-laravel-9

コントローラとミドルウェアの作成

php artisan make:controller HelloController
php artisan make:middleware HelloMiddleware

その他

  • CentOS7はもうだいぶ古いので、実際にはDockerを利用していてホストはUbuntu 20.04 LTSで、コンテナでCentOS7という構成になっています。
  • コンテナは8080ポートでHTTPはApacheを利用
  • 設定例
<VirtualHost *:8080>
DocumentRoot /var/test/test-laravel-9/public/
ServerName ドメイン
    
<Directory "/var/test/test-laravel-9/public/">
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
  • HTTPS終端はDockerホスト側でnginxを稼働や、外部のLBを利用してリバースプロキシする。

Discussion