エリゴノミスタイル

WEB関係の記事多めです

【第三回】初心者がWEBアプリを公開しつつ作成するよ!

f:id:xaochanx:20180614030516j:plain

制作中のWEBアプリ → 「おとぺた」
サイトURL → http://otopeta.com

概要はこちらから
aochan-blogs.hatenablog.com


前回は取得したドメインに対してネームサーバーの設定までして力尽きました。

aochan-blogs.hatenablog.com

今回はCakePHPをインストールしていきます。

こちらの記事を参考にインストールしました。ありがたや。
prog.bged.info

何気にはまったのはインストールする前にルートディレクトリを空にしておかなくちゃいけない点。
ルートディレクトリを空にした状態で以下の通りに進めていきます。

①コンポーザーを取り込む

 $curl -s https://getcomposer.org/installer | /usr/bin/php7.1 
$php composer.phar


②composer.pharがルートディレクトリに作成されたのを確認したら、
composer.json のファイルを新規に作成し、ファイル内に以下を記述する。

{
"require": {
"monolog/monolog": "1.0.*"
}
}


③compserのインストールとアップデートを行う

$ /usr/bin/php7.1 composer.phar install
$ /usr/bin/php7.1 composer.phar update


④CakePHP3をインストールする

$ /usr/bin/php7.1 composer.phar create-project --prefer-dist cakephp/app

これでCakePHP3がインストールできました。
appフォルダが新たに作成されていることをしっかり確認。

だけどもこのままURLにアクセスしても403エラーが表示されます。

そこでルートディレクトリに.htaccessを新規に作成し、作成したファイルに以下の内容を記述します。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !/app
RewriteRule ^(.*)$ app/$1 [L]
</IfModule>

恐らくですが、.htaccessに上記の記述をしないと、URLにアクセスした際サーバーはルートディレクトリのindexファイルを参照しようとします。
ですが、冒頭でルートディレクトリはいったん空にしたので、参照するデータがありませんよってことで403エラーが表示されるのだと思います。
なので、URLにアクセスした際はappフォルダ内を参照してくださいっていうことを.htaccessに記載することで、サーバー側へ指示しているのだと思います。

.htaccessを作成後に再度アクセスすると下の画面が表示されます。
めでたしめでたし。

f:id:xaochanx:20180614013436p:plain


ですが、まだデータベースとの接続が出来ていないので、
Databaseの項目のところで「CakePHP is NOT able to connect to the database.」とエラーが表示されてます。

ので、データベースを作成してCakePHPと接続していきます。

データベースは以下のようなイメージで作成していきたいと思います。

f:id:xaochanx:20180614021029j:plain

DiscテーブルはCDのジャケット画像を扱うテーブルですが、
これについては当初、ユーザーが自由に画像を設定して表示できるようにしようかなと考えていました。
なので、Musicテーブル内の情報として扱おうと思っていたのですが、
もし本当のCDのジャケット画像を使用したとしたら著作権的には大丈夫なのかなという不安がありました。

そこで、ジャケット画像についてはテンプレートを数種類用意してその中から設定してもらおうということにしました。

こっちの方が見た目にも統一感が出て良いんじゃないかと。おしゃれなんじゃないかと。

そんな理由がありまして、別途Discテーブルを作成してそこに設定可能なジャケット画像の情報を格納しようかなと。

まあそんな感じです。

牛歩並みの進行具合ですが今日はここまで。

制作中のWEBアプリ → 「おとぺた」
途中経過 → http://otopeta.com