総数:13 今日:1 昨日:0

もくじ

LAMP環境にLaravel8.xをインストールする

参考url: How to Install Laravel PHP Web Framework on Ubuntu 20.04

Install and Configure PHP 7.4

Install

Install PHP 7.4 packages using the apt command below.

~$ sudo apt install libapache2-mod-php php php-common php-xml php-gd php-opcache php-mbstring php-tokenizer php-json php-bcmath php-zip unzip
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
注意、'php-opcache' の代わりに 'php7.4-opcache' を選択します
php はすでに最新バージョン (2:7.4+75) です。
php-common はすでに最新バージョン (2:75) です。
php-common は手動でインストールしたと設定されました。
php-gd はすでに最新バージョン (2:7.4+75) です。
php-gd は手動でインストールしたと設定されました。
php-xml はすでに最新バージョン (2:7.4+75) です。
php-xml は手動でインストールしたと設定されました。
unzip はすでに最新バージョン (6.0-25ubuntu1) です。
php-mbstring はすでに最新バージョン (2:7.4+75) です。
php-zip はすでに最新バージョン (2:7.4+75) です。
php-zip は手動でインストールしたと設定されました。
php7.4-opcache はすでに最新バージョン (7.4.3-4ubuntu2.4) です。
php7.4-opcache は手動でインストールしたと設定されました。
以下の追加パッケージがインストールされます:
  php7.4-bcmath
以下のパッケージが新たにインストールされます:
  libapache2-mod-php php-bcmath php-json php-tokenizer php7.4-bcmath
アップグレード: 0 個、新規インストール: 5 個、削除: 0 個、保留: 0 個。
27.9 kB のアーカイブを取得する必要があります。
この操作後に追加で 144 kB のディスク容量が消費されます。
続行しますか? [Y/n] Y
取得:1 http://jp.archive.ubuntu.com/ubuntu focal/main amd64 libapache2-mod-php all 2:7.4+75 [2,836 B]
取得:2 http://jp.archive.ubuntu.com/ubuntu focal-updates/universe amd64 php7.4-bcmath amd64 7.4.3-4ubuntu2.4 [15.1 kB]
取得:3 http://jp.archive.ubuntu.com/ubuntu focal/universe amd64 php-bcmath all 2:7.4+75 [2,004 B]
取得:4 http://jp.archive.ubuntu.com/ubuntu focal/universe amd64 php-json all 2:7.4+75 [2,000 B]
取得:5 http://jp.archive.ubuntu.com/ubuntu focal/universe amd64 php-tokenizer all 1.1.3-2 [5,980 B]
27.9 kB を 1秒 で取得しました (55.3 kB/s) 
以前に未選択のパッケージ libapache2-mod-php を選択しています。
(データベースを読み込んでいます ... 現在 209176 個のファイルとディレクトリがインストールされています。)
.../libapache2-mod-php_2%3a7.4+75_all.deb を展開する準備をしています ...
libapache2-mod-php (2:7.4+75) を展開しています...
以前に未選択のパッケージ php7.4-bcmath を選択しています。
.../php7.4-bcmath_7.4.3-4ubuntu2.4_amd64.deb を展開する準備をしています ...
php7.4-bcmath (7.4.3-4ubuntu2.4) を展開しています...
以前に未選択のパッケージ php-bcmath を選択しています。
.../php-bcmath_2%3a7.4+75_all.deb を展開する準備をしています ...
php-bcmath (2:7.4+75) を展開しています...
以前に未選択のパッケージ php-json を選択しています。
.../php-json_2%3a7.4+75_all.deb を展開する準備をしています ...
php-json (2:7.4+75) を展開しています...
以前に未選択のパッケージ php-tokenizer を選択しています。
.../php-tokenizer_1.1.3-2_all.deb を展開する準備をしています ...
php-tokenizer (1.1.3-2) を展開しています...
php-json (2:7.4+75) を設定しています ...
php7.4-bcmath (7.4.3-4ubuntu2.4) を設定しています ...

Creating config file /etc/php/7.4/mods-available/bcmath.ini with new version
libapache2-mod-php (2:7.4+75) を設定しています ...
php-tokenizer (1.1.3-2) を設定しています ...
php-bcmath (2:7.4+75) を設定しています ...
libapache2-mod-php7.4 (7.4.3-4ubuntu2.4) のトリガを処理しています ...
php7.4-cli (7.4.3-4ubuntu2.4) のトリガを処理しています ...

確認

~$ dpkg -l | grep -i --color -e "php"
ii  libapache2-mod-php                         2:7.4+75                                   all          server-side, HTML-embedded scripting language (Apache 2 module) (default)
ii  libapache2-mod-php7.4                      7.4.3-4ubuntu2.4                           amd64        server-side, HTML-embedded scripting language (Apache 2 module)
ii  php                                        2:7.4+75                                   all          server-side, HTML-embedded scripting language (default)
ii  php-bcmath                                 2:7.4+75                                   all          Bcmath module for PHP [default]
ii  php-bz2                                    2:7.4+75                                   all          bzip2 module for PHP [default]
ii  php-common                                 2:75                                       all          Common files for PHP packages
ii  php-curl                                   2:7.4+75                                   all          CURL module for PHP [default]
ii  php-gd                                     2:7.4+75                                   all          GD module for PHP [default]
ii  php-google-recaptcha                       1.2.3-1                                    all          reCAPTCHA PHP client library
ii  php-json                                   2:7.4+75                                   all          JSON module for PHP [default]
ii  php-mbstring                               2:7.4+75                                   all          MBSTRING module for PHP [default]
ii  php-mysql                                  2:7.4+75                                   all          MySQL module for PHP [default]
ii  php-pear                                   1:1.10.9+submodules+notgz-1ubuntu0.20.04.2 all          PEAR Base System
ii  php-phpmyadmin-motranslator                5.0.0-1                                    all          translation API for PHP using Gettext MO files
ii  php-phpmyadmin-shapefile                   2.1-3                                      all          translation API for PHP using Gettext MO files
ii  php-phpmyadmin-sql-parser                  4.6.1-2                                    all          validating SQL lexer and parser
ii  php-phpseclib                              2.0.23-2                                   all          implementations of an arbitrary-precision integer arithmetic library
ii  php-psr-cache                              1.0.1-2                                    all          Common interface for caching libraries
ii  php-psr-container                          1.0.0-2                                    all          Common Container Interface (PHP FIG PSR-11)
ii  php-psr-log                                1.1.2-1                                    all          common interface for logging libraries
ii  php-symfony-cache                          4.3.8+dfsg-1ubuntu1                        all          Symfony Cache component with PSR-6, PSR-16, and tags
ii  php-symfony-cache-contracts                1.1.8-1                                    all          Generic abstractions related to caching
ii  php-symfony-expression-language            4.3.8+dfsg-1ubuntu1                        all          compile and evaluate expressions
ii  php-symfony-service-contracts              1.1.8-1                                    all          Generic abstractions related to writing services
ii  php-symfony-var-exporter                   4.3.8+dfsg-1ubuntu1                        all          export serializable PHP data structure to plain PHP code
ii  php-tcpdf                                  6.3.5+dfsg1-1                              all          PHP class for generating PDF files on-the-fly
ii  php-tokenizer                              1.1.3-2                                    all          tokenized PHP source to XML converter
ii  php-twig                                   2.12.5-1                                   all          Flexible, fast, and secure template engine for PHP
ii  php-twig-extensions                        1.5.4-1                                    all          extensions for the Twig template system
ii  php-xml                                    2:7.4+75                                   all          DOM, SimpleXML, WDDX, XML, and XSL module for PHP [default]
ii  php-zip                                    2:7.4+75                                   all          Zip module for PHP [default]
ii  php7.4                                     7.4.3-4ubuntu2.4                           all          server-side, HTML-embedded scripting language (metapackage)
ii  php7.4-bcmath                              7.4.3-4ubuntu2.4                           amd64        Bcmath module for PHP
ii  php7.4-bz2                                 7.4.3-4ubuntu2.4                           amd64        bzip2 module for PHP
ii  php7.4-cli                                 7.4.3-4ubuntu2.4                           amd64        command-line interpreter for the PHP scripting language
ii  php7.4-common                              7.4.3-4ubuntu2.4                           amd64        documentation, examples and common module for PHP
ii  php7.4-curl                                7.4.3-4ubuntu2.4                           amd64        CURL module for PHP
ii  php7.4-dev                                 7.4.3-4ubuntu2.4                           amd64        Files for PHP7.4 module development
ii  php7.4-gd                                  7.4.3-4ubuntu2.4                           amd64        GD module for PHP
ii  php7.4-json                                7.4.3-4ubuntu2.4                           amd64        JSON module for PHP
ii  php7.4-mbstring                            7.4.3-4ubuntu2.4                           amd64        MBSTRING module for PHP
ii  php7.4-mysql                               7.4.3-4ubuntu2.4                           amd64        MySQL module for PHP
ii  php7.4-opcache                             7.4.3-4ubuntu2.4                           amd64        Zend OpCache module for PHP
ii  php7.4-readline                            7.4.3-4ubuntu2.4                           amd64        readline module for PHP
ii  php7.4-xml                                 7.4.3-4ubuntu2.4                           amd64        DOM, SimpleXML, XML, and XSL module for PHP
ii  php7.4-zip                                 7.4.3-4ubuntu2.4                           amd64        Zip module for PHP
ii  phpmyadmin                                 4:4.9.5+dfsg1-2                            all          MySQL web administration tool
ii  pkg-php-tools                              1.38                                       all          various packaging tools and scripts for PHP packages

Configure

/etc/php/7.4/php.ini を編集する
go to the '/etc/php/7.4/' directory and edit the 'php.ini' configuration for the Apache2 web server.

~$ sudo gvim -f /etc/php/7.4/apache2/php.ini

Uncomment the 'cgi.fix_pathinfo' option and change the value to '0'.
変更前

;cgi.fix_pathinfo=0 

変更後

;cgi.fix_pathinfo=1
cgi.fix_pathinfo=0

restart the Apache service

Next, restart the Apache service to apply the new 'php.ini' configuration.

~$ sudo systemctl restart apache2

Install Composer PHP Packages Management

Composer is a dependency manager for PHP.
It's an application-level package manager for PHP that allows you to download additional PHP dependencies and libraries to your PHP project.

In this document, we will be using the Composer for installing Laravel,
and we will install the Composer by downloading the composer binary file from the official composer website.

Retrieve the composer

Download the binary file of the Composer and move the file to the '/usr/local/bin' directory.

~$ curl -sS https://getcomposer.org/installer | php
~$ sudo mv composer.phar /usr/local/bin/composer

check the composer version

After that, check the composer version using the following command.

~$ composer --version
Composer version 2.0.9 2021-01-27 16:09:27

Install Laravel 8.x

create a new Laravel project

Go to the '/var/www/' directory and create a new Laravel project named 'blog' using the 'composer' command below.

~$ sudo bash
# cd /var/www/
# composer create-project --prefer-dist laravel/laravel blog
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Continue as root/super user [yes]? 

yesと入力する

Creating a "laravel/laravel" project at "./blog"
Installing laravel/laravel (v8.5.10)
  - Downloading laravel/laravel (v8.5.10)
  - Installing laravel/laravel (v8.5.10): Extracting archive
Created project in /var/www/blog
> @php -r "file_exists('.env') || copy('.env.example', '.env');"
Loading composer repositories with package information
Updating dependencies
Lock file operations: 105 installs, 0 updates, 0 removals
  - Locking asm89/stack-cors (v2.0.2)
  - Locking brick/math (0.9.2)
  - Locking dnoegel/php-xdg-base-dir (v0.1.1)
  - Locking doctrine/inflector (2.0.3)
  - Locking doctrine/instantiator (1.4.0)
  - Locking doctrine/lexer (1.2.1)
  - Locking dragonmantank/cron-expression (v3.1.0)
  - Locking egulias/email-validator (2.1.25)
  - Locking facade/flare-client-php (1.4.0)
  - Locking facade/ignition (2.5.13)
  - Locking facade/ignition-contracts (1.0.2)
  - Locking fakerphp/faker (v1.13.0)
  - Locking fideloper/proxy (4.4.1)
  - Locking filp/whoops (2.9.2)
  - Locking fruitcake/laravel-cors (v2.0.3)
  - Locking graham-campbell/result-type (v1.0.1)
  - Locking guzzlehttp/guzzle (7.2.0)
  - Locking guzzlehttp/promises (1.4.0)
  - Locking guzzlehttp/psr7 (1.7.0)
  - Locking hamcrest/hamcrest-php (v2.0.1)
  - Locking laravel/framework (v8.28.1)
  - Locking laravel/sail (v1.3.1)
  - Locking laravel/tinker (v2.6.0)
  - Locking league/commonmark (1.5.7)
  - Locking league/flysystem (1.1.3)
  - Locking league/mime-type-detection (1.7.0)
  - Locking mockery/mockery (1.4.2)
  - Locking monolog/monolog (2.2.0)
  - Locking myclabs/deep-copy (1.10.2)
  - Locking nesbot/carbon (2.45.1)
  - Locking nikic/php-parser (v4.10.4)
  - Locking nunomaduro/collision (v5.3.0)
  - Locking opis/closure (3.6.1)
  - Locking phar-io/manifest (2.0.1)
  - Locking phar-io/version (3.0.4)
  - Locking phpdocumentor/reflection-common (2.2.0)
  - Locking phpdocumentor/reflection-docblock (5.2.2)
  - Locking phpdocumentor/type-resolver (1.4.0)
  - Locking phpoption/phpoption (1.7.5)
  - Locking phpspec/prophecy (1.12.2)
  - Locking phpunit/php-code-coverage (9.2.5)
  - Locking phpunit/php-file-iterator (3.0.5)
  - Locking phpunit/php-invoker (3.1.1)
  - Locking phpunit/php-text-template (2.0.4)
  - Locking phpunit/php-timer (5.0.3)
  - Locking phpunit/phpunit (9.5.2)
  - Locking psr/container (1.0.0)
  - Locking psr/event-dispatcher (1.0.0)
  - Locking psr/http-client (1.0.1)
  - Locking psr/http-message (1.0.1)
  - Locking psr/log (1.1.3)
  - Locking psr/simple-cache (1.0.1)
  - Locking psy/psysh (v0.10.6)
  - Locking ralouphie/getallheaders (3.0.3)
  - Locking ramsey/collection (1.1.3)
  - Locking ramsey/uuid (4.1.1)
  - Locking sebastian/cli-parser (1.0.1)
  - Locking sebastian/code-unit (1.0.8)
  - Locking sebastian/code-unit-reverse-lookup (2.0.3)
  - Locking sebastian/comparator (4.0.6)
  - Locking sebastian/complexity (2.0.2)
  - Locking sebastian/diff (4.0.4)
  - Locking sebastian/environment (5.1.3)
  - Locking sebastian/exporter (4.0.3)
  - Locking sebastian/global-state (5.0.2)
  - Locking sebastian/lines-of-code (1.0.3)
  - Locking sebastian/object-enumerator (4.0.4)
  - Locking sebastian/object-reflector (2.0.4)
  - Locking sebastian/recursion-context (4.0.4)
  - Locking sebastian/resource-operations (3.0.3)
  - Locking sebastian/type (2.3.1)
  - Locking sebastian/version (3.0.2)
  - Locking swiftmailer/swiftmailer (v6.2.5)
  - Locking symfony/console (v5.2.3)
  - Locking symfony/css-selector (v5.2.3)
  - Locking symfony/deprecation-contracts (v2.2.0)
  - Locking symfony/error-handler (v5.2.3)
  - Locking symfony/event-dispatcher (v5.2.3)
  - Locking symfony/event-dispatcher-contracts (v2.2.0)
  - Locking symfony/finder (v5.2.3)
  - Locking symfony/http-client-contracts (v2.3.1)
  - Locking symfony/http-foundation (v5.2.3)
  - Locking symfony/http-kernel (v5.2.3)
  - Locking symfony/mime (v5.2.3)
  - Locking symfony/polyfill-ctype (v1.22.1)
  - Locking symfony/polyfill-iconv (v1.22.1)
  - Locking symfony/polyfill-intl-grapheme (v1.22.1)
  - Locking symfony/polyfill-intl-idn (v1.22.1)
  - Locking symfony/polyfill-intl-normalizer (v1.22.1)
  - Locking symfony/polyfill-mbstring (v1.22.1)
  - Locking symfony/polyfill-php72 (v1.22.1)
  - Locking symfony/polyfill-php73 (v1.22.1)
  - Locking symfony/polyfill-php80 (v1.22.1)
  - Locking symfony/process (v5.2.3)
  - Locking symfony/routing (v5.2.3)
  - Locking symfony/service-contracts (v2.2.0)
  - Locking symfony/string (v5.2.3)
  - Locking symfony/translation (v5.2.3)
  - Locking symfony/translation-contracts (v2.3.0)
  - Locking symfony/var-dumper (v5.2.3)
  - Locking theseer/tokenizer (1.2.0)
  - Locking tijsverkoyen/css-to-inline-styles (2.2.3)
  - Locking vlucas/phpdotenv (v5.3.0)
  - Locking voku/portable-ascii (1.5.6)
  - Locking webmozart/assert (1.9.1)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 105 installs, 0 updates, 0 removals
  - Downloading doctrine/inflector (2.0.3)
  - Downloading doctrine/lexer (1.2.1)
  - Downloading symfony/polyfill-ctype (v1.22.1)
  - Downloading webmozart/assert (1.9.1)
  - Downloading dragonmantank/cron-expression (v3.1.0)
  - Downloading symfony/polyfill-php80 (v1.22.1)
  - Downloading symfony/polyfill-mbstring (v1.22.1)
  - Downloading symfony/var-dumper (v5.2.3)
  - Downloading symfony/polyfill-intl-normalizer (v1.22.1)
  - Downloading symfony/polyfill-intl-grapheme (v1.22.1)
  - Downloading symfony/string (v5.2.3)
  - Downloading psr/container (1.0.0)
  - Downloading symfony/service-contracts (v2.2.0)
  - Downloading symfony/polyfill-php73 (v1.22.1)
  - Downloading symfony/console (v5.2.3)
  - Downloading psr/log (1.1.3)
  - Downloading monolog/monolog (2.2.0)
  - Downloading voku/portable-ascii (1.5.6)
  - Downloading phpoption/phpoption (1.7.5)
  - Downloading graham-campbell/result-type (v1.0.1)
  - Downloading vlucas/phpdotenv (v5.3.0)
  - Downloading symfony/css-selector (v5.2.3)
  - Downloading tijsverkoyen/css-to-inline-styles (2.2.3)
  - Downloading symfony/deprecation-contracts (v2.2.0)
  - Downloading symfony/routing (v5.2.3)
  - Downloading symfony/process (v5.2.3)
  - Downloading symfony/polyfill-php72 (v1.22.1)
  - Downloading symfony/polyfill-intl-idn (v1.22.1)
  - Downloading symfony/mime (v5.2.3)
  - Downloading symfony/http-foundation (v5.2.3)
  - Downloading symfony/http-client-contracts (v2.3.1)
  - Downloading psr/event-dispatcher (1.0.0)
  - Downloading symfony/event-dispatcher-contracts (v2.2.0)
  - Downloading symfony/event-dispatcher (v5.2.3)
  - Downloading symfony/error-handler (v5.2.3)
  - Downloading symfony/http-kernel (v5.2.3)
  - Downloading symfony/finder (v5.2.3)
  - Downloading symfony/polyfill-iconv (v1.22.1)
  - Downloading egulias/email-validator (2.1.25)
  - Downloading swiftmailer/swiftmailer (v6.2.5)
  - Downloading ramsey/collection (1.1.3)
  - Downloading brick/math (0.9.2)
  - Downloading ramsey/uuid (4.1.1)
  - Downloading psr/simple-cache (1.0.1)
  - Downloading opis/closure (3.6.1)
  - Downloading symfony/translation-contracts (v2.3.0)
  - Downloading symfony/translation (v5.2.3)
  - Downloading nesbot/carbon (2.45.1)
  - Downloading league/mime-type-detection (1.7.0)
  - Downloading league/flysystem (1.1.3)
  - Downloading league/commonmark (1.5.7)
  - Downloading laravel/framework (v8.28.1)
  - Downloading filp/whoops (2.9.2)
  - Downloading facade/ignition-contracts (1.0.2)
  - Downloading facade/flare-client-php (1.4.0)
  - Downloading facade/ignition (2.5.13)
  - Downloading fakerphp/faker (v1.13.0)
  - Downloading fideloper/proxy (4.4.1)
  - Downloading asm89/stack-cors (v2.0.2)
  - Downloading fruitcake/laravel-cors (v2.0.3)
  - Downloading psr/http-message (1.0.1)
  - Downloading psr/http-client (1.0.1)
  - Downloading ralouphie/getallheaders (3.0.3)
  - Downloading guzzlehttp/psr7 (1.7.0)
  - Downloading guzzlehttp/promises (1.4.0)
  - Downloading guzzlehttp/guzzle (7.2.0)
  - Downloading laravel/sail (v1.3.1)
  - Downloading nikic/php-parser (v4.10.4)
  - Downloading dnoegel/php-xdg-base-dir (v0.1.1)
  - Downloading psy/psysh (v0.10.6)
  - Downloading laravel/tinker (v2.6.0)
  - Downloading hamcrest/hamcrest-php (v2.0.1)
  - Downloading mockery/mockery (1.4.2)
  - Downloading nunomaduro/collision (v5.3.0)
  - Downloading phpdocumentor/reflection-common (2.2.0)
  - Downloading phpdocumentor/type-resolver (1.4.0)
  - Downloading phpdocumentor/reflection-docblock (5.2.2)
  - Downloading sebastian/version (3.0.2)
  - Downloading sebastian/type (2.3.1)
  - Downloading sebastian/resource-operations (3.0.3)
  - Downloading sebastian/recursion-context (4.0.4)
  - Downloading sebastian/object-reflector (2.0.4)
  - Downloading sebastian/object-enumerator (4.0.4)
  - Downloading sebastian/global-state (5.0.2)
  - Downloading sebastian/exporter (4.0.3)
  - Downloading sebastian/environment (5.1.3)
  - Downloading sebastian/diff (4.0.4)
  - Downloading sebastian/comparator (4.0.6)
  - Downloading sebastian/code-unit (1.0.8)
  - Downloading sebastian/cli-parser (1.0.1)
  - Downloading phpunit/php-timer (5.0.3)
  - Downloading phpunit/php-text-template (2.0.4)
  - Downloading phpunit/php-invoker (3.1.1)
  - Downloading phpunit/php-file-iterator (3.0.5)
  - Downloading theseer/tokenizer (1.2.0)
  - Downloading sebastian/lines-of-code (1.0.3)
  - Downloading sebastian/complexity (2.0.2)
  - Downloading sebastian/code-unit-reverse-lookup (2.0.3)
  - Downloading phpunit/php-code-coverage (9.2.5)
  - Downloading doctrine/instantiator (1.4.0)
  - Downloading phpspec/prophecy (1.12.2)
  - Downloading phar-io/version (3.0.4)
  - Downloading phar-io/manifest (2.0.1)
  - Downloading myclabs/deep-copy (1.10.2)
  - Downloading phpunit/phpunit (9.5.2)
  - Installing doctrine/inflector (2.0.3): Extracting archive
  - Installing doctrine/lexer (1.2.1): Extracting archive
  - Installing symfony/polyfill-ctype (v1.22.1): Extracting archive
  - Installing webmozart/assert (1.9.1): Extracting archive
  - Installing dragonmantank/cron-expression (v3.1.0): Extracting archive
  - Installing symfony/polyfill-php80 (v1.22.1): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.22.1): Extracting archive
  - Installing symfony/var-dumper (v5.2.3): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.22.1): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.22.1): Extracting archive
  - Installing symfony/string (v5.2.3): Extracting archive
  - Installing psr/container (1.0.0): Extracting archive
  - Installing symfony/service-contracts (v2.2.0): Extracting archive
  - Installing symfony/polyfill-php73 (v1.22.1): Extracting archive
  - Installing symfony/console (v5.2.3): Extracting archive
  - Installing psr/log (1.1.3): Extracting archive
  - Installing monolog/monolog (2.2.0): Extracting archive
  - Installing voku/portable-ascii (1.5.6): Extracting archive
  - Installing phpoption/phpoption (1.7.5): Extracting archive
  - Installing graham-campbell/result-type (v1.0.1): Extracting archive
  - Installing vlucas/phpdotenv (v5.3.0): Extracting archive
  - Installing symfony/css-selector (v5.2.3): Extracting archive
  - Installing tijsverkoyen/css-to-inline-styles (2.2.3): Extracting archive
  - Installing symfony/deprecation-contracts (v2.2.0): Extracting archive
  - Installing symfony/routing (v5.2.3): Extracting archive
  - Installing symfony/process (v5.2.3): Extracting archive
  - Installing symfony/polyfill-php72 (v1.22.1): Extracting archive
  - Installing symfony/polyfill-intl-idn (v1.22.1): Extracting archive
  - Installing symfony/mime (v5.2.3): Extracting archive
  - Installing symfony/http-foundation (v5.2.3): Extracting archive
  - Installing symfony/http-client-contracts (v2.3.1): Extracting archive
  - Installing psr/event-dispatcher (1.0.0): Extracting archive
  - Installing symfony/event-dispatcher-contracts (v2.2.0): Extracting archive
  - Installing symfony/event-dispatcher (v5.2.3): Extracting archive
  - Installing symfony/error-handler (v5.2.3): Extracting archive
  - Installing symfony/http-kernel (v5.2.3): Extracting archive
  - Installing symfony/finder (v5.2.3): Extracting archive
  - Installing symfony/polyfill-iconv (v1.22.1): Extracting archive
  - Installing egulias/email-validator (2.1.25): Extracting archive
  - Installing swiftmailer/swiftmailer (v6.2.5): Extracting archive
  - Installing ramsey/collection (1.1.3): Extracting archive
  - Installing brick/math (0.9.2): Extracting archive
  - Installing ramsey/uuid (4.1.1): Extracting archive
  - Installing psr/simple-cache (1.0.1): Extracting archive
  - Installing opis/closure (3.6.1): Extracting archive
  - Installing symfony/translation-contracts (v2.3.0): Extracting archive
  - Installing symfony/translation (v5.2.3): Extracting archive
  - Installing nesbot/carbon (2.45.1): Extracting archive
  - Installing league/mime-type-detection (1.7.0): Extracting archive
  - Installing league/flysystem (1.1.3): Extracting archive
  - Installing league/commonmark (1.5.7): Extracting archive
  - Installing laravel/framework (v8.28.1): Extracting archive
  - Installing filp/whoops (2.9.2): Extracting archive
  - Installing facade/ignition-contracts (1.0.2): Extracting archive
  - Installing facade/flare-client-php (1.4.0): Extracting archive
  - Installing facade/ignition (2.5.13): Extracting archive
  - Installing fakerphp/faker (v1.13.0): Extracting archive
  - Installing fideloper/proxy (4.4.1): Extracting archive
  - Installing asm89/stack-cors (v2.0.2): Extracting archive
  - Installing fruitcake/laravel-cors (v2.0.3): Extracting archive
  - Installing psr/http-message (1.0.1): Extracting archive
  - Installing psr/http-client (1.0.1): Extracting archive
  - Installing ralouphie/getallheaders (3.0.3): Extracting archive
  - Installing guzzlehttp/psr7 (1.7.0): Extracting archive
  - Installing guzzlehttp/promises (1.4.0): Extracting archive
  - Installing guzzlehttp/guzzle (7.2.0): Extracting archive
  - Installing laravel/sail (v1.3.1): Extracting archive
  - Installing nikic/php-parser (v4.10.4): Extracting archive
  - Installing dnoegel/php-xdg-base-dir (v0.1.1): Extracting archive
  - Installing psy/psysh (v0.10.6): Extracting archive
  - Installing laravel/tinker (v2.6.0): Extracting archive
  - Installing hamcrest/hamcrest-php (v2.0.1): Extracting archive
  - Installing mockery/mockery (1.4.2): Extracting archive
  - Installing nunomaduro/collision (v5.3.0): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing phpdocumentor/type-resolver (1.4.0): Extracting archive
  - Installing phpdocumentor/reflection-docblock (5.2.2): Extracting archive
  - Installing sebastian/version (3.0.2): Extracting archive
  - Installing sebastian/type (2.3.1): Extracting archive
  - Installing sebastian/resource-operations (3.0.3): Extracting archive
  - Installing sebastian/recursion-context (4.0.4): Extracting archive
  - Installing sebastian/object-reflector (2.0.4): Extracting archive
  - Installing sebastian/object-enumerator (4.0.4): Extracting archive
  - Installing sebastian/global-state (5.0.2): Extracting archive
  - Installing sebastian/exporter (4.0.3): Extracting archive
  - Installing sebastian/environment (5.1.3): Extracting archive
  - Installing sebastian/diff (4.0.4): Extracting archive
  - Installing sebastian/comparator (4.0.6): Extracting archive
  - Installing sebastian/code-unit (1.0.8): Extracting archive
  - Installing sebastian/cli-parser (1.0.1): Extracting archive
  - Installing phpunit/php-timer (5.0.3): Extracting archive
  - Installing phpunit/php-text-template (2.0.4): Extracting archive
  - Installing phpunit/php-invoker (3.1.1): Extracting archive
  - Installing phpunit/php-file-iterator (3.0.5): Extracting archive
  - Installing theseer/tokenizer (1.2.0): Extracting archive
  - Installing sebastian/lines-of-code (1.0.3): Extracting archive
  - Installing sebastian/complexity (2.0.2): Extracting archive
  - Installing sebastian/code-unit-reverse-lookup (2.0.3): Extracting archive
  - Installing phpunit/php-code-coverage (9.2.5): Extracting archive
  - Installing doctrine/instantiator (1.4.0): Extracting archive
  - Installing phpspec/prophecy (1.12.2): Extracting archive
  - Installing phar-io/version (3.0.4): Extracting archive
  - Installing phar-io/manifest (2.0.1): Extracting archive
  - Installing myclabs/deep-copy (1.10.2): Extracting archive
  - Installing phpunit/phpunit (9.5.2): Extracting archive
73 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
Discovered Package: facade/ignition
Discovered Package: fideloper/proxy
Discovered Package: fruitcake/laravel-cors
Discovered Package: laravel/sail
Discovered Package: laravel/tinker
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Package manifest generated successfully.
74 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> @php artisan key:generate --ansi
Application key set successfully.
# exit

change the ownership of the 'blog' project directory

Next, change the ownership of the 'blog' project directory to the user 'www-data' and make the 'storage' directory writable.

~$ sudo chown -R www-data:www-data /var/www/blog
~$ sudo chmod -R 775 /var/www/blog/storage
~$ ls -la /var/www/blog
合計 364
drwxr-xr-x 12 www-data www-data   4096  2月 20 12:02 .
drwxr-xr-x  6 root     root       4096  2月 20 12:02 ..
-rw-r--r--  1 www-data www-data    220  2月 17 01:58 .editorconfig
-rw-r--r--  1 www-data www-data    862  2月 20 12:03 .env
-rw-r--r--  1 www-data www-data    811  2月 17 01:58 .env.example
-rw-r--r--  1 www-data www-data    111  2月 17 01:58 .gitattributes
-rw-r--r--  1 www-data www-data    191  2月 17 01:58 .gitignore
-rw-r--r--  1 www-data www-data    181  2月 17 01:58 .styleci.yml
-rw-r--r--  1 www-data www-data   3780  2月 17 01:58 README.md
drwxr-xr-x  7 www-data www-data   4096  2月 17 01:58 app
-rwxr-xr-x  1 www-data www-data   1686  2月 17 01:58 artisan
drwxr-xr-x  3 www-data www-data   4096  2月 17 01:58 bootstrap
-rw-r--r--  1 www-data www-data   1646  2月 17 01:58 composer.json
-rw-r--r--  1 www-data www-data 268563  2月 20 12:02 composer.lock
drwxr-xr-x  2 www-data www-data   4096  2月 17 01:58 config
drwxr-xr-x  5 www-data www-data   4096  2月 17 01:58 database
-rw-r--r--  1 www-data www-data    473  2月 17 01:58 package.json
-rw-r--r--  1 www-data www-data   1202  2月 17 01:58 phpunit.xml
drwxr-xr-x  2 www-data www-data   4096  2月 17 01:58 public
drwxr-xr-x  6 www-data www-data   4096  2月 17 01:58 resources
drwxr-xr-x  2 www-data www-data   4096  2月 17 01:58 routes
-rw-r--r--  1 www-data www-data    563  2月 17 01:58 server.php
drwxrwxr-x  5 www-data www-data   4096  2月 17 01:58 storage
drwxr-xr-x  4 www-data www-data   4096  2月 17 01:58 tests
drwxr-xr-x 44 www-data www-data   4096  2月 20 12:03 vendor
-rw-r--r--  1 www-data www-data    559  2月 17 01:58 webpack.mix.js

Setup Apache for Laravel Project

we will set up the Apache virtual host for the Laravel project.

create a new virtual host configuration

go to the '/etc/apache/sites-available' directory and create a new virtual host configuration 'vhost_laravel.conf' using vim editor.

~$ sudo gvim -f /etc/apache2/sites-available/vhost_laravel.conf

Change the domain name and the webroot directory with your own and paste the configuration into it.

<VirtualHost *:80>
    ServerName blog
    ServerAlias www.blog
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/blog/public

    <Directory /var/www/blog>
    Options Indexes MultiViews
    AllowOverride None
    Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Next, activate the Apache rewrite module and Laravel virtual host configuration using the following command.

~$ sudo a2enmod rewrite
~$ sudo a2ensite vhost_laravel.conf

After that, test the Apache configuration, ensure there is no error, and restart the Apache service.

~$ apachectl configtest
~$ sudo systemctl restart apache2

hostsファイル編集

~$ sudo gvim -f /etc/hosts
~$ cat /etc/hosts
127.0.0.1	localhost
127.0.1.1	vmubdt2004
192.168.3.12	www.test_php
192.168.3.12	www.test_python
192.168.3.12	www.blog ←★この行を追記
# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Testing

Open your web browser and type your server IP address or domain name on the address bar.

http://www.blog/

As a result, the installation and configuration of Laravel with Apache web server has been completed successfully.

次は


トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS