본문 바로가기

Linux

[APM 설치] 우분투 리눅스 입문편 - 리눅스의 신 (5)


1. 웹 서버 동작 방식

홈페이지는 웹 서버를 이용해서 구축하게 된다. 보통 TCP 80번 포트가 웹 서버용으로 사용된다. 웹 서버는 HTML 형식으로 구성된 홈페이지 내용을 자신에게 접속한 웹 브라우저에게 전달해주게 되고, 이를 웹 브라우저는 화면에 출력한다. 이 때 이미지나 음악, 동영상 같은 추가 파일이 필요하면 같이 전달해 준다. 여기까지가 웹 서버의 가장 기본적인 동작이다.

 

그런데 만약 웹 서버에 접속한 웹 브라우저에게 전달할 내용이 정적이지 않고 시간에 따라 변한다면 어떻게 해야 할까? 바로 웹 서버와 연동되는 웹 어플리케이션을 구동해야 한다. 즉,

웹 브라우저     ↔    웹 서버         ↔     웹 애플리케이션 서버     ↔   데이터베이스

와 같은 형태이다. 웹 애플리케이션은 혼자 독립적으로도 작업을 수행할 수 있지만 홈페이지에 저장된 자료를 읽거나 쓰기 위해서 데이터베이스의 도움을 받는 경우가 많다.

 

이 책에서는 워드프레스라는 홈페이지를 쉽게 제작할 수 있게 해주는 웹 어플리케이션을 동작시킬 것이다. 워드프레스는 PHP로 작성된 웹 어플리케이션이기 때문에 여기서는 PHP를 웹 서버와 연동하는 방법을 살펴 볼 것이다.

 


2. APM

이제 홈페이지 구축을 위해 서버를 설치해보자. 이 때 웹 서버로는 Apache, 웹 어플리케이션을 동작시키기 위한 PHP 인터프리터, 데이터베이스인 MySQL을 설치할 것이다. 이들은 자주 함께 설치되기 때문에 'APM'이라고 부르기도 한다.

 

 

Apache 설치

터미널에서 다음과 같은 명령어를 통해 간단히 설치할 수 있다.

 

$ sudo apt-get install apache2

 

PHP 설치 및 Apache와 연동하기

$ sudo apt-get install php php-common libapache2-mod-php

 

MySQL 설치하고 php와 연동시켜주는 모듈 설치

$ sudo apt-get install mysql-server mysql-client php-mysql

 


3. 설치 확인

설치를 모두 완료하고 아무 웹브라우저 주소창에 localhost를 입력하면 다음과 같은 화면을 볼 수 있다. 이 화면이 보이지 않는다면 무언가 잘못 설치되었거나 공유기 설정 등에 문제가 있는 것이다.

 

 

다음으로는 PHP가 정상적으로 동작하는지 확인해보자. 아래 명령어를 입력한다.

 

$ sudo vi /var/www/html/info.php

 

해당 명령어는 /var/www/html/ 디렉토리에 info.php 파일을 만들고 편집하는 것이다. 이 디렉토리는 웹 브라우저를 통해 접속했을 때 보여주게 되는 html들을 모아놓는 곳이다. 이곳에 info.php라는 파일을 새로 만들고 다음과 같은 코드를 입력하자.

<?php
        phpinfo();
?>

ESC를 누른 뒤 :wq! 명령어를 통해 빠져나온다. 참고로 위의 코드에서 들여쓰기는 그냥 스페이스바를 눌러 공백으로 채워주었다. 파일 생성이 끝났으면 다시 웹브라우저로 가서 주소 창에 localhost/info.php 라고 입력하자. php가 제대로 설치되었다면 다음과 같은 화면이 나온다.

 

마지막으로 MySQL이 제대로 설치되었는지 확인해 보아야 하는데, 책의 내용과 다르게 MySQL을 설치할 때 비밀번호를 설정하는 창이 나오지 않았다. 그래서인지 다음 명령어를 입력했을 때 오류가 발생했다.

$ mysql -u root -p

원래는 root 계정으로 비밀번호를 입력하여 로그인하겠다는 명령어인데, 무언가 잘못된 것 같았다.

 

$ sudo mysql -u root 으로 우선 로그인 한 뒤 bscnote.tistory.com/77

의 글을 참고하여 해결하였다. 추가적으로, mysql 설치시 비밀번호를 설정하지 않았으면, 비밀번호를 입력하라고 나올 때 엔터를 눌러 넘어가면 된다.

 

ubuntu에서 mysql의 root계정이 로그인 안될때.

참고: https://stackoverflow.com/questions/39281594/error-1698-28000-access-denied-for-user-rootlocalhost ubuntu같은 일부 리눅스 시스템에서 mysql을 설치하고 $ mysql -u root -p 으로 로그인 시도를하면..

bscnote.tistory.com