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

jueves, 4 de agosto de 2016

Optimizar imágenes para tu web sin perder calidad excesiva con imgmin

imgmin nos proporcionara una mejora en el posicionamiento SEO, gracias a la optimización de nuestras imágenes para tu web




En un anterior post mencionaba programas para realizar la tarea de reducir el peso de las imágenes para tu web con jpeoptim y OptiPNG, con la consiguiente mejora en tu posicionamiento SEO, pero se daba la circunstancia de que en ambas soluciones tenias que hacer cálculos para
que la perdida de calidad frente a la reducción del peso de la misma estuviera compensada, ahora bien acabo de descubrir esta herramienta llamada imgmin), también en linea de comandos, que realizara esta tarea por nosotros, yo personalmente he conseguido ratios de mejora, en lo que al peso se refiere, de hasta un 60%, siendo la perdida de calidad apenas imperceptible.
IMGMIN

imgmin nos proporcionara una mejora en el posicionamiento SEO

En primer lugar vamos a ver como se instala imgmin, en distros apt:
- Se instalan dependencias:
sudo apt-get install autoconf libmagickwand-dev pngnq pngcrush pngquant

- Obtenemos copia proyecto imgmin:
git clone https://github.com/rflynn/imgmin.git

En caso de no disponer del comando git en tu debian,ubuntu,linux mint, etc:
sudo apt-get install git

- Accedemos carpeta local de imgmin:
cd imgmin/

- Finalmente procedemos a compilar e instalar imgmin:
autoreconf -fi

./configure

make

sudo make install

- Veamos ahora un sencillo ejemplo sobre el funcionamiento de imgmin:
imgmin

Como se puede apreciar en una imagen que antes pesaba unos 178K ahora pesa unos 78K

Espero esta herramienta sea de utilidad, hasta luego.

viernes, 29 de julio de 2016

Crear sencillo y funcional .htaccess para tu web para servidor webapache

Crear sencillo y funcional .htaccess para tu web




htaccess nos permite configurar aspectos a cerca de la funcionalidad de nuestra web, como debe interactuar nuestra web con nuestro hosting, en materia de rendimiento y seguridad.

Vamos a ponernos el mono de trabajo.

- Activamos modulo rewrite:
RewriteEngine On

- En primer lugar vamos a configurar la compresión de nuestra web, en muchos sitos recomiendan hacer esto en este archivo(.htaccess), yo prefiero hacerlo con php:

[sourcecode language="php"]
//gzip
ob_start('ob_gzhandler');
ob_flush();
[/sourcecode]

Comprobar compresión GZIP

gzip htacess

- Vamos a configurar las redirecciones errores 404 y 403:

ErrorDocument 404 "ruta pagina 404"
ErrorDocument 403 "ruta pagina 403"

No creo que haga falta como explicar como hacerlo con otros errores como puede ser 500, ya que seria de forma similar.

- Configurar acceso a los directorios de nuestra web:


#nadie tiene acceso a los directorios de nuestra web.
deny from all
#nadie puede listar contenido de nuestra web
Options All -Indexes


- Ahora configuraremos la cache de nuestro servidor o en otras palabras cuanto tiempo almacenara el navegador: imágenes, PDF, HTML, PHP, JS, etc ..., antes de descargarlos nuevamente de nuestro servidor:

# Cache

ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresDefault "access plus 2 days"


También podemos hacer con php, en este caso no cachear nada:

[sourcecode language="php"]
//cache
header('Cache-Control: no-cache, no-store, must-revalidate'); //pa HTTP 1.1
header('Pragma: no-cache'); //pa HTTP 1.0
header('Expires: 0'); //pa proxis
[/sourcecode]

Comprobar cache

cache htaccess

- Ahora vamos a proceder como configurar para que el servidor siempre utilice url sin www.

#redirección:
RewriteCond %{HTTP_HOST} !^nuestraweb.com$ [NC]
RewriteRule ^(.*)$ http://nuestraweb.com/$1 [R=301,L]

También podemos configurar sobre como evitar que otros dominios utilicen las imágenes alojadas en nuestro servidor:
# HOTLINKING
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?nuestraweb.com/.*$ [NC]
RewriteRule .*.(.*)$ http://google.es [R,NC]

Comprobar protección hotlinking

*Cualquier cambio puede dejar inoperativa tu web, por lo que no esta de más comprobar el correcto funcionamiento de nuestra web tras realizar cualquier modificación en este archivo.

lunes, 18 de julio de 2016

Los beneficios de utilizar CDN en tu website

Los beneficios de utilizar CDN en tu website




Mas allá de de los beneficios sabidos por todos que nos proporciona el uso de un CDN, a saber: mejoras en el rendimiento, seguridad, posicionamiento, ...
Mi experiencia, de más de un año con este servicio(CDN), existen muchos pero yo en su momento me decante por cloudfare, que en su cuenta gratuita ofrece una amplia gama de opciones.
CDN
Bueno pero como esto no es un post patrocinado, voy a relatar los beneficios que
tras muchos test de rendimiento, el pagepeed de google, GTmetric, metricspot, este se ve mejorado en gran medida, creo recordar que tanto el
pagespeed como GTmetric, me devolvieron unos 10 puntos más, y a nivel seguridad, este se ve incrementado también ya que este servicio ofrece un
firewall con varios niveles de seguridad.
En esta plataforma(clodfare) es tan sencillo utilizarla como:

- Crearte una cuenta gratuita dar de alta la URL de tu website, este detectara los DNS y te proporciona otros para que los introduzcas en tu registrador de dominios, cloudfare creo recordar que tarda una 24 horas en propagar los DNS.

Espero este post les haya sido de utilidad, hasta luego y gracias



viernes, 15 de julio de 2016

Buscador PHP-MYSQL con paginación

Buscador PHP-MYSQL con paginación


Vamos a crea un Buscador PHP-MYSQL con paginación, bien primero del todo vamos a ponernos en contexto:
Tengo una web (tienda on-line) con gran cantidad de productos y deseo que el usuario/cliente filtre por distintos criterios, con el fin de que encuentre el producto idóneo para el lo antes posible antes de que no abandone ante la abrumadora cantidad de productos disponibles, que en principio no se adaptan a las necesidades del cliente.
1) En nuestra pagina de inicio:

[sourcecode language="php"]

<?php //creamos cookie setcookie("criterio", $_POST['buscar'], time()+3600,"/",""); extract($_COOKIE); echo $criterio; //incluimos archivo conexión a nuestra B.D include('conexion.php'); $conectar=mysqli_connect($servidor,$usuario,$clave,$base_de_datos); if (mysqli_connect_errno()){ echo "Failed to connect to MySQL: " . mysqli_connect_error(); } ?>
[/sourcecode]


[sourcecode language="html"]

<form id="buscador" name="buscador" method="post" action="buscador.php">
<input id="buscar" name="buscar" type="search" placeholder="Buscar aquí..." autofocus >
<input type="submit" name="buscador" class="...." value="buscar">
</form>

[/sourcecode]

2) En la pagina action, en este caso buscar.php:

[sourcecode language="php"]
<?php
//variable cantidad registros
$consulta=mysqli_query($conectar,"select* from productos where nombre like '%$criterio%' order by nombre");

$nro_reg=mysqli_num_rows($consulta);

if ($nro_reg==0)
echo 'Actualmente no existen programas';

$reg_por_pagina=4;

if(isset($_GET['pag'])){
$nro_pagina=$_GET['pag'];
}else{
$nro_pagina=1;
}
//forzamos a que el nº pagina sea un entero
settype($nro_pagina, 'integer');
if(is_numeric($nro_pagina))
$inicio=($nro_pagina-1)*$reg_por_pagina;
else
$inicio=0;

try {
$consulta=mysqli_query($conectar,"select* from productos where nombre like '%$criterio%' order by nombre limit $inicio,$reg_por_pagina");
}
catch(Exception $e){
echo('Error de conexión SQL'.mysqli_error());
}
$max_paginas=ceil($nro_reg/$reg_por_pagina);
echo "
<table>
<tr>";
while($reg=mysqli_fetch_array($consulta)){
echo "
<td>'$reg[id]'</td>

"
"
<td>'$reg[nombre]'</td>

"
"
<td><img src='$row[imagen]' width='150'/></td>

";
}
echo "</tr>
</table>

";
?>

<?php if($nro_pagina>1)
echo " <a href='buscar.php?pag=".($nro_pagina-1)."'>Anterior</a> ";
for($i=1;$i<=$max_paginas;$i++){
if($i==$nro_pagina)
echo $i." ";
else
echo "<a href='buscar.php?pag=$i'>$i</a> ";
}

if($nro_pagina<$max_paginas)
echo " <a href='buscar.php?pag=".($nro_pagina+1)."'>Siguiente</a> "
?>
[/sourcecode]

paginación-Buscador PHP-MYSQL con paginación
Con estos sencillos pasos, es fácil construir un buscador para nuestra web/blog, tan solo quedaría por hacer formatear con CSS los controles y la información extraída de la BD, cosa que dejo al gusto de cada uno, hasta luego.



miércoles, 29 de junio de 2016

Iniciar campaña de linkbuilding

Iniciar campaña de linkbuilding para un mejor posicionamiento SEO


[caption id="attachment_244" align="aligncenter" width="300"]Link-Building Link-Building[/caption]

No creo haber descubierto nada, sino que más bien esto lo hago como a forma de nota mental.


Una buena forma de hacer un linkbuilding es la plataforma MOZ, empresa referencia en SEO, donde además de conseguir enlaces hacia tu sitio, existen multitud de herramientas que te ayudaran en la métrica de tu sitio web.


Para comenzar con esta campaña de linkbulding, es tan sencillo como darte de alta en Moz y completar todos tus datos.


[caption id="attachment_245" align="alignleft" width="300"]MOZ MOZ[/caption]

Con este simple gesto ya nos dan unos puntos MOZ, no recuerdo la

cifra exacta pero creo en torno a 60, con esto ya conseguimos nuestro enlace nofollow, pero lo que más nos interesa es conseguir un enlace dofollow. Bien para esto no nos queda otra que conseguir puntos MOZ, hasta los 200, donde tu perfil pasa de estatus de contribuidor a especialista y para conseguir puntos, conozco dos vías:


1. Comentar artículos de su blog, por cada comentario automáticamente, recibirás un punto. También puedes obtener puntos cada vez que se vota positivamente uno de tus comentarios.


2. Intentar que te publique un articulo en su blog, eso si el blog esta en giri(inglés).


Con estos sencillos pasos, es fácil iniciar una estrategia linkbuilding, eso si, creo que la constancia siempre es un buen aliado y en este caso mucho me temo que debemos convertirla en nuestra fiel aliada.



Antonio Carmona López

domingo, 31 de enero de 2016

Optimizar imágenes para la web desde linux

Tienes muchas imágenes que quieres optimizarlas para tu web, linux te lo pone fácil con las herramientas jpeoptim y OptiPNG:
optimizar-imagenes
1) jpeoptim:


Optimizar imágenes para la web desde linux

Optimizar imágenes para la web desde linux
Optimizar imágenes

Tienes muchas imágenes que quieres optimizarlas para tu web, linux te lo pone fácil con las herramientas jpeoptim y OptiPNG:

1) jpeoptim

jpegoptim

- Instalar:

apt-get install jpeoptim

- Puedes comprimir un sola imagen o un directorio completo:

cd imágenes && jpegoptim imagen.jpg


o

cd imágenes && jpegoptim *.jpg

Optimizar imágenes para la web desde linux

Optimizar imágenes para la web desde linux
Optimizar imágenes

Tienes muchas imágenes que quieres optimizarlas para tu web, linux te lo pone fácil con las herramientas jpeoptim y OptiPNG:

1) jpeoptim

jpegoptim

- Instalar:

apt-get install jpeoptim

- Puedes comprimir un sola imagen o un directorio completo:

cd imágenes && jpegoptim imagen.jpg

o

cd imágenes && jpegoptim *.jpg


2) Turno de las imágenes PNG

optipng

- Instalar optipng:

apt-get install optipng

- Al igual que jpegoptim podemos optimizar una sola imagen o todo un directorio:

cd imágenes && optipng imagen.png

o

cd imágenes && optipng *.png

Espero les sea útil.

miércoles, 30 de diciembre de 2015

Instalar iRedMail en ubuntu 14.04

Vamos a preparar nuestro ubuntu para instalar iRedMail:

  • Instalar Apache+PHP+mysql
  • Instalar Apache2+PHP+mysql
  • Comprobar contenido fichero /etc/hostname
  • archivo hostname
  • Comprobar contenido fichero /etc/hosts
  • [caption id="attachment_177" align="aligncenter" width="300"]archivo hosts archivo hosts[/caption]
  • Descargamos y descomprimimos iRedMail
  • descargar iRedmail
  • Entrar al directorio iRedmail y darle permisos de ejecución al script
  • dar permisos ejecución
  • Una vez comenzada la instalación, no pide un directorio a utilizar como espacio de correo
  • [caption id="attachment_183" align="aligncenter" width="300"]Espacio correo *Si se desea dejar por defecto[/caption]
  • Elegimos servidor web a utiliza, en mi caso apache
  • Servidor web apache
  • Elegimos B.B.D.D, mysql en este ejemplo
  • <img src="http://antoniocarmona.biz/blog/wp-content/uploads/2015/12/8-300x182.png
  • "

  • alt="mysql" width="300" height="182" class="aligncenter size-medium wp-image-185" />

  • Elegimos nombre dominio diferente al del fichero /etc/hosts
  • elegir dominio
  • Elegir pass para la cuenta administrador
  • elegir pass cuenta administrador
  • Instalamos todas las funcionalidades
  • instalar funcionalidades
  • Revisamos configuración y aceptamos para comenzar instalación
  • configuración
  • En la siguiente pantalla nos pedira que si queremos introducir una regla para acceso SSH en nuestro script de iptables
  • SSH+iptables

Y a esperar a que la instalación finalice y reiniciamos y accedemos mediante un navegador con los datos de acceso que nos proporciona el fichero iRedmail.tips y ya podremos acceder al webmail sogo o roundcube

lunes, 28 de octubre de 2013

Ver todas la cadenas TDT de España y América Latina

Ver todas la cadenas TDT de España y América Latina

Acabo de toparme con un script que nos permitirá ver todas las emisoras de televisión digital terrestre de España, su nombre es TVenlinux.sh, y nos permitirá ver la TDT española sin necesidad de tener una tarjeta sintonizadora, motivo por el cual se hace necesario disponer de un buen canal con un ancho de banda aceptable.

Desde la web del proyecto nos podemos descargar el script. Del mismo modo también encontraremos un pequeño manual de uso con el que podemos corregir algunos problemas que durante la ejecución del script puedan surgir. 

En lo que que a mi respecta, tan sólo he tenido que instalar dependencias, dar permiso de ejecución al script, ejecutar el script y seleccionar el canal en cuestión:

sudo apt-get install mplayer rtmpdump curl

chmod +x TVenlinux.sh

./TVenLinux.sh


martes, 29 de enero de 2013

instalar mariadb en ubuntu 12.04/12.10

Instalar sucesor de mysql en ubuntu 12.04/12.10

mariadb_logo
Descargamos el paquete del B.B.D.D:

wget http://mirrors.fe.up.pt/pub/mariadb/mariadb-5.5.28a/kvm-bintar-hardy-x86/mariadb-5.5.28a-linux-i686.tar.gz

Creamos el usuario y grupo mysql:

sudo su

groupadd mysql

adduser --ingroup mysql mysql

Copiamos y descomprimimos en la ruta /usr/local:

cp mariadb-5.5.28a-linux-i686.tar.gz /usr/local && cd /usr/local && tar -xzvf mariadb-5.5.28a-linux-i686.tar.gz

Se hace un enlace al direcctorio extraido:

ln -s mariadb-5.5.28a-linux-i686 mysql 
 
Se instalan las tablas para que mariadb trabaje correctamente:

./scripts/mysql_install_db –user=mysql

Se cambian permisos:

chown -R root . 
 
chown -R mysql data


Antonio Carmona López
+1
0Número de comentarios
74Las veces que se ha visto
29/01/13


Se arranca el demonio para mariadb:

bin/mysqld_safe --user=mysql &

Hacemos un test para comprobar que todo el proceso ha sido correcto:

cd /usr/local/mysql/mysql-test/

perl mysql-test-run.pl 
 
Y si el resultado del test es satisfatorio, ya podemos trabajar con mariadb:

mysql -umysql -pmipass

viernes, 28 de diciembre de 2012

Editor visual con soporte html5 en ubuntu

Blog HTML 5

Bluegriffon, una alternativa libre a Dreamweaver


Breve Historia

Bluegriffon nace en 2010 de las manos de el/los desarrollador/es de nVU, nVU es editor de paginas web, para aprovechar todo el potencial de html 5 y que se vale de motor de renderizado firefox v4.


Ejecutar Bluegriffon


Se descomprime blugriffon:

tar xvf BlueGriffon-1.5.2-Ubuntu11.10-x86_64.tar.bz2

cd Bluegriffon

./bluegriffon




Antonio Carmona López

viernes, 7 de diciembre de 2012

Instalar oracle express en ubuntu 12.10 (32 y 64 bits)

Instalar oracle express 10.2 en ubuntu 12.10(32 bits)



Instalamos dependencias:

sudo su

apt-get install libc6 bc

Descargamos el que contiene el instalador:

wget -c http://oss.oracle.com/debian/dists/unstable/main/binary-i386/libaio_0.3.104-1_i386.debhttp://oss.oracle.com/debian/dists/unstable/non-free/binary-i386/oracle-xe-universal_10.2.0.1-1.1_i386.deb

Instalamos librería:

dpkg -i libaio_0.3.104-1_i386.deb

Creamos fichero Sbin/chkconfig y le damos permisos de ejecución:

nano /sbin/chkconfig  
#!/bin/bash
# Oracle 11gR2 XE installer chkconfig hack for Debian by Dude
file=/etc/init.d/oracle-xe
if [[ ! `tail -n1 $file | grep INIT` ]]; then
echo >> $file
echo '### BEGIN INIT INFO' >> $file
echo '# Provides: OracleXE' >> $file
echo '# Required-Start: $remote_fs $syslog' >> $file
echo '# Required-Stop: $remote_fs $syslog' >> $file
echo '# Default-Start: 2 3 4 5' >> $file
echo '# Default-Stop: 0 1 6' >> $file
echo '# Short-Description: Oracle 11g Express Edition' >> $file
echo '### END INIT INFO' >> $file
fi
update-rc.d oracle-xe defaults 80 01 
chmod 755 /sbin/chkconfig 
Instalamos Oracle: 
dpkg -i oracle-xe-universal_10.2.0.1-1.1_i386.deb
Configuramos Oracle, dejando los valores por defecto:

/etc/init.d/oracle-xe configure 
passwd oracle 
su oracle 
Ahora editamos archivo .bashrc e introducimos las variables de ambiente para que Oracle funcione: 
ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_HOME
export ORACLE_SID=XE
export PATH 
Instalar O
racle 11GR2 en ubuntu 12.10 (64 bits)


Instalar Oracle en sistemas 64 bits es un poquito más laborioso, no difícil, ya que se tienen que modificar algunos 
parámetros.
sudo su

apt-get install libaio1 alien
 
Descargamos archivo:oracle-xe-11.2.0-1.0.x86_64.rpm.zip
 
Creamos enlaces, directorios y archivos que nos evitaran fallos a la hora de configurar Oracle: 
ln -s /usr/bin/awk /bin/awk 
mkdir /var/lock/subsys 
touch /var/look/subsys/listener
Creamos fichero /sbin/chkconfig y le damos permisos de ejecución:

nano /sbin/chkconfig
#!/bin/bash
# Oracle 11gR2 XE installer chkconfig hack for Debian by Dude
file=/etc/init.d/oracle-xe
if [[ ! `tail -n1 $file | grep INIT` ]]; then
echo >> $file
echo '### BEGIN INIT INFO' >> $file
echo '# Provides: OracleXE' >> $file
echo '# Required-Start: $remote_fs $syslog' >> $file
echo '# Required-Stop: $remote_fs $syslog' >> $file
echo '# Default-Start: 2 3 4 5' >> $file
echo '# Default-Stop: 0 1 6' >> $file
echo '# Short-Description: Oracle 11g Express Edition' >> $file
echo '### END INIT INFO' >> $file
fi
update-rc.d oracle-xe defaults 80 01 
chmod 755 /sbin/chkconfig 
Modificamos unos parámetros del kernel, necesarios para Oracle: 
nano /etc/sysctl.d/60-oracle.conf
# Oracle 11g XE kernel parameters
fs.file-max=6815744
net.ipv4.ip_local_port_range=9000 65000
kernel.sem=250 32000 100 128
kernel.shmmax=536870912

Reiniciamos servicio procps, para que el kernel coja los nuevos parámetros:

service procps start 
 
Hacemos unas comprobaciones:

sysctl -q fs.file-max
obteniendo: fs.file-max = 6815744

Comprobamos memoria swap:

free -m


Convertimos el instalador a paquete debian/ubuntu: 
 
cd   ~/Disk1 
 
alien --scripts oracle-xe-11.2.0-1.0.x86_64.rpm 
 
Instalamos Oracle:
 
dpkg -i oracle-xe_11.2.0-2_amd64.deb

Configuramos Oracle, dejando los valores por defecto:

/etc/init.d/oracle-xe configure

passwd oracle

Ahora editamos archivo .bashrc e introducimos las variables de ambiente para que Oracle funcione:
su oracle 
nano .bashrc 
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export ORACLE_SID=XE
export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
export ORACLE_BASE=/u01/app/oracle
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH


Ejecutamos el perfil del usuario oracle para que coja los parámetros:

. ./.profile

Puede ser posible que la interfaz web de oracle no funcione, para habilitarla:

sqlplus sys as sysdba 
 
SQL>EXEC DBMS_XDB.SETHTTPPORT(8080);
SQL>COMMIT;
SQL>SELECT DBMS_XDB.GETHTTPPORT() FROM DUAL;
You should see 8080 as the result.
SQL>ALTER USER ANONYMOUS ACCOUNT UNLOCK;
SQL>ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK; 
 
/etc/init.d/oracle-xe restart 
 
http://127.0.0.1:8080/apex 
 
 
 
 

lunes, 3 de diciembre de 2012

Instalar apache, php, mysql, phpmyadmin y xdebug en ubuntu 12.04


 
Instalar apache, php, mysql, phpmyadmin y
xdebug

sudo su


add-apt-repository ppa:ondrej/php5

Instalamos el servidor web apache2:

apt-get install apache2

Instalar PHP5:

apt-get install php5 libapache2-mod-php5

Reiniciar el servidor web para que trabaje con el nuevo modulo PHP instalado

/etc/init.d/apache2 restart

La ruta por defecto que usa apache para albergar las paginas index.*, .html, .htm, .php .aspx, etc..., es /var/www, pero la podemos modificar editando /etc/apache2/sites-available/default, donde modificaremos la ruta hacia la que apunta el DocumentRoot.
Deberemos reiniciar el web server si este u otro parámetro es modificado.

Tras lo cual hay que reiniciar apache:
service apache2 restart
Creamos el info.php para comprobar el funcionamiento de PHP con el siguiente contenido:


Ahora ya podemos probar el correcto funcionamiento del modulo PHP en nuestro web server:


Donde, si todo ha ido bien, nos aparecerá toda la información acerca de la configuración de PHP.

Instalamos cliente y servidor de base de datos mysql:

apt-get install mysql-server mysql-client

Ahora instalamos los módulos necesarios para manejar mysql mediante PHP:

apt-get install php5-mysql php5-cura php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

De nuevo reiniciamos apache.


A la hora de instalar phpmyadmin es donde me encontré un pequeño problema, ya que el demonio de mysql no tiene permisos de ejecución.


Comprobamos si el demonio mysql esta corriendo:


ps -aux | grep mysql


Si vemos algo como esto:
mysql 1080 0.1 0.5 484304 43276 ? Ssl Nov26 0:06 /usr/sbin/mysqld
, continuamos con la instalación de phpmyadmin, en caso contrario ejecutamos:


chmod 755 /etc/init.d/mysqld


Instalar phpmyadmin:


apt-get install phpmyadmin



Ahora instalamos xdebug:

apt-get install php5-xdebug 
 
editamos el archivo /etc/php5/apache2/php.ini y modificamos los parámetros display_errors=On y html_errors=On.

Volvemos a reiniciar apache.

Si así lo deseamos podemos convertir el editor de texto gedit en un IDE para PHP.