ローカル開発環境でlaravelで作成したwebアプリをVPSでデプロイするまでの流れを書きます。
##前提条件
- githubにwebアプリをpush済み
- conohaのvpsサーバー
- webサーバー:apache
- DNSサーバー:ムームードメイン
- サーバーサイド言語:PHP(Laravel)
- メインドメイン名:jum11.com
- サブドメイン名:todo.jum11.com
- メインドメインのDocumentRootは/var/www/html/(app名)/public
- サブドメインのDocumentRootは/var/www/html/(app名)/public
※1.(app名)は自身のファイル名をいれてください。
###apacheのvirtualhost化についての参考記事です。
https://weblabo.oscasierra.net/apache24-centos7-virtualhost/
#DNSサーバーの設定をする。
##ムームードメインでサブドメインの設定
1.ムームーDNSをクリック
2.変更をクリック
3.入力
サブドメインにしたい箇所に入力。今回はtodoを追加
※serchは別のサブドメインです。無視してください。
#VPS側の設定
#Webアプリのファイルを準備する。
##githubにpushしたリポジトリをクローン(一例です)
$ cd /var/www/html
$ git clone (リポジトリURL)
##メインの独自ドメインの設定
メインの独自ドメインはjum11.comとする。
##jum11.com用の設定ファイルを作成
$ sudo vi /etc/httpd/conf.d/jum11.com.conf
<VirtualHost *:80>
ServerName jum11.com
DocumentRoot "/var/www/html/(app名)/public"
DirectoryIndex index.html index.php
ErrorLog /var/log/httpd/jum11.com_error_log
CustomLog /var/log/httpd/jum11.com_access_log combined
AddDefaultCharset UTF-8
<Directory "/var/www/html/(app名)/public">
AllowOverride All
</Directory>
</VirtualHost>
###解説
ServerNameは独自ドメインを設定、今回はjum11.com
DocumentRootは
#virtualhostの有効化
$ sudo vi /etc/httpd/conf/httpd.conf
##Listenの下に追加
Listen 80
+ NameVirtualHost *:80
この記載で複数のドメインを使いますよと宣言する。
#サブドメインの設定ファイルを作成
##todo.jum11.com用の設定ファイルを作成
今回はサブドメインをtodo.jum11.comとする。
$ sudo vi /etc/httpd/conf.d/todo.jum11.com.conf
<VirtualHost *:80>
ServerName jum11.com
DocumentRoot "/var/www/html/(app名)/public"
DirectoryIndex index.html index.php
ErrorLog /var/log/httpd/todo.jum11.com_error_log
CustomLog /var/log/httpd/todo.jum11.com_access_log combined
AddDefaultCharset UTF-8
<Directory "/var/www/html/(app名)/public">
AllowOverride All
</Directory>
</VirtualHost>
##apachを再起動
$ sudo systemctl restart httpd.service
#Laravel側の設定を実施
##公開するファイルに移動する。
$ cd 移動先
##composerインストール
$ composer install
##.envファイルの設定
- envファイルの作成(gitではenvファイルは対象外となるため
- APP_KEYの設定(ローカルで作成したKEYをそのままコピー)
- databaseの設定(sqlite3w使用する)
APP_NAME=Laravel
APP_ENV=local
+ APP_KEY=ここに書く
APP_DEBUG=true
APP_URL=http://localhost
+ DB_CONNECTION=sqlite
- DB_HOST=127.0.0.1
- DB_PORT=3306
- DB_DATABASE=homestead
- DB_USERNAME=homestead
- DB_PASSWORD=secret
##databaseファイルの作成
$ touch database/database.sqlite
##migrationの実施
$ php artisan migrate
##seederの実行(必要に応じて)
$ php artisan db:seed
##権限関連を修正
$ sudo chmod -R 777 storage/
$ sudo chmod -R 777 bootstrap/cache/
##データベースに書き込む場合は(必要に応じて)
$ sudo chmod -R 777 database/
#メインドメインとサブドメインにアクセスして確認する。
以上です。