ラズパイ4を入手したので、Laravelの開発ができるように環境構築してみました。その時のメモです。
目次
- 目次
- 構築する環境
- phpenvとphp-builderをインストールする
- PHPのインストール
- Composerをインストールする
- Laravelをインストールする
- 試す
- MySQL(MariaDB)をインストール
- 閉じる
- まとめ
- 参考URL
構築する環境
Laravelのインストールは、WindowsかLinuxならHomestead、macならValetを推奨しています。しかし、Homesteadを使うにはVirtualBoxなどの仮想マシンのインストールが必要です。ラズパイでは荷が重そうなので、手動で環境を設定することにしました。
phpenvとphp-builderをインストールする
Laravelの公式ページではComposerの操作から書かれています。Composerを使うにはPHPが必要です。せっかくなので、PHPのバージョンを切り替えられるようにphpenvとphp-buildの環境を構築します。ラズパイにpiアカウントでログインしたらターミナルを起動して、以下を実行します。
sudo apt-get update sudo apt-get upgrade
ここで、依存がどうのこうのというエラーが出たら、以下を試したら解決しました。
update / upgrade fails on older Raspian Installation - Raspberry Pi Forums
sudo apt full-upgrade sudo apt dist-upgrade sudo apt autoremove
以下を参考に、ビルドに必要そうなものを入れていきます。
Raspberry Pi 2 に Raspbian を入れた時にやっておいた方が良いことをまとめた - しばやん雑記
gitはあるので、以下ぐらいで。
sudo apt-get install autoconf libtool automake build-essential libxml2-dev libbz2-dev libcurl4-openssl-dev libjpeg-dev libreadline-dev libtidy-dev libxsltl-dev
re2cをインストールする
- GitHub - skvadrik/re2c at 1.3 を開きます
- ドキュメントに従って、gitリポジトリーをユーザーフォルダーの
re2c
などのフォルダーにクローンします - 以下を実行します
$ autoreconf -i -W all $ mkdir /usr/local/bin/re2c $ ./configure --prefix=/usr/local/bin/re2c $ make $ make install
最後に、.bash_profile
ファイルに以下を追加してre2cにパスを通します。
export PATH="/usr/local/bin/re2c/bin:$PATH"
phpenvをインストールする
phpenv-installerはエラーでうまくいかなかったので、手動でgitリポジトリーをクローンして構築しました。
今回、他のユーザーも使えるように/usr/local/bin/phpenv
以下にクローンしました。
- ドキュメントに従ってrootの
.bash_profile
に対して、パスとphpenv init
を追加 exec $SHELL -l
でシェルをリスタートしました
次に、/usr/local/bin/phpenv/plugins/php-build
以下に、php-buildをクローンします。
クローンしたら、php-buildフォルダー内のinstall.sh
を実行します。
./install.sh
実行できなければ、sudo chmod 755 install.sh
で権限を与えます。
これで、phpenv install
が利用できるようになります。phpenvが実行できない場合は、source ~/.bash_profile
を実行します。
PHPのインストール
以下のコマンドでインストール可能なPHPのバージョンを調べます。
phpenv install --list
7.2以降をインストールします。7.2.26の場合、以下の通り。
phpenv install 7.2.26
ビルドには1時間弱かかりました。
The Log File is not empty,
という表示が表示され、ログファイルを確認するか、--verbose
スイッチをつけてリビルドするように表示されますが、ビルド自体は成功していました(今のところこの設定でそのまま使っていますが、あれこれ警告が出たのでインストール時に--with-libzip
をつけた方がいいかも。)
以下で、PHPを全ユーザーから見れるようにします。
phpenv global 7.2.26
Composerをインストールする
今回はグローバルで使いたいので、composer.phar
をダウンロードしたら、/usr/local/bin/composer
にリネームして配置します。
curl -sS http://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer
以上でComposerが利用できるようになります。これでようやくLaravelをインストールできます。
Laravelをインストールする
以下に従ってインストールします。
composer global require laravel/installer
sudo nano /etc/profile
で共有プロファイルを開きます- 以下を最後に追加します
export PATH="/home/pi/.phpenv/shims:$PATH" export PATH="/home/pi/.config/composer/vendor/bin:$PATH"
source /etc/profile
を実行して、更新を反映させます
以上で、Laravelへのパスが通ります。
試す
一般ユーザーでログインして、以下を実行します。
laravel new blog
サンプルブログの生成が完了したら、以下でサービスを開始します。
cd blog php artisan serve
サービスが開始したら、URLが表示されるので、ブラウザを起動してアクセスします。うまくいけば、Laravelのページが表示されます。
少し変更してみる
ちゃんと変更できるか表示内容を変えてみます。
cd ~/blog nano resources/views/welcome.blade.php
これで、ウェルカムページを構築するためのVueのテンプレートページが開きます。84行目付近に表題のLaravelとある行があるので、そこを適当に変更してみましょう。
- 変更したら、上書き保存をして先ほど表示したらWebブラウザーをリロードします。すると、変更した通りに表題が変更されるはずです。
MySQL(MariaDB)をインストール
Laravelを使うならデータベースも使うでしょう。ラズパイではMySQLから派生したMariaDBがよく使われているそうなので、そちらをインストールします。なお、使い方はMySQLと同じです。参考資料は以下の通り。
手順は以下を参考にしました。
- 端末を開いて、以下でインストールします
sudo apt install maria-client maria-server
- mariadbを開始します
sudo systemctl restart mariadb
これでインストールは完了ですが、そのままだとsudo
抜きでは接続できません。これを修正します。
- DBに接続します
sudo mysql -u root
- ブログのプラグインの無効化の通りに操作します
USE mysql; UPDATE user SET plugin='' WHERE User='root'; exit;
設定ができたらDBを以下でリスタートして、sudo抜きで接続を確認します。
sudo systemctl restart mysql mysql -u root
うまく接続できればOKです。exit;
でMySQLから退出します。続けて、セキュリティ設定をします。
- ターミナルで
mysql_secure_installation
を実行します
rootのパスワードの設定をして、あとはそのままyesで進めれば完了です。
MySQL用のユーザーを作成
rootで操作するのも嫌なので、MySQLを操作するユーザーを作成しておきます。
mysql -u root -p
でパスワードを入力してログインします- ユーザー登録をします。以下は、ユーザー名
hoge
、パスワードpiyo
の場合の書き方です。適宜、変更してください
CREATE USER 'hoge'@'%' IDENTIFIED BY 'piyo';
以上で、最低限の準備は完了です。あとは、データベースを作成したり、作成したユーザーに権限を与えれば、PHPやLaravelから作成したユーザーでログインして作業をすることができます。
閉じる
MariaDB(MySQL)のクライアントから出るには、exit;
と入力します。
Laravelを停止するには、php artisan serve
したターミナルで[Ctrl]+[C]キーを押して、サービスを停止します。あとはターミナルなどを閉じてOKです。
まとめ
以上で環境構築完了です。
- phpenvとphp-builderのインストール
- phpをビルドする環境のインストール
- phpのインストールとグローバル設定
- composerのインストール
- laravelのインストールと環境設定
- サンプルblogプロジェクトを作成して、表示と編集確認
調べながらだったので結構時間がかかりましたが、手順通りなら2時間ぐらいで設定できると思います。1万円ぐらいのPCで開発環境が作れるのは面白いです。実際には、このラズパイにユーザーを作って、そのユーザーがWindowsからラズパイに接続してLaravelの開発ができる環境を作りました。それは別のブログにまとめます。以下、Windowsとの連携のための設定ブログです(2020/2/16追記)。
参考URL
- Installation - Laravel - The PHP Framework For Web Artisans
- update / upgrade fails on older Raspian Installation - Raspberry Pi Forums
- Raspberry Pi 2 に Raspbian を入れた時にやっておいた方が良いことをまとめた - しばやん雑記
- GitHub - skvadrik/re2c at 1.3
- GitHub - phpenv/phpenv: Simple PHP version management
- GitHub - php-build/php-build: Builds PHP so that multiple versions can be used side by side.
- Introduction - Composer
- Installation - Laravel - The PHP Framework For Web Artisans
- オープンソースのデータベース / MariaDBとは