LoginSignup
1
4

More than 3 years have passed since last update.

【Laravel】apacheのバーチャルホスト設定

Last updated at Posted at 2019-12-23

ローカル開発環境で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化についての参考記事です。

DNSサーバーの設定をする。

ムームードメインでサブドメインの設定

1.ムームーDNSをクリック

スクリーンショット 2019-12-22 14.02.18.png

2.変更をクリック

スクリーンショット 2019-12-22 14.05.25.png

3.入力

サブドメインにしたい箇所に入力。今回はtodoを追加
※serchは別のサブドメインです。無視してください。

スクリーンショット 2019-12-22 14.06.37.png

VPS側の設定

Webアプリのファイルを準備する。

githubにpushしたリポジトリをクローン(一例です)

$ cd /var/www/html
$ git clone (リポジトリURL)

メインの独自ドメインの設定

メインの独自ドメインはjum11.comとする。

jum11.com用の設定ファイルを作成

$ sudo vi /etc/httpd/conf.d/jum11.com.conf
/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
/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使用する)
.env
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/

メインドメインとサブドメインにアクセスして確認する。

以上です。

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