Настраиваем сервер для LiveStreet. Часть IX. LiveStreet.
Предыдущие части:
Не самая сложная, не самая последняя, но самая важная часть. То, ради чего, всё и затевалось :)
Для начала, нужно обеспечить появление ZIP-a с последней версии LiveStreet (на данный момент это LiveStreet_1.0.3.zip ) в корневой папке сайта. Качаем ZIP отсюда livestreetcms.ru/download/ и по SFTP забрасываем в папку сайта /var/www/superls.ru/public/
Cоздаём файл config.local.php:
Раздаём необходимые права на файлы:
Лучше чтобы к этому моменту была создана пустая база данных и MySQL юзер для неё (как это было описано в четвёртой части ). Запускаем и проходим процесс установки:
На экране настройки базы данных указываем нашу базу и нашего юзера.
Проверяем что всё работает (если всё OK, покажет нормальный экран LiveStreet c просьбой удалить папку install):
После чего удаляем всё что больше нам не надо:
В пятой части мы вносили изменения в файл /etc/hosts. Самое время их убрать, больше не нужно.
И деинсталлируем lynx, больше не нужен:
В config.local.php добавляем следующие строки:
Обращаю особое внимание на опцию $config['sys']['cache']['prefix'] Она нужна для того, чтобы один и тот же Memcached можно было использовать несколькими инсталляциями LS. Там должна быть произвольная константа, различная для каждого сайта.
В заключение, полезная команда, которая сбрасывает кэш:
Всё про настройку и подключение: livestreet.ru/blog/dev_documentation/13482.html
Решение проблемы закрытых блогов: livestreet.ru/blog/tips_and_tricks/14568.html
Решение проблемы более 100 страниц: livestreet.ru/blog/questions/14784.html
Добавляем туда строку:
Внимание: не забыть проконтролировать, что в конфигурационном файле /etc/php5/cli/php.ini правильно заданы параметры связанные с рассылкой почты. Об этом упоминалось в шестой части.
Добавляем в config.local.php следующие строки:
Решение проблемы «всегда не асинхронная рассылка писем связанных с учётной записью пользователя» от господина dimkus : livestreet.ru/blog/projects_and_ideas/14732.html
Продолжение в следующей части:
Приложение A. Переход на PHP 5.4
- Часть I. Введение, хостинг и PuTTY.
- Часть II. Vim, файловая система, hostname.
- Часть III. Некоторые настройки ядра, репозитории и базовые утилиты.
- Часть IV. MySQL.
- Часть V. Apache.
- Часть VI. PHP.
- Часть VII. NGINX.
- Часть VIII. APC, Memcached & Sphinx.
Не самая сложная, не самая последняя, но самая важная часть. То, ради чего, всё и затевалось :)
Для начала, нужно обеспечить появление ZIP-a с последней версии LiveStreet (на данный момент это LiveStreet_1.0.3.zip ) в корневой папке сайта. Качаем ZIP отсюда livestreetcms.ru/download/ и по SFTP забрасываем в папку сайта /var/www/superls.ru/public/
Устанавливаем
cd /var/www/superls.ru/public/
unzip LiveStreet_1.0.3.zip
Cоздаём файл config.local.php:
cp /var/www/superls.ru/public/config/config.local.php.dist /var/www/superls.ru/public/config/config.local.php
Раздаём необходимые права на файлы:
chown -R www-data:www-data /var/www/superls.ru/public/
find /var/www/superls.ru/public -type d -exec chmod 770 {} \;
find /var/www/superls.ru/public -type f -exec chmod 660 {} \;
Лучше чтобы к этому моменту была создана пустая база данных и MySQL юзер для неё (как это было описано в четвёртой части ). Запускаем и проходим процесс установки:
http://superls.ru/install/
На экране настройки базы данных указываем нашу базу и нашего юзера.
Проверяем что всё работает (если всё OK, покажет нормальный экран LiveStreet c просьбой удалить папку install):
http://superls.ru/
После чего удаляем всё что больше нам не надо:
rm /var/www/superls.ru/public/LiveStreet_1.0.3.zip
rm -r /var/www/superls.ru/public/install/
rm /var/www/superls.ru/public/info.php
rm /var/www/superls.ru/public/ip.php
rm /var/www/superls.ru/public/test.html
В пятой части мы вносили изменения в файл /etc/hosts. Самое время их убрать, больше не нужно.
И деинсталлируем lynx, больше не нужен:
apt-get purge lynx
Подключаем Memcached
В config.local.php добавляем следующие строки:
/** * Настройка memcached */ $config['memcache']['servers'][0]['host'] = 'unix:///var/run/memcached.socket'; $config['memcache']['servers'][0]['port'] = '0'; /** * Настройки кеширования */ // Устанавливаем настройки кеширования $config['sys']['cache']['use'] = true; // использовать кеширование или нет $config['sys']['cache']['type'] = 'memory'; // тип кеширования: file, xcache и memory. memory использует мемкеш, xcache - использует XCache $config['sys']['cache']['prefix'] = 'superls'; // произвольный префикс кэша, должен быть уникальным для каждого сайта
Обращаю особое внимание на опцию $config['sys']['cache']['prefix'] Она нужна для того, чтобы один и тот же Memcached можно было использовать несколькими инсталляциями LS. Там должна быть произвольная константа, различная для каждого сайта.
В заключение, полезная команда, которая сбрасывает кэш:
echo "flush_all" | socat unix-connect:/var/run/memcached.socket - > /dev/null
Подключаем Sphinx
Повторяться не будем.Всё про настройку и подключение: livestreet.ru/blog/dev_documentation/13482.html
Решение проблемы закрытых блогов: livestreet.ru/blog/tips_and_tricks/14568.html
Решение проблемы более 100 страниц: livestreet.ru/blog/questions/14784.html
Отложенная рассылка почтовых сообщений
crontab -e
Добавляем туда строку:
*/10 * * * * /usr/bin/php /var/www/superls.ru/public/include/cron/notify.php >/dev/null 2>&1*/10 — означает «каждые 10 минут», править по желанию.
Внимание: не забыть проконтролировать, что в конфигурационном файле /etc/php5/cli/php.ini правильно заданы параметры связанные с рассылкой почты. Об этом упоминалось в шестой части.
Добавляем в config.local.php следующие строки:
// Указывает на необходимость использовать режим отложенной рассылки сообщений на email $config['module']['notify']['delayed'] = true; // Если опция установлена в true, систему будет собирать записи заданий удаленной публикации, // для вставки их в базу единым INSERT $config['module']['notify']['insert_single'] = true; // Количество отложенных заданий, обрабатываемых одним крон-процессом $config['module']['notify']['per_process'] = 100;
Решение проблемы «всегда не асинхронная рассылка писем связанных с учётной записью пользователя» от господина dimkus : livestreet.ru/blog/projects_and_ideas/14732.html
Полезные плагины:
Я перечислю несколько полностью бесплатных, которые я считаю безусловно полезными для любого сайта. Т.е. этот набор, с моей точки зрения, нужно ставить всегда:- Плагин «Nice URL»
- Плагин «Sitemap»
- Плагин «AutoAlt»
- Плагин «Native» (решение проблемы с прокруткой топика у не зарегестрированного пользователя: livestreet.ru/blog/addons/12162.html#comment190025 )
- Плагин «Пингатор»
- Плагин «Аватары с Gravatar»
- Редактирование комментариев: Плагин «Editing comments» или Плагин «EditComment»
- Премодерация топиков: Плагин «Премодерация топиков» или Плагин «Премодерация топиков»
Разные, не всегда бесспорные, полезности, заслуживающие упоминания
- Плагин «АнтиБот» — штука полезная, однако некоторые наши пользователи получили проблемы с логином после его установки. Похоже, есть некоторые вопросы с браузерной совместимостью. А может и нет — до конца мы не разбирались.
- Плагин «SEO» и оптимизация для него. Эту тему я не считаю особенно важной, в силу того, что содержимое meta description и keywords играют крайне слабое значение для современных версия поисковиков. Этот плагин в конфигурации «по умолчанию», вообще больше смысла не имеет, с моей точки зрения.
- Нужно позаботится о robots.txt. Размышления по теме.
- Очень важной является тема интеграции и продвижения в социальных сетях. Плагин «OpenID», Share42, изучите вопрос репоста RSS в группы социальных сетей. Ввконтакт умеет сам, для facebook и twitter есть много сервисов, я предпочитаю twitterfeed.com/
- Оптимизация шаблона Synio для LiveStreet
Продолжение в следующей части:
Приложение A. Переход на PHP 5.4
Хотите порадовать близких необычным подарком? Подарок убегающий будильник — то что нужно!
37 комментариев
Я бы еще добавил из серии «а случаи бывают разные»:
Ну и
Возможно что-то еще упустил.
Вообще в дистрибутиве ЛС файлик config.local.php добавить такими
Что означает эта запись? расшифруйте, пожалуйста.
2) Найти все файлы в /var/www/superls.ru/public и установить chmod 660
Зы. А я у себя в продакшне ещё делаю это.
А смысл проверять файлы перед компиляцией?
(само собой, кроме папок с кешем и каталога загрузки — там вообще все хитро)
Я попробовал из любопытства выставить такие права, как у Вас и получил при заходе на сайт — 403 ошибку.
После того, как вернул в исходное — все заработало. Так что с этим надо аккуратнее, а то я 2 недели мучился с поиском ошибки...
Правда теперь вопрос о том, как выводить больше 100 страниц в поиске для меня снова открыт.
отдельное спасибо, а то изменишь языковой файл и потом сидишь, не знаешь как обновить кеш мемкеша чтобы новые значения отображались
Есть более универсальная утилита memcflush но её надо отдельно ставить, они приходит с пакетом libmemcached-tools
В общем, настраивал сервер по этому мануалу. Автору, кстати, огромное спасибо.
Я ЛС ставлю не с нуля, а переношу с шаред-хостинга. Поэтому, скопировал файлы сайта, сделал дамп.
И вот когда дошло до импорта базы через HediSQL, то произошел облом — так ни разу база полностью и не загрузилась. Программа просто виснет в процессе.
Хотел было поставить phpmyadmin, однако же система ругается:
ЧТо делать-то?..
Еще раз хочу выразить автору серии статей благодавность. Благодаря ему, этому сообществу, гуглу и такой-то матери, мне-таки удалось настроить VPS и перенести туда свой сайт на LS 0.5.1.
И все бы ничего, но как-то странно стал работать плагин от netlanc Image Preview.
Можете зайти на тестовый сайт и убедиться, что превьюшки пропали, в тоже время на шаред хостинге все Ок.
Если смотреть элемент отладчиком хрома, то можно зметить, что куда-то делся атрибут src
Подскажите, пожалуйста, в какую сторону копать?