본문 바로가기
PHP 게시판 만들기

1. PHP, mySql을 이용해서 홈페이지 만들기

by 똑똑한 영장류 2012. 12. 10.


PHP, mySql을 이용해서 홈페이지 만들기


php와 mySql을 공부해 가면서, 홈페이지 만드는데 필요한 템플릿? 정도 제작해볼까 합니다.


게시판 위주의 사이트라면, 킴스큐(http://kimsq.com) 나 xe(http://xpressengine.com)로 만드는 것이 속 편합니다.


하지만, 그외 조금 색다른 기능을 담아야하는 홈페이지라면, 경우에 따라 위의 CMS 들은 너무 무겁거나, 그 CMS 위에서 새로운 기능을 구현하기 위해 CMS 자체를 공부해야하는 문제가 생깁니다.


그래서, 사이트 운영에 필요한 최소한의 기능만 담고 있는 템플릿을 만들어보려고 합니다.
템플릿을 호스팅 서버에 업로드하고 DB 설정만 하면, 회원가입, 로그인, 로그아웃, 기본 게시판 정도 달려있는 수준이 우선 목표입니다.
공부를 해가면서 만드는 거라, 진도가 빠르게 나가지는 않을 듯합니다.


그리고, 공부 목적이 더 큰지라, 혹시라도 제 블로그를 보시는 분들이 있다면, 불필요한 내용이 많을 수 있습니다. 미리 sorry 합니다.



Chap 1.


웹서버를 설치하고, php를 설치하고, mysql을 설치하고... 등등 홈페이지를 위한 서버 환경 갖추기 및 개발 환경 갖추는 방법은 설명하지 않습니다.


서버든 PC든... php 파일을 작성해 놓고 브라우져로 접속할 수 있으면 되겠습니다. 


홈페이지를 위한 파일들과 디렉토리들은 모두 '다큐먼트 루트' 라고 불리는 디렉토리 아래에 위치하게 됩니다. 보통 www 혹은 public_html 등의 이름을 가지고 있습니다. 앞으로 www 이라고 부르도록 하겠습니다.


www 에 index.php 파일을 아래의 내용으로 만들어 줍시다.


<?php

echo $_SERVER['DOCUMENT_ROOT'];

?> 


브라우져로 접근해봅시다.


앞으로 접속 도메인은 mydomain.com 이라고 하겠습니다. 그냥 예입니다. 실제 저 주소의 사이트와는 무관합니다. ㅋ


http://mydomain.com 혹은 http://mydomain.com/index.php


접속해보니, 아래처럼 나오는 군요.


/home/hosting_users/myname/www


카페24의 한 예입니다. 여러명의 가입자들이 존재하니까, 각각의 사용자 디렉토리 아래에 www 이라는 이름의 디렉토리를 만들어주고, 그 안의 내용을 웹 서비스에 이용하는 겁니다.

( 결국엔 리눅스의 멀티유져 특성때문입니다. )


myname 이라는 사용자의 홈페이지는 위의 패스 안에 있는 파일들로 구성되는 거지요.


index.php 를 지정해도 되고, 안 해도 되고... 왜 2가지의 접속방법이 있을까요? 


웹서버 상의 특정 디렉토리로 접근했을 때, 웹 서버는 설정해놓은 파일을 최우선적으로 찾아서 처리를 거친 후, 브라우져를 통해 보여주게 됩니다. 보통 index.html, index.php를 최우선 탐색 파일로 설정합니다.


http://mydomain.com 로 접근하면, 파일이 직접 지정되어있지 않기 때문에 해당 디렉토리 안에서 index.php 를 찾게 됩니다. index.php 가 있으면 접근자에게 보여줄테고, 없으면, HTTP 403 에러를 내면서 표시를 거부합니다.


정리하면, 파일이 직접 지정되지 않으면 index.php 를 찾는다고 알아둡시다.


그럼, index.php 파일에 작성한 내용을 살펴보죠..


<?php?> 사이가  php 언어로 작성되는 부분입니다.

웹서버에게 '이 태그 안에 있는 내용은 PHP 언어 처리할 녀석에게 맡겨!' 라고 알려주는 거죠. ㅎ 그럼, PHP 언어 처리기가 해석/처리 후 그 결과를 다시 돌려주면 웹서버는 전체 내용을 브라우저를 통해 전송하는겁니다.


echo 는 뒤에 나오는 변수를 화면에 출력하라는 함수입니다.(php.net 에서는 정확히는 함수가 아니라고...ㅋ )  매개변수가 하나일때는 괄호를 사용하지 않아도 됩니다. 여러개 일때는 사용해야된다고 하네요.


echo

그냥 뒤에 오는 녀석들을 화면에 출력해주는 기능을 한다고 알아둡시다.


$_SERVER

이 변수는 php 에서 항상 참조 가능한 글로벌 수퍼 변수 입니다. 글로벌 수퍼~!

서버에 관련된 많은 정보들을 담고 있는 배열인데요, 그 정보들의 목록은 아래 사이트에서 확인하세요.


http://kr1.php.net/reserved.variables.server.php



$_SERVER['DOCUMENT_ROOT'] 는 웹서버의 설정 내용에 따른, 최상위 디렉토리를 나타냅니다.


index.php 의 결과값은 웹서버가 있는 컴퓨터 혹은 서버에서 www 디렉토리가 위치한 절대경로를 나타내고 있군요. 값은 / 로 끝나지 않고 디렉토리 이름으로 끝나고 있네요.


/home/hosting_users/myname/www



요기까지 하고, 새로운 글로 이어가겠습니다.


이상!







댓글