LoginSignup
9
5

More than 3 years have passed since last update.

PHP/MySQLを使った掲示板をherokuでデプロイする流れ

Posted at

ローカルで作った掲示板をheorkuに移行する際、めちゃくちゃ苦戦したのでまとめておきます。

手順

1. herokuに登録する

ここで、登録はクレジットカードの登録もしなければなりません。
クレジットカード登録ができなければMySQLを使うことができませんでした。
デビットカードでもできると思いますが、三井住友銀行のデビットでは無理でした。
楽天のデビットで登録しました。

2. heroku CLIをインストールする

https://devcenter.heroku.com/articles/heroku-cli
正直これは僕もよくわからなかったので、このサイトの手順通りにやっていったら大丈夫だと思います()
これでherokuのコマンドが使えるようになるはずです?

3. アプリを作成

$ heroku login

ここでアプリのファイルがまとまっているルートディレクトリに移動してください。git管理するイメージです。

$ heroku create アプリ名

アプリ名の指定がなければ自動で割り当てられます。
また、アプリ名は、小文字の英字と数字とハイフンのみで作成してください。それ以外を使った場合エラーが出るはずです。

4. composer

$ touch composer.json
composer.json
{
    "require": {
      "php": "~7.0",
      "ext-mbstring": "*"
    }
 }
$ curl -sS https://getcomposer.org/installer | php
$ mv composer.phar /usr/local/bin/composer
$ composer -v
$ composer install

この手順通りやればいいはず??
https://qiita.com/nanshi99/items/baad35db1d1cde1fdba2
この記事を参考にしています。

5. ClearDBの設定

$ heroku addons:add cleardb:ignite --app 3で作ったアプリ名
$ heroku config --app 3で作ったアプリ名
mysql://ユーザー名:パスワード@ホストネーム/データベース名?reconnect=true

configコマンドで出てきた

  • ユーザー名
  • パスワード
  • ホストネーム
  • データベース名

にコードを書き換える
また、これらを使って下記コマンドを打つことで、DB内に入ることができる。

$ mysql -u[USERNAME] -p[PASSWORD] -h[HOSTNAME] -D [DATABASE]

次にDBのテーブル設計を行う。

mysql> create table テーブル名(id int, view_name varchar(100));

idにプライマリーを追加

mysql> ALTER TABLE table_name ADD PRIMARY KEY(id);

idにオウトインクリメントを追加

mysql> ALTER TABLE table_name CHANGE id id int(11) AUTO_INCREMENT;

これにてDB設計終わり!

6. gitの準備

GitHubで新しいリポジトリを作成してください。

$ git init
$ git remote add origin URL(リモートリポジトリ)
$ git add .
$ git commit -m "first commit"
$ git push origin master

7. GitHubとherokuを連携させる

  • herokuにアクセスする
  • Dashboardをクリックして3で作成したアプリを開く
  • Deployをクリックし、Deployment methodの欄をGitHubに変更する
  • Connect to GitHubをクリックする
  • Authorize herokuをクリックする
  • repo-nameに6で作成したリポジトリ名を入力してSearchをクリックする
  • Connectをクリックする
  • Automatic deploysとManual deployの欄があれば完成です
  • Manual deploy欄のDeploy Branchをクリックする
  • Viewをクリックする

この流れで自分が作ったサービスが全世界に発信できました。

https://qiita.com/sho7650/items/ebd87c5dc2c4c7abb8f0
この記事を参考にしました。

参考記事

https://qiita.com/nanshi99/items/baad35db1d1cde1fdba2
https://qiita.com/yutaono/items/34bdc9383ce5870e7b8b
https://qiita.com/tsuzuki557/items/7244b23d86364ace06bd
https://qiita.com/sho7650/items/ebd87c5dc2c4c7abb8f0
http://www.ownway.info/Ruby/heroku/how/management/database/cleardb
https://tutorialmore.com/questions-61774.htm

まとめ

サーバーサイド難しい!!!
クレジットカードの登録から詰まったのでめちゃくちゃ苦戦しましたが、なんとか一人で掲示板を作成してからサーバーにあげるまで一通りできたのですごい達成感です。
流れとしては、この記事の通りやってもらったらできるはずです。
何か間違い等あればご指摘お願いします。

9
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
5