0.00
Рейтинг
1.01
Сила

Настраиваем сервер для LiveStreet. Приложение A. Переход на PHP 5.4

Предыдущие части:

PHP 5.3 Reaching End of Life
11-Jul-2013 The PHP development team announces the immediate availability of PHP 5.3.27. About 10 bugs were fixed, including a security fix in the XML parser (Bug #65236).

Please Note: This will be the last regular release of the PHP 5.3 series. All users of PHP are encouraged to upgrade to PHP 5.4 or PHP 5.5. The PHP 5.3 series will receive only security fixes for the next year.
Новости уже сто лет в обед. Поддержка PHP 5.3 завершена. Всем заинтересованным лицам предлагается переходить на PHP 5.4 или PHP 5.5. Продолжать жить на больше не поддерживаемой версии, мысль не очень хорошая, хотя бы из соображений безопасности (фиксы дыр в безопасности это то, что надо бы постоянно ставить). Учитывая, что следование инструкции устанавливало именно PHP 5.3, я решил описать что нужно сделать чтобы перевести установку на использование PHP 5.4.

Читать дальше →

Помогите pls с ошибкой

При публикации топика появилась такая ошибка:
Catchable fatal error: Argument 1 passed to ModuleNotify::SendTopicNewToSubscribeBlog() must be an instance of ModuleUser_EntityUser, null given in \home\XXXXX\public_html\classes\modules\notify\Notify.class.php on line 125
При этом топик добавляется…

Настраиваем сервер для LiveStreet. Часть IX. LiveStreet.

Предыдущие части:

Не самая сложная, не самая последняя, но самая важная часть. То, ради чего, всё и затевалось :)

Для начала, нужно обеспечить появление ZIP-a с последней версии LiveStreet (на данный момент это LiveStreet_1.0.3.zip ) в корневой папке сайта. Качаем ZIP отсюда livestreetcms.ru/download/ и по SFTP забрасываем в папку сайта /var/www/superls.ru/public/

Читать дальше →

Настраиваем сервер для LiveStreet. Часть VIII. APC, Memcached & Sphinx.

Предыдущие части:

На мой взгляд, на данный момент, есть только два осмысленных варианта настроить кэширование кода и данных (учитывая то, что LiveStreet поддерживает, конечно). Первый вариант — APC + Memcached. Второй вариант — XCache.

Почему?
  • Во-первых все остальные PHP оптимизаторы(eAccelerator, например) сильно проигрывают современным версиям APC и XCache. Всесторонне, особенно в разрезе надёжности. ( Особый случай это ZendOptimiser+ — оно, по отзывам, быстрое и надёжное, но не очень открытое и не очень бесплатное. И я, лично, не тестировал )
  • Во-вторых, как opcode кэшер APC, актуальных версий, лучше XCache. И быстрее и стабильней. Да, это субъективное мнение. Да, выигрыш незначителен. Но лучше. :)
  • А вот с кэшированием данных XCache справляется намного лучше Memcached. И поэтому если говорить именно об общей производительности, то выигрывает XCache. И это вполне ожидаемо, учитывая что Memcached — софт предназначенный, прежде всего, для многосерверных конфигураций.

Из вышеописанного проистекает моё личное мнение:
  • Высокая надежность и хорошая производительность = APC + Memcached( и ниже будет описан именно этот вариант).
  • Максимально возможная производительность с приемлемой надёжностью = XCache.

Еще одно важное замечание: коммуникации между сервисами лучше настраивать не через TCP/IP, а через UNIX socket. В рамках «всё на одном сервере» это и быстрее и надёжней. Именно таким образом настраивалась связка Apache + php-fpm в прошлых частях. Таким же образом, по возможности, будем действовать и дальше.

Читать дальше →

Встречайте: Alto CMS – первый релиз форка LiveStreet'а

6 фото
Встроенная админпанель
image
Говорят, настоящий успех к мастеру приходит тогда, когда начинают делать копии его произведений.

Вот и дорос LiveStreet до того, что настала пора делать первый настоящий форк от него. И зовется этот форк – Alto CMS.

Вообще-то, если верить статистике GitHub'а, то ЛС форкнули уже 99 раз. Но Alto CMS – это первый форк, который вышел в свой первый официальный релиз, и который отныне начинает жить своей собственной жизнью. Сейчас мы постараемся дать ответы на вопросы, которые наверняка возникнут в первую очередь. И, пожалуй, самый первый вопрос…


Подробнее об Alto

Настраиваем сервер для LiveStreet. Часть VII. NGINX.

Предыдущие части:

Общие замечания:
  1. Для продвинутых: рекомендуется не ставить nginx из бинарников, а пересобрать его из исходного кода только с нужными модулями. В бинарной сборке «по умолчанию», действительно, очень много для LiveStreet лишнего. Однако, я не считаю это простой задачей и поэтому описывать не буду. Кроме того, хотя эта идея, без сомнений, хорошая, драматического эффекта она не даст.
  2. Частично конфигурация снова взята из поста господина xyz
  3. Обращаю особое внимание на использование специального раздела для временных файлов, который, следуя советам господина Orhideous , мы создали во второй части

Читать дальше →

Настраиваем сервер для LiveStreet. Часть VI. PHP.

Предыдущие части:

Итак, лезем упоминавшийся в третей части конфигурационный файл /etс/apt/sources.list:
vim /etс/apt/sources.list

и раcкомментируем там dotdeb.org (две последние строки). После чего обновляемся:
apt-get update

Устанавливаем php, и всё что с ним связано следующими командами:
apt-get install php5-cli php5-common php5-suhosin php5-mcrypt php5-mysql php5-gd php5-dev php-pear php5-curl php5-memcache

apt-get install php5-fpm

После чего опять комментируем dotdeb.org в /etс/apt/sources.list и опять обновляемся:
apt-get update


Читать дальше →

Настраиваем сервер для LiveStreet. Часть V. Apache.

Предыдущие части:

Начиная с этого момента настраивать окружение можно по разному. Глобально можно свести к трём тезисам:
  • Применить light HTTP сервер для раздачи статики и проксирования тяжёлых запросов
  • Применить fast cgi PHP
  • Применить кэширование данных в оперативной памяти
Для каждого пункта возможно использовать разный софт и/или различные связки программ. И во всех случаях получить хороший результат.

Использовать или нет Apache это вопрос очень близкий к религиозному. С моей точки зрения это стоит того, но я не буду утверждать что это наилучшее возможное решение. Есть свои плюсы и минусы.

В любом случае, я описываю именно то окружение, которые использую сам, и субъективно считаю наилучшим по совокупности достоинств. Это проверенное и работающее решение: nginx+apache+php-fpm

Читать дальше →

Настраиваем сервер для LiveStreet. Часть IV. MySQL.

Предыдущие части:

Сначала генерируем и запоминаем пароль для MySQL-аккаунта root, который попросят во время установки:
pwgen -c -n 10 1


И запускаем установку:
apt-get install percona-server-server-5.5 percona-server-client-5.5


Читать дальше →

Настраиваем сервер для LiveStreet. Часть III. Некоторые настройки ядра, репозитории и базовые утилиты.

Предыдущие части:

Сначала мы сделаем некоторые настройки ядра, за этот совет благодарность уходит господину ewden .

Редактируем файл /etc/sysctl.conf:
vim /etc/sysctl.conf

Я привожу конфигурацию от ewden целиком:
# Допустим случись у нас какой-то косяк с системой или ядром.
# Может произойти паника ядра (Kernel Panic)
# На сий случай есть настройка, указывающая, что система должна будет перезагрузится в течении 10 сек в примере:
kernel.panic = 12
# включение проверки маршрута от источника. Может быть полезно против некоторых видов спуфинг-атак.
net.ipv4.conf.default.rp_filter=1
net.ipv4.conf.all.rp_filter=1

# След. опция разрешает/запрещает передачу так называемых syncookies вызывающему хосту
# в случае переполнения очереди SYN-пакетов для заданного сокета. Когда в
# систему поступает слишком много запросов на соединение, то очередь может
# переполниться и тогда запускается передача syncookies в ответ на каждый
# SYN-запрос. Эта переменная используется для предотвращения syn-flood атак. 
net.ipv4.tcp_syncookies=1

# Устанавливает параметры приёма icmp-сообщений о переодресации
# Которые используются для уведомления (обычно маршрутизаторов)
# О существовании лучшего маршрута передачи пакетов целевому хосту.
# Включение параметра может справоцировать атаку человек по середине (Man In The Middle) 
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
# Разрешает или запрещает нашему хосту передачу выще упомянутых сообщений переадресации.
net.ipv4.conf.all.send_redirects = 0

# Позволяет отправителю определить путь, по которому должен следовать пакет по сети.
# Может позволить посторонним произвести подмену адресов. 
net.ipv4.conf.all.accept_source_route = 0

# Игнорироваться ICMP сообщения, отправленные на
# широковещательный или групповой адрес. Вполне очевидно, почему полезно
# включить этот параметр  - защита от smurf атак.
net.ipv4.icmp_echo_ignore_broadcasts = 1

# Контролирует процент свободной памяти, при которой начнется активный сброс страниц в раздел swap. 
vm.swappiness=10


Читать дальше →