wiki:InstallWallp

Установка движка

Для установки необходимо выполнить следующие действия: 

  • Создать роль и базу данных PostgreSQL (или MySQL):
    su postgres
    createuser wallp --no-superuser --no-createdb --no-createrole --login --pwprompt --encrypted
    createdb --owner=wallp --encoding=utf-8 wallp --template=template0
    
  • Создать файл с настройками local_settings.py следующего содержания (пример для postgresql):
    # local settings.
    DATABASE_ENGINE = 'postgresql_psycopg2'           # '', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
    DATABASE_NAME = 'wallp'             # Or path to database file if using sqlite3.
    DATABASE_USER = 'wallp'             # Not used with sqlite3.
    DATABASE_PASSWORD = 'password'         # Not used with sqlite3.
    DATABASE_HOST = 'localhost'             # Set to empty string for localhost. Not used with sqlite3.
    DATABASE_PORT = ''             # Set to empty string for default. Not used with sqlite3.
     
    MEDIA_ROOT = '/var/www/user/wallp/media/site.ru/'
    MEDIA_URL='http://site.ru/'
    
    TEMPLATE_DIRS = (
        '/var/www/user/wallp/templates/site.ru/'
    )
    
    ABS_ROOT = '/var/www/user/wallp/'
    
    ROOT_URLCONF = 'wallp.urls'
    
    
    ADMIN_MEDIA_PREFIX = '/media2/'
    
    DEBUG = True
    
    
  • Создать root-тему (пример для PostgreSQL):
    INSERT INTO wall_theme(
                id, "name", parent_theme_id, active, publication_date, url)
        VALUES (0, 'root', 0, TRUE, '2009-04-01', '/');
    
    
  • Если вы хотите чтобы пользователи могли загружать картинки и комментировать анонимно - в админке Django создайте пользователя Anonymous.

Пример конфигурации Apache2 (mod_python) + nginx в качестве reverse proxy:

nginx:

server { proxy_set_header X-Forwarded-For $remote_addr;
    listen 80;
    server_name site.ru www.site.ru;
    location / {
                proxy_pass http://127.0.0.1:8080/;
		proxy_set_header Host $host;
    	        proxy_set_header X-Forwarded-For $remote_addr;
                }
    location ~* \.(jpg|gif|png|css|js)$ {
        	root /var/www/user/wallp/media/site.ru/; #  тут адрес для статики
	    }
    }

Apache:

<Directory /var/www/user/wallp>
    SetHandler python-program
    PythonHandler django.core.handlers.modpython
    SetEnv DJANGO_SETTINGS_MODULE wallp.settings
    PythonPath "['/var/www/user/', '/var/www/user/wallp'] + sys.path"
    PythonDebug On
</Directory>

<VirtualHost 127.0.0.1:8080>
	ServerName site.ru
	DocumentRoot /var/www/user/wallp
	CustomLog /var/www/httpd-logs/site.ru.access.log combined
	ErrorLog /var/www/httpd-logs/site.ru.error.log
	ServerAlias www.site.ru
	ServerAdmin user@site.ru
</VirtualHost>