LaravelでTwitterクローンその1

PHPの代表的なフレームワークのひとつであるLaravel(ララベル)をつかってX(旧Twitter)のクローンをつくってみたいとおもいます。トータルでみるとけっこうな超大作になりますが、お付き合いいただければエンジニアとしてとてもレベルアップできるのではないかと思います。

まずはここではnginxのコンテナがあがるところまでやってみましょう〜。

必要最低限の準備

Windows環境の方

  1. WSL2のセットアップ
  2. Ubuntuが動いていること
  3. Ubuntu上でdockerが動いていること

Mac環境の方

  1. Termina.appがどこにあるかわかって起動できること
  2. ITermでも大丈夫
  3. Docker Desktop for Mac

プラットフォーム共通

composerの最新版をインストールしておきましょう。

composerのインストール方法

composerのインストール方法

composerはPHPのパッケージ管理ソフトです。便利なライブラリをcomposer install xxxだけで利用できるようになるスグレモノです。近年のPHPプロジェクトで使わないプロジェクトがあるんでしょうかというぐらいデファクトス…

composerはPHPのパッケージ管理ソフトです。便利なライブラリをcomposer install xxxだけで利用できるようになるスグレモノです。近年のPHPプロジェクトで使わないプロジェクトがあるんでしょうかというぐらいデファクトス…

Laravelプロジェクトを作成する

作業ディレクトリをつくる

# 作業ディレクトリをつくる
mkdir -p ~/development && cd $_

# laravelファイルをcomposer経由でとってくる
composer create-project laravel/laravel twitter-clone

# dokckerのファイルもつくるのでいったんsrcディレクトリに変更
mv twitter-clone src

# docker用のディレクトリをつくる
mkdir -p twitter-clone/docker

# 移動させる
mv src twitter-clone/

cd twitter-clone

# lsコマンド実行して以下のようになっていればOK
ls -al
[hoge@localhost twitter-clone]$ ls -al
total 0
drwxr-xr-x@  4 hoge  staff   128  6  3 12:48 .
drwxr-xr-x@ 33 hoge  staff  1056  6  3 12:48 ..
drwxr-xr-x@  2 hoge  staff    64  6  3 12:48 docker
drwxr-xr-x@ 24 hoge  staff   768  6  3 12:47 src

dockerのセットアップ

dockerの構成を考える

ここでは、Laravelの初期画面を表示するだけですのでnginxとphp-fpmのコンテナがあれば十分です。nginxはWEBサーバのソフトウェアでphp-fpmはfastcgiを実行するためのソフトウェアです。PHPを実行してブラウザに実行するにはこの2つが必要とまずは覚えておいてください。

dockerが全く初心者だという方はまずは過去に書いた記事を参考にしてだいたいをつかんでみてください

まずはdockerコンテナを上げる_docker入門

まずはdockerコンテナを上げる_docker入門

よく聞くけどdockerって何?あくまで初学者向けということで細かいことは省略しますが、ひとことでdockerというと今動いてるOSの上で仮想的にもうひとつどころか複数のOSをかんたんに軽く動作させるためのソフトウェアです。Windowsの…

よく聞くけどdockerって何?あくまで初学者向けということで細かいことは省略しますが、ひとことでdockerというと今動いてるOSの上で仮想的にもうひとつどころか複数のOSをかんたんに軽く動作させるためのソフトウェアです。Windowsの…

docker-compose.ymlを作成する

cd docker
touch docker-compose.yml

vi(m)エディタがつかえるとよいのでしょうけど、VSCodeや他のテキストエディタで大丈夫です。docker-compose.ymlを開きます

docker composeでnginxを立ち上げる

docker-compose.ymlを以下のように書いてみてください。ymlのインデントはタブではなくてスペースですのでご注意ください。

name: twitter-clone

services:
  web:
    container_name: twitter-web
    image: nginx:latest
    ports:
      - "9999:80"

これで保存して

docker compose up -d

とコマンドを実行してしばらくまつと、twitter-webというnginxのコンテナが立ち上がります。無事立ち上がったら、ブラウザでhttp://localhost:9999にアクセスしたら以下のような画面が表示されていると思います。表示されない場合はコンテナが立ち上がっていないと思われますので先述のとおりタブとスペースに注意してymlファイルをチェックしてみてください。

nginxのwelcomeページが見れたらOKです

これでまずはdockerでnginxコンテナが上がったので、はじめのはじめの第一歩は終了です。概念が若干わかりにくいので、すべてを理解しようと思わずに「こんなもんかな」ぐらいの理解で最初は大丈夫です。徐々に、「ああ、あのときのあれはこうだったのか」となる日がくるはずなので焦らずに徐々にやっていきましょう。

Docker [ Adrian Mouat ]

価格:3960円
(2024/11/4 11:45時点)
感想(0件)