概要
Ubuntu20.04+Laravelv9の環境構築に関する情報を整理するために手順をまとめてみました。
2022年10月時点での各種アプリケーションのバージョンは以下のとおり。
- Ubuntu 20.04.3 LTS
- PHP 8.1.11
- Laravel Framework 9.36.4
1. Ubuntuのインストール
今回は↓のISOからインストールしました。
ubuntu-20.04.3-live-server-amd64.iso
2. Apacheのインストール
~$ sudo apt update
~$ sudo apt install -y apache2
インストール後はApacheを起動します。
~$ sudo systemctl start apache2
状態確認を行います。
~$ sudo systemctl status apache2
ブラウザからサーバアドレス(port指定なし)をたたいて"Apache2 Ubuntu Default Page"が表示されれば動いています。
例)http://192.168.1.123/
3. PHP8のリポジトリを登録する
~$ sudo add-apt-repository ppa:ondrej/php
Webサーバの種類を聞かれるので、今回はapache2なので2を入力してENTERを押す。
1. If you are using php-gearman, you need to add ppa:ondrej/pkg-gearman
2. If you are using apache2, you are advised to add ppa:ondrej/apache2
3. If you are using nginx, you are advised to add ppa:ondrej/nginx-mainline
4. PHP8のインストール
~$ sudo apt install -y php8.0 php8.0-intl php8.0-mysql php8.0-sqlite3 php8.0-gd php8.0-dom
Apacheを再起動する
~$ sudo systemctl restart apache2
phpinfo表示用のindex.phpを作成する
~$ sudo vi /var/www/html/index.php
index.phpの記述内容は以下。
<?php
phpinfo();
?>
ブラウザからアクセスして"PHP Version~"が表示されればPHPが正常にインストールされています。
例)http://192.168.1.123/index.php
5. Composerをインストール
Composerをインストールするために必要なコンポーネントをインストール
~$ sudo apt install curl php-cli php-mbstring git unzip
The following NEW packages will be installed:
libonig5 php-cli php-mbstring php8.1-cli php8.1-common php8.1-mbstring php8.1-opcache php8.1-readline unzip
0 upgraded, 9 newly installed, 0 to remove and 72 not upgraded.
Need to get 3,397 kB of archives.
After this operation, 17.7 MB of additional disk space will be used.
Do you want to continue? [Y/n]
Yを指定して進めると、PHPが8.1になります。
Composerのインストーラーをダウンロード
~$ sudo php -r "copy ( 'https://getcomposer.org/installer', 'composer-setup.php' ) ;";
Composerをインストール
~$ sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer;
ll settings correct for using Composer
Downloading...
Composer (version 2.4.3) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer
6. Laravelのインストール
プロジェクトを作成する。
example-appがプロジェクト名で任意
~$ composer create-project laravel/laravel example-app
エラーが出る
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Root composer.json requires laravel/pint ^1.0 -> satisfiable by laravel/pint[v1.0.0, ..., v1.2.0].
- laravel/pint[v1.0.0, ..., v1.2.0] require ext-xml * -> it is missing from your system. Install or enable PHP's xml extension.
Problem 2
- phpunit/phpunit[9.5.10, ..., 9.5.x-dev] require ext-dom * -> it is missing from your system. Install or enable PHP's dom extension.
- Root composer.json requires phpunit/phpunit ^9.5.10 -> satisfiable by phpunit/phpunit[9.5.10, ..., 9.5.x-dev].
php8.1-xmlが足りないらしいので
~$ sudo apt-get install php8.1-xml
curlが足りないらしいので
~$ sudo apt-get install php8.1-curl
ディレクトリが中途半端にできているので削除する
~$ rm -R /home/user名/example-app
気を取り直してもう一度
~$ composer create-project laravel/laravel example-app
今度はエラーなし。
サーバを立ち上げてアクセスする
cd /home/ユーザ名/example-app
~/example-app$ php artisan serve --host 192.168.1.123
リンクが表示されているのでクリックしてブラウザ表示するとLaravelのページが表示される
http://192.168.1.123:8000
コマンドラインでのLaravelバージョン確認
php artisan -V