March 26, 2019

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

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"은 꼭 제거해주시길 바랍니다.