情弱エンジニアのなかのblog

一人前のエンジニアになる為のブログです

サーバーを借りてアップロードするまでの流れ(LOLIPOP編)

制作したアプリを公開しましょう!

現在制作中のアプリをサーバーを借りてアップしたのですが アップするまでに色々と苦労したので手順などを記載致します。

ちなみにアプリはCakePHPで制作していまして、DBの接続などでつまずくこともあったので 同じような状況の方がいたら参考にしていただければ幸いです。

1.サーバーを借りる

まずはサーバーを借りるところから始まります。 今回私はロリポップ!というサービスのレンタルサーバーを使いました。

ロリポップ!レンタルサーバー |今だけ初期費用無料キャンペーン中!

プランは エコノミー、ライト、スタンダード、エンタープライズ、の4種類があり 料金や使える機能、容量に差があります。 個人利用ならスタンダードまでで十分だと思います。

とりあえずお手軽なライトプランを申し込みました。 契約自体は時間がかからず、契約後10分とたたずにサーバーを使えるようになりました。

早速FTPPuttyを繋いで、利用しようと思ったらSSHで繋げることが出来ませんでした。

原因は単純でSSHを使うにはスタンダードプランにする必要があるとのことでした。 もう契約しちゃった後なのでどうしようかと思ったのですが、契約後のプランの変更が出来たので スタンダードプランに変更しました。

2.CakePHPをアップする

FTPを使ってアプリをまるまるサーバーにアップしました。 この状態でアプリのURLをおすと

f:id:nonaka-katuma-hal:20170718191314j:plain

CakePHP is NOT able to connect to the database.

Database connection "Mysql" is missing, or could not be created.
SQLSTATE[HY000] [2002] No such file or directory

などと「CakePHPはDBに接続していない」という意味のエラーが出ると思うので まずはDBの準備をしましょう。

ロリポップの管理画面からDBを製作する画面があるのでそちらからDBを作ります。 管理画面からサーバー名、アカウント名、パスワードなど必要な情報を確認できるので App/Config/database.phpの public $default の中身を編集してください。

これでDBをつなぐ事が出来たかと思います。 DB接続に関して以下のサイトを参考に致しました。

CakePHP のデータベースの作成と接続設定 - PHP入門 - Webkaru

3.Migrationsを使う

アプリにMigrationsを実装しておくとDBをいちいち作らなくて済むので便利です。 Migrationsを使うのでPuttyを開き、 「./Console/cake Migrations.migration status」を実行してMigrationsを使えるかどうか確認しようとすると

Error: Plugin Migrations could not be found.

と出てしまいました。

解決方法としましては、まずapp/Plugin に「Migration」と「Schema」フォルダが入っているか、中にDBのデータを記載したファイルがあるか確認します。

次にBootstrapを使っている場合はapp/Config/bootstrap.php

CakePlugin::load(array('TwitterBootstrap' , 'Migrations'));

を記入しているか確認します。 これらをしてもう一度./Console/cake Migrations.migration statusをするとMigrationsを使うことができると思います。

まずはこれでCakePHPのアプリを起動出来るかと思います。

またサーバー周りで何かあれば記載致します。 それでは