더북(TheBook)

MySQL, PHP 설치하기

먼저 MySQL 서버 패키지인 mysql-server를 설치합니다. 웹 서버와 PHP 웹 응용 프로그램과 상호작용을 위해 libapache2-mod-auth-mysql과 php5-mysql 패키지를 함께 설치합니다. libapache2-mod-auth-mysql은 MySQL 데이터베이스에 저장된 정보로 웹에서 사용자 인증을 처리하기 위한 아파치 웹 서버 모듈이며 php5-mysql은 PHP로 데이터베이스를 제어하기 위한 MySQL 모듈입니다.

administrator@server01:~$ sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql

설치 과정에서 다음과 같이 MySQL root 사용자의 패스워드를 설정합니다. 여기에서 등장하는 root는 리눅스 서버의 root가 아닌 MySQL 데이터베이스 관리를 위한 사용자이며, 설정한 패스워드는 데이터베이스에 접속할 때 사용됩니다. 확인을 위해 패스워드를 한 번 더 입력해야 합니다.

그림 8-11 MySQL root 사용자 패스워드 설정하기
Tip

예전에는 MySQL 패키지를 설치한 다음 자료 디렉터리, 기본 데이터베이스를 생성하는 스크립트인 mysql_install_db, 보안 설정을 위한 스크립트 mysql_secure_installation을 직접 실행해서 초기화했지만 우분투 mysql-server 패키지는 설치 과정에서 이런 귀찮은 일을 자동으로 처리합니다.

설정한 root 패스워드를 이용해서 데이터베이스 관리를 위한 MySQL 모니터에 접속합니다. mysql -u [MySQL 사용자 계정] -p 형식으로 입력합니다. -p가 있어야 패스워드를 입력할 수 있습니다. 명령 프롬프트가 변경되는 것을 확인할 수 있습니다.

administrator@server01:~$ mysql -u root -p
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 42
Server version: 5.5.40-0ubuntu0.14.04.1 (Ubuntu)

Copyright (c) 2000, 2014, 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>

데이터베이스에 정보를 요청하는 질의어(명령)를 쿼리 query라고 합니다. SHOW DATABASES; 쿼리는 현재 시스템에 설치된 데이터베이스 목록을 조회합니다. 쿼리 끝에 ;를 붙여 Enter를 눌러야합니다. mysql-server 패키지를 설치할 때 기본적으로 설치된 데이터베이스를 확인할 수 있습니다.

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.03 sec)
Tip

모든 명령을 소문자로 입력해도 MySQL이 이해하지만, 여기에서는 쿼리를 구분하기 위해 대문자를 사용했습니다. SQL 쿼리는 일종의 프로그래밍 언어라고 할 수 있을 정도로 방대한 분량을 다뤄야 하기 때문에 여기에서는 일부만 소개합니다.

exit를 입력하면 MySQL 모니터를 종료하고 리눅스 명령 프롬프트로 돌아옵니다.

mysql> exit
Bye
administrator@server01:~$

이제 PHP를 설치해봅시다. php5 패키지를 설치하고 동시에 libapache2-mod-php5와 php5-mcrypt 패키지를 설치합니다. libapache2-mod-php5는 웹 서버에서 PHP5를 사용하기 위한 아파치 웹 서버 모듈이며 php5-mcrypt는 PHP에서 사용하는 암호화 라이브러리 모듈입니다.

administrator@server01:~$ sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt

웹 서버에서 PHP 문서를 실행하도록 아파치 웹 서버 설정 파일을 수정합니다. 디렉터리 모듈 설정 파일인 ‘dir.conf’를 vi로 엽니다.

administrator@server01:~$ sudo vi /etc/apache2/mods-enabled/dir.conf

DirectoryIndex는 웹 브라우저에서 웹 서버 주소를 입력하면 가장 먼저 실행하는 웹 문서를 지정하는 항목입니다. 여기에 PHP 형식의 파일인 ‘index.php’를 추가합니다.

<IfModule mod_dir.c>
          DirectoryIndex index.php index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>

아파치 웹 서버를 재시작합니다.

administrator@server01:~$ sudo service apache2 restart

DocumentRoot 디렉터리에 ‘info.php’ 파일을 생성합니다.

administrator@server01:~$ sudo vi /var/www/html/info.php

<?php ~ ?> 형식의 코드는 PHP 코드입니다. 문자열을 출력하고 웹 서버에 설치된 PHP 상태를 출력하는 phpinfo() 함수를 호출합니다.

<?php
    phpinfo();
?>

호스트 웹 브라우저에서 [웹 서버 주소]/info.php 형식으로 주소를 입력해서 접속하면 다음과 같이 출력됩니다.

웹 서버를 통해 php 문서를 확인하는 데 성공했습니다.

그림 8-12 PHP 모듈 활성화 상태 확인
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.