태그 Archives: yum

webtatic 저장소를 이용한 php 7 설치

php 는 httpd 의존이기 때문에 php를 설치하는것만으로 httpd 가 설치 된다.
즉 httpd 먼저 설치하고 php를 설치해야 한다.

webtatic의 php 는 기본적으로 nts 이며 apache 가 prefork mpm 이 아닐 경우(worker, event) zts 모듈이 로딩이 되므로 매우 편리하게 사용할 수 있다.
아울러 yum을 이용한 설치이기 때문에 더 훌륭하다 =3=b

 

레포지트리 설치

 

php7 설치

 

httpd 의 mpm 방식은 아래와 같이 확인한다.

httpd -V 의 값에서 MPM 이 worker 로 확인 되었기 때문에 cron 등에 등록을 하려면 zts-php 명령어를 써야 한다.
worker 방식은 메모리를 적게 쓰지만 다종의 웹솔루션을 운영하기엔 적합하지 않다.
다만 apache 2.4.27 에서 부터 http/2 를 지원하는데 있어서 profork 방식을 더 이상 지원하지 않는다.

 

서버에서 php 명령어 실행은 아래와 같이 한다.

 

httpd를 worker MPM 으로 설치 하고 webtatic 제공의 php 를 설치한 서버에서 오라클 접속을 사용하기 위해 oci8 익스텐션 설치 진행은 아래와 같이 진행 했다.
phpize, config-php 역시 각각 zts-phpize, zts-php-config 의 것을 사용한다.

 

설치된 oci8 은 웹문서에서 phpinfo(); 로 호출하거나 리눅스 쉘에서 아래와 같이 확인이 가능하다.

 

PS. webtatic 에서는 php70w-odbc를 제공 하므로 yum 설치로 odbc를 이용할 수 있다.

sudo 보안 취약점 CVS-2017-1000367

sudo 명령을 이용하여 root 권한을 탈취 할 수 있는 보안 취약점이 공개 되었습니다.

일반적인 보안 권고 사항인 그룹 지정(wheel 과 같은)을 한 경우에는 관련이 없습니다.

또한 selinux 를 활성화 하고 그룹 지정이 없이 운영 할 경우에는 아래 메뉴얼에 따라 sudo 명령어를 업데이트 하시기 바랍니다.

다만 업데이트가 쉽기 때문에 진행을 하는것이 좋습니다 🙂

[참고 사이트]

Ubuntu https://www.ubuntu.com/usn/usn-3304-1/
CentOS https://lists.centos.org/pipermail/centos-announce/2017-May/022450.html

주의 사항 : 업데이트를 할 경우 명령어의 소유권 및 퍼미션이 초기화가 되어 권한이 -rwsr-xr-xr   소유권 및 그룹이 root:root 가 되므로 기존에 쓰던 정보를 확인 하고 나서 sudo 업데이트 후에 재 지정 해야 합니다.

 

CentOS

 

Ubuntu

 

mariaDB yum을 이용한 설치 ( CentOS 7 )

https://downloads.mariadb.org/mariadb/repositories

위 주소에서 먼저 맞는 OS 버전 및 설치할 mariaDB 선택한다 ‘ㅅ’a
20161114_picpick_161119

 

그후 나오는 내용을 레포지트리에 추가를한다.

 

그담 yum 으로 설치 고고싱.

 

초기 mysql 데이터폴더는 /var/lib/mysql 에 있다.
그래서 data 폴더를 이동하게 되는 경우에는 저 폴더를 다른 위치 및 이름으로 변경을 한다.
물론 /etc/my.cnf 에서 아래 부분을 찾아 고치는것도 병행해야 한다.
운영하려는 캐릭터셋에 맞게 설정을 추가하는것도 잊지 말자 (latin1 으로 깔리기 때문에….)

 

datadir에 selinux 설정을 한다

 

이후에 데몬 자동시작 등록 및 시작을 한다.

 

mysql 명령어로 mysql 에 로그인을 한뒤에 root 패스워드를 지정하고
보안을 고려하여 user 등이 비어있는 로그인정보 및 test 데이터베이스를 삭제해야 한다.

 

yum에 대해서…

CentOS 및 redhat 계열을 쓰면서 안써본사람은 없은 yum
기본적으로 yum은 배포 패키지를 설치하는 명령어 이다 ‘ㅅ’a

/etc/yum.repos.d/ 폴더에 위치하는 레포지트리에 입려된 주소를 참조하여
패키지를 검색하고 검색된 패키지를 설계도에 맞게 설치하는 역할을 한다.

그럼 레포지트리는 무엇이냐 ‘ㅅ’a
A레포지트리에서 ccc 라는 패키지를 설치 할때 서버에 설치되는 위치와
B레포지트리에서 ccc 라는 패키지를 설치할때의 위치가 틀리다.

각 레포지트리에 따라서 설치되는 패키지의 버전역시 틀려진다.
A 레포지트리에서는 버전 1.0.0 을 /usr/share/ 폴더에 설치 하지만
B 레포지트리에서는 버전 2.0.0 을 /usr/include/ 폴더에 설치 할 수 있다.

즉 레포지트리라는 것은 설계도면을 배포하는 곳 정도로 인식을 하면 비교적 정확하다고 생각된다.

 

구글신은 많은것을 알려주지만 각각의 엔지니어 특성에 따라 주로 쓰는 레포지트리는 틀릴 수 있다.
때문에 하나의 메뉴얼을 따라 하다가 안된다고 다른 메뉴얼을 따라하다가는 시스템이 엉망으로 꼬일 수 도 있다.
( 물론 두 메뉴얼이 같은 레포지트리를 이용한 메뉴얼이라면 좀 덜꼬이겠다.. )

 

yum 은 아래와 같은 사용방법으로 일반적인 사용을 한다.

 

또한 설치된 패키지의 새 설계도면에 따른 업데이트도 할수 있다.

 

또는 아래 명령어로 모든 설치패키지를 업데이트 할수도 있다 ( 심지어 커널업데이트 까지 )

 

그리고 뭔가 설치해야할 명령어(ex ftpwho)가 있다면 아래와 같은 방법으로 명령어를 포함하는 패키지를 검색을 할수도 있다.

 

최종적으로 귀찬이즘이 극에 달한 엔지니어는 yum 업데이트를 주기적으로 하는게 싫어서
아래와 같은 방법으로 자동 업데이트 데몬을 운영할수도 있다. ( 이건 아직 나도 안해봤음… )

CentOS4 – yum 사용이 안될때.

yum 의 base repo 주소가 변경되면서 그냥 설치후에는 yum 을 사용할 수 없다.

 

/etc/yum.repos.d/CentOS-Base.repo  파일을 아래와 같이 수정 해주면 사용할수 있다. 🙂