no image

LaravelをLAMP環境(CentOS,Apache,MariaDB,PHP)で構築

1. はじめに

はしへいです。Laravelの環境をCentOS7上に作成しました。
Laravel公式サイトではVMイメージの配布をしていますので、VMwareやVirtualBox上でVMマシンを動作させるのであれば、VMイメージを利用した方が簡単にLaravelをインストール出来ます。
今回私はパブリッククラウド上で動作させたいと考え、CentOS上に構築しています。
Apacheの設定やPHPの設定などはLaravelを動作させる上での最低限の設定に留めています。

2. Laravelのインストール要件

Lavavel5.8に必要なインストール要件は以下のページから確認できます。

Laravel5.8、PHP7.3の環境に追加でインストールが必要なモジュールは以下です。

Laravel要件(PHPモジュール) PHPライブラリ(php本体に含まれるものはphpと表記)
PHP >=7.1.3 php
OpenSSL PHP Extension php
PDO PHP Extension php-pdo
Mbstring PHP Extension php-mbstring
Tokenizer PHP Extension php
XML PHP Extension php-xml
Ctype PHP Extension php
JSON PHP Extension php
BCMath PHP Extension php-bcmath

上記は”php -m”コマンドでインストール済みのモジュールを確認し必要なものを洗い出しました。

Laravelインストールの途中で追加で以下のメッセージが表示されます。zip extensionも追加でインストールしましょう。

 - laravel/installer v2.1.0 requires ext-zip * -> the requested PHP extension zip is missing from your system.

* 後から追加でインストールする場合は、以下コマンドを実施します。

$ sudo yum -y install zip unzip
$ sudo yum install --enablerepo=remi,remi-php73 php-zip

3.環境構築

3-1. Apache,MariaDB,PHPのインストール

今回はWebサーバにはapache、DBとしてMariaDBを利用する前提でインストールしました。

$ sudo yum install --enablerepo=remi,remi-php73 httpd php  php-pdo php-mbstring php-xml php-bcmath php-zip php-mysqlnd zip unzip git mariadb mariadb-server

3-2. Apacheの設定

httpdで利用するユーザを作成する

$ sudo useradd -s /sbin/nologin www
$ id www
uid=1***(www) gid=1***(www)

httpdコマンドが存在することを確認

$ which httpd
/usr/sbin/httpd

httpdの起動と起動確認

$ sudo systemctl start httpd
$ sudo systemctl status httpd
 httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2019-05-11 04:46:12 UTC; 15min ago

Firewallの無効化。80や443を許可すれば良いです。

$ sudo systemctl stop firewalld
$ sudo systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded
(/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)

httpd.confの以下内容に修正します

 $ vi /etc/httpd/conf/httpd.conf
User www
Group www
ServerName 35.*.12.1:80
 *ServerNameにはサーバにアクセスするIPアドレスもしくはドメイン名を指定して下さい。

3-3. Composerのインストール

ソースファイルをダウンロードし、PHPコマンドでビルドする。

$ curl -sS https://getcomposer.org/installer | php

コマンドをPATHの通ったところに移動させる。

$ sudo mv composer.phar /usr/local/bin/composer
$ which composer /usr/local/sbin/composer

3-4. Laravelのインストール

LaravelをインストールしPATHを通す。

$ composer global require laravel/installer
$ export PATH=$PATH:/home/[username]/.config/composer/vendor/bin

httpdでの公開ディレクトリにLaravelのサイトをblogという名前で作成する

$ cd /var/www/html
$ laravel new blog
$ sudo chown -R www:www /var/www/html/

4. Laravelサイトへのアクセス

Webブラウザから環境を構築したURLへアクセスすると、LaravelのWebサイトが表示されます。