LoginSignup
0
1

More than 5 years have passed since last update.

OctoberCMSをデプロイする

Last updated at Posted at 2016-09-11

概要

独自実装は全くしてませんが、とりあえずデプロイしてみます。
CMSなので、これだけで使えます。

OctoberCMSのドキュメントでは、まっさらなOctoberCMSをサーバなどに直接インストールする方法を説明しています。独自開発を行わずにCMSとしてだけ使用するならば、これでいいですが、OctoberCMSを選択する人ならば、手を加えてデプロイすると思うので、今回はそのメモ。

前提

  • デプロイ先はUbuntu 14
  • デプロイ先のサーバにsshログインできる
  • githubなどにソースコードが上がっている
  • プライベートレポジトリにアップした場合は、アクセス権がありデプロイ先にsshキーを適宜インストール済み
  • webサーバが動いていてPHPが使える
  • デプロイ先にcomposerがインストールされている

また、管理画面はアクセス制限を掛ける必要があるので、SSL(TSL)で通信を暗号化した方がいいですね。こちらに詳細書きました→無料でHTTPS対応!Let’s EncryptでSSL/TSLに対応する
あるいはAWSならばAWS Certificate Managerも使えるかもしれません。

手順概要

  1. git cloneでソースコードをダウンロード
  2. ソースコードの配置とパーミッションの設定
  3. composer installで依存パッケージのインストール
  4. 本番用の.envを配置する
  5. データベースのマイグレーションを実施する

1. ソースコードをダウンロードする

普通にgit cloneします。
$ git clone git@github.com:hogehoge/example-project.git

プライベートレポジトリの場合は、鍵の設定が必要になるので、少しだけ触れておきます。
まず、GitHubにsshの公開鍵をアップしておきます。

で、対応する秘密鍵をデプロイ先の~/.ssh/に配置します。ここではファイル名をid_rsa_hogeとします。

~/.ssh/config
Host github.com:hogehoge
    IdentityFile ~/.ssh/id_rsa_hoge
    User git
    Port 22

これだけだと、まだgit cloneすると"Permission denied"と言われるかもしれません。
そしたら、下記のようにします。

$ eval `ssh-agent`
$ ssh-add ~/.ssh/id_rsa_hoge

これで、上記のgit cloneコマンドでソースコードがダウンロードできると思います。

2. ソースコードの配置とパーミッションの設定

Webサーバにはこのアプリしか配置しないことを前提に説明します(Apacheのvhostなどを設定しないということ)。
プロジェクトディレクトリを/var/www/htmlディレクトリとして配置します。

$ sudo mv /var/www/html /var/www/html_backup
$ sudo mv example-project /var/www/html

Webサーバがソースコードを読み込めてログなどを書き込めるようにパーミッションを変更します。

$ cd /var/www/html
$ sudo chmod a+r *
$ sudo chmod -R a+w storage themes

3. 依存パッケージのインストール

サーバにcomposerが入ってなければ入れます(参考

cloneしたディレクトリで書きを実行します。

$ composer install

これで、composer.lockに記録されたパッケージ類がインストールされます。つまり、ローカルでインストールされているパッケージと同じものが入ります。

ここでも、composerでOctoberCMSを入れた恩恵に預かれますね。

4. 本番用の.envを配置

OctoberCMS 環境別の設定」で作成した本番用の.envを配置します。別名でソースツリーにコミットしていおいたファイルを、コピーして.envにファイル名を変更するだけです。

5. データベースのマイグレーションを実施

自分のコードをデプロする場合、OctoberCMSのインストーラを使用しません。インストーラはCMSで最低限必要なDBテーブルを作成してくれますが、今回は自分で実行します。簡単なコマンドで一発です。

$ php artisan october:up

以上で、デプロイは完了です。管理画面にアクセスして見てください。

管理画面のパスは/backendなので、こんな↓感じです。
http://your-domain.com/backend/

デフォルトの管理者ID/パスワードは、admin/adminだったと思います。

0
1
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
0
1