IT Japan

CentOS7에 LAMP환경을 만들자 본문

IT/인프라

CentOS7에 LAMP환경을 만들자

swhwang 2017. 5. 25. 09:23
반응형

CentOS7에 개발용의 LAMP환경을 만들었다. CentOS6과의 비교하는 느낌으로 썼다. 결과로써는 PHP5.6

Apache2.4 MySQL5.6의 환경이었다. 작업환경은 Mac의 Vagrant


CentOS의 버젼을 확인한다.


CentOS의 버젼확인


cat /etc/redhat-release

CentOS Linux release 7.1.1503 (Core) 


yum을 update해둡니다.



yum을 update
sudo yum update




Repository를 추가

그대로yum install을 하면 PHP5.4이 인스톨되므로 Repository를 갱신합니다.


Repository를 추가
sudo yum install epel-release
sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm


PHP를 인스톨


PHP를 추가
sudo yum install --enablerepo=remi,remi-php56 php php-common php-opcache php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug php-pecl-xhprof

sudo yum install --enablerepo=remi,remi-php56 -y php-intl



PHP의 버젼을 확인

PHP의 버젼을 확인한다.


PHP의 버젼을 확인한다.

php --version PHP 5.6.15 (cli) (built: Oct 29 2015 14:18:11) Copyright (c) 1997-2015 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies with Xdebug v2.3.3, Copyright (c) 2002-2015, by Derick Rethans



PHP5.6이 인스톨되어있다.

Httpd를 인스톨

HTTPD를 추가
sudo yum install --enablerepo=remi,remi-php56 -y httpd


Httpd를 기동

Httpd를 기동합니다.

httpd를 기동
sudo systemctl start httpd

CentOS7로부터httpd를 기동할때의 명령어가 systemctl로 바껴져 잇습니다.

Httpd의 버젼을 확인

버젼을 확인
httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built:   Aug 24 2015 18:11:25


MySQL을 인스톨


CentOS7에 MySQL를 인스톨하려고 하면MariaDB가 인스톨됩니다.。그러므로 MySQL을 인스톨하고 싶은 경우는 Repository를 추가할 필요가 있습니다. 이번은 MySQL을 사용하므로 MySQL을 인스톨합니다.

MySQL을 인스톨
sudo yum install http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
MySQL을 인스톨
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
sudo rpm -Uvh mysql-community-release-el7-5.noarch.rpm
MySQL을 인스톨
sudo yum --enablerepo=mysql56-community install mysql-community-server

MySQL이 설치되었습니다.


그림문자 대책으로utf8mb4에

my.cnf를 편집한다.

sudo vi /etc/my.cnf

[client]
default-character-set=utf8mb4

[mysqld]
character-set-server=utf8mb4

MySQL을 기동

sudo systemctl start mysqld
mysql -u root -p

로그인 성공

Firewalld을 정지

iptalbes의 이름이 firewalld로 변한것같다.

sudo systemctl stop firewalld

SELINUX의 확인

Seilnux의 확인
getenforce
Disabled

기동하고 있지않으므로 넘어간다.

CentOS7기동시에 무엇이 기동하고 있는지르 확인

CentOS6이전의 chkconfig --list에 にあたるコマンドで調べます。

서비스 목록을 표시
sudo systemctl list-unit-files -t service

・・・
htcacheclean.service                        static  
httpd.service                               enabled 
initrd-cleanup.service                      static  
initrd-parse-etc.service                    static  
initrd-switch-root.service                  static  
initrd-udevadm-cleanup-db.service           static  
iprdump.service                             disabled
iprinit.service                             disabled
以下略

enabled는 기동하고 있는것으로、disabled는 기동하고 있지 않은것이다.

httpd를 기동하도록 하고、firewalld는 기동하지 않도록 한다.

sudo systemctl enable httpd
sudo systemctl disable firewalld

OS를 재기동해서 확인

일단 로그아웃해서 OS를 재기동해서 확인

exit

vagrant reload

분명히 httpd가 기동하고 있는것이 확읺되었다.(가끔 기동안해?httpd의 DocumentRoot에서 에러가 나오면 기동하지 않앗다.)
PHP 파일을 넣어두니 표시도 되었다.

반응형
Comments