Diariamente me deparo com solicitações para configurar serviços web com php em servidores antigos, com o pré-requisito de não atualizar o sistema operacional para não danificar sistemas legado. Então para facilitar esta configuração, segue um guia básico para configurar o nginx e o php 5.6 nestes tipos de servidores.
Alterando o repositório
- Devemos editar o arquivo /etc/yum.repos.d/CentOS-Base.repo alterando os itens abaixo:
De:baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
Para:baseurl=http://vault.centos.org/5.11/os/$basearch/
De:baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
Para:baseurl=http://vault.centos.org/5.11/updates/$basearch/
De:baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
Para:baseurl=http://vault.centos.org/5.11/extras/$basearch/
De:baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
Para:baseurl=http://vault.centos.org/5.11/os/$basearch/centosplus/
De:baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
Para:baseurl=http://vault.centos.org/5.11/os/$basearch/contrib/
Instalando o PHP 5.6 e Nginx
- Adicionando o repositório de dependências:
## Remi Dependency on CentOS 5
and
Red Hat (RHEL) 5 ##
rpm -Uvh http://dl.fedoraproject.org/pub/archive/epel/5/i386/epel-release-5-4.noarch.rpm
## CentOS 5
and
Red Hat (RHEL) 5 ##
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
-
Instalando os pacotes necessário para a execução do
PHP 5.6
eNginx
yum install php-pear
yum install php-pecl-json
yum --enablerepo=remi,remi-php56 install nginx php-fpm php-common
yum --enablerepo=remi
,remi-php56 install php-opcache php-pecl-apcu
php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongo php-pecl-sqlite
php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml
- Ao final da instalação podemos executar o comando
php -v
para verificar se a versão instalada foi a correta:
# php -v
PHP 5.6.30 (cli) (built: Jan 19 2017 08:12:18)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
Configurando Nginx
Devemos editar o arquivo /etc/nginx/conf.d/default.conf
de acordo com o modelo abaixo:
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name localhost;
root /var/www/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
index index.htm index.html index.php index.phtml;
allow all;
}
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
- Configurando o
Nginx
para iniciar junto ao sistema operacional:
/sbin/chkconfig nginx on
- Confirmando o status:
/sbin/chkconfig --list nginx
- Teremos a mensagem :
nginx 0:não 1:não 2:sim 3:sim 4:sim 5:sim 6:não
- Iniciando o
Nginx
:
/etc/init.d/nginx start