---
# System prepended metadata

title: Instalación y configuración de Django-cms

---

<img src="https://docs.django-cms.org/en/latest/_images/django-cms-logo.png">

# Instalación y configuración de Django-cms
 
Este manual explica los pasos de instalación y configuración de Django-cms en Ubuntu server 18.04.3. Para ello se instalará postgreSQL como base de datos.

## Requisitos previos a la instalación de DJANGO-CMS
### Actualización e instalación de python-dev y postgresql

  - Actualizar los repositorios e instalar actualizaciones.
```sh
$ sudo apt update && sudo apt upgrade -y
```
  - Instalar Python-dev, y postgreSQL con sus complementos.
```sh
$ sudo apt-get install python-dev libpq-dev postgresql postgresql-contrib -y
```
### Creación de base de datos y usuario de base de datos postgreSQL.
- Poner contraseña al usuario postgres.
- Iniciamos como usuario postgres y a continuación abrimos consola psql
```sh
$ sudo passwd postgres
$ su postgres
$ psql
```
- Creamos la base de datos y el usuario. (para salir de psql: \q)
```sh
CREATE DATABASE djangoprojectdb;
CREATE USER djangoproject WITH PASSWORD 'djangoproject';
ALTER ROLE djangoproject SET client_encoding TO 'utf8';
ALTER ROLE djangoproject SET default_transaction_isolation TO 'read committed';
ALTER ROLE djangoproject SET timezone TO 'EST';
GRANT ALL PRIVILEGES ON DATABASE djangoprojectdb TO djangoproject;
\q
```
- Salir del usuario postgres
```sh
$ exit
```
### Instalar el sistema de gestión de paquetes de python pip
```sh
$ sudo apt install python-pip -y
```
### Instalar la herramienta para crear entornos aislados para python
```sh
$ sudo apt install virtualenv -y
```
### Crear y activar un entorno virtual
```sh
$ virtualenv env
$ source env/bin/activate
```
## Instalación de DJANGO-CMS
### Instalación con pip de DJANGO-CMS
```sh
$ pip install  django-cms-installer
```
### Creación del proyecto
```sh
$ djangocms a128
```
- Cambiamos al directorio raíz de nuestro proyecto
```sh
$ cd a128
```
### Configuración de Django-cms
- Editar el fichero de opciones.
```sh
vim a128/settings.py
```
- Cambiar la línea 'ALLOWED_HOSTS = [ ]'. Introducir la ip del servidor.
```sh
ALLOWED_HOST = ['192.168.128.180']
```
- Modificar el campo DATABASES para que quede asi:
```sh
    DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'djangoprojectdb',
        'USER': 'djangoproject',
        'PASSWORD': 'djangoproject',
        'HOST': '127.0.0.1',
        'PORT': '5432',
    }
}
```
Guardar y cerrar el archivo settings.py

### Instalar la librería que permite conectar Django-cms con postgreSQL
```sh
$ pip install psycopg2==2.7.7
```
### Migrar la base de datos de postgreSQL a Django-cms
```sh
$ python manage.py migrate
```
### Crear el usuario administrador de Django-cms
```sh
$ python manage.py createsuperuser
```
### Iniciar Django-cms
```sh
$ python manage.py runserver 0.0.0.0:8000
```
___
### Instalación de Addons
En la página web de [marketplace] tenemos a nuestra disposición una gran variedad de addons o plugins que amplian la funcionalidad de nuestro sitio web. En esta ocación decidimos instalar el addon de audio.

#### Instalar django-filer 
**La instalación de django-file solo hay que realizarla si es la primera vez que instalamos un addon en nuestro proyecto.**
```sh
pip install django-filer
```
Editar de nuevo el archivo de configuración settings.py

Agregar al apartado de INSTALLED_APPS las siguientes líneas:
```sh
'filer',
'mptt',
'easy_thumbnails',
'djangocms_audio',
```
Guardar y salir del archivo settings.py
#### Instalar el addon de audio
```
pip install djangocms-audio
```

#### Migrar la nueva configuración
Situarse en el directorio raíz del proyecto y ejecutar:
```sh
python manage.py migrate
```
#### Iniciar Django-cms
```sh
$ python manage.py runserver 0.0.0.0:8000
```
Ahora aparecerá la opción de agregar el Audio Player a nuestro sitio web.
##
# ¡Muchas gracias a todos!

###### Este manual ha sido elaborado por:
- Francisco M. Cadena
- Ángel L. Gonzálvez
- Alejandro M. Vázquez

[//]: # 
   [marketplace]: <https://marketplace.django-cms.org/>
