서버/Linux III 2016. 4. 6. 12:29
Linux III - 11. Apache 웹-서버 (PHP & MySQL)
login as: root
root@192.168.1.100's password:
Last login: Tue Apr 5 14:38:50 2016 from 192.168.1.1
[root@main /root]#
login as: root
root@192.168.1.101's password:
Last login: Mon Apr 4 10:32:06 2016 from 192.168.1.1
[root@clone1 /root]#
리눅스에서 웹-서버를 구축할 경우 APM(Apache, PHP, MySQL)을 사용한다.
APM |
내용 |
Apache |
- 리눅스에서 웹-서버를 구축할때 사용하는 웹-서버 httpd 데몬이다. - 윈도우에서는 IIS 서비스를 이용하여 웹-서버를 구축한다.
|
PHP |
- 웹 프로그래밍 언어이다. - HTML은 일반 사용자도 브라우저에서 소스를 확인할 수 있다. - PHP는 서버에서 소스를 분석해 HTML 코드로 만들어 브라우저에게 전달하기 때문에 일반 사용자는 PHP 소스를 확인할 수 없다.
- 웹-서버에서는 PHP 소스 코드를 인식하여 HTML 코드로 변경하여 사용자에게 전달하는 기능을 사용하기 위해서 Apache 웹-서버에서 PHP를 사용한다.
|
MySQL |
- MySQL 커뮤니티 서버는 무료 데이터베이스이다. - PHP 언어와 연동이 쉽게 때문에 Apache 웹-서버에서 MySQL를 사용한다.
|
1. Apache & PHP & MySQL 패키지 설치
[root@main /root]# rpm -qa | grep -E 'httpd|php|mysql'
qt-mysql-4.6.2-28.el6_5.x86_64
mysql-server-5.1.73-3.el6_5.x86_64
mysql-5.1.73-3.el6_5.x86_64
httpd-tools-2.2.15-39.el6.centos.x86_64
mysql-connector-odbc-5.1.5r1144-7.el6.x86_64
httpd-2.2.15-39.el6.centos.x86_64
mysql-libs-5.1.73-3.el6_5.x86_64
[root@main /root]# yum -y install httpd mysql mysql-server php php-server
[root@main /root]# rpm -qa | grep -E 'httpd|php|mysql'
php-5.3.3-46.el6_7.1.x86_64
qt-mysql-4.6.2-28.el6_5.x86_64
php-cli-5.3.3-46.el6_7.1.x86_64
httpd-2.2.15-47.el6.centos.4.x86_64
mysql-5.1.73-5.el6_7.1.x86_64
mysql-connector-odbc-5.1.5r1144-7.el6.x86_64
mysql-libs-5.1.73-5.el6_7.1.x86_64
mysql-server-5.1.73-5.el6_7.1.x86_64
php-common-5.3.3-46.el6_7.1.x86_64
httpd-tools-2.2.15-47.el6.centos.4.x86_64
[root@main /root]# rpm -qa httpd mysql php
php-5.3.3-46.el6_7.1.x86_64
httpd-2.2.15-47.el6.centos.4.x86_64
mysql-5.1.73-5.el6_7.1.x86_64
[root@main /root]# httpd -v
Server version: Apache/2.2.15 (Unix)
Server built: Mar 22 2016 19:03:53
2. Apache 서비스 활성화
- httpd 서비스를 시작한다.
[root@main /root]# service httpd start
httpd (을)를 시작 중:
[root@main /root]#
[root@main /root]# service httpd status
httpd (pid 36595)를 실행하고 있습니다..
- 재부팅시에도 Apache 서비스가 활성화 되도록 구성한다.
[root@main /root]# chkconfig --list httpd
httpd 0:해제 1:해제 2:해제 3:해제 4:해제 5:해제 6:해제
[root@main /root]# chkconfig httpd on
[root@main /root]# chkconfig --list httpd
httpd 0:해제 1:해제 2:활성 3:활성 4:활성 5:활성 6:해제
3. Apache 환경 설정
- httpd 환경 설정 파일은 '/etc/httpd/conf/httpd.conf' 파일로 관리한다.
[root@main /root]# rpm -ql httpd | grep httpd.conf
/etc/httpd/conf
/etc/httpd/conf.d
/etc/httpd/conf.d/README
/etc/httpd/conf.d/welcome.conf
/etc/httpd/conf/httpd.conf
/etc/httpd/conf/magic
[root@main /root]# ls /etc/httpd/conf
httpd.conf magic
- vi 편집기를 이용하여 다음과 같이 설정을 실시한다.
[root@main /root]# vi /etc/httpd/conf/httpd.conf
~ 중간 생략 ~ 240 # don't use Group #-1 on these systems!
278 #ServerName www.example.com:80
|
- '/var/www/html/' 디렉토리에 'index.html' 파일을 생성한다.
[root@main /root]# vi /var/www/html/index.html
1 <h1> Welcome to www.test.com <h1> : wq! |
- httpd 서비스를 재시작한다.
[root@main /root]# service httpd restart
httpd 를 정지 중: [ OK ]
httpd (을)를 시작 중: [ OK ]
- clone1에서 'www.test.com' 접속 실시
4. PHP 환경 설정 및 Apache 연동
- PHP를 연동하기 위해서 '/etc/httpd/conf/httpd.conf' 파일에 다음과 같은 설정을 추가한다.
[root@main /root]# vi /etc/httpd/conf/httpd.conf
~ 중간 생략 ~ 403 # same purpose, but it is much slower.
768 #AddType application/x-tar .tgz 소스코드를 보여줌 ~ 중간 생략 ~
|
- '/var/www/html/' 디렉토리에 'index.php' 파일을 생성한다.
[root@main /root]# vi /var/www/html/index.php
1 <?php phpinfo(); ?> <- PHP 정보 및 환경 변수를 보여주는 함수 설정 : wq! |
- httpd 서비스를 재시작한다.
[root@main /root]# service httpd restart
httpd 를 정지 중: [ OK ]
httpd (을)를 시작 중: [ OK ]
- clone1에서 'www.test.com' 접속 실시
5. MySQL 환경 설정 및 활성화
- mysqld 서비스를 시작한다.
[root@main /root]# service mysqld status
mysqld가 정지되었습니다
[root@main /root]# service mysqld start
MySQL 데이타베이스 초기화 중: Installing MySQL system tables...
OK
~ 중간 생략
Please report any problems with the /usr/bin/mysqlbug script!
[ OK ]
mysqld (을)를 시작 중: [ OK ]
[root@main /root]# service mysqld status
mysqld (pid 36979)를 실행하고 있습니다..
- 재부팅시에도 MySQL 서비스가 활성화 되도록 구성한다.
[root@main /root]# chkconfig --list mysqld
mysqld 0:해제 1:해제 2:해제 3:해제 4:해제 5:해제 6:해제
[root@main /root]# chkconfig mysqld on
[root@main /root]# chkconfig --list mysqld
mysqld 0:해제 1:해제 2:활성 3:활성 4:활성 5:활성 6:해제
- MySQL 접속이 되는지 확인한다. (처음에는 패스워드가 없기 때문에 '엔터'를 실시하면 된다.)
[root@main /root]# mysql -u root -p
Enter password: (엔터)
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.1.73 Source distribution
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test |
+--------------------+
3 rows in set (0.01 sec)
mysql>
mysql> quit
Bye
[root@main /root]#
- MySQL 접속 패스워드를 설정하도록 한다.
[root@main /root]# mysqladmin -u root password centos
[root@main /root]# mysql -u root -p
Enter password: centos
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.1.73 Source distribution
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> quit
Bye
[root@main /root]#
[참고] HTTP 상태 코드
코드 |
이름 |
내용 |
200 |
OK |
오류 없이 전송 성공 |
301 |
Moved Permanently |
영구 이동 |
403 |
Forbidden |
접근 차단, 권한 없음 |
404 |
Not Found |
요청 페이지를 찾을 수 없음 |
500 |
Internal Server Error |
서버 내부 오류 |
503 |
Service Unavaliable |
Service Unavaliable |
'서버 > Linux III' 카테고리의 다른 글
Linux III - 13. Samba 서버 (0) | 2016.04.08 |
---|---|
Linux III - 12. Apache 웹-서버 (Tomcat & Tomcat-Connector) (0) | 2016.04.06 |
Linux III - 10. DNS 서버 (0) | 2016.03.25 |
Linux III - 09. DNS 서비스 이해 (0) | 2016.03.22 |
Linux III - 08. NFS 서버 (0) | 2016.03.18 |