Centos7 설치 후 아파치와 php7 설치

Centos 7을 일단 설치한다.
설치할 때 소프트웨어 선택에서 최소설치나 데스크탑 설치를 선택하는데 나는 보통 “데스트탑”을 선택하여 설치한다. 그러나 서버를 PC용도로 사용하지 않고 오직 서버 본연의 용도로만 사용한다면 최소설치를 선택한다.

그리고 아래의 링크에 따라서 httpd와 php7을 설치한다.

https://webtatic.com/packages/php70/

간단하게 요약하면 이렇다.

루트로 로그인하여 아래의 명령어를 입력한다.
#rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
#rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

그리고 yum을 이용하여 웹서버와 php 관련 프로그램을 설치한다.
어떤게 필요한지 모르니 그냥 모두 설치한다.

그리고 아래의 명령어를 입력하면 한 방에 설치가 완료된다.

#yum install -y php70w php70w-opcache php70w-fpm php70w-bcmath php70w-cli php70w-common php70w-dba php70w-devel php70w-embedded php70w-enchant php70w-fpm php70w-gd php70w-imap php70w-interbase php70w-intl php70w-ldap php70w-mbstring php70w-mcrypt php70w-mysql php70w-odbc php70w-pdo php70w-pdo_dblib php70w-pear php70w-pecl-apcu php70w-pecl-imagick php70w-pecl-redis php70w-pecl-xdebug php70w-pgsql php70w-phpdbg php70w-process php70w-pspell php70w-recode php70w-snmp php70w-soap php70w-tidy php70w-xml php70w-xmlrpc php70w-xdebug

위의 명령어로 웹서버를 설치하고 firewall을 열어 주면 웹서버 사용이 가능하다. 타이핑이 귀찮다면 위에서 #을 뺀 yum 부터 xdebug 까지 복사해서 프롬프트에 갖다 붙여 넣자 그리고 엔터 끝~!

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

위의 명령어서 설치는 대략 끝난 듯하다.
이제 설정을 할 차례이다.
우선 아파치 설정 디렉토리로 이동한다.

#cd /etc/httpd/conf.d

위의 디렉토리에서 php.conf 를 수정하고 virtual_host.conf 라는 파일을 새로 만들 것이다.

우선 php.conf 파일을 vi로 열면 몇 줄이 써져 있다. 나의 환경에 맞게 수정하자.
현재 이 서버는 아래의 내용과 같다. 예제로 활용하여 나의 설정에 맞춘다.

AddHandler php7-script .php .html .htm
AddType text/html .php .html .htm
DirectoryIndex index.php index.html
php_value session.save_handler “files”
php_value session.save_path “/tmp/session”
php_value soap.wsdl_cache_dir “/tmp/wsdlcache”

virtual_host.conf 파일은 임의 파일명이다. 확장자만 conf 이면 된다.
나의 설정에 맞게 만들어 보자. 이 서버의 설정은 아래와 같은데 역시 예제 참고 한다. 한 서버에 여러개의 웹서버를 돌릴 수 있게 해준다.

<VirtualHost *:80>
ServerAdmin sarang@inmu.net
DocumentRoot /home/sarang/www
Servername sarang.inmu.net
ErrorLog logs/sarang.inmu.net-error_log
CustomLog logs/sarang.inmu.net-access_log common
</VirtualHost>

가상서버 설정은 여러 가지 옵션을 설정할 수 있는데 위의 내용이 가장 기본이 되며 이러한 설정만으로 운영할 수 있다. 하루 만명 정도의 방문자가 와서 문서를 10개 정도 열어 보는 정도의 작은 커뮤니티라면

마지막으로 /etc/httpd/conf/httpd.conf  파일을 열어서

<Directory />

</Directory>

부분을 바꿔야 한다. 그렇지 않으면 가상 서버가 작동하지 않는다. 아래의 내용처럼 바꾸고 웹서버를 다시 시작하니 가상 서버가 정상적으로 작동했다.

<Directory />
AllowOverride None
Order deny,allow
Allow from all
</Directory>

이정도 하면 대충 웹서버가 세팅된다.
머리 아픈 것들이 많이 있는데 이정도만 해 두자 하루에 만명 정도가 와서 문서 100개 정도를 열어 보고 두 세개의 글을 쓸 정도의 서버는 된다.
참고로 이 서버가 돌아 가는 기계는 AMD 8300에 램은 32기가가 달려 있다. 이 서버에는 총 8개의 홈페이지가 돌아 가고 하루에 대략 2만개 정도의 IP가 잡힌다. 더구나 웹서버 뿐만 아니라 기본적인 메일,파일 서버 등의 역할도 한다. IDC에서 운영할 수 있지만 그냥 집에서 운영한다. 유지비용은 비슷.

이제 WP나 줌라 같은 CMS를 설치해서 홈페이지를 운영하면 된다. 아니면 직접 개발을 하던지….