Objetivo
O objetivo deste documento é identificar/descrever as melhores práticas de instalação WPMS em sistema operativo RHEL 6.5 ou centOS com a versão do php 5.5. Não contempla a vertente Funcional.
Instalação RHEL 6.5 ou centOS
No caso de instalação em RHEL 6.5 deverá fazer o download em http://www.redhat.com/ da versão para 64 bits para linux.
No caso de escolher o centOS, deve efectuar uma instalação normal da versão centOs 6.5 de 64 bits para linux, disponivel em http://wiki.centos.org/Download .
Webmin
Sugerimos que se instale o webmin para uma gestão mais prática do servidor.
yum install webmin
Rede
Para configuração da rede pode editar os seguintes ficheiros:
- editar ficheiro /etc/hosts (nome do host)
- editar ficheiro /etc/sysconfig/network-scripts/ifcfg-eth0 (endereço ip e da placa de rede)
- editar ficheiro /etc/sysconfig/network
Em alternativa pode-se correr o comando:
setup
onde aparece uma janela de opção de modificar e configurar as opções de rede.
Não esquecer de depois no final de se efetuar “reboot” ao servidor.
Atualização de pacotes de software
Pode utilizar a opção existente no webmin para se fazer uma atualização de pacotes sugeridos pelo próprio sistema operativo. Aconselhamos que efetue a atualização nesses pacotes.
Adicionalmente aos pacotes sugeridos, deverá instalar os seguintes pacotes através dos comandos:
yum groupinstall “Development Tools”
yum install pcre-devel -y
yum install openssl-devel
yum install libxml2-devel
yum install libcurl-devel
yum install libjpeg-devel
yum install libpng-devel
yum install freetype-devel
yum install memcached
yum install pkgconfig
yum install openssl098e
mkdir -p /root/install
cd /root/install
wget http://pkgs.repoforge.org/libmcrypt/libmcrypt-2.5.7-1.2.el6.rf.x86_64.rpm
wget http://pkgs.repoforge.org/libmcrypt/libmcrypt-devel-2.5.7-1.2.el6.rf.x86_64.rpm
wget ftp://ftp.univie.ac.at/systems/linux/fedora/epel/6/x86_64/mcrypt-2.6.8-10.el6.x86_64.rpm
wget ftp://ftp.ntua.gr/pub/databases/postgresql/repos/yum/9.1/redhat/rhel-6-x86_64/mhash-0.9.9.9-
1.rhel6.x86_64.rpm
rpm -ivh libmcrypt-*
rpm -ivh mhash-0.9.9.9-1.rhel6.x86_64.rpm
rpm -ivh mcrypt-2.6.8-10.el6.x86_64.rpm
Instalação do Apache
Como não vamos instalar a versão sugerida pelo repositório não iremos utilizar o comando yum install. Como queremos uma versão especifica iremos fazer download dessa versão. Deverá fazer os seguintes comandos:
cd /root/install
wget ftp://mirrors.fe.up.pt/pub/apache/httpd/httpd-2.4.10.tar.gz
tar xfvz httpd-2.4.10.tar.gz
wget http://apache.osuosl.org/apr/apr-1.5.1.tar.bz2
wget http://apache.osuosl.org/apr/apr-util-1.5.3.tar.bz2
bunzip2 apr-1.5.1.tar.bz2
tar -xvf apr-1.5.1.tar
mv apr-1.5.1 httpd-2.4.10/srclib/apr
bunzip2 apr-util-1.5.3.tar.bz2
tar -xvf apr-util-1.5.3.tar
mv apr-util-1.5.3 httpd-2.4.10/srclib/apr-util
cd httpd-2.4.10
./configure –prefix=/www –with-mpm=prefork –enable-so –enable-rewrite –enable-vhosts-alias –enablessl
–enable-modules=’unique-id’ –with-included-apr
make
make install
No final será necessário editar o ficheiro /www/conf/httpd.conf. No anexo 1 indicamos uma sugestão de uma configuração no ficheiro httpd.conf.
Caso tenha a firewall ativa no servidor terá que dar autorização ao porto, normalmente o 80. Pode utilizar o webmin para criar essa regra na firewall. Disponível no menu do webmin em “Networking → Linux Firewall”. Na área nos anexos encontra um print das regras que deverá ter na firewall.
Para arrancar o apache deve ser através do comando:
/www/bin/apachectl start
Para parar o apache deve ser feito através do comando:
/www/bin/apachectl stop
Para fazer restart ao apache deve ser feito através do comando:
/www/bin/apachectl restart
Utilizador wpms
Deverá criar um utilizador wpms, poderá fazê-lo através do webmin. Disponível no menu “System → Users and Groups”.
Instalar Oracle Client
Instalar os pacotes oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm e oracle-instantclient11.2-basic- 11.2.0.3.0-1.x86_64.rpm disponiveis no site da oracle para download.
Depois do download e estando na respetiva pasta dos ficheiros correr o comando:
rpm -ivh oracle-instantclient*
Adicionalmente, fazer os comandos:
setsebool -P httpd_can_network_connect 1
cd /usr/lib/oracle/11.2/client64
mkdir network; mkdir network/admin; cd network/admin
Depois editar o ficheiro tnsnames.ora que se deve encontrar nesta pasta e adaptar à nossa configuração.
Atualizar o ficheiro “/etc/hosts” com os servidores de base de dados.
Verificar variáveis de ambiente de root em “$HOME/.bash_profile”:
ORACLE_HOME=/usr/lib/oracle/11.2/client64
export ORACLE_HOME
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/oracle/11.2/client64/lib
export LD_LIBRARY_PATH
SQLPATH=/usr/lib/oracle/11.2/client64/lib/:${SQLPATH}
export SQLPATH
NLS_LANG=american_america.we8iso8859p15
export NLS_LANG
PATH=$PATH:/usr/lib/oracle/11.2/client64/bin
export PATH
Instalação do php 5.5
Existe várias versões do php 5.5, neste documento iremos exemplificar a versão 5.5.16.
Devemos fazer download do php 5.5 através dos comandos:
cd /root/install/
wget http://pt1.php.net/get/php-5.5.1 6 .tar.bz2/from/this/mirror – O php-5.5.16.tar.bz2
bunzip2 php-5.5..tar.bz2 tar -xvf php-5.5..tar
cd php-5.5.*
./configure –prefix=/usr/local –with-config-file-path=/etc –with libdir=/lib64 –enable-fpm –with-xmlrpc –enable-wddx –with-iconv –enable-sockets –enable-mbstring –with-curl –with-mysqli –with-gd –enablesoap –with-freetype-dir=/usr/local/lib –with-mcrypt=/usr/lib64 -with-openssl –with-zlib –enable-pcntl –enable-posix –enable-shmop – enable-sysvsem –enable-sysvshm –enable-sysvmsg –enable-sigchild –enable-zip –with-jpeg-dir=/usr/local/lib –with-png-dir=/usr/local/lib64 –with-zlib-dir=/usr/local/lib64 – with-oci8=instantclient,/usr/lib/oracle/11.2/client64/lib
make
make install
Nota: no comando configure estamos a passar os parâmetros para instalação de Oracle e de mysql. Se não for necessário um deles retirar do comando.
Devemos aplicar o patch “http://kai.mactane.org/software/patch-pear builder-1.38.txt” no ficheiro Builder.php do PEAR para poder utilizar “pecl”.
O ficheiro Builder.php encontra-se em /usr/local/lib/php/PEAR/Builder.php
Na pasta /root/install/php-5.5.16/sapi/fpm:
- copiar ficheiro php-fpm.conf para /etc/php-fpm.conf e declarar variaveis globais
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
env[ORACLE_HOME] = /usr/lib/oracle/11.2/client64
env[LD_LIBRARY_PATH] = /usr/lib/oracle/11.2/client64/lib
env[NLS_LANG] = american_america.we8iso8859p15
- copiar ficheiro init.d.php-fpm para /etc/init.d/php-fpm
- copiar ficheiro status.html para o document root do apache /www/htdocs/
Devemos registar o serviço php-fpm para facilitar o start e o stop, através do comando:
/sbin/chkconfig php-fpm on
No ficheiro /etc/init.d/php-fpm alterar a linha “php_fpm_CONF=${prefix}/etc/php-fpm.conf” para “php_fpm_CONF=/etc/php-fpm.conf”
Fazer o download do monitor opcache:
wget https://raw.github.com/rlerdorf/opcache-status/master/opcache.php
Copiar ficheiro opcache.php para document root do apache /www/htdocs/
No final verificar se o php aponta para o php.ini em /etc/php.ini através do comando:
php -i |grep php.ini
Para arrancar o php deve ser através do comando:
/etc/init.d/php-fpm stop
Para fazer um restart ao php deve ser através do comando:
/etc/init.d/php-fpm restart
Nota:
Após um upgrade deve ser feito um restart ao php
Profiler
Instalação através dos comandos:
pecl config-set preferred_state beta
pecl install xhprof
echo “extension=xhprof.so” >> /etc/php.ini
igbinary
Instalação através dos comandos:
pecl install igbinary
echo “extension=igbinary.so” >> /etc/php.ini
Memcache
Instalação através dos comandos:
pecl install memcache
Nota:
Enable memcache session handler support? [yes] : yes.
Couchbase
Especificações mínimas sugeridas: 4GB RAM e Dual-core CPU running at 2GHz for key-value store num sistema a 64 bits.
Através de comandos:
cd /root/install/
wget http://packages.couchbase.com/releases/2.2.0/couchbase server-community_2.2.0_x86_64.rpm
rpm -ivh couchbase-server-community_2.2.0_x86_64.rpm
wget -O /etc/yum.repos.d/couchbase.repo http://packages.couchbase.com/rpm/couchbasecentos62- x86_64.repo
sudo yum check-update
sudo yum install -y libcouchbase2-libevent libcouchbase-devel
pecl install couchbase
No final actualizar o php.ini com “extension=couchbase.so”
Na firewall através do webmin as portas: 8091:8092, 4369, 21100:21199, 11209:11211
Na configuração do couchbase server e bucket, disponivel através do url http://:8091/index.html
- piscar “enable auto-failover” na aba “Settings->Fail over”
- criar o data bucket “WPMS_sessions” (o default pode ser eliminado)
- criar uma view em “_design/dev_sessions” com o nome “sessions_keys” (o emit é: “emit(meta.id, meta.expiration);”) e publicar
- se não é o primeiro servidor lembrar de activar os outros em “Server Nodes”
Anexos
Ficheiro httpd.conf


Print Firewall

Print Utilizador wpms

Exemplo tnsnames.ora
# TNSNAMES.ORA Network Configuration File: /oracle/client/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
WPMS, WPMS.WORLD =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = jabbanew.isretail.eu)(PORT = 1521))
(CONNECT_DATA =
(SID = WPMS)
(SERVICE_NAME = wpms.isretail.eu)
(GLOBAL_NAME = WPMS.WORLD)
)
)