香典アプリLaravelをデプロイ

パソコン PC

ついにデプロイまで辿り着いた香典アプリ。

5月頃から勉強しながら作っていた香典帳の検索アプリをデプロイできた。 HTML、PHP、CSSとさらにDocker、Laravel などたくさんの項目を、本とYouTubeで学習しながら作成しました。

WEBにデプロイしたので、パソコンやスマホで誰でも何処でも使用できます。

https://ishii-ke.comで新規登録すれば、次回からログインして誰でも使えます。一応簡単なセキュリティ対応はしました。

Excelの香典帳をWebに作りたい

以前、WEB上にある「お悔やみ情報」をスクレイピングして、LINEで送信するPython言語で作った。しかし香典帳はExcelに入っていたので。自宅のパソコンではAccessで検索可能にしたが、外出先やスマホでは検索は無理。

サーバーを操作するため、Linuxが必須ですがWindowsの仮想環境で開始したが、遅いし、その度に仮想環境の起動が必要で、さらに時々フリーズしてしまう。そのため標準のターミナルでLinuxが使えるMacBookのジャンクを先日購入して使えるようにした。(ブログに掲載済み)

Dockerのお勉強

Docker自体が仮想環境だが、軽いし外部に影響を及ぼさないコンテナを使用するため、選択した。

Docker Desktopのインストールからimageとcontainerを作り、その中にphpでプログラムを作成するため、Laravel とその環境構築をDockerのcontainer内部で行った。

意外とDockerとLaravel の組み合わせは本やネットでたくさん出ているので問題ないが、そもそもPHPの知識もないので、意味不明。PHPの本を片手に基礎から開始した。

でも、このまま本の内容を一から勉強してから香典帳アプリの開発を進めると、何年もかかりそうなので、香典帳アプリに最低限必要な知識だけ拾い集めることにした。

Laravel のインストール

Dockerの起動とimageとcontainerの概念をイメージできたところで、LaravelをDocker内部にインストールした。パソコン自体に影響せず、Dockerを停止すると消えてしまう。

Laravel の仕組みは簡単で、route、controller、view、MySQL の4点を押さえれば、大まかな動きは理解できる。今回のアプリはこの辺だけで十分だと思える。

但し、MySQL を構築する所だけは、なかなか上手くいかず、数十回ほどmigrateをやり直している。

GitHub経由でサーバーへデプロイ

Gitは以前ちょこっと勉強したことがあり、復習程度で少しづつ記憶が蘇ってきた。バージョン管理(修正)のためGitを使い、いつでも前の状態に戻れるのは便利。このため、2ヶ月くらいはaddとcommitとpushの繰り返しになっていた。 Git様お世話になりました。

無料枠です。

GitHubからXserverへデプロイ

ここは比較的簡単で、先にドメインをXserverに登録しておいたので、そのドメインへGitHubからクローンしたらすぐに反映した。デプロイ後にXserverのMySQL に接続変更してmigrateしたりエラー詳細をfalseにしたりindex_htmlの変更などあるので、サーバーにssh接続しなければならないが、PCからのssh接続が手間取ってしまった。結果はxserverで作成したKyeをその後に表示される窓にペーストの必要がなかっただけのことだった。わかってしまえば当然。

また、xserverのMySQL へ香典データをimportさせるため、SequelAceをssh接続して、直接流し込んだ。

香典アプリ 初回デプロイで一旦終了

PCとスマホからURLにて接続試験成功!!

新規登録すれば、誰でもばあちゃんの香典帳を検索できる。実は編集と削除ボタンもつくっているが、管理者のみ表示有効となっている。

Laravel welcome画面そのままだったり、日本語化が不十分だったりあるが、ま、とりあえず目的は達成したので、一旦終了とした。

https://ishii-ke.com  ishii-ke.com だけ入力でも出ます。右上ボタンでログイン。初めての方は新規登録してください。

前の画面で、ログインまたは新規登録してから、 検索窓で名目か氏名(あいまい検索)又は両方指定して、検索ボタンを押せば検索できる。(例えば「石井」だけで 検索ボタン)

検索画面上部のログイン中の名前のところをクリックすると、Logout できる。 あとはバッテンで終了!

今回は、PHP のプログラムをxserverにデプロイしただけなので、ホームページらしくカッコ良くするには、PHP 、CSS、JavaScriptなどもっと勉強が必要ですね。

タイトルとURLをコピーしました