Usando Linux para muchas cosas y disfrutando de videojuegos, en dispositivos moviles, consolas y pc. Using Linux for many things and enjoying video games, mobile devices, consoles and pc

Mostrando entradas con la etiqueta php. Mostrar todas las entradas
Mostrando entradas con la etiqueta php. Mostrar todas las entradas

Como instalar php 7 en Linux Centos paso a paso

Como instalar php 7 en Linux Centos paso a paso

Mas rápido, muchoooooooo mas rápido, pareciera que nos dicen en todo momento cuando nos hablan de software y para esto entre otras cualidades, llego PHP 7 hace ya un tiempo atrás. Ciertamente todavía no esta generalizado su uso pero ya muchos lo piden por lo que hoy te traigo este articulo paso a paso en español de como instalar PHP7 en Linux Centos.

PHP, un popular lenguaje para desarrollo web es, podría decir sin miedo a equivocarme, el mas usado en los sitios web en internet. Cada vez mas y mas aplicaciones se basan en el para su desarrollo, por lo que lo encontraremos muchas veces como requerimiento.

Porque ha demorado en aparecer la versión 7 en servidores? pues porque es normal que la estabilidad conlleve a esperar un tiempo mientras se estabiliza y se investiga y da por hecho de que no tiene problemas de seguridad. Pero bien, es hora de que nos pongamos manos a la obra instalando php 7 en Linux Centos.

Requerimientos de instalación de PHP 7 en Linux Centos

Como instalar php 7 en Linux Centos paso a paso

-Instalamos dependencias, en este caso el repositorio epel en su ultima versión disponible
yum install epel-release yum-utils

-Instalamos configuracion de repositorio remi
yum install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

-Decidimos que versión de PHP instalaremos. Para este articulo instalare PHP 7.2
yum-config-manager --enable remi-php70 «-- para instalar php 7.0
yum-config-manager --enable remi-php71 «-- para instalar php 7.1
yum-config-manager --enable remi-php72 «-- para instalar php 7.2

-Habilitamos la configuracion de php 7.2 de remi. A partir de este momento todo lo que instalemos de php, sera tomado de este repositorio en la versión que hayamos elegido
yum-config-manager --enable remi-php72
Complementos cargados:fastestmirror
====================================================================== repo: remi-php72 ======================================================================
[remi-php72]
async = True
bandwidth = 0
base_persistdir = /var/lib/yum/repos/x86_64/7
baseurl =
cache = 0
cachedir = /var/cache/yum/x86_64/7/remi-php72
check_config_file_age = True
compare_providers_priority = 80
cost = 1000
deltarpm_metadata_percentage = 100
deltarpm_percentage =
enabled = 1
enablegroups = True
exclude =
failovermethod = priority
ftp_disable_epsv = False
gpgcadir = /var/lib/yum/repos/x86_64/7/remi-php72/gpgcadir
gpgcakey =
gpgcheck = True
gpgdir = /var/lib/yum/repos/x86_64/7/remi-php72/gpgdir
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
hdrdir = /var/cache/yum/x86_64/7/remi-php72/headers
http_caching = all
includepkgs =
ip_resolve =
keepalive = True
keepcache = False
mddownloadpolicy = sqlite
mdpolicy = group:small
mediaid =
metadata_expire = 21600
metadata_expire_filter = read-only:present
metalink =
minrate = 0
mirrorlist = http://cdn.remirepo.net/enterprise/7/php72/mirror
mirrorlist_expire = 86400
name = Remi's PHP 7.2 RPM repository for Enterprise Linux 7 - x86_64
old_base_cache_dir =
password =
persistdir = /var/lib/yum/repos/x86_64/7/remi-php72
pkgdir = /var/cache/yum/x86_64/7/remi-php72/packages
proxy = False
proxy_dict =
proxy_password =
proxy_username =
repo_gpgcheck = False
retries = 10
skip_if_unavailable = False
ssl_check_cert_permissions = True
sslcacert =
sslclientcert =
sslclientkey =
sslverify = True
throttle = 0
timeout = 30.0
ui_id = remi-php72
ui_repoid_vars = releasever,
   basearch
username =

Instalamos PHP 7 en Linux Centos

-PHP 7 entraría en conflicto con otra versión, por lo que debemos asegurarnos de que no tenemos otra instalada. Borramos anterior versión en caso de haberla
yum remove php-cli mod_php php-common

-Descargamos e instalamos PHP7 con yum
yum install php php-gd php-pear php-cli php-common

Activamos Apache en Linux Centos

-Normalmente también se descargara e instalara httpd (apache). Lo activamos y ejecutamos
systemctl enable httpd
systemctl restart httpd
systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since lun 2017-02-06 19:21:52 COT; 14s ago
     Docs: man:httpd(8)
           man:apachectl(8)
 Main PID: 10081 (httpd)
   Status: "Total requests: 0; Current requests/sec: 0; Current traffic:   0 B/sec"
   CGroup: /system.slice/httpd.service
           ├─10081 /usr/sbin/httpd -DFOREGROUND
           ├─10082 /usr/sbin/httpd -DFOREGROUND
           ├─10083 /usr/sbin/httpd -DFOREGROUND
           ├─10084 /usr/sbin/httpd -DFOREGROUND
           ├─10085 /usr/sbin/httpd -DFOREGROUND
           └─10086 /usr/sbin/httpd -DFOREGROUND

feb 06 19:21:50 cen.drivemeca.com systemd[1]: Starting The Apache HTTP Server...
feb 06 19:21:52 cen.drivemeca.com systemd[1]: Started The Apache HTTP Server.

Abrimos puertos en firewall Linux Centos

-Abrimos los puertos tcp de los servicios http y https (80 y 443)
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https

-Reiniciamos el servicio firewalld para que tome los cambios
systemctl restart firewalld

Verificamos PHP en Linux Centos

-Verificamos versión de PHP. Este comando me dice que tengo la 7.2.4
php -v
PHP 7.2.4 (cli) (built: Mar 27 2018 17:23:35) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

-Requieres mas info de que módulos tienes ya instalados. Fácil, creamos un pequeño info.php
vi /var/www/html/info.php
<?php
phpinfo();
?>

-Desde otro pc abrimos un browser y navegamos al URL http://IP-SERVIDOR/info.php para ver los módulos php activos
Via web podemos verificar que modulos php y su version tenemos instalados en Centos


Artículos recomendadosComo instalar phpldapadmin en centos
                                           15 minutos para configurar un Linux Centos 7 LAMP
                                          Potencia tu Linux Centos e instala los repositorios RPMForge / Epel / Remi
                                           Como instalar Joomla en Linux Centos 7 paso a paso
                                           Como crear un repositorio Linux Centos en tu LAN
                                           Como instalar php 5.6 en Centos 7
                                          Como instalar phpMyAdmin paso a paso


Con PHP7 tus aplicaciones web tendrán un buen impulso. Ya usas PHP 7?, en que Linux?
Quiero vivir de mi blog, de enseñar opensource, pero esto no sera posible sin tu apoyo, me ayudas?

Donar 25 USD

Satisfech@ con el articulo? Bien, hazme un favor, compártelo en tus redes sociales (compartir es sexy). Escríbeme en los comentarios aquí debajo y pasa la voz compartiendo el tweet.
Sígueme en twittergoogle+facebook, email, YouTube o Patreon y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.


Share/Bookmark

Como instalar php 5.6 en Centos 7

DriveMeca instalando PHP 5.6 en Linux Centos paso a paso
Las distribuciones Linux para servidor por lo general (a no ser Fedora) cuidan su estabilidad manteniendo paquetes probados y no muy actuales. Ahora, en la medida que pasa el tiempo, los nuevos desarrollos se basan en nuevas librerías por lo cual cuando vamos a usarlos nos encontramos con que no cumplimos con los requisitos, ejemplo, una nueva pagina web y nuestro Linux Centos con versión php 5.3, AHHH!!!!, calma, hoy veremos paso a paso como instalar php 5.6 en Linux Centos 7.
Aclaro que el que instalemos nuevas versiones no quiere decir que pongamos en riesgo la estabilidad de nuestro servidor, alguien se tomo el tiempo y paciencia para crear un repositorio, compilar las nuevas versiones, probarlas y luego hacerlas publicas. Por eso por lo general estarás seguro y no tendrás problemas.

-Instalamos la ultima versión del repositorio Remi
yum install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

-Después de instalado le damos un cat para ver el contenido del repo. Tomemos nota de los nombres dentro de [] (en rojo) . Por default todo viene deshabilitado y es buena idea solo instalar lo que necesitamos sin habilitar el repositorio. Para este articulo instalare desde remi-php56
cat /etc/yum.repos.d/remi.repo
# Repository: http://rpms.remirepo.net/
# Blog:       http://blog.remirepo.net/
# Forum:      http://forum.remirepo.net/

[remi]
name=Remi's RPM repository for Enterprise Linux 7 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/7/remi/$basearch/
mirrorlist=http://rpms.remirepo.net/enterprise/7/remi/mirror
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

[remi-php55]
name=Remi's PHP 5.5 RPM repository for Enterprise Linux 7 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/7/php55/$basearch/
mirrorlist=http://rpms.remirepo.net/enterprise/7/php55/mirror
# NOTICE: common dependencies are in "remi-safe"
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

[remi-php56]
name=Remi's PHP 5.6 RPM repository for Enterprise Linux 7 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/7/php56/$basearch/
mirrorlist=http://rpms.remirepo.net/enterprise/7/php56/mirror
# NOTICE: common dependencies are in "remi-safe"
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

[remi-test]
name=Remi's test RPM repository for Enterprise Linux 7 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/7/test/$basearch/
mirrorlist=http://rpms.remirepo.net/enterprise/7/test/mirror
# WARNING: If you enable this repository, you must also enable "remi"
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

[remi-debuginfo]
name=Remi's RPM repository for Enterprise Linux 7 - $basearch - debuginfo
baseurl=http://rpms.remirepo.net/enterprise/7/debug-remi/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

[remi-php55-debuginfo]
name=Remi's PHP 5.5 RPM repository for Enterprise Linux 7 - $basearch - debuginfo
baseurl=http://rpms.remirepo.net/enterprise/7/debug-php55/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

[remi-php56-debuginfo]
name=Remi's PHP 5.6 RPM repository for Enterprise Linux 7 - $basearch - debuginfo
baseurl=http://rpms.remirepo.net/enterprise/7/debug-php56/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

[remi-test-debuginfo]
name=Remi's test RPM repository for Enterprise Linux 7 - $basearch - debuginfo
baseurl=http://rpms.remirepo.net/enterprise/7/debug-test/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

-Instalamos php con los modulos que necesitemos habilitando por linea de comando temporalmente el repositorio remi-php56
yum install --enablerepo=remi-php56 php php-gd php-json php-mbstring php-xml

-Verificamos nuestro php con la función phpinfo
vi /var/www/html/index.php
<?php
phpinfo();
?>

-Reiniciamos apache
systemctl restart httpd.service

-Ya tenemos PHP 5.6 en nuestro Linux Centos 7
DriveMeca instalando PHP 5.6 en Linux Centos paso a paso

Sencillo cierto, no demoramos nada, conoces otra variante? lo haz hecho de otra forma?, escríbeme en los comentarios aquí debajo y pasa la voz compartiendo el tweet.

Sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark

Como instalar Zend Framework 2 paso a paso

DriveMeca instalando Zend Framework2 paso a paso
Cada día que pasa debes ser mas eficiente, tu competencia no da tregua y debes entregar ese proyecto en php. Actualizate y se mas productivo con Zend Framework 2 el cual es orientado a objetos, utiliza PHP 5.3 (mínimo), permite reutilizar código y según sus desarrolladores ya se ha descargado mas de 15 millones de veces.

Requerimientos



-Instalamos el repositorio remi
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

-Instalamos los paquetes php de ZendFramework2 excluyendo los paquetes de Oracle
yum --enablerepo=remi install php-ZendFramework2* --exclude php-ZendFramework2-Db-Adapter-Oracle --exclude php-ZendFramework2-Db-Adapter-Pdo-Oci

-Creamos un proyecto de prueba e instalamos composer
mkdir /var/www/html/zftest
cd /var/www/html/zftest

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/

-Descargamos una plantilla para Zend y verificamos tengamos la ultima versión
git clone git://github.com/zendframework/ZendSkeletonApplication.git
cd ZendSkeletonApplication
composer.phar self-update
You are using the latest composer version.

composer.phar install
Loading composer repositories with package information
Installing dependencies (including require-dev)
  - Installing zendframework/zendframework (2.2.5)
    Downloading: 100%         

zendframework/zendframework suggests installing doctrine/annotations (Doctrine Annotations >=1.0 for annotation features)
zendframework/zendframework suggests installing ircmaxell/random-lib (Fallback random byte generator for Zend\Math\Rand if OpenSSL/Mcrypt extensions are unavailable)
zendframework/zendframework suggests installing ocramius/proxy-manager (ProxyManager to handle lazy initialization of services)
zendframework/zendframework suggests installing zendframework/zendpdf (ZendPdf for creating PDF representations of barcodes)
zendframework/zendframework suggests installing zendframework/zendservice-recaptcha (ZendService\ReCaptcha for rendering ReCaptchas in Zend\Captcha and/or Zend\Form)
Writing lock file
Generating autoload files

-Nos creamos un host virtual en apache para usar Zend con este proyecto
vi /etc/httpd/conf/httpd.conf
<VirtualHost *:80>
     ServerName zf2-test.localhost
     DocumentRoot /var/www/html/zftest/ZendSkeletonApplication/public
     SetEnv APPLICATION_ENV "development"
     <Directory /var/www/html/zftest/ZendSkeletonApplication/public>
         DirectoryIndex index.php
         AllowOverride All
         Order allow,deny
         Allow from all
     </Directory>
 </VirtualHost>

-Reiniciamos apache
service httpd restart

-Creamos un proyecto de prueba con el 
composer.phar create-project --repository-url="http://packages.zendframework.com"

-Ya tenemos nuestro proyecto de prueba básico


-Creamos un alias en nuestro fichero hosts, en caso de contar con un dominio podemos crear el alias en este, por el momento para nuestras pruebas usaremos localhost
vi /etc/hosts
127.0.0.1   zf2-test.localhost

-Ya podemos abrir un browser y apuntar hacia fz2-test.localhost
DriveMeca instalando Zend Framework2 paso a paso

Ya podemos comenzar a desarrollar con Zend, te parece interesante esta herramienta? ya la utilizas?.
Si te resulto útil este articulo, se social, haz un tweet, compártelo con otros por medio de los botones o sígueme en twitter google+ o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark

Joomla 1.7 en Centos

Necesitan o estan pensado hacer una pagina web, no se quieren compllicar para despues mantenerla actualizada, les recomiendo Joomla, uno de los mejores CMS (content management system - sistema de manejo de contenido). Hoy veremos como se instala y configura Joomla 1.7

Requerimientos usados:
Centos 6
php 5.3
mysql 5.1
server de prueba: 192.168.1.41

-Iniciamos mysql y le colocamos una contraseña a la cuenta root de mysql
service mysqld start
/usr/bin/mysqladmin -u root password 'pass-de-entrada'
/usr/bin/mysqladmin -u root -h vej.testjoomla.com password 'pass-de-entrada'

-Activamos el inicio automático de mysqld y httpd
chkconfig mysqld on
chkconfig httpd on

-Instalamos requerimientos
yum install php-mysql

-Descargamos Joomla 1.7 y lo descomprimimos
cd /var/www/html
wget -c http://joomlacode.org/gf/download/frsrelease/15278/66554/Joomla_1.7.0-Stable-Full_Package.tar.gz

mkdir joo
cd joo
tar xzvf ../Joomla_1.7.0-Stable-Full_Package.tar.gz
rm ../Joomla_1.7.0-Stable-Full_Package.tar.gz

-Comenzamos la instalación navegando a donde lo descomprimimos
http://192.168.1.41/joo/installation/index.php

-Hacemos cambios en el php
vi /etc/php.ini
output_buffering =Off

service httpd restart

-Creamos la db en mysql
mysql -u root -p
create database joo;
exit

-La instalacion es muy automatizada, damos siguiente hasta que nos pregunte los datos de base de datos:

Tipo de base de datos: MySQL
Hospedaje: localhost
Usuario: root
Contraseña: pass-de-entrada
Base de datos: joo

Opcional: Activar capa FTP

-Nuestros datos para la pagina web

Nombre del sitio: www.sitiodeejemplo.com
Su correo electronico: pepe@gmail.com
Nombre de usuario del administrador: admin
Contraseña del administrador: pass-de-entrada
Confirmar contraseña del administrador:  pass-de-entrada

Opcional: Instalar los datos de ejemplo

Eliminar carpeta de Instalación

Y con esto ya queda instalado, pudiendo entrar a la interfaz administrativa o a la pagina web ejemplo que genera de comienzo.
Share/Bookmark

Correccion en MailWatch

En mi nuevo server de email me ocurria que en la seccion Message Operations de Reports no me funcionaba correctamente, dandome una pagina en blanco cuando tratata de entrenar el spamassassin con varios mails de una vez.
El cambio a hacer es editar el file do_message_ops.php y cambiar la linea 41, seria:

quitar
$id = $Regs[1];
colocar
$id = str_replace("_",".",$Regs[1]);

reiniciamos apache
service httpd restart

y listo, ya funciona la opción como debe ser.

Otra correcion a hacer es para la carga de los codigos de paises GeoIP

Editamos
vi /var/www/html/mailscanner/geoip_update.php

Modificamos

dbquery("LOAD DATA INFILE

por

dbquery("LOAD DATA LOCAL INFILE

Guardamos el file y salimos. Con esto ya debe cargar correctamente. Share/Bookmark

Acelerando nuestro website php

Esta vez instalaremos y configuraremos eaccelerator, un software que acelera el proceso de vizualizar paginas php a tenerlas en un cache en modo compilado.
Todo lo haremos desde la cuenta root y se supone que ya tenemos funcionando un server apache u otro httpd server que funcione con php. En mi caso usare:

Centos 5.5 actualizado
php -v
PHP 5.2.10 (cli) (built: Nov 13 2009 11:24:03)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies

Apache 2.2.3-43

-Comenzamos descargando el zip mas actual de eaccelerator

cd /usr/local
wget -c http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.zip
unzip eaccelerator-0.9.6.1.zip
rm eaccelerator-0.9.6.1.zip
mv eaccelerator-0.9.6.1 eaccelerator
cd  eaccelerator

-Ejecutamos

phpize
Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20060613
Zend Extension Api No:   220060519


./configure

make

-Agregamos el directorio de modulos

vi /etc/ld.so.conf
/usr/local/eaccelerator/modules

-Activamos los modulos

ldconfig

-Instalamos


make install
Installing shared extensions:     /usr/lib/php/modules/

-Copiamos el ini

cp eaccelerator.ini /etc/php.d/

vi /etc/php.d/eaccelerator.ini
zend_extension="/usr/lib/php/modules/eaccelerator.so"
eaccelerator.shm_size = "16"
eaccelerator.cache_dir = "/tmp/eaccelerator"
eaccelerator.enable = "1"
eaccelerator.optimizer = "1"
eaccelerator.check_mtime = "1"
eaccelerator.debug = 0
eaccelerator.filter = ""
eaccelerator.shm_ttl = "0"
eaccelerator.shm_prune_period = "0"
eaccelerator.shm_only = "0"

-Creamos el directorio de cache

mkdir /tmp/eaccelerator
chmod 0777 /tmp/eaccelerator

-Damos restart al httpd

service httpd restart

-Verificamos este trabajando

php -v
PHP 5.2.10 (cli) (built: Nov 13 2009 11:24:03)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
    with eAccelerator v0.9.6.1, Copyright (c) 2004-2010 eAccelerator, by eAccelerator

Con eso terminamos, disfruten un sitio php rapidooooooo :-) Share/Bookmark