Рубрика:
БИТ. Бизнес & Информационные технологии /
Продукты и решения
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
Сергей Яремчук
Создаем интернет-магазин на osCommerce
Начать свой бизнес в Интернете сегодня просто, следует лишь купить домен, создать свой сайт и привлечь к нему покупателей. С первым и третьим пунктом обычно все ясно, но что взять за основу сайта? Начать разработки с нуля или взять готовое решение? Предлагаю остановиться на втором варианте.
Проект osCommerce (Open Source Commerce) [1] представляет открытое решение, предназначенное для организации интернет-магазина. Изначально проект назывался The Exchange Project, но затем в 2001 году название было сменено. Лидер проекта перуанец Harald Ponce de Leon, проживавший в Германии, начал свою разработку в конце 1999 года. Первый релиз был представлен общественности уже в марте следующего года. Хотя это был скорее прототип для привлечения внимания, чем готовое решение. Но, как водится, хорошая идея была подхвачена, и проект весьма быстро оброс многочисленными последователями и, главное, получил дотации со стороны заинтересованных компаний. И к настоящему времени вокруг проекта уже сформировалось огромное сообщество. На момент написания этих строк их количество, по данным сайта проекта, уже превысило 161 тысячу человек, а свыше 12700 он-лайн магазинов уже используют это решение.
Текущей версией osCommerce является 2.2 Milestone, выход в свет которой датирован февралем 2003 годом. Но это не значит, что проект заброшен, если посмотреть в changelog, то можно увидеть, что развитие 2.2 идет постоянно, устраняются найденные ошибки, добавляются новые возможности. Последняя запись сделана июлем 2007 года, в ней версия названа уже, как osCommerce Online Merchant 2.2 RC1.
Также весьма продолжительное время ведется разработка третьей ветки, но она все никак не может увидеть свет и находится в вечной альфе. Это, кстати, стало одной из основных (но не единственных) причин появления примерно с десятка клонов osCommerce, в которых устранены, в том числе и некоторые его «неудобства».
Самым известным из них является отсутствие поддержки шаблонов для изменения дизайна сайта. Но этот недостаток в самом osCommerce компенсируется наличием многочисленных контрибуций, именно так называются здесь дополнения. Количество дополнений тоже уже исчисляется тысячами, если точнее, то в данный момент на официальном сайте доступно более 4450 дополнений.
Написан osCommerce на PHP (код совместим с 4 и 5-й версиями), для хранения информации о заказах, покупках и прочем используется MySQL, в качестве веб-сервера может быть использован любой, умеющий работать с PHP 4.1+. Также не имеет значения операционная система. Это может быть Linux, Solaris, *BSD, Mac OS X и Windows.
Распространяется osCommerce по лицензии GNU GPL. По умолчанию устанавливаются только три языка – английский, немецкий, испанский. Но в контрибуциях доступны и многие другие, среди которых есть русский и украинский. В установке помогает удобный мастер инсталляции. Также для удобства установки все возможности интернет-магазина по умолчанию включены.
Все, что нужно для создания интернет-магазина любого уровня, в osCommerce есть. Это и неограниченное число разделов и продуктов, поддерживаются как физические, так и виртуальные товары, любое количество валют, ведение статистики покупок, товаров и заказчиков. Добавление, удаление, изменение информации о товаре происходит очень просто. Есть возможность создать раздел о производителях, добавлять статьи и обзоры, автоматические рассылки, оповещающие о новых продуктах.
Клиенты могут свободно регистрироваться, совершать покупки, оплачивая любым из многочисленных типов платежей. Поддерживаются чеки, платежные поручения, платежные системы 2CheckOut, PayPal, Authorize.net, iPayment, RuPay, Webmoney и другие. Счет за товар можно тут же распечатать.
Клиенты могут просматривать историю и текущие статусы сделанных заказов. Выбранные товары помещаются в корзину. Для клиентов она постоянная, для гостей временная. Встроенная система поиска поможет быстро найти нужный товар. Для разных районов может применяться свой метод оплаты, клиент может использовать несколько адресов доставки. Возможен расчет стоимости доставки на основе веса, цены товара и района. Среди дополнений можно найти и другие модули доставки. Автоматический учет налогов для выбранного района. Поддерживается работа через защищенное SSL-соединение, в том числе контролируются некоторые параметры вроде Session ID. Окно просмотра одинаково хорошо смотрится во многих популярных браузерах. А еще добавить простоту администрирования, создания резервной копии и восстановления информации и многое другое. Если чего-то нет в стандартной поставке, то оно наверняка уже есть в дополнениях. Работу магазина на osCommerce можно оценить, зайдя на демонстрационную страницу [2]. Мы же разберем его установку и локализацию.
Установка osCommerce
Для установки нам потребуется веб-сервер с поддержкой PHP и MySQL. Тестовая установка производилась в Ubuntu, веб-сервер Apache по умолчанию устанавливается без поддержки PHP. Проверить доступные модули можно, введя команду «a2enmod», если в списке нет модуля mod_php, то его следует установить.
$ sudo apt-get install php5 php5-mysql
$ sudo a2enmod php5
И перезапускаем сервер:
$ sudo /etc/init.d/apache2 restart
Теперь создадим новую базу данных и дадим необходимые права пользователю, который будет с ней работать. Имя базы и пользователя можно выбрать произвольно, я использовал oscommerce.
$ mysqladmin --user=root password 'mysql_root_password'
$ mysqladmin --user=root -p create oscommerce
$ mysql --user root -p
mysql> GRANT ALL PRIVILEGES ON oscommerce.* TO oscommerce@localhost IDENTIFIED BY 'db_passwd';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> quit;
|
Распаковываем архив osCommerce и копируем в корневой каталог веб-сервера подкаталог catalog, находящийся внутри. По окончании копирования пробуем активировать программу установки, набрав в браузере http://localhost/catalog/install. Появится страничка, на которой можно получить информацию о соответствии системных установок требованиям osCommerce (см. рис. 1).
Рисунок 1. Проверка соответствия системных установок
В моем случае было предложено установить разрешение 777 для двух файлов configure.php:
$ sudo chmod 777 /var/www/catalog/includes/configure.php /var/www/catalog/admin/includes/configure.php
Кроме этого, в поле Server Capabilities, напротив GD и cURL, стоял красный крестик, показывающий их отсутствие. Они являются опциональными и на дальнейшую установку не влияют, но лучше их установить:
$ sudo apt-get install php5-curl php5-gd
Обновляем страницу в браузере, если все нормально, вам будет предложено начать установку. Теперь следует пройти всего три этапа. Нажимаем на «Continue» и заполняем поля для доступа к базе данных (см. рис. 2). Если все нормально, будут созданы все необходимые таблицы. Иначе в окне выводится сообщение о причине неудачи. Если что-то не так, таблицы можно создать вручную, использовав шаблон oscommerce.sql, находящийся в подкаталоге install. В следующем окне проверяем, правильно ли указаны каталог, в который скопирован osCommerce и URL для доступа. В третьем окне вводим информацию о владельце ресурса, электронный адрес, логин и пароль учетной записи администратора. Теперь вас поздравят с успешной установкой, нажатием кнопки «Catalog» или «Administration Tool» соответственно мы попадаем, собственно, в магазин или в панель администрирования.
Рисунок 2. Настройка подключения к базе данных
По умолчанию имеется несколько записей, что позволяет оценить внешний вид будущего магазина (см. рис. 3).
Рисунок 3. Подключение нового языкового модуля
Обращают внимание две надписи, появившиеся вверху. В одной рекомендуется удалить каталог установщика catalog/install. Удаляем:
$ sudo rm –Rf /var/www/catalog/install
Вторая советует изменить еще раз разрешение файла configure.php. Выполняем:
$ sudo chmod 444 /var/www/catalog/includes/configure.php
Прежде чем идти дальше, займемся локализацией.
Локализация osCommerce
Как говорилось, по умолчанию в osCommerce присутствует поддержка только трех языков, остальные языковые модули устанавливаются дополнительно. Переходим на сайте проекта страницу «Contributions -> Language» и выбираем в списке Russian Language for osCommerce 2.2-MS2 [5] (есть и другие модули, но этот самый последний). Распаковываем архив. Внутри два каталога – admin и includes, копируем их в каталог osCommerce на веб-сервере. Далее регистрируемся в модуле администрирования, набрав в браузере адрес http://server/admin/login.php. Выбираем вкладку «Localization -> Languages», нажимаем кнопку «New language» и заполняем значения в появившихся полях (см. рис. 4):
- Name – Русский
- Code – ru
- Image – icon.gif. Это имя файла в каталоге includes/languages/russian/images, по умолчанию используется именно это значение
- Directory – russian
- Sort order – 1
Рисунок 4. Страничка веб-магазина по умолчанию
Отмечаем внизу флажок «Set as default» и нажимаем кнопку «Insert». Новый язык появится в окне «Languages», он должен быть отмечен жирным шрифтом и с надписью default напротив имени. Теперь можно выбирать в раскрывающемся списке свой язык. Но это еще не все, переходим в меню «Локализация -> Валюты», здесь пока только две денежные единицы – евро и доллар, нажимаем кнопку «Новая валюта» и заполняем поля. Все значения заполнять не нужно:
- Название – рубль
- Код – руб
- Символ справа – р.
- Десятичный знак – ,
И если нужно, отмечаем флажок «Установить по умолчанию». Новая валюта появится в окне. Поле «Величина» в настройке валют позволяет автоматически рассчитывать курс. За точку отсчета берется валюта, используемая по умолчанию, у которой в этом поле вводим 1.00. А в остальных валютах прописываем коэффициент, зависящий от курса. Но это еще не все.
В файлах english.php и russian.php, которые находятся в catalog/includes/languages, следует изменить строку, в которой указано по умолчанию доллары:
define('LANGUAGE_CURRENCY', 'USD');
на нужную вам валюту:
define('LANGUAGE_CURRENCY', 'RUB');
В этих же файлах изменим и другие переменные:
# Локаль
@setlocale(LC_TIME, 'ru_RU.CP1251');
# Формат даты
define('DATE_FORMAT_SHORT', '%d/%m/%Y'); // this is used for strftime()
define('DATE_FORMAT_LONG', '%A %d %B, %Y'); // this is used for strftime()
define('DATE_FORMAT', 'd/m/Y'); // this is used for date()
define('DATE_TIME_FORMAT', DATE_FORMAT_SHORT . ' %H:%M:%S');
# Кодировка веб-страниц и e-mail
define('CHARSET', 'windows-1251');
# Заголовок страницы
define('TITLE', 'OsCommerce - Русская Версия');
И так далее. Если во время работы будут замечены ошибки в переводе или понадобится изменить значение некоторых полей, очень удобно использовать встроенный редактор файлов. Выбираем в пункте «Локализация -> Языки» нужный язык и нажимаем кнопку «Настроить». Появится список файлов, относящихся к этому языку, щелчок по любому откроет его для редактирования. Если попытаться сейчас выбрать некоторые вкладки, получим сообщение о неверно установленных правах доступа на каталоги catalog/images, admin/images/graphs. После локализации это уже можно исправлять:
$ sudo chmod 777 /var/www/catalog/images
$ sudo chmod 777 /var/www/catalog/admin/images/graphs
Также создадим каталог, в котором будет сохраняться резервная копия базы данных, при нажатии кнопки «Сделать backup» в окне «Инструменты (Tools) -> Резервное копирование БД (Database Backup)»:
$ sudo mkdir /var/www/catalog/admin/backups
$ sudo chmod 777 /var/www/catalog/admin/backups
Все, наш магазин в готов к наполнению товарами и приему заказчиков. Все настройки товаров, поступаемых в магазин, производятся в меню «Каталог». Здесь несколько подразделов, в которых описываются товары, указываются производители, опции для товаров (например, объем ОЗУ, модель, разъем и прочее), скидки (в прайсе показывается старая перечеркнутая цена и новая), отзывы и ожидаемые товары. Разобраться с ними будет легко.
Также следует обязательно пройтись по пунктам в меню «Настройки». Здесь можно изменить информацию о владельце, максимальные и минимальные значения некоторых полей обычно заполняемых вручную, GZip-компрессию трафика, кэширование, журналирование и другие. Настройки, находящиеся в подменю «Sessions», позволяют включить проверку User Agent, IP-адреса, борьбу с известными поисковыми роботами, проверку ID сессии SSL и другие.
В меню «Отчеты» – три пункта, в которых можно получить информацию о товарах, просмотренных клиентами, заказанных товарах и лучших клиентах. В меню «Инструменты», кроме тех, о которых уже говорилось, еще несколько пунктов, позволяющих отправить e-mail (по конкретному адресу, группе рассылки или всем). «Менеджер баннеров», находящийся здесь же, позволит узнать о количестве показов и щелчков по баннеру. Разобраться с функциями osCommerce очень просто.
Защита панели администрирования
После появления нового ресурса наверняка найдутся желающие испытать его на прочность. Минимум, что необходимо сделать, это защитить доступ к панели администрирования. Сделать это можно несколькими способами: прописав нужные параметры в конфигурационном файле веб-сервера, использовав файл .htaccess и взяв один из специальных модулей в разделе «Features». Последние я не изучал, воспользуемся первым вариантом. Допишем в конфигурационный файл веб-сервера apache2.conf такие строки.
<Directory /srv/www/catalog/admin>
AllowOverride None
AuthUserFile /etc/apache2/.htpasswd
AuthName "Secure Zone"
AuthType Basic
Require valid-user
</Directory>
Теперь создадим указанный файл /etc/apache/.htpasswd с паролями пользователей, которым разрешено получать доступ к этой странице:
htpasswd -c /etc/apache/.htpasswd user1
htpasswd /etc/apache/.htpasswd user2
Итого за полчаса мы создали полноценный интернет-магазин. Если возможностей, предоставляемых базовой комплектацией, не достаточно, то в вашем распоряжении большое количество контрибуций, уж там-то вы точно найдете то, что нужно. Установка обычно заключается в распаковке в корневой каталог и подмене некоторых находящихся там файлов. Некоторую информацию о продукте, в том числе и для веб-разработчиков, найдете на сайтах [3, 4].
- Сайт проекта osCommerce – http://www.oscommerce.com.
- Демо-версия osCommerce – http://www.oscommerce.com/shops/demonstration.
- Русскоязычное общество osCommerce – http://forum.oscommerce.ru.
- Сайт osCommerce по-русски – http://oscomm.info.
- Пакет локализации osCommerce – http://addons.oscommerce.com/info/1887.
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|