【Laravel】Apache虚拟主机配置
以下是在本地开发环境中使用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
请在此处输入应用程序的文件名。(请在这里填入应用程序的文件名。)
这是有关Apache虚拟主机配置的参考文章。
配置DNS服务器。
在MooMoo域名平台上设置子域名。
点击MooMoo DNS

点击更改。

3. 输入
请在要创建子域的位置输入。这一次我们要添加”todo”子域。
※请忽略”serch”,它是另一个子域。

VPS的配置设置
准备网络应用程序的文件。
将已经推送至github的存储库进行克隆(以下是一个示例)。
$ 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>
讲解或解释
指定したディレクトリのパスを指します。今回は/var/www/htmlです。
启用虚拟主机
$ sudo vi /etc/httpd/conf/httpd.conf
在”听”的下方添加
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>
重新启动Apache。
$ 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
创建数据库文件
$ touch database/database.sqlite
迁移的执行
$ php artisan migrate
根据需要执行seeder。
$ php artisan db:seed
修改权限相关
$ sudo chmod -R 777 storage/
$ sudo chmod -R 777 bootstrap/cache/
如果需要将数据写入数据库(根据需要)
$ sudo chmod -R 777 database/
访问主域名和子域名以进行确认。
就是这样。