今回はラズパイにLravelをとりあえず動くように導入する手順について解説していきたいと思います。
phpのバージョンは8.0を使用します。
今回は、Apache2、MariaDBを利用してサーバー、データベースを構築していきます。さらに、PHPMyAdminを利用して、データベースを簡単に操作できるようにしていきます。
- Raspberry Pi 4 Model B
- Raspberry Pi OS 10.9
Raspberry Piを持っていない人のために。
Raspberry Pi 4 Model B スターターキット
こちらにはラズパイを始めるために必要なものがそろっているので初めてラズパイを触る人にはお勧めです。モニターさえあればすぐに使い始めることができます。
PHP
phpをインストールしていきます。
sudo apt update
sudo apt -y install php8.0 php8.0-common php8.0-mbstring php8.0-xml php8.0-mysql php8.0-zip php8.0-gd php8.0-curl php8.0-json mcrypt php8.0-mcrypt
動作確認をします。
php -v
バージョン情報が表示されたらPHPはインストールできています。
Apache2
サーバーを立てるためのソフトウェアであるApache2をインストールしていきます。
sudo apt install apache2
動作確認
apache2 -v
バージョン情報が出ればインストールできています。
MariaDB
データベースソフトをインストールします。インストール時にパスワードを設定するか聞かれたら設定しておきましょう。
sudo apt install mariadb-server
次のようにrootユーザーでMariaDBにログインできたらインストールできています。
mysql -u root
mysql>
MariaDBから出たいときは
mysql> quit;
PHPMyAdmin
sudo apt install phpmyadmin
ブラウザで
サーバーのIPアドレス/phpmyadmin
でPHPMyAdminへアクセスできると思います。
Composer
Composerをインストールします。
sudo apt -y install composer
インストールされているか確認します。
composer -V
バージョン情報が表示されればOKです。
Laravelのプロジェクト作成
今回は、Laravelのプロジェクトを作り、Apache2で公開するので、/var/www/の下にプロジェクトを作っていきます。
cd /var/www/
次のコマンドでは、laravel_projectという名前でプロジェクトを作っています。
composer create-project laravel/laravel --prefer-dist laravel_project
Laravelの動作確認としてバージョン情報を表示させてみましょう。
cd laravel_project
php artisan --version
設定
プロジェクト作成時に言われたとおりに次のコマンドを実行しましょう。
cd laravel_project
php -r "file_exists('.env') || copy('.env.example', '.env');"
php artisan package:discover
php artisan key:generate
Apache2のmod_rewriteモジュールをa2enmodコマンドで有効化しましょう。
sudo a2enmod rewrite
サーバーにアクセスした時にLaravelのプロジェクトをrootとしてアクセスさせるために設定ファイルを書き換えます。
sudo nano /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
# DocumentRoot /var/www/html
DocumentRoot /var/www/laravel_project/public
<Directory "/var/www/laravel_project/public">
AllowOverride All
</Directory>
Apache2の設定ファイルの書き換えに伴って、Apache2を再起動します。
sudo systemctl restart apache2
Laravelのstorageディレクトリは権限の関係でエラーが出ることがあるらしいので権限を書き換え
る。
sudo chmod -R 757 /var/www/laravel/storage
本来は、所有者を変えるような設定をするらしい。今回は、簡単に済ませるために上記のようにした。
ラズパイのIPアドレスを固定しておく。次のファイルに以下を追記する。下の例ではWiFi
を利用していることを想定しており、IPアドレスを192.168.1.100にしている。
sudo nano /etc/dhcpcd.conf
interface wlan0
static ip_address=192.168.1.100/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
有線の場合、interfaceの後を
eth0
とすればよい
動作確認
同じネットワーク内の別の端末でブラウザを開き、URLの部分にラズパイのIPアドレスを入れると、Laravelのトップページに接続することができます。
また、
IPアドレス/phpmyadmin
とすることでPHPMyAdminへアクセスすることができます。
最後に
この記事では、Raspberry Pi4にLaravel8をインストールする方法について説明しました。プログラミング初学者にとって環境構築は開発前の難関のうちの一つです。
この記事をみて、とりあえず動くLaravelプロジェクトを作り、Laravelの学習などにつなげてもらえたら幸いです。