본 포스팅은 다음 링크의 내용을 통해 간추려서 번역한 포스팅입니다.

https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-centos-7


LAMP 스택은 리눅스 서버에서 간단하게 동적 웹 앱을 호스팅 할 수 있는 간단한 스택 중 하나이다. LAMP는 Linux, Apache, MySQL(혹은 Maria DB), PHP의 머릿글자를 짠 오픈소스 소프트웨어 스택이다.


이제 CentOS 7에 LAMP 스택을 구축해보도록 하겠다.


<선행사항>

일단 Root유저가 아닌 유저가 시스템에 추가되어 있어야 한다.



<아파치 설치>


다음 명령어로 아파치 서버를 설치할 수 있다.


sudo yum install httpd




다음 명령어로 아파치 서버를 실행시킬 수 있다.

sudo systemctl start httpd.service



아파치 서버 실행 이후 웹 브라우저를 켜서 주소창에 localhost라고 입력하면 아파치 테스트 페이지를 확인할 수 있다.

테스트 페이지가 나타난다면 아파치 서버가 정상적으로 설치 및 실행된 것이다.


다음 명령어를 입력하면, 컴퓨터가 부팅될 때 자동적으로 아파치 서버가 실행되도록 설정할 수 있다.


sudo systemctl enable httpd.service




<서버 아이피를 확인하는 방법>

다음 명령어를 입력하면 현재 장비에서 연결된 네트워크 인터페이스들이 나타난다.



ip addr show


그 중 해당되는 인터페이스의 inet 항목의 첫번째 나타나는 4개의 10진수 숫자가 IP주소이다. 물론 이 주소는 IPv4(IP 버전4)의 주소이며, IPv6(IP 버전6)의 주소의 경우는 inet6라고 나타나는 필드의 바로 우측에 나타난다.


<MySQL혹은 MariaDB 설치>

이제 웹 서버에서 사용할 DBMS를 설치할 것이다. MySQL과 MariaDB는 서로 상호호환 되므로 아무거나 깔아도 무방하다. 이번 포스팅에서는 MariaDB를 설치 해 보도록 하겠다.




sudo yum install mariadb-server mariadb



설치가 끝나면 MariaDB를 다음 명령어를 통해서 서비스 실행을 해 보도록 하겠다. DBMS는 서버와 클라이언트로 이루어져 있는데, 일단 서버를 구동해야 하며, 서버가 구동 중 인 경우 클라이언트가 서버에 접속해서 원하는 동작들을 수행할 수 있다. 다음 명령어는 서버를 구동하는 명령어이다.



sudo systemctl start mariadb



MariaDB를 설치한 뒤, 기본적으로 설정되어 있는 DBMS 설정 중 보안적으로 위험한 것들을 대화형 모드로 하나하나 체크하기 위해 다음 명령어를 실행한다.



sudo mysql_secure_installation


대화형 모드로 MariaDB의 Root 패스워드 변경, 익명 유저의 제거, 원격에서 Root 권한 로그인 불가 설정, 테스트 Database와 그 접근 권한 제거, 권한 테이블 반영과 같은 기본 보안 설정들을 처리해주게 된다.


또한 MariaDB도 부팅 시 자동으로 서비스가 동작하게 하기 위해 다음 명령어를 입력한다.



sudo systemctl enable mariadb.service



<PHP 설치>

PHP의 기능을 강화하기 위해서, 선택적으로 PHP의 추가 모듈들을 설치할 수 있습니다. 이러한 추가적인 PHP 모듈들과 라이브러리 리스트를 확인하기 위해 다음의 명령어를 입력할 수 있다.



yum search php-


나타나는 패키지 중, 필요한 패키지들을 설치한다. 패키지 설치는 다음과 같은 명령어를 사용하면 된다.

다음 명령어는 php-fpm 패키지, pacakge1 라는 이름을 갖은 패키지, package2라는 이름을 갖는 패키지를 설치하는 명령어이다.


sudo yum install php php-common php-mysql php-devel



<PHP의 동작 확인>


PHP가 아파치 서버에서 잘 동작하는지 확인하기 위해 간단한 PHP 코드를 웹을 통해서 실행해보도록 한다.

CentOS 7에서 아파치 기본 디렉토리에 php 스크립트 파일을 생성해 보도록 한다.

다음 명령어로 텍스트 편집기를 실행한다.


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


그리고 해당 파일에 다음과 같이 입력한다.



<?php phpinfo(); ?>


그리고 파일을 저장한다.


만약 방화벽을 구동중이라면 다음의 명령어로 HTTP와 HTTPS 트래픽을 허용해주어야 한다.


sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload


그리고 웹 브라우저에서 다음 URL을 입력하여 접속하여 php의 정보가 잘 출력되는지 확인해본다.


http://localhost/info.php

혹은

http://127.0.0.1/info.php


만약 php 잘 동작하지 않는다면 다음 명령어로 아파치 서버를 재시작 해본다.


sudo systemctl restart httpd.service



+ Recent posts