Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
4
Help us understand the problem. What is going on with this article?
@tokky08

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

More than 1 year has passed since last update.

ローカルで作った掲示板を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

まとめ

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

4
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
tokky08
京都在住の学生エンジニアです()
yowayowa-engineer
弱々エンジニア会とは駆け出しエンジニアやベテランエンジニアまで、弱々から強々まで幅広く集まるコミュニティのエンジニア集団です!!メンバー募集してますので気になる方は、URLよりSlackに参加ください!条件等は特にありません!

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
4
Help us understand the problem. What is going on with this article?