はじめに
最近は Linux 環境を構築する場合でも コンテナーを利用するのが一般的ですが、素の Debian で Laravel を動かす機会があったので構築手順を記録として残しておきます。
動作環境
新しめのバージョンならたいてい動作するとは思いますが、以下の環境にインストールしました。
- Azure Virtual Machine
- Debian bullseye (バージョン 11)
目次
1. 基本モジュールのインストール
- Web アクセス系とかユーティリティ
$ sudo apt update $ sudo apt install -y openssl curl wget git zip unzip vim tzdata
- このあと使う環境変数を定義しておく(以下を
/etc/profile
に追記する)$ sudo vim /etc/profile
/etc/profile# TimeZone export TZ=Asia/Tokyo # Locale export LANG=ja_JP.UTF-8 # for Apache export APACHE_RUN_USER=www-data export APACHE_RUN_GROUP=www-data export APACHE_PID_FILE=/var/run/apache2/apache2.pid export APACHE_RUN_DIR=/var/run/apache2 export APACHE_LOCK_DIR=/var/lock/apache2 export APACHE_LOG_DIR=/var/log/apache2 # for PHP & Composer export PHP_VERSION=8.0 export COMPOSER_HOME=/.composer export PATH="$PATH:${COMPOSER_HOME}/vendor/bin"
- 環境変数を有効にするためログインし直す。または(面倒なら)
/etc/profile
を読み込む$ . /etc/profile
2. Apache のインストール
- Laravel を使うため Rewrite モジュールも入れておく
$ sudo apt install -y apache2 $ sudo a2enmod rewrite
3. PHP のインストール
- まずは指定バージョンをインストールするための準備
$ sudo apt install -y gnupg2 ca-certificates lsb-release apt-transport-https $ wget -qO - https://packages.sury.org/php/apt.gpg | sudo apt-key add - $ echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
- 指定バージョンの PHP をインストール(基本モジュールと Apache 連携のみ)
$ sudo apt update $ sudo apt install -y php${PHP_VERSION} php${PHP_VERSION}-cli php${PHP_VERSION}-common libapache2-mod-php${PHP_VERSION} $ sudo update-alternatives --set php /usr/bin/php${PHP_VERSION} $ php -v # PHP のバージョンを確認
- Composer をインストール
$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" $ php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" sudo php composer-setup.php --install-dir=/usr/bin --filename=composer $ php -r "unlink('composer-setup.php');" $ sudo mkdir -p $COMPOSER_HOME $ sudo chmod 777 -R $COMPOSER_HOME $ composer -V # composer コマンドのバージョンを確認
- Laravel での開発に必要な拡張機能をインストール
- DebugKit と PHPUnit、XDebug も使えるようにしておく
- PDO は PostgreSQL と MySQL を入れておく
$ sudo apt install -y php${PHP_VERSION}-curl php${PHP_VERSION}-zip php${PHP_VERSION}-bcmath php${PHP_VERSION}-mbstring php${PHP_VERSION}-xml php${PHP_VERSION}-sqlite3 php${PHP_VERSION}-dom php${PHP_VERSION}-xmlwriter php${PHP_VERSION}-xdebug php${PHP_VERSION}-pgsql php${PHP_VERSION}-mysql $ php -m # インストールされた拡張機能を確認
- ついでに Laravel インストーラーも入れておく
$ composer global require laravel/installer $ laravel -V # laravel コマンドのバージョンを確認
4. Node.js のインストール
- npm と yarn は流行りや好みもあるのでどちらでも動くようにインストールしておく
$ curl--sL https://deb.nodesource.com/setup_16.x | sudo bash - $ sudo apt install -y nodejs $ sudo npm install -g yarn $ node -v # Node.js のバージョンを確認 $ npm -v # npm コマンドのバージョンを確認 $ yarn -v # yarn コマンドのバージョンを確認