Ubuntu 14.0X APM (Aapache, PHP, MySQL) 설치하기

동아리 내에서 APM 구축을 패키지 말고 컴파일로 과제 내주려고 했으나 관련 패키지가 충돌이 많이 나서 apt-get 패키지로 대처로 낸 적이 있었습니다. 이를 바탕으로 APM 구축하는 방법을 소개하고자 합니다.

LAPM는 Linux + Apahce + PHP + MySQL의 약자입니다.
물론 Apache 대신 Nginx을 사용할 수도 있지만, 이번 글에서는 Apache로 구현해보도록 하겠습니다.!!
대표적인 APM를 활용한 WordPress로 볼 수 있습니다.

자 그러면 구현하기에 앞서 Apache란 무엇일까요?

  • 오픈 소스 소프트웨어 그룹인 "아파치 소프트웨어 재단"에서 제작되었다.

  • Apache는 확장성이 좋다.

  • 정적인 페이지를 (데이터) 처리하는 Web Server다.

  • 리눅스에서는 Apache을 사용하고, Windows Server에서는 IIS를 사용한다.

설치 순서는 Apache -> PHP -> MySQL 순서로 진행하겠습니다

띠용!!
본글은 Ubuntu 14.04 Server 기반으로 합니다.

Description: Ubuntu 14.04.5 LTS
Release: 14.04
Codename : Trusty

[패키지 리스트 업데이트]
dongdonge@dongdonge:~$ sudo apt-get update

Apache를 설치하기 전 패키지 리스트를 업데이트시키자.


[Apache install]
dongdonge@dongdonge:~$ sudo apt-get install apache2 -y

Web Server 구동을 위해 Apache를 설치한다. 참고로 Apache는 정적인 페이지만 로드해주고 동적인 페이지 구현은 PHP 엔진을 사용하여야 한다.
Ex.) 로그인 로직, 회원가입 로직 등..


[Apache Status]
dongdonge@dongdonge:~$ sudo netstat -ntlp | grep apache2
dongdonge@dongdonge:~$ sudo service apache2 status

Apache 프로세스 확인 및 상태를 확인해보면 정상적으로 프로세스가 올라와 있으며, 실행 중임을 알 수 있다.


[PHP5 install]
dongdonge@dongdonge:~$ sudo apt-get install php5 -y

PHP 설치시 여러 PHP 모듈이 Default로 같이 설치가 된다.

libapache2-mod-php5 => Apache와 PHP 연동 모듈이다.



[PHP 추가 Module install]
dongdonge@dongdonge:~$ sudo apt-get install php5-mysql php5-mcrypt -y

PHP 추가 모듈을 설치해주자!!

php5-mysql => PHP와 MySQL 연동 관련 모듈이다.

php5-mcrypt => PHP 암호 관련 모듈이다.



[PHP Module Search]
dongdonge@dongdonge:~$ sudo apt-cache search php5

만약 추가적인 PHP 모듈을 검색하고 싶다면 위의 명령어를 입력하여 추가로 설치하면 된다.


[MySQL install]
dongdonge@dongdonge:~$ sudo apt-get install mysql-server-5.6 mysql-client-5.6 -y

MySQL Server와 Client 설치를 진행한다.


[MySQL Password Setting]

Ubuntu 14.X ~ 16.X까지는 MySQL 설치시 자동으로 "root" 패스워드 입력을 요구합니다. Ubuntu 18.X 버전 이후 부터는 수작업으로 패스워드 설정해야 합니다.
저는 간단하게 구현하기 위해 패스워드는 "toor"로 하겠습니다.


[MySQL Re-Password]

재입력 부분에 MySQL 패스워드를 다시 재입력해준다.


[MySQL Process Status]
dongdonge@dongdonge:~$ sudo service mysql status
dongdonge@dongdonge:~$ sudo ps -ef | grep mysql

MySQL가 설치되고 정상적으로 프로세스로 로드되었는지 확인해보자.
위 사진처럼 정상적으로 PID (초록색 박스에 있는 4자리 숫자)가 부여된다면 설치와 로드는 성공적으로 완료!!


[MySQL Connect]
dongdonge@dongdonge:~$ mysql -u root -p

MySQL Client로 정상적으로 접속이 되는지 테스트 해보장.
MySQL Connect 사진처럼 "mysql>" 문구가 뜬다면 정상적으로 연결이 된거다.


[PHP Code Test]

PHP 엔진이 정상적으로 작동하는지 여부를 확인하기 위해 PHP 페이지를 하나 생성해보도록 하자.

dongdonge@dongdonge:~$ sudo vim /var/www/html/index.php

vim를 사용하여 아래 PHP Code을 작성한다.

<?php phpinfo(); ?>

index.php



[index.php (phpinfo funtion)]

Ubuntu Server의 IP로 index.php로 접속하면 위의 사진처럼 phpinfo() 함수가 실행되어 PHP 관련 정보를 볼 수 있습니다. 하지만 위의 사진처럼 안뜨고 소스 코드가 출력된다면 PHP 연동 부분 또는 PHP 관련 모듈이 제대로 로드 안되어서 발생할 수 있으니 주의해주시면 됩니당.

PS. 테스트가 끝났으면!! "index.php"은 꼭 제거해주시길 바랍니다.