본문 바로가기

How to/컴퓨터

웹서버 나만의 NAS (6) APM? EPM 설치!

APM? EPM!

앞선 포스트에서 웹서버를 위한 표준 솔루션인 APM에 대해 말한적 있기 때문에, APM이 Apache + Php + MySQL을 뜻함은 이제 알 것이다. 아파치는 서버 프로그램을, php는 서버단의 스크립트 언어를, MySQL은 데이타베이스 프로그램을 뜻한다. 예를 들어 누군가가 내 ip 주소로 문을 두드리면 서버 프로그램이 문을 열어준다. 그럼 이제 동적 언어인 php가 작동을하고, 그럼 이제 php가 정적 언어인 html을 출력시키고, 이를 우리는 브라우져 상에서 볼 수 있다. (정말 우리가 보는건 새발의 피라고 할 수 있다.) 우리는 이러한 웹서버를 가동시키기 위해서 표준 솔루션인 APM 대신 EPM을 설치하고자 한다. 이는 Nginx + Php + MariaDB를 뜻한다.


EPM 설치하기

E: Nginx

https://www.nginx.com/resources/wiki/start/topics/tutorials/install/#


Nginx를 까는 이유는 Apache보다 더 가볍고 빠르기 때문이다. 엔진엑스를 깔기 위해선 우선 엔진엑스 저장소(repository)를 추가해야한다.

$ sudo vim /etc/yum.repos.d/nginx.repo


를 이용하여 텍스트 에디터 프로그램을 이용해서 다음을 적어주면 된다.(여기선 vim)


[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1


저장소 추가에 성공했다면


$ sudo yum install nginx


엔진엑스를 설치한다.


M: MariaDB

https://mariadb.com/kb/en/mariadb/yum/


MariaDB는 MySQL이 오라클로 넘어간뒤, 불확실한 라이선스 문제를 해결하려고 나온 오픈소스이다. 그래서 우린 MariaDB를 깔도록 하겠다. 마리아DB를 깔기 위해선 우선 마리아DB 저장소를 추가해야한다.


$ sudo vim /etc/yum.repos.d/MariaDB.repo


다음을 적어준다.


[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.1/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1


저장소를 추가하고


$ sudo yum install MariaDB-server MariaDB-client


마리아DB를 설치한다. 다음 포스트에선 EPM을 시작하고, 테스트해보겠다.


php 7 설치

CentOS 저장소에는 아쉽게도 php5 버젼이 들어가있다. php7을 깔기 위해 다양한 방법이 있지만 믿을만한 remi repository를 이용하겠다.

$ sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm


그럼이제 php 7과 pydio 6 의존성 패키지들을 같이 깐다.

$ sudo yum install audit-libs-python \ checkpolicy \ libX11 \ libX11-common \ libXau \ libXpm \ libcgroup \ libicu \ libjpeg-turbo \ libmcrypt \ libpng \ libselinux-python \ libxcb \ libxslt \ libzip \ mailcap \ php70 \ php70-php-fpm \ php70-php-mysql \ php70-php-channel-phpseclib \ php70-php-cli \ php70-php-common \ php70-php-gd \ php70-php-gmp \ php70-php-intl \ php70-php-mbstring \ php70-php-mcrypt \ php70-php-mysql \ php70-php-pclzip \ php70-php-pdo \ php70-php-pear \ php70-php-pecl-apcu \ php70-php-pecl-json-post \ php70-php-pecl-zendopcache \ php70-php-pgsql \ php70-php-phpseclib-crypt-hash \ php70-php-phpseclib-math-biginteger \ php70-php-process \ php70-php-xml \ php70-php-zip \ policycoreutils-python \ postgresql-libs \ python-IPy \ setools-libs \ t1lib