dinist

GCP VM에 Apache, MariaDB, PHP, Node js 설치하기 (CentOS8) 본문

Google Cloud Platform/Compute Engine

GCP VM에 Apache, MariaDB, PHP, Node js 설치하기 (CentOS8)

dinist 2020. 7. 26. 23:19

Apache 설치하기

sudo yum -y install httpd

위 명령을 입력하여 Apache를 설치한다.

sudo service httpd start

설치가 완료되면 위 명령으로 httpd 데몬을 실행시킨다.

sudo service httpd status

이후 위 명령으로 상태가 active상태인지 확인한다.

 

이후 netstat -antp 명령으로 80포트로 리스닝하는것이 있는지 확인 (그런데 p옵션으로 pid도 같이 확인해보려는데 안나온다..)

 

설치하고 VM의 IP주소를 입력하면 Apache초기 화면이 나올것 같지만 나오지 않는다. 설정을 몇가지 해줘야한다.

CentOS 자체의 방화벽설정과, Compute Engine의 VM에서의 방화벽설정 두가지를 모두 해줘야한다.

CentOS 자체 방화벽은 아예 비활성해도 되지만, CentOS의 방화벽 명령 사용방법을 익힌다 생각하고 모두 사용하기로 한다.

 

먼저 CentOS 자체 방화벽에서 80포트를 허용해보자

firewall-cmd라는 명령을 통해 자체 방화벽을 설정할 수 있다. 이 명령에 대한 설명을 보려면 man명령을 통해 확인해보면 된다. man firewall-cmd 명령 사용

 

man firewall-cmd 명령을통해 메뉴얼을 보던 중 zone이라는 것이 있다. 일종의 영역이라고 보면 될 것 같다.

 

zone의 목록을 확인해보면 다양한 이름의 zone이 있다. 이중에서 기본 설정 zone은 trusted로 되어있다.

해당 zone에 http 80포트를 허용하는 명령을 입력해보자.

 

sudo firewall-cmd --permanent --add-port=80/tcp

해당 명령을 입력한다.

permanent옵션은 방금 설정을 영구적으로 적용한다는 의미이다. 80포트의 tcp 통신에 대한 허용명령이다.

Success가 나오면 성공이다.

 

이제 GCP에서의 설정이 필요하다.

네트워크 > VPC 네트워크 > 방화벽 메뉴를 선택한다. 그리고 방화벽 규칙 만들기를 선택한다.

 

이름과 설명을 작성하고

 

설정은 다음과같이 해준뒤에 방화벽 규칙을 만들어준다.

그 이후 VM의 IP주소로 웹브라우저에서 접속하면..

 

 

Apache설치시 나오는 테스트 페이지가 잘보인다.

 

이제 Apache설치가 완료되었다.

 

MariaDB 설치하기

https://downloads.mariadb.org/mariadb/repositories/#distro=CentOS&distro_release=centos8-amd64--centos8&mirror=harukasan&version=10.5

 

MariaDB - Setting up MariaDB Repositories - MariaDB

To generate the entries select an item from each of the boxes below. Once an item is selected in each box, your customized repository configuration will appear below. 1. Choose a Distro SLES openSUSE Arch Linux Mageia Fedora CentOS RedHat Mint Ubuntu Debia

downloads.mariadb.org

MariaDB홈페이지에서 안내가 되어있다.

 

# MariaDB 10.5 CentOS repository list - created 2020-07-26 13:35 UTC 
# http://downloads.mariadb.org/mariadb/repositories/ 
[mariadb] name = MariaDB 
baseurl = http://yum.mariadb.org/10.5/centos8-amd64 
module_hotfixes=1 
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB 
gpgcheck=1

위의 내용을 복사한다. (하지만 이 내용을 복사하는 것 보다는 위의 MariaDB 홈페이지에서 최신 Stable 버전의 안내된 내용을 복사하는것이 좋다. )

cd /etc/yum.repos.d/
sudo touch MariaDB.repo

다음 명령을 실행하여 MariDB.repo 파일을 만들어주자.

그 이후 에디터 프로그램을 실행하여 복사한 내용을 붙여넣어 저장한다.

 

 

그 이후 다음 명령을 실행하여 MariaDB를 설치한다.

sudo dnf install MariaDB-server

설치가 완료되면 다음 명령을 실행하여 MariaDB를 실행한다.

 

sudo service mariadb start

 

이후 이 명령으로 mariadb 실행 상태를 확인하여 상태가 Active이면 정상적으로 설치된것이다.

sudo service mariadb status

이후 mysql 콘솔을 실행하여 접속을 확인해본다. 10.4 버전 이후부터는 Linux 시스템의 root계정으로 mariadb의 root계정 접속시 비밀번호가 필요하지 않다.

sudo mysql -u root

 

PHP 설치하기

sudo yum install -y php php-mysqlnd

위 명령을 입력하면 php 설치가 진행된다. 잘 설치 되어있는지 확인하려면

Apache 웹서버 기본 경로인 /var/www/html/ 에 index.php 파일을 만들어 테스트 해보면 된다.

index.php 파일 내용에는 다음 내용을 추가한다.

<?php
phpinfo();
?>

이후에 sudo service httpd restart로 아파치 웹서버를 한번 재시작해준다.

 

그 이후 VM의 IP주소로 접속해보면..

 

phpinfo 페이지가 잘 나온다.

이렇게 php설치가 완료되었다.

 

Node js 설치

이미 Apache 웹서버가 있어서 Node js는 없어도 되지만 Node js를 통해 공공데이터포털의 데이터를 활용하던 것이 있어서 다시 활용하기 위하여 설치를 진행한다.

 

https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-centos-8

 

How To Install Node.js on CentOS 8 | DigitalOcean

In this guide, we will show you three different ways of getting Node.js installed on a CentOS 8 server: using dnf to install the nodejs package from CentOS's default AppStream repository; installing nvm, the Node Version Manager, and using it to insta

www.digitalocean.com

다음 링크를 참조하여 진행하였다.

 

설치방법은 CentOS AppStream을 통한 방법, Node Version Manager를 이용한 방법, NodeJS 공식 홈페이지에서 직접 소스를 받아 설치하는 방법이 있다. 여기서는 AppStream을 통한 방법으로 설치를 진행한다.

 

sudo dnf module list nodejs

다음 명령으로 nodejs의 설치 가능 버전을 확인한다.

 

10버전대와 12버전대를 설치할 수 있다. 현재는 10버전이 기본으로 선택되어있다.

12버전을 설치하고 싶다면 다음 명령을 통해 12버전을 설치하도록 설정 할 수 있다.

sudo dnf module enable nodejs:12

이제 설치를 위해 다음 명령으로 설치를 진행한다.

 

sudo dnf install nodejs

설치가 완료되면 버전을 확인해본다.

 

버전이 출력되면 설치가 완료된 것이다.

 

이렇게 Compute Engine VM인 CentOS8에 Apache, MariaDB, PHP, Nodejs를 설치했다.

1.7G 램인데 다 설치하고나니까 가용램이 170MB밖에 없다.. 뭘까