PHP 웹 사이트 호스팅 이전하기

본 포스팅은 그린컴퓨터아카데미에서 진행되는 “PHP” 과목의 NCS 보조 학습 교재로 활용되기 위해서 작성되었습니다.
ITPAPER 멤버의 수업 교재 활용 이외에 이 포스팅에 대한 어떠한 방식의 2차 활용도 허용하지 않습니다.


NCS 분류 정보통신 > 응용SW엔지니어링 > 정보기술 > 정보기술개발
능력단위 제품 소프트웨어 패키징
학습모듈명 제품 소프트웨어 패키징

Web 기반의 소프트웨어는 고객이 지정한 서버에 소프트웨어를 설치하여 웹 브라우저를 통해서 정상적인 접속이 가능한 형태로 배포해야 합니다. 이 포스팅에서는 고객이 제시하는 서버를 가정하여 웹 호스팅을 신청하는 과정에 대해서 소개합니다.


1. 웹 호스팅 신청하기

현재 JSP 호스팅을 제공하는 호스팅 업체는 많지 않습니다. 그 이유는 JSP를 구동하기 위한 비용이 PHP보다 상대적으로 높기 때문에 웹 호스팅보다는 직접 서버를 운영하는 쪽을 더 선호하기 때문입니다. 웹 호스팅 업체들 중에서 Cafe24가 단독 서버 형태의 호스팅을 안정적으로 제공해 주고 있습니다.

1) 웹 호스팅 종류 선택하기

cafe24에 접속하여 “10G 광호스팅”을 선택합니다.

 

2) 서비스 종류 선택

서비스 종류는 해당 사이트의 일 평균 접속자를 산정하여 선택해야 합니다. 사용자 한명이 접근하게 될 페이지가 소비하는 컨텐츠의 용량만큼 통신이 발생하게 되는데, 이 때의 통신량을 트래픽이라고 합니다. 웹 호스팅의 경우 일일 트래픽 제한을 걸고 있기 때문에 이 트래픽이 모두 소모되면 다음날까지 사이트가 폐쇄됩니다.

개발한 서비스가 어느정도의 트래픽을 소비할지 예측을 한 후에 적절한 종류를 선택하면 됩니다. 학습을 목적으로 하는 경우 첨부파일(이미지)의 양이 많다면 일반형, 그렇지 않은 경우 절약형을 선택하면 적절합니다.

 

3) 서버 접속 비밀번호 지정하기

호스팅 신청 과정에서 FTP, Telnet, MySQL에 접근하기 위한 비밀번호를 설정하도록 되어 있습니다. cafe24 사이트의 비밀번호와는 다른 개념이며, 이 비밀번호는 반드시 잘 보관해야 합니다.

 

4) 서버 환경 설정하기

PHP는 사용된 버전에 따라서 소스코드의 일부가 호환되지 않을 수 있습니다. 따라서 수업에서 사용된 버전(PHP7) 버전을 선택하도록 합니다. mariadb의 경우 MySQL과 호환이 되므로 걱정하지 않아도 됩니다.

도메인은 나만의 사이트 주소를 갖고자 하는 경우에만 신청합니다. 별도로 신청하지 않더라도 기본 주소가 제공되므로 사이트에 접속하는데 무리는 없습니다. 도메인은 년단위 임대의 개념이며 비용이 발생합니다.

 

5) 이후 신청 과정 진행과 셋팅 알림 메일 확인

이 이후 신청한 내역에 대한 결제가 진행됩니다. 신용카드나 휴대폰등으로 결제할 수 있습니다. 결제가 완료된 후에는 약 4~12시간 정도의 셋팅 시간이 필요합니다. 셋팅이 완료되면 신청시에 입력한 메일로 셋팅 알림 메일이 발송됩니다. 알림 메일을 수신한 후 부터 정상적으로 웹 호스팅을 사용할 수 있게 됩니다.

 


 

2. 데이터베이스 이전하기

1) 데이터베이스 백업 받기

MySQL 콘솔을 열어서 mysqldump 명령을 사용하여 작업중이던 데이터베이스를 백업합니다.

mysqldump -uroot -p –database 데이터베이스이름 > 백업될파일명

 

2) 백업된 파일 확인 및 수정

백업된 파일을 Sublime Text와 같은 텍스트 편집기로 열어서 확인해 보면, 작업중에 사용하던 데이터베이스 이름(mysite)로 되어 있는 것을 확인할 수 있습니다.

웹 호스팅은 이용자에게 CREATE DATABASE 구문에 대한 권한을 부여하지 않습니다. 대신 이용자의 사이트 아이디와 동일한 이름의 데이터베이스를 생성해 줍니다. 만약 itpaper3217이라는 이름으로 cafe24에 가입했다면 이미 itpaper3217이라는 데이터베이스가 생성되어 있는 것 입니다. 우리는 이 데이터베이스를 사용하면 됩니다.

백업받은 파일에서 권한이 부여되지 않은 CREATE DATABASE 구문은 삭제하고, 데이터베이스를 변경하는 USE구문에서는 cafe24 아이디를 사용하여 데이터베이스 이름을 수정합니다.

 

3) MYSQL 웹 어드민 접속하기

Cafe24에 로그인을 하면 “나의 호스팅 관리”라는 페이지를 제공받습니다. 이 페이지의 왼쪽 메뉴에서 하단을 확인해 보면 “MySQL 웹어드민”이라는 메뉴가 제공됩니다. 이 메뉴는 웹 상에서 MySQL에 접속할 수 있는 기능을 제공해 줍니다.

 

메뉴를 선택하면 아래와 같이 “접속하기” 버튼이 표시됩니다. 이 버튼을 누르면 팝업창 형태로 프로그램이 실행됩니다.

 

자신의 MySQL 계정 정보를 입력하여 로그인 합니다. 사용자명은 자신의 CAFE24 아이디이고, 비밀번호는 웹 호스팅 신청시 결제 전 단계에서 설정한 MySQL, FTP 비밀번호 입니다.

 

4) 데이터베이스 복구하기

로그인 후 왼쪽의 메뉴를 확인하면 자신에게 사용권한이 부여된 데이터베이스 목록이 표시됩니다. 이 중에서 자신의  cafe24 아이디와 동일한 데이터베이스가 우리가 사용할 항목입니다. 이 항목을 클릭합니다.

 

페이지 이동 후 “import” 메뉴를 클릭하고 “File to import” 영역에서 백업해 놓은 파일을 지정하여 업로드 합니다. 화면 하단의 “실행” 버튼을 클릭하면 데이터베이스 복구가 진행됩니다.

 

복구가 완료되면 테이블과 데이터가 잘 이전되었는지 확인합니다.

 


 

 

3. 소스코드 수정하기

cafe24의 경우 수업에서 사용된 “mysql_fetch_all” 함수를 지원하지 않기 때문에 db_helper.php에 약간의 내용이 추가되어야 합니다. 다음의 소스코드를 db_helper.php의 맨 마지막에 추가합니다.

 


 

4. FTP를 통한 파일 업로드

http://filezila-project.org 사이트에서 FileZila Client를 내려받습니다. 통칭 FTP라고 불리우는 프로그램입니다. FTP는 호스팅 서버에 파일 업로드를 수행합니다.

2017-03-31_17-49-48

프로그램 설치가 완료된 후 내려받은 프로그램을 실행하면 화면의 왼쪽 상단에 아래와 같이 표시됩니다. 이 화면에서 다음과 같이 입력하고 오른쪽의 “빠른연결” 버튼을 클릭합니다.

  • 호스트 = 자신의 도메인주소 (ex: itpaper3217.cafe24.com)
  • 사용자명 = cafe24 아이디
  • 비밀번호 = FTP 비밀번호(DB비밀번호와 동일)
  • 포트 = 21

2017-03-31_17-53-25

FTP에 접속이 되고나면 화면의 오른쪽에 서버의 디렉토리 구조가 표시됩니다. 서버에서 “/www” 경로로 이동하고, 만들어 둔 소스파일들을 끌어 넣으면 업로드가 진행됩니다.

 


 

5. 디렉토리 퍼미션 설정하기

호스팅 서버들은 대부분 리눅스 운영체제 환경을 제공합니다. 리눅스 환경에서는 웹에서 생성되는 파일들이 저장될 폴더에 쓰기 권한을 부여하지 않으면 파일 생성이 되지 않습니다.

FileZila에서 _compile과 files 폴더를 마우스로 우클릭하여 “파일권한”메뉴를 선택합니다.

권한 설정 화면이 표시되면 아래와 같이 쓰기 권한을 모든 하위 폴더/파일들까지 설정해 줍니다.

반드시 이 작업을 _compile 폴더와 files 폴더 두 곳에 대해서 모두 수행해야 합니다.

 

 


6. 결과 확인

완성된 웹 사이트는 다음의 URL을 통해서 확인할 수 있습니다.

http://itpaper.co.kr/demo/mysite

 

 

 

댓글 남기기