Entries for despliegue
Preparar un sitio en construcción con Apache2
28 October 2012
Cuando tenemos un sitio en construcción, en el cuál sólo tenemos una pantalla de presentación, puede interesarnos que todas las peticiones redirijan a la página principal.
Para ello podemos utilizar mod_rewrite, el cuál ya se ha comentado antes en este blog. En principio se puede pensar que bastaría con:
RewriteEngine on
RewriteRule ^/(.+)$ / [R=302,L]
Con esto estamos indicando a Apache2 que cualquier cosa que no sea la raíz, ^/(.+)$, debe ser redirigido a , /, usando el código de redirección 302. El problema es que si enlazamos con algún estático: css, javascript, imágenes, ..., también será redirigido a la raíz.
Este comportamiento no nos interesa, así que vamos a añadir una condición. Suponiendo que todos nuestros estáticos están en /static/, bastará con añadir lo siguiente:
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/static/
RewriteRule ^/(.+)$ / [R=302,L]
Cómo instalar MediaWiki dentro de un sitio Django con Apache2
4 May 2011
La idea es bastante sencilla. Disponemos de un sitio web en el que vamos a añadir MediaWiki en /wiki/. Así, por ejemplo, si nuestro dominio es http://www.plagaos.com/, en el cuál hay un proyecto Django en despliegue, vamos a tener http://www.plagaos.com/wiki/ sin que afecte al sitio. Además, MediaWiki hará uso de PostgreSQL.
Fallo de autenticación en PostgreSQL utilizando Django
12 April 2011
Estoy haciendo un pequeño despliegue de una aplicación de pruebas y lo estaba haciendo con PostgreSQL. Tras crear el usuario, dar permisos y todo lo típico, me he encontrado con lo siguiente:
# python manage.py syncdb
Traceback (most recent call last):
File "manage.py", line 11, in <module>
execute_manager(settings)
File "/usr/lib/pymodules/python2.6/django/core/management/__init__.py", line 438, in execute_manager
utility.execute()
File "/usr/lib/pymodules/python2.6/django/core/management/__init__.py", line 379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/lib/pymodules/python2.6/django/core/management/base.py", line 191, in run_from_argv
self.execute(*args, **options.__dict__)
File "/usr/lib/pymodules/python2.6/django/core/management/base.py", line 220, in execute
output = self.handle(*args, **options)
File "/usr/lib/pymodules/python2.6/django/core/management/base.py", line 351, in handle
return self.handle_noargs(**options)
File "/usr/lib/pymodules/python2.6/django/core/management/commands/syncdb.py", line 52, in handle_noargs
cursor = connection.cursor()
File "/usr/lib/pymodules/python2.6/django/db/backends/__init__.py", line 75, in cursor
cursor = self._cursor()
File "/usr/lib/pymodules/python2.6/django/db/backends/postgresql_psycopg2/base.py", line 136, in _cursor
self.connection = Database.connect(**conn_params)
psycopg2.OperationalError: FATAL: la autentificación Ident falló para el usuario <<xxxx>>
Redirección de dominios con VirtualHosts en Apache2
27 November 2010
Inicialmente, el despliegue para PlagaOS lo realicé en un subdominio de MenudoProblema (palgaos.menudoproblema.es). A los pocos días decidí comprar un nombre de dominio, por lo que ahora quiero redirigir todo el tráfico de http://plagaos.menudoproblema.es hacia http://www.plagaos.com.
Crear una base de datos MySQL para Django
22 September 2010
Ya he escrito en varios artículos como crear una base de datos en MySQL. Para evitar repetir esto continuamente, voy a detallar la creación de una base de datos específica para Django.
La teoría es cuando crees saber algo, pero no funciona.
La práctica es cuando algo funciona, pero no sabes por qué.
Los programadores combinan la teoría y la práctica:
Nada funciona y no saben por qué.
