Apache: 403 Forbidden con Codeigniter

Siguiendo con el error 403 Forbidden en Apache con Codeigniter pues busqué y busqué la solución, ya que la que habia investigado antes pues era temporal, y despues de navegar por X número de páginas zaaas, vuelve a salir el error 403.

La solución sigue estando en la configuración de Apache2.0 y el módulo rewrite, primero modificamos el archivo en /etc/apache2/sites-enabled/000-default (u otro parecido)

< Directory />
Options FollowSymLinks SymLinksIfOwnerMatch
AllowOverride FileInfo
< /Directory>

Y despues en el .htaccess, o lo pueden poner en el otro archivo la siguiente info:

< IfModule mod_mime.c>
AddType text/html;charset=UTF-8 .html
< /IfModule>

< IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

#Removes access to the system folder by users.
#Additionally this will allow you to create a System.php controller,
#previously this would not have been possible.
#’system’ can be replaced if you have renamed your system folder.
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

#When your application folder isn’t in the system folder
#This snippet prevents user access to the application folder
#Submitted by: Fabdrol
#Rename ‘application’ to your applications folder name.
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

#Checks to see if the user is attempting to access a valid file,
#such as an image or css document, if this isn’t true it sends the
#request to index.php

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_URI} !^(/index\.php|/img|/js|/css|/kml|/robots\.txt|/favicon\.ico)

RewriteRule ^(.*)$ /index.php/$1 [L]
< /IfModule>

< IfModule !mod_rewrite.c>
# If we don’t have mod_rewrite installed, all 404’s
# can be sent to index.php, and everything works as normal.
# Submitted by: ElliotHaughin

ErrorDocument 404 /index.php
< /IfModule>

Donde dice UTF8 es para que todas las páginas HTML las mande con ese encoding, y la parte que creo es importante es donde se filtra el js, css, pero bueno!, ya con eso funciona bien el codeigniter y sin errores 403 forbidden.

Ushahidi en Nginx con url amigables

Para instalar Ushahidi en un servidor Nginx se requiere algo de configuración especial para que funcione al 100%., para eso creamos un sitio en /etc/nginx/sites-enabled lo llamaremos ushahidi en donde pondremos algo así:

server {
listen 80;
server_name ushahidi.oviedo.mx;
root /var/www/ushahidi;
index index.php;

# ROUTING TO USHAHIDI IF REQUIRED
location / {
try_files $uri $uri/ @ushahidi;
rewrite ^/(.*)$ /index.php/$1 break;
}

# BLOCKS ACCESS TO . FILES (.svn, .htaccess, …)
location ~ /\. {
deny all;
}

# FOR PHP FILES
location ~* \.php$ {
# PHP FILES MIGHT BE TO HANDLED BY USHAHIDI
try_files $uri $uri/ @ushahidi;

include fastcgi_params;
fastcgi_pass unix:/tmp/php.socket;
}

# HANDLES THE REWRITTEN URLS TO USHAHIDI CONTROLLER
location @ushahidi
{
include fastcgi_params;
fastcgi_pass unix:/tmp/php.socket;
}

# CACHE CONTROL FOR STATIC FILES
location ~* \.css|\.js|\.jpg|\.jpeg|\.png|\.gif|\.swf|\.svg|\.tiff|\.pdf$ {
expires 30d;
}
}

En negrita lo que deben de cambiar con la info de su servidor, igual puede que tengan algo diferente pero pues ya es una idea, como ushahidi esta basado en Kohana pues de ahi me vole las reglas y las adapte a mis necesidades

No olviden en la configuración del ushahidi application/config/config.php cambiar la linea donde dice: $config[‘index_page’] = ‘index.php’; por

$config[‘index_page’] = ”;

Para que funcionen bien las páginas.

Apache: 403 Forbidden

Algunas veces cuando estoy navegando en un sistema que realice el cual esta montado en Apache2 con URL amigables me aparecé el error 403 Forbidden y dice que no tiene privilegios para acceder al recurso.

Investigando un poco resulta que el problema esta con el modulo Rewrite de Apache ( mod_rewrite ) y la solución es habilitar enlaces simbolicos, teniendo nuestro .htaccess algo así:

< IfModule mod_rewrite.c>
Options +FollowSymLinks SymLinksIfOwnerMatch
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
< /IfModule>

Observen que se tiene la opción: +FollowSymLinks esto hace que el error 403 no aparezca más.

Y si estan usando CodeIgniter pues este código les sirve para tener URL amigables =)

SQLite: Como acelerar iPhoto en Mac

Como en el post para acelerar firefox en mac ahora llega el turno al programa iPhoto, como abran de imaginar este programa necesita muchaaaa base de datos, que los tags, locations, que las caras, etc, etc,., tantas monerias que tiene pero pues todo tiene un costo en Gigas de disco duro.

La ventaja es que utiliza SQLite así que podemos aplicar el mismo metodo que en Firefox

Tenemos que ingresar al directorio donde esta la librería de iPhoto desde nuestra Terminal

cd /Users/tu_nombre_de_usuario/Pictures/iPhoto Library

Y escribir el siguiente comando (que hace un ciclo con todos los .db y aplica la optimización)

for dbase in *.db; do sqlite3 $dbase “vacuum;”; done

No olviden hacer antes su copia de seguridad por si algo falla!…, y vualaa! iPhoto estará como loco, bueno esa es la idea.