Обзор
За свою карьеру я собрал большой багаж опыта работы с веб-сервером Nginx и некоторые моменты освещал в данном блоге. Для навигации по теме используйте страницу Nginx 101
В поисках CMS интернет-магазина (e-commerce) для нового проекта, нарвался на ImageCMS. Описание довольно привлекательное, однако именно интернет-магазин у них платный, и демо только на их серверах. Но другой их продукт — Corporate, полностью бесплатен, поэтому я решил затестить для начала его.
ImageCMS
Создатели данного продукта обещают:
- Быстродействие
- SEO-оптимизация
- Безопасность
- Юзабилити
- Гибкость
- Надежность
При этом, они рекомендуют использовать Denwer или OpenServer. Возникает резонный вопрос — неужели все вышеперечисленное мы получаем на Apache? Что же тогда будет под Nginx?
Вообще, особо много документации по установке вы не найдете. Не долго думая, я скачал последнюю версию 4.6 на сервер, и прописав обычный конфиг nginx+php-fpm, попробовал открыть главную. При этом, я увидел ошибку 404, а в адресной строке переадресацию на каталог install, которого в принципе нет в архиве с системой.
Стоит упомянуть что столкнувшись с данной ошибкой я полез в google, и по второй ссылке перешел на форум ImageCMS, в котором прочитал интересный тред:
Тема: Установка на NGINX без Апача
Ne@Flax: Подскажите конфиг для NGINX без использования Апача. В частности, секции реврайтов. Сейчас установка ссылается на папку install, которой есстно и нет.
supleader: У вас nginx+php-fpm? Вряд ли движок заведется…
htaccess-конвертер для nginx
На помощь приходит сервис из заголовка, который располагается например здесь. Открываем файл .htaccess
в корне каталога с ImageCMS, находим строки:
и с помощью вышеуказанного ресурса конвертируем это в удобоперевариваемое Nginx-ом:
На самом деле не очень удобоперевариваемое, поэтому переделываем так:
Конфиг для Nginx
В итоге получаем простой конфиг, следующего вида:
Установка ImageCMS
После
открываем главную страницу и «о чудо», оно работает. Первым шагом установки является принятие лицензионного соглашения. Конечно не читая я нажимаю кнопку принять (или как-то так) и дальше следует проверка системы. Скрипт говорит, что все прекрасно, но вот версия PHP 4.3.3 меня не устраивает, хочу 4.3.4 минимум.
Что же, если хочешь — получай.
Update тестового сервера
Естественно, что играюсь с разными системами я на тестовом сервере, который был скопирован с моего боевого сервера (т.е. да, там до сих пор стоит PHP 4.3.3) и обновляться не страшно.
Добавляем репозиторий Remi:
Не забудьте включить его в /etc/yum.repos.d/remi.repo. Обновляемся:
И, не буду долго разглагольствовать. Что мне пришлось пофиксить:
PHP
/etc/php-fpm.d/www.conf
раскомментировать эти две строчки и прописать значения - пользователя из-под которого работает
Nginx
Так же сбросились права на папку /var/lib/php/session
MySQLd
/etc/my.cnf
Новому MySQL не понравилось это: default-character-set=utf8
. Просто закомментировал эту строчку
После рестарта php-fpm
и mysqld
все заработало нормально.
ImageCMS — итог
После обновления я закончил установку и теперь приступлю к тестированию данной CMS.
Минусы:
- Отсутствие нормальной документации по установке на CentOS+Nginx+php-fpm.
Плюсы:
- Данная CMS напомнила мне про необходимость обновления core пакетов веб-сервера.
- Так же, я научился правильно создавать пользователей в mysql, но это к тексту не относится.
Материалы по теме:
#Linux #Nginx #TechAndDev