관리 메뉴

개발노트

APM(Apache, Php, MySql)란? 본문

web/PHP

APM(Apache, Php, MySql)란?

YoonGwon 2020. 12. 15. 11:54

웹 프로그래밍을 하기 앞서 먼저 알아야 할 부분들이 있다.

Apche,IIS,nginx,html,css,php,Javascript 등… 이 외에 웹 프로그래밍에 관련된 기술 및 언어들이 많이 존재하고 있고 또, 지금까지도 지속적으로 새로운 기술 및 언어 등이 많이 등장하고 있는데,

여기서 우리는 그 중 지금까지도 많이 사용되고 있고 보편화된 APM을 이용해 웹 서버를 구축 하기 위한 환경을 구축 해보자.

 

APM Apache+Php+Mysql을 합쳐서 부르는 말이다.

굳이 하나하나 풀어 설멍하자면 이렇다.

 

 

 

 

 

 

-Apache란?-


 Apache
는 Apache재단에서 만든 HTTP서버로 워낙 다양한 추가기능에, 구축이 쉽다는 이유 때문에 많이 쓰고 있습니다. 하지만 Apache자체만으로 엄청 무거운데다가, Squid와 함께 Slowloris취약점이 발견되었기에, 보통 프로그래밍 능력이 능숙한 사람들이나, 대형사이트 운영자는 Nginx,IIS를 주로 쓰고 있다. 참고로 위 서비스들은 완전히 무료이다.

 

 

 

 

 

-그럼MySQL은?-

 

 

 

 MySQL은 DBMS의 종류중 하나로서, 우리가 데이터베이스구축하는데 쓰는 프로그램 중 하나입니다. PostgreSQL이나 MSSQL, CUBRID, MongoDB등 아주 많은 종류의 DBMS가 있지만 지금 시점에서는 MySQL만 알아두는 것도 좋다. Sun Microsystems에서 제작했고, 현재는 Oracle에 인수되어 Oracle소유이며, 자체 라이센스와 GPL 듀얼라이센스가 적용되고있다. 단, 개인은 무료이지만, 기업은 일부 비용을 지불해야하게 되어있다.

하지만 그 중에서도 우리에겐 반가운 사실이 하나있는데 MySQL의 거의 카피본이자 완전 무료화가 된 MariaDB도 있음으로 어느정도 SQL문법을 익히게 되면 사용해보는 것을 추천한다.

 

 

 

 

-PHP는?-

 

 PHP는 웹 서버상에서 쓰는 언어로, 일반 HTML+CSS+JS로는 DB접속을 구현한다거나, 그 외 고급기능은 구현 못하므로, 쓰는 언어입니다. 서버에는 PHP엔진을 설치해야되

며(그리 어렵지는 않다), 비슷한 언어로는 ASP, JSP등이 있다..

 

자 이3가지를 이용하면서 일반인은 비용이 발생하거나 그러지 않을 것이다. 라이센스 문제도 없고, 그럼 이제 한번 Debian계열의 LinuxOS에서 APM+PHPMYADMIN을

설치해 보도록 하자

 

 

-phpmyadmin이란?-

 MySQL같은 DB에 데이터를 입력시키거나, 만들거나 할 때, 우리는 직접 명령창에 명령어를 쳐야되는데 일일히 치려면 상당히 복잡하다.

(PHP나 JSP, ASP등을 배워보면 이 쿼리문 때문에 머리가 복잡 할 수 있다.) 다행이도 이걸 쉽게 관리할 수 있는 프로그램이 있다.

 하지만 이것도 따로 설치를 해야되는데 phpmyadmin같은경우는 웹에서 DB를 관리하게 해주는 웹 프로그램으로, 무료이며, 오픈소스 이다.

(웹 특성상 배포되는 것들은 상업적 쇼핑몰 솔루션이 아닌이상 오픈 소스 일 수 밖에 없다).

 

위에 설명한 모든 것을 설치해야 하는데 생각보다 어렵지 않다.

 

우선 Linux 터미널 창을열고

$ apt-get install mysql-server mysql-client

- mysql을 설치합니다. 서버내에서의 쿼리문 실행을 위해 client도 같이 설치한다.

       apt-get install phpmyadmin

 -phpmyadmin을 설치한다.

그럼 이쯤에서 질문이 나올 것이다.

"이게 진짜 끝인가요?"

필자는 더 이상 알려 줄게 없다.

"전혀 apache나 php를 설치하지 않았는데요?"

 

이것에 대한 답은, 데비안의 패키지 관리자인 APT가(레드햇의 YUM도 비슷한기능을 합니다)phpmyadmin설치를 위한 모든 패키지를 받는다. php-mysql이라든지, apache라든지, 필요한것을 받고, 이 의존성 패키지를 자동적으로 받기때문에, 직접 복잡한 php모듈들을 일일히 손으로 쳐서 설치 할 필요가 없다.

 

"그럼 굳이 mysql설치명령어를 안쳐도 되지 않나요?"

 

좋은 지적이다. mysql역시 의존성때문에 설치되는데 하지만 여기서 문제가 발생한다. 의존성으로 설치시, 패스워드 설정에서 꼬여버리기때문에, 그냥 쉽게 설치하려면, mysql은 먼저 설치하는 것이 좋다.



728x90