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 --reloadLaravel Web UIにアクセス
今、Webブラウザを開き、URL http://laravel.exampledomain.comを使用してLaravel Web UIにアクセスします。次の画面に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ベースのアプリケーションの開発を開始できます。質問があればお気軽にお尋ねください。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。