리눅스에서 한 학기 살아 보기 -6편
1. 소프트웨어 선택: APM(Apache, Php, Mysql)
저번 주에 리눅스 웹서버를 구현해보려고 했지만, Alpine Linux에서 시도했던 탓인지 깔끔하게 실패했다. 아쉬움이 많이 남았었기 때문에 이번에는 리눅스 민트 운영체제에서 다시 도전해 보았다. 확실히 인터넷에 자료가 많아 쉽게 배울 수 있었다. 사실 Apache, Php 그리고 Mysql에 대해 잘 모르는 상태에서 무작정 웹서버 구축방법만을 목표로 배운 것이라. 각각의 소프트웨어가 어떤 것인지 조사해 보는 시간 또한 가져보았다.
2. 소프트웨어 개요
Apache
아파치 HTTP 서버는 아파치 소프트웨어 재단에서 관리하는 HTTP 웹 서버이다. BSD, 리눅스 등 유닉스뿐만 아니라 Windows, 노벨의 Netware 같은 기종에서도 운용할 수 있다. 아파치 웹 서버는 현재 세계에서 가장 인기 있는 웹 서버이다. 2017년 10월 기준으로 실질적으로 작동하는 웹 사이트(active site)들에서 쓰이는 웹 서버 소프트웨어 순위는 아파치(44.89%), 엔진엑스(20.65%), 구글 웹 서버(7.86%), 마이크로소프트 IIS(7.32%)순이다. 이 조사에서 생성은 되어있으나 정상적으로 작동하지 않는 웹 사이트들은 배제되었으며 특히 MS의 인터넷 정보 서비스(IIS)를 설치한 웹 사이트들의 상당수가 비활성 사이트였다. 그런 사이트들도 포함하면 MS IIS가 1위이다.
Php
대표적인 서버 사이드 스크립트 언어로 한국을 비롯한 전 세계 수많은 웹 시스템의 기반이 되는 언어. 비슷한 언어로는 ASP, JSP 등이 있다. C-like 문법을 사용하여, 소규모 웹 페이지 제작에서 절차지향으로 작성하면 날코딩이 빠르다는 장점을 갖고 있다. 그래서 일반 사용자, 사용처가 많다. 1995년 라스무스 러돌프에 의하여 처음 공개되었고, The PHP Group이라는 단체에서 개발 및 관리를 맡고 있다.
Mysql
MySQL은 세계에서 가장 많이 쓰이는 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)이다. 다중 스레드, 다중 사용자 형식의 데이터베이스 관리 시스템으로서 오라클이 관리 및 지원하고 있다. 썬 마이크로시스템즈에 10억 달러에 인수되었으나, 썬 마이크로시스템즈가 오라클에 인수되며 같이 넘어갔다.
3. 소프트웨어 특징
Apache
톰캣(Tomcat), Resin 등의 웹 애플리케이션 서버와 같이 사용할 수 있다.
Open-SSL, Mod-SSL 을 설치하여, 보안을 강화할 수 있다. (http → https)
리눅스 운영 체제, 아파치 웹 서버, MySQL 데이터베이스, PHP등으로 웹 서버를 운영하는 것을 각각의 머릿글자를 따서 LAMP라고도 부르기도 한다.
Php
2020년 12월 PHP 8버전이 JIT컴파일 도입과 함께 대규모 변경점이 예고되어있다.
PHP라는 이름은 원래 Personal Home Page Tools였으나, 지금은 PHP - Hypertext Preprocessor의 재귀 약자를 사용하고 있다.
페이스북과 워드프레스는 물론, 이커머스 플랫폼에도 PHP가 사용되고 있다.
Mysql
응용 프로그램에서 MySQL 데이터베이스에 접근하기 위해 다수의 프로그래밍 언어로 된 API를 사용할 수 있다. 이들 API는 언어에 종속적이다.
웹 애플리케이션으로서의 MySQL의 인기는 PHP의 인기도와 맞물려 있다. PHP는 종종 MySQL과 결합되며, 다이내믹 듀오라는 별칭이 붙었다.
공식 툴인 MySQL 워크벤치는 사용자에게 MySQL 데이터베이스 관리를 그래픽적으로 지원하게 한다.
4. 사용 후기
어찌어찌 APM을 모두 설치하고 실행하는데 성공했다. 중간에 phpadmin이라는 소프트웨어를 추가로 설치하여 시각적으로 데이터베이스를 확인해보기도 했고, vim 편집기를 이용해 apache2와 php내부의 파일들을 수정하기도 했다. 리눅스를 공부하다 보면, 정말이지 이런 일이 많다. 마치 목적지까지 가는 방법을 검색하면, 버스 노선은 알려주지만 타는 곳은 내가 알아서 찾아봐야 하는 것 같다. 설치를 끝냈으니, 다음에는 APM을 이용해 무엇을 할 수 있는지와, 초기 보안 설정과 포트 개방에 대해 공부해 볼 것이다.
5. 스크린샷
'소프트웨어 개발 방법 및 도구 > Linux OS에서 한 학기 살아보기' 카테고리의 다른 글
Linux OS에서 한 학기 살아보기 (10) (0) | 2020.06.01 |
---|---|
Linux OS에서 한 학기 살아보기 (9) (0) | 2020.06.01 |
Linux OS에서 한 학기 살아보기 (7) (0) | 2020.05.03 |
Linux OS에서 한 학기 살아보기 (6) (0) | 2020.05.03 |
Linux OS에서 한 학기 살아보기 (5) (0) | 2020.04.13 |