Archivos de la categoría: Apache 2

Obtener la ciudad del cliente en PHP

Hola Mundo:

Ya saben, estoy metiéndome poco a poco en desarrollo y les quiero compartir un trocito de código que utilicé en un proyecto.
El objetivo de este código  es obtener la ciudad del visitante a partir de la dirección IP.

 $ip = $_SERVER['REMOTE_ADDR'];
$url = "http://freegeoip.net/json/".$ip;
$data = file_get_contents($url);
$obj = json_decode($data);
$ciudad = $obj->city;

El codigo es sencillo. Obtiene un archivo JSON desde el servicio de Free Geo IP, lo procesa y almacena la ciudad en una variable.

Sencillo, ¿no?

Agregar Virtual Hosts en Apache 2.4 Ubuntu 13.10

Hola!

Si has llegado hasta aquí, creo que tienes el mismo problema que tuve hace un momento.

Seguramente estabas acostumbrado a crear Virtual Hosts en versiones anteriores de Apache, donde creabas el archivo, indicabas la ruta, el nombre de servidor y luego habilitabas el sitio.

Desde la versión 2.4, que viene en Ubuntu 13.10  la forma de crear un virtual host cambió, haciendo la tarea un poco mas complicada que las versiones anteriores.

Para crear un virtual host primero copiar el archivo 000-default.conf que se encuentra en /etc/apache2/sites-available y lo pegas ahi mismo con el nombre que quieras .conf (por ejemplo mi.sitio.com.conf)

Luego editas el contenido del archivo mi.sitio.com.conf y agregas la información de: ServerName, DocumentRoot, etc y agregas estas lineas:

<Directory “/mi/ruta/al/sitio”>

Options -Indexes +FollowSymLinks

AllowOverride AuthConfig FileInfo

Order allow,deny

Allow from all

Require all granted

</Directory>

Después habilitas el sitio con a2ensite y reinicias el servicio.

Chau!

Habilitar mod_rewrite en Apache2

Hola a todos.

Este mod de Apache2 sirve para generar direcciones amigables y elegantes. Muchos sistemas hacen uso de esto, por ejemplo WordPress.

Escenario:

  • Ubuntu Server 12.04 LTS
  • Apache2 (instalado por el gestor de paquetes)
  • Un sitio configurado.

Habilitar el modulo

Como super usuario:
a2enmod rewrite

Modificar el archivo del sitio
Debe quedar esta porción del archivo de la siguiente forma:

Options FollowSymLinks
AllowOverride All

Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all

Reiniciar el servicio
Como super usuario:
service apache2 restart

Y ya quedará listo.

Enviar correos desde PHP sobre Ubuntu

Hola Mundo:

Por fin puedo publicar algo por acá. Estaba muy ocupado por temas de estudios y trabajo, lo cual es muy bueno.

Hoy les escribiré sobre algo bastante recurrente en las instalaciones caseras de LAMP (Linux, Apache, MySQL y PHP) y es algo que es simple de solucionar, cuando se cuenta con algunas herramientas.

El problema está en que cuando se hace una instalación de este estilo, PHP no es capaz de enviar mails a través de la funcion mail() y el log de errores queda completo con errores por esta función. El síntoma es claro: PHP no envía mails.

Esto ocurre cuando un servidor smtp (Simple Mail Transfer Protocol) no se encuenta instalado y/o la ruta no se encuentra definida en el archivo php.ini (Por lo menos la ruta de php.ini en Ubuntu Server es /etc/php5/apache2/php.ini)

Para instalar sendmail en Debian y derivados:

apt-get install sendmail

Una vez que está instalado, abrir el archivo php.ini y buscar la linea

;sendmail_path =

y cambiarla por

sendmail_path = /usr/sbin/sendmail -t -i

Luego reiniciar el servicio de apache2 y funcionará.

Saludos!