ラズパイ4を入手したので、Laravelの開発ができるように環境構築してみました。その時のメモです。
目次
構築する環境
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をインストールする
$ 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リポジトリ ーをクローンして構築しました。
github.com
今回、他のユーザーも使えるように/usr/local/bin/phpenv
以下にクローンしました。
ドキュメントに従ってrootの.bash_profile
に対して、パスとphpenv init
を追加
exec $SHELL -l
でシェルをリスタートしました
次に、/usr/local/bin/phpenv/plugins/php-build
以下に、php -buildをクローンします。
github.com
クローンしたら、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をインストールする
getcomposer.org
今回はグローバルで使いたいので、composer.phar
をダウンロードしたら、/usr/local/bin/composer
にリネームして配置します。
curl -sS http://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
以上でComposerが利用できるようになります。これでようやくLaravelをインストールできます。
Laravelをインストールする
以下に従ってインストールします。
laravel.com
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のページが表示されます。
Laravelのサンプルブログページ
少し変更してみる
ちゃんと変更できるか表示内容を変えてみます。
cd ~/blog
nano resources/views/welcome.blade.php
これで、ウェルカムページを構築するためのVueのテンプレートページが開きます。84行目付近に表題のLaravel とある行があるので、そこを適当に変更してみましょう。
welcome.blade.php
変更したら、上書き保存をして先ほど表示したらWebブラウザ ーをリロードします。すると、変更した通りに表題が変更されるはずです。
変更されたか試す
Laravelを使うならデータベースも使うでしょう。ラズパイではMySQL から派生したMariaDB がよく使われているそうなので、そちらをインストールします。なお、使い方はMySQL と同じです。参考資料は以下の通り。
www.ossnews.jp
手順は以下を参考にしました。
nort-wmli.blogspot.com
sudo apt install maria-client maria-server
sudo systemctl restart mariadb
これでインストールは完了ですが、そのままだとsudo
抜きでは接続できません。これを修正します。
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で進めれば完了です。
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追記)。
am1tanaka.hatenablog.com
参考URL