오늘은 php를 단시간에 습득하고 실제 운영까지 해볼 수 있도록 셋팅하는 것이 목표입니다. 이를 수행하기 위한 계획과 과정들을 상세히 정리해보고자 합니다.
프로젝트 시작 전 알고가기
- php를 사용하는 이유
- php는 인터프리터 언어로 tomcat 같은 WAS가 굳이 필요하지 않다.
- cafe24 배포시 /www/폴더 하위에 index.html파일 및 별도의 파일들을 셋팅하면 호스팅 끝
- Cafe24에 설치하기
- cafe24는 PHP 7.4, 7.3, 7.0, 5.5 버전을 지원한다. 이 중 가장 최신 버전인 7.4가 글로벌에서도 인기가 많다고 한다.
- php에서 가장 유명한 프레임워크로는 라라벨과 코드이그나이터가 있다.
PHP의 프레임워크
라라벨(Laravel)
- 대규모 프로젝트에 적합하다.
- 웹에 필요한 기능등을 구현하기 편리하다.
- MVC 패턴으로 개발할 수 있다.
- 경량화 버전으로 루벨이 있다
- 일반적이다.
- 커뮤니티 https://laracasts.com/ , https://laravel.io/
- 패키지 매니저로는 composer가 있다.
- npm을 사용할 수 있다.
장점
- 메모리의 사용량을 최소화하여 사이트를 구현할 수 있습니다.
- 개발이 편리하다
- 보안을 구현하기 쉽다.
- 데이터베이스 관리가 쉽다.
- 커뮤니티가 활성화 되어 있다.
- .env파일로 환경설정 할 수 있다.
- Artisan을 사용하여 모델, 컨트롤러, 데이트베이스 마이그레션 등 다양한 파일을 자동생성 할 수 있다.
- LaonBoard를 사용하면 게시판 구축이 빠르다. (<-> CI에서는 CI Board)
단점
- 프레임워크의 규모가 커서 학습 시간이 상당하다.
- 다른 프레임워크에 비해 느리다.
- namespace를 지원하지 않아서 동일한 클래스명을 생성할 수 없다.
코드이그나이터(Codeigniter)
- 오랫동안 많이 사용되어 온 프레임워크 중 하나
- 줄여서 CI라고 하기도 한다.
- 커뮤니티 : https://www.cikorea.net/
장점
- 경량화 되어 있어 초기 설치 및 구성이 쉽다.
- 높은 속도와 성능을 보장한다.
- 광범위한 라이브러리 플러그인 존재
- 마음대로 코딩할 수 있다.
- CI Board( http://www.ciboard.co.kr/ )를 활용하면 게시판 구현이 쉽다. (<-> 라라벨에서는 LaonBoard)
- 일반 게시판 뿐만아니라 관리자 모드도 지원한다.
- 지금은 그누보드에 인수되었다.
단점
- 대규모 프로젝트의경우, 확정성과 유지보수가 어려울 수 있다.
- 기본기능 이외에는 추가적인 작업이 필요하다.
- 라라벨과 비교하면 커뮤니티 및 개발 활동이 상대적으로 적다.
- 직접 개발한 사람이 아니면 코드를 알아보기 어렵다.
참조
https://ton-ton.tistory.com/96
https://blog.cordelia273.space/4
라라벨을 이용하여 배포하려 했으나 로컬 설치를 해도, 데모사이트를 들어가봐도 에러가 발생하고 있어서 그누보드로 변경하였습니다. 그누보드는 나중에 다시 설명하도록 하고 그냥 이러한 프레임워크가 있다는 것만 알고 넘어가자구요!
개발 환경 설정
최종 결정된 개발환경은 아래와 같습니다.
개발 환경 구분 | 선정된 환경 | 선정 이유 |
호스팅 | XAMPP(로컬) , Cafe24 광아우토반 일반형(운영) |
Cafe24가 경제적이다. 초기 설치비 5,000원 월 이용료 1,100원. 기본 웹보안을 제공받을 수 있다. XAMPP를 사용하면 php호스팅을 위한 모든 환경을 한번에 다운로드 받을 수 있다. |
데이터 베이스 | mariaDB !0.0.x | Cafe24에서는 지정된 데이터베이스와 버전을 사용해야한다. |
PHP 버전 | 7.4 | Cafe24에서 지원하는 버전 중, 가장 사랑받는 버전이다. |
도메인 | - | 도메인은 cafe24에서 무료 제공하는 도메인 사용 예정 |
무료 게시판 소스 | 그누보드 | 그누보드5와 워드프레스는 Cafe24에서 자동설치를 지원해좁니다. 하지만! 직접 설치하여 배포하는 것이 목적이므로 자동설치 하지 않고 진행해보겠습니다. |
AWS나 가비아도 유명하지만 Cafe24를 사용하는 이유는 경제적이고 서버보안지식이 없어도 서버를 안전하게 보호 할 수 있다는 점 입니다. 덕분에 구매 후 간단한 데이터베이스 셋팅을 하고 배포를 하면 되기 때문에 빠르게 사이트를 배포할 수 있습니다. 하지만 이 부분이 웹보안이 가능하다는 것은 아니기 때문에 시큐어 코딩을 통해서 사이트 보안을 유지해야합니다.
cafe24 광아우토반 일반형 자세한 내용 확인 > https://hosting.cafe24.com/?controller=new_product_page&page=autobahn#detail-compare
로컬환경 설정
XAMPP 설치
https://www.apachefriends.org/download.html
XAMPP란
PHP를 사용하기 위해 기본 환경셋팅을 제공하는 XAMPP가 있습니다. XAMPP는 웹서버 솔루션 패키지 입니다. XAMPP 설치 시 아래의 프로그램들도 함께 다운로드 되며, XAMPP로 한번에 관리할 수 있습니다. 이 프로그램은 로컬에서 어플리케이션을 테스트하기 위한 용도로 많이 사용합니다.
X : 크로스 플랫폼
A : Apache24
M : MariaDB
P : php
P : Perl
XAMPP 다운로드
More Downloads 클릭하셔서 다운로드페이지로 이동합니다.
저는 Window용 7.4.33버전을 portable zip파일로 다운받았습니다.
압축파일을 C:하위에 풀어주세요.
XAMPP 실행
xampp/xampp-colorl.exe 파일을 관리자 권한으로 실행합니다.
Apahce Start버튼을 눌러 Apache를 실행합니다.
오른쪽처럼 Apache가 초록색 배경으로 변하고, 상태가 running으로 바뀌면 정상적으로 실행된 것입니다.
오류가 발생하면 c:/xampp경로가 맞는지 확인해주세요. 설정파일에 기본경로가 C:/xampp로되어 있어서, 다른 경로에서는 정상적으로 실행되지 않을 수 있습니다.
브라우저에서 http://localhost 또는 https://localhost로 들어가보세요 자가서명 인증서도 들어있어서 로컬에서도 https연결도 할 수 있습니다.
그누보드 호스팅 설정
Apache > Config > Apache(httpd.conf)를 클릭하여 httpd.conf파일을 열어주세요.
apache의 기본 설정파일입니다.
DocumentRoot에 호스팅할 root폴더를 지정해주겠습니다. 저는 gnuboard5.5.10과 같이 지정하고, 이 폴더에 그누보드 소스파일을 올려둘 예정입니다.
변경 전
DocumentRoot "/xampp/htdocs"
<Directory "/xampp/htdocs">
변경 후
DocumentRoot "/xampp/htdocs/gnuboard5.5.10"
<Directory "/xampp/htdocs/gnuboard5.5.10">
이제 C:/xampp/htdocs/gnuboard5.5.10폴더를 만들어주고, 여기에 테스트로 index.php파일을 올려두고 테스트해보겠습니다.
index.php
<?php
echo "Hello world"
?>
이와같이 표시되면 정상적으로 연결된 것입니다.
그누보드 설치하기
먼저 테스트로 올려두었던 index.php파일을 지워주세요!
그누보드 다운로드
공식사이트에서 최신버전의 그누보드를 다운받아줍니다. https://sir.kr/main/g5/
다운로드 받은 파일을 아까 생성해두었던 경로에 풀어주세요!
그리고 http://localhost를 브라우저에서 실행하면?
이렇게 그누보드 설치 페이지가 나옵니다!
여기까지 잘 따라오셨나요?
저는 윈도우 이므로 data폴더를 생성해주겠습니다.
그리고 새로고침!
동의하고 다음으로!
저는 로컬에서 카페 24와 동일하게 MariaDB 10.x 버전을 사용하고 있었는데, 정보를 입력했더니 정상적으로처리되었습니다.
새로운 그누보드로 이동버튼을 누르고, 아까 입력했던 최고관리자 정보를 입력하여 로그인을 해봅니다.
최고 관리자로 정상적으로 로그인한 모습입니다!
이것으로 그누보드 띄우기 성공입니다!
Cafe24에 그누보드 설치하기
로컬에서 설정하는 것보다 훨씬 간단합니다. 아까 다운로드 받은 파일을 Cafe24에 올려두고, 동일하게 data파일을 생성해준뒤, 해당 폴더의 권한을 707로 변경해줍니다. 그리고는 도메인/index.php로 들어가서 로컬에서 해준것과 동일하게 진행해주시면 됩니다.
아래 링크에 자세한 설명이 나와있으니 참조 부탁드립니다.
결국 사이트 배포, 로컬 설정까지 이틀의 시간이 걸렸습니다. 여기에 담지는 못했지만, XAMPP를 사용하지 않고 Apache24와 그누보드를 연결하는 것은 매우 힘든 일이었습니다... php의 프레임워크를 제대로 이용하고 싶어서 laonBoard를 설치했다가, 검색해도 해결할 수 없는 에러들을 만나고 그누보드로 옮겨왔습니다. 이제 php와 Apache24를 연결하는데 이런저런 문제들이 발생하는데 Apache에서 php모듈을 불러오는데 알 수 없는 에러가 발생하더라구요... 이것저것 알아보다가 XAMPP를 사용하는 것이 좋다는 댓글을 보게 되었고, XAMPP로 실행했더니 아주 깔끔하게 설정이 완료되었습니다.
위와 같은 방법으로 다음에 다시 한다면 1시간 이내로 설정을 완료 할 수 있을 것 같네요. 다음 기회에 XAMPP없이 제대로 연결해보는 것으로 하고, 이제 그누보드를 이용해서 화면을 꾸미고 기능을 추가하는 일을 해봐야겠습니다!!
댓글