Laravelインストール · 6 min read · Nov 01, 2025

AlmaLinux 8にNginxと無料のLet's Encrypt SSLを使用してLaravel PHPフレームワークをインストールする方法

Laravelは、PHPベースのWebアプリケーションを構築するために使用される無料のオープンソースで軽量なPHP Webフレームワークです。その優雅な構文、高度な機能、堅牢なツールセットにより人気があります。Symfonyフレームワークに基づいており、開発者がWebアプリケーションの開発を簡素化するのに役立ちます。また、アプリケーションの操作を実行するためのArtisanコマンドラインインターフェースを提供します。Artisan、MVCアーキテクチャ、オブジェクトリレーショナルマッピング、テンプレートエンジン、ユニットテスト、データベースマイグレーションシステムなどの強力な機能を提供します。

この記事では、Alma Linux 8にNginxを使用してLaravelをインストールする方法を示します。

前提条件

  • Alma Linux 8を実行しているサーバー。
  • サーバーIPにポイントされた有効なドメイン名。
  • サーバーに設定されたルートパスワード。

LEMPサーバーのインストール

まず、サーバーにNginx、MariaDB、PHP、およびその他の必要なPHP拡張機能をインストールする必要があります。次のコマンドを実行することで、すべてをインストールできます:

dnf install nginx mariadb-server php php-fpm php-common php-xml php-mbstring php-json php-zip php-mysqlnd curl unzip -y

すべてのパッケージをインストールしたら、php-fpm構成ファイルを編集し、Nginxを使用するように設定します:

nano /etc/php-fpm.d/www.conf

次の行を変更します:

listen.owner = nginx
listen.group = nginx

ファイルを保存して閉じたら、PHP構成ファイルを編集し、デフォルト値を変更します:

nano /etc/php.ini

次の行を変更します:

date.timezone = Asia/Kolkata
cgi.fix_pathinfo=1

ファイルを保存して閉じたら、次のコマンドを使用してNginx、MariaDB、およびPHP-FPMサービスを開始および有効にします:

systemctl start nginx  
systemctl start mariadb  
systemctl start php-fpm  
systemctl enable nginx  
systemctl enable mariadb  
systemctl enable php-fpm

完了したら、次のステップに進むことができます。

Composerのインストール

この記事では、Composerを使用してLaravelをインストールします。したがって、システムにComposerをインストールする必要があります。次のコマンドを実行してインストールできます:

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

次の出力が得られます:

All settings correct for using Composer
Downloading...

Composer (version 2.2.3) successfully installed to: /root/composer.phar
Use it: php composer.phar

次に、Composerバイナリをシステムパスに移動し、次のコマンドで適切な権限を設定します:

mv composer.phar /usr/local/bin/composer  
chmod +x /usr/local/bin/composer

次に、次のコマンドでComposerのバージョンを確認します:

composer --version

次の出力が得られます:

Composer version 2.2.3 2021-12-31 12:18:53

Alma Linux 8にLaravelをインストール

次に、NginxのWebルートディレクトリにディレクトリを変更し、Composerを使用してLaravelをインストールします:

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

次の出力が得られます:

Discovered Package: facade/ignition
Discovered Package: fideloper/proxy
Discovered Package: fruitcake/laravel-cors
Discovered Package: laravel/tinker
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Package manifest generated successfully.
69 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> @php artisan key:generate --ansi
Application key set successfully.

次に、Laravelに適切な所有権と権限を設定します:

chown -R nginx:nginx /var/www/html/laravel/  
chown -R nginx:nginx /var/www/html/laravel/storage/  
chown -R nginx:nginx /var/www/html/laravel/bootstrap/cache/  
chmod -R 0777 /var/www/html/laravel/storage/  
chmod -R 0775 /var/www/html/laravel/bootstrap/cache/

完了したら、次のステップに進むことができます。

LaravelのためのNginx仮想ホストを作成

次に、LaravelのためのNginx構成ファイルを作成する必要があります。次のコマンドを使用して作成できます:

nano /etc/nginx/conf.d/laravel.conf

次の行を追加します:

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

ファイルを保存して閉じたら、次のコマンドでLaravelの構成エラーを確認します:

ginx -t

次の出力が得られます:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

次に、NginxとPHP-FPMサービスを再起動して変更を適用します:

systemctl restart php-fpm  
systemctl restart nginx

次のコマンドを使用してNginxのステータスを確認することもできます:

systemctl status nginx

次の出力が得られます:

? nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/nginx.service.d
           ??php-fpm.conf
   Active: active (running) since Fri 2022-01-07 08:29:11 UTC; 4s ago
  Process: 8186 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 8184 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 8182 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 8188 (nginx)
    Tasks: 2 (limit: 11411)
   Memory: 3.7M
   CGroup: /system.slice/nginx.service
           ??8188 nginx: master process /usr/sbin/nginx
           ??8189 nginx: worker process

Jan 07 08:29:11 linux systemd[1]: nginx.service: Succeeded.
Jan 07 08:29:11 linux systemd[1]: Stopped The nginx HTTP and reverse proxy server.
Jan 07 08:29:11 linux systemd[1]: Starting The nginx HTTP and reverse proxy server...
Jan 07 08:29:11 linux nginx[8184]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Jan 07 08:29:11 linux nginx[8184]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Jan 07 08:29:11 linux systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Jan 07 08:29:11 linux systemd[1]: Started The nginx HTTP and reverse proxy server.

Laravelのためのファイアウォールの設定

次に、firewalldファイアウォールを通過させるためにポート80と443を許可する必要があります。次のコマンドで許可できます:

firewall-cmd --zone=public --permanent --add-service=http  
firewall-cmd --zone=public --permanent --add-service=https

次に、変更を適用するためにfirewalldを再読み込みします:

firewall-cmd --reload

Laravel Web UIにアクセス

今、Webブラウザを開き、URL http://laravel.exampledomain.comを使用してLaravel Web UIにアクセスします。次の画面にLaravelのデフォルトページが表示されるはずです:

Laravel

LaravelウェブサイトでのSSLの有効化

接続を保護するために、LaravelウェブサイトでSSLを有効にすることをお勧めします。Let’s Encryptは、ドメインのSSL/TLS証明書を取得、更新、管理するための無料のSSLを提供します。まず、次のコマンドでCertbotクライアントをインストールします:

dnf install epel-release -y  
dnf install certbot -y

次に、次のコマンドを実行してLaravelドメインのLet’s Encrypt SSLをダウンロードします:

certbot --nginx -d laravel.exampledomain.com

次のように、有効なメールアドレスを提供し、利用規約に同意するように求められます:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for laravel.exampledomain.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/laravel.conf

次に、HTTPトラフィックをHTTPSにリダイレクトするかどうかを選択します:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

2を入力してEnterキーを押してプロセスを開始します。証明書がインストールされると、次の出力が表示されます:

Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/laravel.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://laravel.exampledomain.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=laravel.exampledomain.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/laravel.exampledomain.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/laravel.exampledomain.com/privkey.pem
   Your cert will expire on 2022-04-11. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all*
   of your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

 - We were unable to subscribe you the EFF mailing list because your
   e-mail address appears to be invalid. You can try again later by
   visiting https://act.eff.org.

この時点で、LaravelウェブサイトはLet’s Encrypt SSLで保護されています。URL https://laravel.exampledomain.comを使用して安全にアクセスできます。

結論

おめでとうございます!Alma Linux 8にNginxとLet’s Encrypt SSLを使用してLaravelを正常にインストールしました。これで、Laravelフレームワークを使用してPHPベースのアプリケーションの開発を開始できます。質問があればお気軽にお尋ねください。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。