코드이그나이터4 호스팅 배포하기 - 1 - 로컬에서 확인하기

고은연·2021년 10월 29일
0

배포하기

배포란?

배포란 우리 컴퓨터에 있는 소스코드를 누구나 볼 수 있는 인터넷 공간에 올려서 사용자들이 접속해볼 수 있게 하는 겁니다.
빠른 배포가 스타트업을 살게 하죠. 1차 MVP 버전 개발이 완료되었으므로 웹서버에 배포해 보겠습니다.
사실 PHP는 배포라고 부를만한 것이 별로 없습니다. 자바처럼 빌드가 필요한 것도 아니고, 장고, NodeJS, 루비 온 레일즈처럼 웹서버와 연동하기 위해 복잡한 절차가 필요한 것도 아닙니다. 그저 웹 루트에 가져다 두면 작동하죠.

로컬 웹 서버에서 확인하기

소스파일 복사하기

우선 로컬 웹 서버에서 잘 작동하는지 확인해 봅시다. 대부분의 PHP 프로그램은 아파치를 사용하기 때문에 아파치를 이용하는 방법을 알아보겠습니다.
우리는 이미 MySQL과 PHP를 이용하기 위해 XAMPP를 설치했습니다. 운 좋게도 XAMPP에는 아파치도 들어있네요. XAMPP Control Panel을 열고 Explorer 버튼을 클릭해 봅시다.

XAMPP가 설치된 경로로 탐색기가 열립니다. xampp 설치 경로/htdocs/ 아래에
sample 디렉토리를 생성하고 프로젝트 파일을 모두 복사합니다. 단 . 으로 시작하는 디렉토리들(.git, .github, .idea) 은 복사할 필요 없습니다.
이제 xampp 설치 경로/htdocs/sample 아래에 .env 파일이 보일 겁니다.

DocumentRoot 설정하기

이번에는 웹서버의 DocumentRoot를 설정할 차례입니다. DocumentRoot는 웹서버가 읽어야 하는 소스코드가 있는 위치를 나타냅니다.
XAMPP Control Panel에서 ApacheConfig 항목을 클릭하고 Apache (httpd.conf) 를 누릅니다. 혹은 xampp 설치경로/apache/conf/httpd.conf 파일을 다른 편집기로 열어도 상관없습니다. 아래 이미지는 vscode로 열어본 것입니다.

Ctrl + FDocumentRoot를 찾습니다. 아무것도 수정하지 않았다면 252라인에 있습니다.

DocumentRoot "D:/programs/xampp_73/htdocs"
<Directory "D:/programs/xampp_73/htdocs">

당연히 D:/programs/xampp_73 디렉토리는 사용자마다 다르므로 본인의 환경에 따라 달라집니다.

아래처럼 우리가 파일을 복사한 디렉토리로 바꿉니다. 기존의 경로에 /sample/public만 붙이면 됩니다.

DocumentRoot "D:/programs/xampp_73/htdocs/sample/public"
<Directory "D:/programs/xampp_73/htdocs/sample/public">

DocumentRoot.env 파일이 있는 프로젝트 루트가 아니라 public 디렉토리임을 유의하세요. 모던 php는 실제 파일은 웹서버가 접근할 수 없는 곳에 두고 꼭 필요한 프론트 컨트롤러와 정적 자원만 public 디렉토리에 둠으로써 코드를 보안 위협에서 한단계 벗어나게 합니다.

설정이 끝났습니다. XAMPP에서 아파치를 멈췄다가 다시 시작하세요.

  • 우선 멈추고
  • 다시 시작 버튼을 눌러서
  • stop 글자가 보이게 합니다.

http://localhost/post에 접속해서 글 목록이 잘 나오는지 확인해요.

코드이그나이터4 환경 설정 파일 수정하기

우리는 spark를 이용해서 개발을 진행했기 때문에 8080 포트를 사용했었는데, 아파치는 http 기본 포트인 80 포트를 사용합니다. 따라서 코드이그나이터4의 환경 파일을 수정하겠습니다. xampp 설치 경로/htdocs/sample/.env 파일을 편집기로 열어주세요.
.env

app.baseURL = 'http://localhost'

http는 80포트가 기본이기 때문에 :80을 붙일 필요는 없으므로 제거합니다.

profile
중년 아저씨. 10 + n년차 백엔드 개발자. 스타트업과 창업, 솔로프리너와 1인 기업에 관심 많아요.

0개의 댓글