laravelに挑戦したいと考える際に最初につまずくのは、必要となる必須環境が整理されていない点があります。
それらを最低限に運用できる環境までを順に追っていきたいと思います。
想定環境は、
- Ubuntu Linux 22.04.1
- Apache2 2.4.52
- MySQL 8.0.30
- PHP 8.1.2
- Laravel 9.34.0
です。
Ubuntu Linuxのインストール
Ubuntu Linux インストール
で検索をするとたくさん出てくると思いますので、割愛。
念のために、
- 最小パッケージではなく、フルパッケージで
- 自動更新パッケージをダウンロード
を選んでインストールする。
インストール完了、起動後、各パッケージを更に最新にします。
なお、以降、あくまでもテストと言うことで、全てroot
環境下で行います。
apt update
apt -y upgrade
最低限必要なパッケージのインストール
試行した範囲では、下記のパッケージを追加でインストールします。
apt install apache2 php php-curl php-xml mysql-server mysql-client
LaravelはComposerで管理をするので、
apt install composer
もします。
cryptoも必要なのですが、aptではなく、snapでインストールします。
snap install crypto
Laravelの導入
まず、管理をするプロジェクトの名前を決めます。
一旦、project
とします。
設置場所は、ここでは、Ubuntuの流儀に則り/var/www
配下にします。
cd /var/www
composer create-project laravel/laravel project --prefer-dist
composer実行時に、root
で実行しないでね、と言ったメッセージが出ますが、そのまま改行で続けます。
更に、root
でプロジェクトを作ったので、apacheで読み書きできるように、以下を実行します。
chgrp -R www-data project
chmod -R g+w project
Apacheの設定
cd /etc/apache2/sites-available
vi laravel.conf
でlaravel.conf
を下記のように新規で作ります。
<VirtualHost *:80>
ServerName project.local
DocumentRoot /var/www/project/public
<Directory /var/www/project>
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
既存のapacheの環境を止めて、上の設定を生かします。
a2dissite 000-default.conf
a2ensite laravel.conf
service apache2 restart
動作の確認
Firefoxでhttp://localhost/
を開いて、下のようなページが開けば成功です。