カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

Docker + Laravel9 開発環境構築

Dockerを使ってLaravel9の開発環境を構築してみたいと思います。
XAMPPやレンタルサーバーを使うよりお手軽に出来るので是非試してみてください。

OS等の環境は以下の通りです。

OS: Windows10
Docker Desktop: v4.14.1
Visual Studio Code: v1.74.0

Dockerで環境構築

予め必要なファイル等を準備します。
Laravelのプロジェクト名は「laravel-app」と仮定します。

docker/app/000-default.conf
<VirtualHost *:80>
       ServerAdmin webmaster@localhost
       DocumentRoot /var/www/html/laravel-app/public
       ErrorLog ${APACHE_LOG_DIR}/error.log
       CustomLog ${APACHE_LOG_DIR}/access.log combined
       <Directory /var/www/html/laravel-app/public>
           AllowOverride All
       </Directory>
</VirtualHost>
docker/app/Dockerfile
# dockerイメージの選択
# 予めPHPとApacheがインストールされているイメージをDocker Hubからダウンロード
FROM php:8.0-apache

# 設定ファイルをdockerコンテナ内のPHP、Apacheに読み込ませる
# ADD:ローカルのファイルをDockerコンテナ内にコピーする
ADD php.ini /usr/local/etc/php/
ADD 000-default.conf /etc/apache2/sites-enabled/

# Composerのインストール
# RUN:コンテナ内でコマンド実行する
RUN cd /usr/bin && curl -s http://getcomposer.org/installer | php && ln -s /usr/bin/composer.phar /usr/bin/composer

# Node.jsをインストール
RUN curl -sL https://deb.nodesource.com/setup_16.x | bash -
RUN apt-get install -y nodejs

# ミドルウェアのインストール
RUN apt-get update \
&& apt-get install -y \
git \
zip \
unzip \
vim \
libpng-dev \
libpq-dev \
&& docker-php-ext-install pdo_mysql

# Laravelで必要になるmodRewriteを有効化する
RUN mv /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled
RUN /bin/sh -c a2enmod rewrite

続きを読む…»

3,534 views

Docker環境構築初期の落とし穴 localhost/tutorial

Dockerで作成した環境で開発を始めようとしたときに少しハマってしまったので原因と解決法を書いておきたいと思います。
環境は次の通りです。

Windows10 Home
Docker Desktop v4.14.1

大抵の場合、Dockerをインストールして最初にやってみるコマンドは以下だと思います。

docker run -d -p 80:80 docker/getting-started

このコマンドを実行してコンテナが作成され、http://localhostにアクセスするとGetting Started画面が表示されます。
ここがポイントなのですが、http://localhostにアクセスするとhttp://localhost/tutorialにリダイレクトされます。
このリダイレクトが曲者で、キャッシュに残ってしまうのです。

Dockerの導入が終わったので、いざ開発を始めた際に、一通り環境構築が終わった後、http://localhostにアクセスして出来ているか確認しますが、キャッシュが残っていることが原因でhttp://localhost/tutorialにリダイレクトされてしまいます。
表示したいのはhttp://localhostなのに・・・。

Windowsのhostsファイルが原因なのかと思いましたがどうも違うよう。
結局、原因はブラウザのキャッシュでした。

キャッシュをクリアするとリダイレクトされなくなりました。

1,206 views

Microsoft Office 2021を入れてみた

Microsoft Office 2021をインストールしてみました。
これまでPC移行とか散々やってきたので、作業には慣れています。

で、またOutlookのデータを移行しないとな…と思っていたら…、
特に何もすることがなかった!
アカウント設定・仕分けルール・署名など、全てそのまま使うことができました。

なんということでしょう。
面倒だな、と思っていた作業が省けたのでうれしい限りです。

ただ、1つだけやらないといけなかったことがありました。
IMAPで設定しているアカウントの受信トレイが何も表示されない状態だったので、調べて設定を変更しました。

ちなみにアップグレードはMicrosoft Office 2010 Personal(古すぎ;)からMicrosoft Office Home & Business 2021です。

【設定方法】

  1. IMAPアカウントの設定を開く
  2. [フォルダー設定]の[ルートフォルダーのパス]にinboxと入力
  3. [次へ]をクリックして設定を完了

これでIMAPアカウントの受信トレイでメールが表示されるようになりました。

774 views

BIOS画面のスクリーンショットを保存する

BIOS画面もスクリーンショットが撮れるようです。
スクショを保存するにはUSBメモリが必要になります。

環境
マザーボード:ASUS PRIME B660M-AJ D4

BIOS画面でF12キーを押します。
するとダイアログが出てきて保存場所を聞かれるので、USBメモリを選択します。
これだけでOKです。

ただし条件があるようです。

  1. BIOSがUEFIモードであること
  2. USBメモリのファイルシステムがFAT32であること
735 views

GPT header corruptionが発生した時の対処法

BTOパソコンに別のブートドライブを接続してデュアルブートしようとした時にエラーが発生し、起動しない事態が起こりました。

環境
マザーボード:ASUS PRIME B660M-AJ D4

エラーメッセージ

GPT header corruption has been detected, please check SATA mode setting in BIOS Setup, or you can use [Boot Sector (MBR/GPT) Recovery Policy] item under [Boot Configuration] page to recovery GPT header.

翻訳するとこのようになります。

GPTヘッダーの破損が検出された場合、BIOSセットアップのSATAモード設定を確認するか、[Boot Configuration] ページの [Boot Sector (MBR/GPT) Recovery Policy] 項目でGPTヘッダーを回復することが可能です。

というわけでBIOSの設定画面を起動します。

Advanced Modeに切り替えます。

メニューの[Boot]から[Boot Configuration]ページへ移動

[Boot Sector (MBR/GPT) Recovery Policy]の設定をLocal User ControlからAuto Recoveryに変更します。

設定を保存して再起動します。

これで自動的にGPTヘッダーがリカバリーされ、デュアルブートできるようになりました。

一度起動に成功すれば先ほどの[Boot Sector (MBR/GPT) Recovery Policy]設定はLocal User Controlに戻しても大丈夫です。

7,416 views