CentOS 7.x 기본 PHP 버전은 5.4 버전입니다.

그런데 하나의 서버에 여러가지 버전별로 설치하여 VirtualHost 별로 서로 다른 버전이 동작하도록 설정이 가능합니다.

nginx 라면 포트를 이용해서 분기하는 방법이 있습니다.

그리고 Apache 는 mod_fcgid 이라는 모듈을 이용합니다.

 

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

yum install yum-utils 

 

기본적으로 운영할 버전을 설정 ( 5.4 를 기본으로 한다면 패스해도 됨 )
yum-config-manager --enable remi-php56

yum-config-manager --enable remi-php70

yum-config-manager --enable remi-php71

yum-config-manager --enable remi-php72

 

위에서 지정한 버전으로 설치 ( 디폴트 PHP 버전 )

# yum install php php-common php-fpm php-mysql php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml php-pecl-apc php-cli php-pear php-pdo

 

PHP 버전별로 설치를 합니다.

yum install php56 php56-php-common php56-php-fpm php56-php-mysql php56-php-pecl-memcache php56-php-pecl-memcached php56-php-gd php56-php-mbstring php56-php-mcrypt php56-php-xml php56-php-pecl-apc php56-php-cli php56-php-pear php56-php-pdo 
yum install php70 php70-php-common php70-php-fpm php70-php-mysql php70-php-pecl-memcache php70-php-pecl-memcached php70-php-gd php70-php-mbstring php70-php-mcrypt php70-php-xml php70-php-pecl-apc php70-php-cli php70-php-pear php70-php-pdo 
yum install php71 php71-php-common php71-php-fpm php71-php-mysql php71-php-pecl-memcache php71-php-pecl-memcached php71-php-gd php71-php-mbstring php71-php-mcrypt php71-php-xml php71-php-pecl-apc php71-php-cli php71-php-pear php71-php-pdo 
yum install php72 php72-php-common php72-php-fpm php72-php-mysql php72-php-pecl-memcache php72-php-pecl-memcached php72-php-gd php72-php-mbstring php72-php-mcrypt php72-php-xml php72-php-pecl-apc php72-php-cli php72-php-pear php72-php-pdo 

 

yum install mod_fcgid

 

vi /var/www/cgi-bin/php56.fcgi
vi /var/www/cgi-bin/php70.fcgi
vi /var/www/cgi-bin/php71.fcgi
vi /var/www/cgi-bin/php72.fcgi

 

#!/bin/bash
PHPRC=/etc/opt/remi/php56
export PHPRC
umask 022
export PHP_FCGI_CHILDREN
PHP_FCGI_MAX_REQUESTS=1000
export PHP_FCGI_MAX_REQUESTS
SCRIPT_FILENAME=$PATH_TRANSLATED
export SCRIPT_FILENAME
exec /opt/remi/php56/root/usr/bin/php-cgi

버전 숫자에 맞게 고쳐서 저장합니다.

 

chmod 755 /var/www/cgi-bin/php*.fcgi

 

VirtualHost 설정

<Directory "/home/*/www">
    AllowOverride FileInfo AuthConfig Limit Indexes Options=ExecCGI
    Options +ExecCGI
    Require all granted
    AddType application/x-httpd-php .php .html
</Directory>
<VirtualHost *:80>
    ServerName 192.168.100.102
    DocumentRoot /home/example/www
</VirtualHost>
Listen 8054
Listen 8056
Listen 8070
Listen 8071
Listen 8072
<VirtualHost *:8054>
    ServerName 192.168.100.102
    DocumentRoot /home/example/www
</VirtualHost>
<VirtualHost *:8056>
    ServerName 192.168.100.102
    DocumentRoot /home/example/www
    <IfModule mod_fcgid.c>
        AddHandler fcgid-script .php
        FCGIWrapper /var/www/cgi-bin/php56.fcgi .php
    </IfModule>
</VirtualHost>
<VirtualHost *:8070>
    ServerName 192.168.100.102
    DocumentRoot /home/example/www
    <IfModule mod_fcgid.c>
        AddHandler fcgid-script .php
        FCGIWrapper /var/www/cgi-bin/php70.fcgi .php
    </IfModule>
</VirtualHost>
<VirtualHost *:8071>
    ServerName 192.168.100.102
    DocumentRoot /home/example/www
    <IfModule mod_fcgid.c>
        AddHandler fcgid-script .php
        FCGIWrapper /var/www/cgi-bin/php71.fcgi .php
    </IfModule>
</VirtualHost>
<VirtualHost *:8072>
    ServerName 192.168.100.102
    DocumentRoot /home/example/www
    <IfModule mod_fcgid.c>
        AddHandler fcgid-script .php
        FCGIWrapper /var/www/cgi-bin/php72.fcgi .php
    </IfModule>
</VirtualHost>

8054, 8056, 8070, 8071, 8072 포트는 PHP 각 버전별로 잘 작동하는지 확인하기 위한 예제입니다.

같은 80 포트에 Virtual 도메인별로 설정하시면 됩니다.

 

이제 아파치를 재시작하고 phpinfo 함수로 제대로 설정이 되었는지 확인하면 됩니다.

 

php.ini 는 각 버전별로 파일이 있으니 각각 수정하여야 합니다.

  /etc/php.ini 

  /opt/remi/php54/root/etc/php.ini 
  /opt/remi/php56/root/etc/php.ini 
  /etc/opt/remi/php70/
php.ini 
  /etc/opt/remi/php71/php.ini
  /etc/opt/remi/php72/php.ini 
버전별로 관리하기가 번거롭다면 /var/www/cgi-bin/php??.fcgi 파일에서 PHPRC=/etc/php.ini 로 수정하면 됩니다.

 

.html 은 잘 되는데 .php 파일은 제대로 적용이 안된다면
/etc/httpd/conf.d/php.conf 파일에 SetHandler application/x-httpd-php 부분을 찾아서 주석처리를 해주시면 됩니다.

 

블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

CentOS 7.x 버전에서 yum 으로 php 를 설치하면 기본으로 5.4 버전이 설치가 됩니다.

5.6 버전 또는 7.0 ~ 7.2 버전으로 설치하는 방법니다.

 

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

yum install yum-utils

 

5.6 버전 설치
yum-config-manager --enable remi-php56

 

7.0 버전 설치
yum-config-manager --enable remi-php70

 

7.1 버전 설치
yum-config-manager --enable remi-php71

 

7.2 버전 설치
yum-config-manager --enable remi-php72

 

yum install php php-common php-fpm php-mysql php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml php-pecl-apc php-cli php-pear php-pdo

 

5.4 버전이 설치된 상태라면 yum update 를 하시면 됩니다.

 

블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

[CentOS] 7.x SELINUX 설정 해제



selinux 가 동작을 하고 있으면 보안 설정이 너무 짜증이 납니다.


# vi /etc/selinux/config 수정


#SELINUX=enforcing

SELINUX=disabled


이제 reboot 명령어로 시스템을 재시작 하면 됩니다.



수동으로는 "setenforce 0" 명령어를 실행하면 됩니다.


[root@localhost ~]# getenforce

Enforcing

[root@localhost ~]# setenforce 0

[root@localhost ~]# sestatus

SELinux status:                 enabled

SELinuxfs mount:                /sys/fs/selinux

SELinux root directory:         /etc/selinux

Loaded policy name:             targeted

Current mode:                   permissive

Mode from config file:          disabled

Policy MLS status:              enabled

Policy deny_unknown status:     allowed

Max kernel policy version:      31


설치후 disabled 로 변경하고 재시작을 권합니다.


블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

[CentOS] vnstat 갱신이 안되는 문제


같은 버전의 CentOS 7.x 버전에서 vnstat 을 설치했는데 어떤 서버는 괜찮고 어떤 서버는 아래와 같이 갱신이 안되네요~

vnstat -d 명령어로 "enp2s0: Not enough data available yet." 와 같은 메시지가 뜬다면 /var/log/message 를 확인해보세요~

Mar 17 05:02:40 example vnstatd: Info: Monitoring: enp2s0 (1000 Mbit)

Mar 17 05:02:40 example vnstatd: Error: Unable to open database "/var/lib/vnstat/enp2s0" for writing: Permission denied

Mar 17 05:02:40 example vnstatd: Error: Unable to write database, continuing with cached data.


/var/log/message 파일에 위와 같은 에러가 있다면 /var/lib/vnstat/ 폴더에 이더넷 파일의 소유권을 확인해 보세요~


# ls -l /var/lib/vnstat/

total 4

-rw-r--r-- 1 root root 2792 Mar 18 16:14 enp2s0

root 로 되어 있다면 vnstat 으로 변경해 줍니다.

chown vnstat.vnstat /var/lib/vnstat/enp2s0


블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

[CentOS] 7.x Apache + Python 연동 방법



아파치에서 파이썬도 동작이 가능합니다.


# vi /etc/httpd/conf.d/python.conf


<Directory /var/www/html/python>

  Options +ExecCGI

  AddHandler cgi-script .py

</Directory>



# systemctl restart httpd


# mkdir /var/www/html/python


# vi /var/www/html/python/index.py


#!/usr/bin/env python


print "Content-type: text/html\n"

print "Python test page"


# chmod 755 /var/www/html/python/index.py


이제 브라우저에서 한번 열어보세요~


블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

[CentOS] KVM CDROM 꺼내기

LINUX 2018. 12. 7. 16:44

[CentOS] KVM CDROM 꺼내기



이전에 설치한 VPS 를 또 설치하려니 아래처럼 이미 디스크가 사용중이라고 에러가 나는군요~


ERROR    Disk /var/lib/libvirt/boot/CentOS-7-x86_64-Minimal-1810.iso is already in use by other guests ['CentOS7'].


사용된 이미지를 꺼내는 방법입니다.


[root@vps images]# virsh domblklist CentOS7

Target     Source

------------------------------------------------

hda        /var/lib/libvirt/boot/CentOS-7-x86_64-Minimal-1810.iso

vda        /var/lib/libvirt/images/CentOS7.img


[root@vps images]# virsh change-media CentOS7 hda --eject

Successfully ejected media.

[root@vps images]# virsh domblklist CentOS7

Target     Source

------------------------------------------------

hda        -

vda        /var/lib/libvirt/images/CentOS7.img



위에 CentOS7 은 virsh list --all 로 확인하면 됩니다.


블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

[리눅스] qcow2 를 img 형태로 변환하기



VHDX 포맷을 IMG 로도 변환이 가능합니다.


# yum install qemu-img


# qemu-img create -f qcow2 Image.qcow2 10G

# qemu-img convert Image.qcow2 -O raw test.img


# qemu-img create -f vhdx Image.vhdx 10G

# qemu-img convert Image.vhdx -O raw Image.img


▶ QEMU-IMG 지원 포맷


Supported formats: vvfat vpc vmdk vhdx vdi ssh sheepdog rbd raw host_cdrom host_floppy host_device file qed qcow2 qcow parallels nbd iscsi gluster dmg tftp ftps ftp https http cloop bochs blkverify blkdebug


생소한 포맷들이 많네요~


블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

[CentOS] 초기 설치 상태로 초기화 방법



설치 초기 상태로 돌리는 방법은 처음에 디스크 통째로 백업 받지 않았다면 완전하게 돌리는 방법은 없습니다.


그러나 설치한 패키지를 되돌리는 방법은 있습니다. ( /var/log 라던가 환경설치 파일은 남게 됩니다. )


yum history list all


yum history info 목록번호


yum history undo 목록번호


yum 으로 설치한 내역을 보고 undo 로 이전 상태로 되돌릴 수 있습니다.


yum 이 아닌 컴파일 설치라던가 이런건 직접 지워야 합니다.


블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

CentOS 7.x KVM 가상화서버 만들기



리눅스에 kvm VM(VPS) 을 생성해 보도록 하겠습니다.


Bios 에서 CPU Virtualization 옵션이 켜져 있어야 하며,


VMware Workstation Player 환경이라면 Intel VT-x/EPT or AMD-V/RVI 옵션을 켜야합니다.


VirtualBox 환경에서는 안되더군요~


cdrom 옵션 대신에 location 옵션으로 CentOS 와 Ubuntu 배포 버전을 설치할 수 있습니다.



▶ 관련 패키지 설치


# yum -y install libvirt qemu-kvm virt-install


설치후에 qemu-kvm 이 정상적으로 로드가 되었는지 확인합니다.


[root@localhost ~]# lsmod | grep kvm

kvm_intel             170181  0

kvm                   554609  1 kvm_intel


위에 처럼 나오면 정상입니다.



▶ libvirt 데몬 시작


# systemctl enable libvirtd

# systemctl start libvirtd



▶ 가상 VM 설치


virt-install \

--name c6-a \

--os-type linux \

--os-variant rhel6 \

--hvm \
--connect=qemu:///system \
--vcpus 1 \

--ram 1024 \

--disk path=/var/lib/libvirt/images/c6-a.img,size=10 \

--graphics none \

--console pty \

--location http://ftp.daumkakao.com/centos/6.9/os/x86_64/ \

--extra-args 'console=ttyS0'


우분투는 --location 옵션에 http://ftp.daumkakao.com/ubuntu/dists/xenial/main/installer-amd64/ 을 입력하면 됩니다.


위 명령어를 실행하고 한참있으면 설치 옵션을 묻습니다.


Text 모드로 선택하고 설정 옵션을 모두 설정을 합니다.


VM 콘솔에서 메인 콘솔로 빠질려면 Ctrl + ] 키를 누르면 됩니다.


진입하려면 virsh console c6-a 명령으로 진입이 가능합니다.



VM 컨트롤 virsh 명령어는 https://ivps.tistory.com/403 여기를 참고하세요~


VM 복제는 https://ivps.tistory.com/404 여기를 참고하세요~

'LINUX' 카테고리의 다른 글

CentOS 7.x anonymous upload 설정  (0) 2017.08.22
CentOS 7.x VNCSERVER 설치  (0) 2017.08.17
CentOS 7.x GNOME GUI 설치  (0) 2017.08.17
CentOS 7.x xen yum install  (0) 2017.08.14
리눅스 yum --skip-broken to work around the problem  (0) 2017.08.02
블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

CentOS 7.x GNOME GUI 설치

LINUX 2017. 8. 17. 10:23

CentOS 7.x GNOME GUI 설치



CentOS 7.x minimal 로 설치를 하면 startx 가 실행이 되지 않습니다.


그놈 gui 를 설치해보겠습니다.


# yum groupinstall "GNOME Desktop" "Server with GUI" "Graphical Administration Tools"


아래에서 빨간색 굵은 글씨를 설치하면 됩니다.


[root@localhost ~]# yum grouplist

Loaded plugins: fastestmirror, langpacks

Loading mirror speeds from cached hostfile

 * base: mirror.oasis.onnetcorp.com

 * extras: data.nicehosting.co.kr

 * updates: data.nicehosting.co.kr

Installed Environment Groups:

   Server with GUI

   GNOME Desktop

Available Environment Groups:

   Minimal Install

   Compute Node

   Infrastructure Server

   File and Print Server

   Basic Web Server

   Virtualization Host

   KDE Plasma Workspaces

   Development and Creative Workstation

Installed Groups:

   Graphical Administration Tools

Available Groups:

   Compatibility Libraries

   Console Internet Tools

   Development Tools

   Legacy UNIX Compatibility

   Scientific Support

   Security Tools

   Smart Card Support

   System Administration Tools

   System Management

Done


Graphical Administration Tools 는 설치해도 되고 안해도 됩니다.


설치가 다 되었으면 "startx" 를 실행하면 됩니다.


CentOS 7.x GNOME GUI 설치



재부팅시에도 gnome gui 가 실행되기를 원하면 아래 명령어를 실행하면 됩니다.


# ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target


reboot 을 하게 되면 GNOME GUI 가 디폴트로 실행이 됩니다.


'LINUX' 카테고리의 다른 글

CentOS 7.x VNCSERVER 설치  (0) 2017.08.17
CentOS 7.x KVM 가상화서버 만들기  (0) 2017.08.17
CentOS 7.x xen yum install  (0) 2017.08.14
리눅스 yum --skip-broken to work around the problem  (0) 2017.08.02
CentOS 7.x NFS 설정 방법  (0) 2017.07.30
블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,