- 웹서버는 클라이언트 - 서버 모델과 웹의 HTTP를 사용하여 웹페이지가 들어있는 파일을 사용자들에게 제공하는 프로그램
- 웹사이트가 운영되고 있는 인터넷 상의 모든 컴퓨터에는 모두 웹서버 프로그램이 설치되어 있음
종류로는 IIS, Apache 가 있음
2. APM
- Apache + Php + Mysql
Apache: 가장 인기있는 웹서버. 유닉스/리눅스 용이 표준. (윈도우 용도 있음)
PHP: 서버에서 실행되는 스크립트 언어.
MySQL: 데이터베이스 시스템으로 PHP와 연결을 위한 PHP-mysql 패키지에 APM 연동 구성
3. APM 설치
가. 기본 패키지 설치
rpm -qa httpd mysql php
yum install -y httpd mysql php
yum install -y mysql-server php-mysql
관련 라이브러리 설치
yum install -y libpng-devel libjpeg-devel freetype-devel gd-devel
libpng : png 이미지 형식 파일을 생성하고 편집하는데 필요한 기능을 담은 라이브러리
libjpeg: JPEG 이미지 파일을 다루는 함수가 정의된 라이브러리와 libjpeg 함수를 쓸 수 있게 해주는 간단한 클라이언트 프로그램.
freestype: 폰트 엔진.
gd: 동적이미지 생성 ANSI C라이브러리. PNG, JPEG, GIF 등의 포맷으로 된 이미지를 생성할 수 있는 툴.
나. 서비스 실행
service httpd start
service mysqld start
다. MySQL 설정
1) 기본 환경 설정
my-huge.cnf 1GB 이상 메모리
my-large.cnf 512MB ~ 1GB
my-dedium.cnf 128MB ~ 256MB
my-small.cnf 64MB 이하
환경설정 파일 복사 (512MB 기준)
cp /usr/share/mysql/my-large.cnf /etc/my.cnf
2) 자동 실행 설정
- 시스템이 재부팅 되어도 자동으로 실행될 수 있도록 설정한다.
chkconfig --list | grep mysqld
- 자동 실행 설정
chkconfig --level 2345 mysqld on
라. Apache 설정
1) 환경설정 파일
- httpd.conf 구성
Section 1 : Global Environment - 아파치 전체에 영향을 미치는 설정
Section 2: 'Main' server configureation - 주 서버에 대한 설정
Section 3: Virtual Hosts - 가상 호스트에 대한 설정
- 환경설정 파일 수정
vi /etc/httpd/conf/httpd.conf
(1) ServerTokens
클라이언트의 요청에 따라 웹서버가 응답하는 방법을 설정.
OS --> 운영체제에 대한 정보까지 응답해줌
min --> Apache 2.0 와 같이 웹서버의 이름과 버전만 제공함.
(2) ServerRoot
아파치 본체가 있는 디렉토리 지정
(3) Listen
아파치 서버의 포트번호를 설정.
(4) ServerAdmin
웹서버에 문제가 생겼을 때 클라이언트가 관리자에게 보내는 이메일 주소.
(5) ServerName
클라이언트에게 보여주는 호스트 이름.
설정하지 않을 경우 127.0.0.1 로 고정된다.
(6) DocumentRoot
웹 서비스를 통해 보여질 HTML 문서가 위치하는 곳의 디렉토리를 설정
2) 자동 실행 설정 및 구동
- 자동 실행 설정 (런레벨 2,3,4,5 에서 실행할 경우)
chkconfig --level 2345 httpd on
- 웹에서 확인하기
http://localhost 혹은 http://127.0.0.1
마. PHP 구동
확장자를 php로 가지는 파일을 만들어 놓고, (Ex. phpinfo.php)
<?php
phpinfo();
?>
위 내용을 적어준다.
그리고 확인
http://localhost/phpinfo.php
http://127.0.0.1/phpinfo.php
외부 접속을 허용하기 위해 방화벽 (80번) 을 여는 것도 잊지 말자.