Инструкция по установке

Установка php-скрипта Molotok для организации торговой площадки, включает в себя несколько этапов, каждый из которых является обязательным для выполнения. Любые нестандартные ситуации возникающие при установке и настройке приложения можно обсудить на нашем форуме.

Структура приложения

Торговая площадка Molotok построена на базе Yii Framework 1.1.14, а также использует Yiinitializr intermediate - библиотеку позволяющую упростить и ускорить цикл разработки приложения.

В структуру приложения входят 4 основные части:

  • backend — администраторская часть;
  • frontend — пользовательская часть;
  • console — часть для консольных команд;
  • common — место для общих компонентов всех остальных частей.

Системные требования

Для установки приложения мы рекомендуем использовать linux-подобные системы, например Debian или Ubuntu с предустановленными сервисами PHP и MySql.

Шаг 1. Копирование файлов и установка прав

Скачайте архив с файлами на этой странице и распакуйте в корневую директорию веб-сайта, либо клонируйте реппозиторий с Github выполнив следующую команду:

git clone https://github.com/molotoksoftware/auction.git .

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

/backend/runtime
/backend/www/assets
/console/runtime
/frontend/runtime
/frontend/www/assets
/frontend/www/i2
/frontend/www/tmp
/frontend/www/images/users
/frontend/www/images/admins
/frontend/www/images/news

Шаг 2. Настройка сервера

Внимание! Обратитесь за помощью в техническую поддержку хостера, если будете испытывать проблемы с конфигурированием веб-сервера.

Инструкция по настройке веб-сервера для корректной работы приложения приведена на примере Apache. При настройке других веб-серверов необходимо придерживаться тех-же принципов.

Необходимо сконфигурировать сервер так, чтобы корневая директория указывала на /frontend/www. Такой подход дополнительно обеспечивает защиту данных находящихся на одном уровне с /frontend. Таким образом файлы располагающиеся внутри директории /frontend/www станут доступны при наборе основного доменного имени, например http://youauction.com.

Пример конфигурационного файла Apache

<VirtualHost 127.0.0.1:80>
        ServerAdmin webmaster@localhost
        ServerName demo.molotoksoftware.com
        DocumentRoot /var/www/demoMolotok/frontend/www
        <Directory />
                Options FollowSymLinks
                AllowOverride All
        </Directory>
        <Directory /var/www/demoMolotok/frontend/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/error.log
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Для администраторской части торговой площадки /backend, рекомендуется создать отдельный поддомен, например admin.youauction.com. По аналогии с вышеприведенным примером, в конфигурационном файле Apache необходимо прописать полный путь до папки, например так /var/www/demoMolotok/backend/www.

Для работы приложения необходим mod_rewrite Apache, включить его можно следующей командой:

a2enmod rewrite

Если планируется использование связки nginx + php5-fpm

Пример секции с описанием виртуального сервера (server) для frontend-части.

server {
        listen *:80;
        server_name molotoksoftware.com;

        root /var/www/molotoksoftware/frontend/www;
        index index.html index.htm index.php index.cgi index.pl index.xhtml;

        error_log /path/to/log/error.log;
        access_log /path/to/log/access.log combined;

        location ~ /\. {
            deny all;
            access_log off;
            log_not_found off;
        }

        location ~ \.php$ {
            try_files /36a898a1efa0699c456408a365t426.htm @php;
        }

        location @php {
            try_files $uri =404;
            fastcgi_param  QUERY_STRING       $query_string;
            fastcgi_param  REQUEST_METHOD     $request_method;
            fastcgi_param  CONTENT_TYPE       $content_type;
            fastcgi_param  CONTENT_LENGTH     $content_length;

            fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
            fastcgi_param  REQUEST_URI        $request_uri;
            fastcgi_param  DOCUMENT_URI       $document_uri;
            fastcgi_param  DOCUMENT_ROOT      $document_root;
            fastcgi_param  SERVER_PROTOCOL    $server_protocol;
            fastcgi_param  REQUEST_SCHEME     $scheme;
            fastcgi_param  HTTPS              $https if_not_empty;

            fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
            fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

            fastcgi_param  REMOTE_ADDR        $remote_addr;
            fastcgi_param  REMOTE_PORT        $remote_port;
            fastcgi_param  SERVER_ADDR        $server_addr;
            fastcgi_param  SERVER_PORT        $server_port;
            fastcgi_param  SERVER_NAME        $server_name;

            # PHP only, required if PHP was built with --enable-force-cgi-redirect
            fastcgi_param  REDIRECT_STATUS    200;

            fastcgi_pass unix:/var/lib/php5-fpm/web1.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_intercept_errors on;
        }
        location / {
            try_files $uri $uri/ /index.php?$args;
        }

        location ~* .(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|mid|midi|wav|bmp|rtf)$ {
            expires max; log_not_found off; access_log off;
        }
}

Шаг 3. База данных

Создайте новую базу данных и импортируйте в нее SQL-файл auction.sql (SQL Dump), который находится в директории /common/data/. Файл содержит основную структуру базы данных торговой площадки, а также начальные настройки. Импортировать дамп можно например, при помощи утилиты phpMyAdmin которая установлена практически на каждом сервере, для этого перейдите в созданную БД -> Импорт -> файл auction.sql

Распаковать SQL Dump можно также при помощи командной строки, для этого подключитесь к MySQL, создайте или выберите необходимую базу данных и введите следующую команду:

mysql ИМЯ_БАЗЫ -uИМЯ_ПОЛЬЗОВАТЕЛЯ -pПАРОЛЬ < auction.sql

Шаг 4. Конфигурационный файл env.php

На этом этапе необходимо настроить компонент для подключения к базе данных в файле настроек /common/config/env.php. Измените значения параметров mysql:host, dbname, username и password.

'db'  => [
            'connectionString'      => 'mysql:host=localhost;dbname=dbname',
            'emulatePrepare'        => true,
            'username'              => 'root',
            'password'              => '',
            'charset'               => 'utf8',
            'enableProfiling'       => true,
            'enableParamLogging'    => true,
            'tablePrefix'           => '',
            'schemaCachingDuration' => 0,
        ],

Шаг 5. Настройка параметров

Перейдите в администраторскую часть http://admin.youauction.com -> раздел "Настройки", и укажите основные параметры. Данные для доступа в администраторскую часть:

  • Логин: admin
  • Пароль: 123456

Настоятельно рекомендуем Вам сменить пароль для доступа в админ-окружение, сделать это можно в разделе "Управление администраторами".