Como instalar OSQA en tu plan de alojamiento

11 de agosto, 2016 @ 15:20 — 0 comentariosDescargar PDF

OSQA usa a día de hoy la versión de Django 1.6. Así pues debemos usar según la documentación Python 2.7.

Para instalar OSQA en guebs no tienes más seguir estos pasos:

1 - Definir la aplicación desde el Panel de Hosting

Dado que requiere Django 1.6, al crear la aplicación desde el Panel de Hosting debes seleccionar la versión 2.7 de Python.

2 - Descargar y ubicar OSQA

Descarganos y ubicamos el software:

cd python
/opt/git/bin/git clone https://github.com/dzone/osqa.git
rmdir miapp
mv osqa miapp
cd miapp

3 - Instalar dependencias

Una vez descargado OSQA editamos el archivo requeriments.txt y lo dejamos así:

 markdown==2.4.1
 html5lib<0.99999999
 python-openid
 South
 python-memcached
 django==1.6.0
 django-debug-toolbar
 django-endless-pagination
 pytz

Por último, instalamos las dependencias

pip install -r requeriments.txt --user
pip install MySQL-python --user

4 - Configurar el archivo WSGI

El software OSQA ya incluye un archivo WSGI, que debemos copiar y renombrar:

cp osqa.wsgi.dist passenger_wsgi.py

Luego debemos modificar algunos valores del archivo. Suponiendo que el nombre de usuario de nuestro hosting es usuario y nuestra aplicación Python se llama miapp el archivo quedaría así:

import os
import sys
sys.path.append('/home/usuario/python/miapp')
sys.path.append('/home/usuario/python')
# The first part of this module name should be identical to the directory name
# of the OSQA source. For instance, if the full path to OSQA is
# /home/osqa/osqa-server, then the DJANGO_SETTINGS_MODULE should have a value
# of 'osqa-server.settings'.
os.environ['DJANGO_SETTINGS_MODULE'] = 'miapp.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

4 - Configurar OSQA

Hecho esto debemos configurar y editar el archivo settings_local.py:

cp settings_local.py.dist settings_local.py

Hay dos variables que debemos editar inicialmente. Suponiendo que la dirección de tu web es midominio.com:

ALLOWED_HOSTS = ('localhost','midominio.com')
APP_URL = 'http://midominio.com'

Además, debes especificar los datos de conexión a la base de datos, es decir, debemos rellenar la siguiente sección del archivo con los valores correctos:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'osqa',
        'USER': 'root',
        'PASSWORD': '',
        'HOST': '',
        'PORT': '',
        'CONN_MAX_AGE': 600,
    }
}

5 - Generar la base de datos

Ahora ya podemos ejecutar los comandos necesarios para generar la  base de datos:

python manage.py syncdb

La salida de este comando será:

 Syncing...
 Creating tables ...
 Creating table auth_permission
 Creating table auth_group_permissions
 Creating table auth_group
 Creating table auth_user_groups
 Creating table auth_user_user_permissions
 Creating table auth_user
 Creating table django_content_type
 Creating table django_session
 Creating table django_site
 Creating table django_admin_log
 Creating table south_migrationhistory

You just installed Django's auth system, which means you don't have any superusers defined.
 Would you like to create one now? (yes/no): yes
 Username (leave blank to use 'usuario'): myadmin
 Email address: test@yourtest.com
 Password:
 Password (again):
 Superuser created successfully.
 Installing custom SQL ...
 Installing indexes ...
 Installed 0 object(s) from 0 fixture(s)

Synced:
 > django.contrib.auth
 > django.contrib.contenttypes
 > django.contrib.sessions
 > django.contrib.sites
 > django.contrib.admin
 > django.contrib.humanize
 > django.contrib.sitemaps
 > django.contrib.messages
 > south

Not synced (use migrations):
 - forum
 (use ./manage.py migrate to migrate these)

Y finalizamos con :

python manage.py migrate

6 - Completar el proceso de instalación

El primer usuario que se registre en el sitio web será un usuario administrador, por lo que es conviente que hagas un registro inicial rápido.

Cuando el sitio es instalado, se inserta por defecto publicidad de terceros en el sitio. Para eliminarla, puedes acudir a  al administración y en la zona de "Sidebar Content"  desactivar (o cambiar el contenido)  el epígrafe "Check if your pages should display the upper sidebar block."

Sin nombre.2

Por defecto la zona de administración aparece sin los recursos CSS. Para ponerle solución debes leer primero el siguiente recurso:

Características del servicio Python de guebs

Así que copiaremos los recursos estáticos de admin en el directorio público (django 1.6 no tiene el comando collectstatic, que sí tienen versiones de django superiores: https://ayuda.guebs.com/instalar-django-plan-alojamiento )

mkdir -p ~/python/osqa/public/admin
cp -a ~/.local/lib/python2.7/site-packages/django/contrib/admin/static/admin/ python/osqa/public/admin/

Sin nombre3

Etiquetas: