【Laravel】apache의 가상 호스트 설정

4204 단어 centos8아파치
로컬 개발 환경에서 laravel로 만든 웹 앱을 VPS로 배포하기 전까지의 흐름을 씁니다.

전제 조건


  • github에 웹 앱을 pushed
  • conoha vps 서버
  • 웹 서버: apache
  • DNS 서버: 무무 도메인
  • 서버측 언어: PHP(Laravel)
  • 메인 도메인명:jum11.com
  • 서브 도메인명:todo.jum11.com
  • 메인 도메인의 DocumentRoot는/var/www/html/(app명)/public
  • 하위 도메인의 DocumentRoot는/var/www/html/(appname)/public

  • ※1.(app명)은 자신의 파일명을 넣어 주세요.

    apache의 virtualhost화에 대한 참고 기사입니다.



    DNS 서버를 설정합니다.



    무무 도메인에서 하위 도메인 설정



    1. 무무 DNS를 클릭



    2. 변경을 클릭



    3. 입력

    하위 도메인을 원하는 위치에 입력. 이번에는 tot 추가
    ※serch는 다른 서브 도메인입니다. 무시하십시오.



    VPS 측 설정



    웹 앱 파일을 준비합니다.



    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>
    

    아파치 재부팅


    $ 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/
    

    주 도메인과 하위 도메인에 액세스하여 확인합니다.



    이상입니다.

    좋은 웹페이지 즐겨찾기