0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

UbuntuでLaravelの開発環境作成

Posted at

概要

UbuntuでLaravelの開発環境を構築します。
ここではブラウザでhttp://127.0.0.1:8000 へアクセスし、Laravelのwelcomeページが表示されればゴールとします。

Ubuntuのインストール

MicrosoftstoreでUbuntuと検索。
スクリーンショット 2024-12-06 124204.png

LTSはサポートが長いためここでは
「Ubuntu 24.04.1 LTS」をインストールします。

Ubuntuの起動

スタートメニューなどからUbuntuを起動します。
スクリーンショット 2024-12-06 124717.png

起動後、Ubuntu上で使うログイン名ユーザーネームとパスワードの設定があります。
それぞれ任意のものを入力。

完了後、ディストリビューションの情報を確認。

Ubuntuターミナルでのコマンド
lsb_release -a

スクリーンショット 2024-12-06 125125.png

(お好みで)日本語化

Ubuntuターミナルでのコマンド
sudo apt install language-pack-ja
sudo update-locale LANG=ja_JP.UTF-8

dateコマンドで日本語化されていればOKです。

Ubuntuターミナルでのコマンド
date

スクリーンショット 2024-12-06 125920.png

PHPインストール

Ubuntuターミナルでのコマンド
sudo apt-get update
sudo apt install -y php

バージョンが確認できればインストールOKです。

Ubuntuターミナルでのコマンド
php -v

スクリーンショット 2024-12-06 175210.png

PHP拡張機能のインストール

Laravelインストールに必要なPHP拡張機能のインストールをします。

Ubuntuターミナルでのコマンド
sudo apt install php8.3-bcmath php8.3-mbstring php8.3-xml zip

インストール後はこちらで確認できます。

Ubuntuターミナルでのコマンド
php -m

(長いので画像略)

MySQLインストール

Ubuntuターミナルでのコマンド
sudo apt install -y mysql-server

バージョンが確認できればインストールOKです。

Ubuntuターミナルでのコマンド
mysql --version

スクリーンショット 2024-12-06 175837.png

ステータスを確認します。

Ubuntuターミナルでのコマンド
sudo service mysql status

スクリーンショット 2024-12-06 175736.png

止まってましたら、起動させます。再度ステータスを確認して起動していることを確認。

Ubuntuターミナルでのコマンド
sudo service mysql start
sudo service mysql status

スクリーンショット 2024-12-06 180046.png

Composerのインストール

Composerのダウンロードページ からコマンドをコピーして実行。

Ubuntuターミナルでのコマンド
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

ダウンロードしたphpアーカイブファイルを移動させ、コマンド実行できるようにします。

Ubuntuターミナルでのコマンド
sudo mv  composer.phar /usr/local/bin/composer

以下のコマンドでバージョンが表示されればOK。

Ubuntuターミナルでのコマンド
composer -V

image.png

Laravelのインストール

composerコマンドでインストール。

Ubuntuターミナルでのコマンド
composer create-project --prefer-dist laravel/laravel

laravelディレクトリが作成される。
ディレクトリを移動してartisanコマンドでバージョン確認できればOK。

Ubuntuターミナルでのコマンド
cd laravel
php artisan -V

image.png

ブラウザで確認

Laravel上の開発サーバを起動。

Ubuntuターミナルでのコマンド
php artisan serve

http://127.0.0.1:8000
へアクセスしてみます。

screencapture-127-0-0-1-8000-2024-12-04-18_36_59_new.png

エラー出てますがブラウザからLaravelへはアクセスできてそう。

could not find driverの解消

エクスプローラーで以下にアクセスします。

エクスプローラーのパス
\\wsl.localhost\[Ubuntuディストリビューション名]\home\[ユーザー名]\laravel

(例)
\\wsl.localhost\Ubuntu-24.04\home\shioharu\laravel

スクリーンショット 2024-12-06 183626.png

.envファイルのDB_CONNECTION=sqliteをmysqlへ修正します。

.env
DB_CONNECTION=mysql

再度開発サーバ起動

Ubuntuターミナルでのコマンド
php artisan serve

http://127.0.0.1:8000
へアクセスしてみます。

screencapture-127-0-0-1-8000-2024-12-04-18_54_40_new.png

エラーが変わりました。

Access denied for userの解消

mysqlにログインします。

Ubuntuターミナルでのコマンド
sudo mysql -u root

認証を確認します。

Ubuntuターミナル(mysql)でのSQL
SELECT user, host, plugin FROM mysql.user;
実行結果
mysql> SELECT user, host, plugin FROM mysql.user;
+------------------+-----------+-----------------------+
| user             | host      | plugin                |
+------------------+-----------+-----------------------+
| debian-sys-maint | localhost | caching_sha2_password |
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session    | localhost | caching_sha2_password |
| mysql.sys        | localhost | caching_sha2_password |
| root             | localhost | auth_socket           |
+------------------+-----------+-----------------------+

rootがauth_socket なので、そこを変更します。

Ubuntuターミナル(mysql)でのSQL
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '任意のパスワード';
FLUSH PRIVILEGES;

変更後、再度認証を確認

Ubuntuターミナル(mysql)でのSQL
SELECT user, host, plugin FROM mysql.user;
実行結果
mysql> SELECT user, host, plugin FROM mysql.user;
+------------------+-----------+-----------------------+
| user             | host      | plugin                |
+------------------+-----------+-----------------------+
| debian-sys-maint | localhost | caching_sha2_password |
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session    | localhost | caching_sha2_password |
| mysql.sys        | localhost | caching_sha2_password |
| root             | localhost | mysql_native_password |
+------------------+-----------+-----------------------+

確認後、mysqlを離脱

Ubuntuターミナル(mysql)でのSQL
exit

念のためMySQL再起動

Ubuntuターミナルでのコマンド
sudo service mysql restart

再度開発サーバ起動

Ubuntuターミナルでのコマンド
php artisan serve

http://127.0.0.1:8000
へアクセスしてみます。

スクリーンショット 2024-12-06 190827.png

またエラーが変わりました。

Unknown databaseの解消

mysqlにログインします。

Ubuntuターミナルでのコマンド
mysql -u root -p

laravelのdatabaseを作成します。
(.envのDB_DATABASE=に記載されるdatabese名なので任意の名前でもOKです)

Ubuntuターミナル(mysql)でのSQL
create database laravel;

エクスプローラーで以下にアクセスします。

エクスプローラーのパス
\\wsl.localhost\[Ubuntuディストリビューション名]\home\[ユーザー名]\laravel

(例)
\\wsl.localhost\Ubuntu-24.04\home\shioharu\laravel

.envファイルの以下の部分を修正します。

.env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=[rootユーザーに設定したパスワード]

migrationを実行します。

Ubuntuターミナルでのコマンド
php artisan migrate

再度開発サーバ起動

Ubuntuターミナルでのコマンド
php artisan serve

http://127.0.0.1:8000
へアクセスしてみます。

screencapture-127-0-0-1-8000-2024-12-04-19_14_36.png

無事表示できました!

所感

慣れの問題な気もしますが、dockerのほうがインストール回り楽かも…

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?