Apache + LiveStreet howto

Пост родился как желание предостеречь от возможных граблей при установке блога livestreet в связке в апачем.

Итак, имеем настроенный и рабочий апач, исходники livestreet и желание прикрутить блог на свой сервер.
  1. Читаем с сайта: «For correct work LiveStreet needs PHP of 5.2.1 version or higher with support of addon mbstring...»
    Модуль mbstring не является дефолтным, что приводит нас к сборке php из исходников. Плюс необходимо проследить, что соберется и установится необходимый модуль для апача в процессе установки php. Моя строчка конфигурации получилась:

    $ ./configure --enable-fastcgi --enable-mbstring --with-gd --with-pear --with-snmp --with-ldap --with-mysql --with-mysqli --with-libdir=lib64 --with-apxs2=/usr/sbin/apxs2
    … и далее по иструкции в INSTALL файле php исходников.

    Теперь добавляем пару строчек в конфиг апача:

    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
  2. Теперь копируем исходники livestreet в нужное место (например, /var/www/html/livestreet) и открываем в браузере install (например, example.com/livestreet/install).
    Все должно быть зеленым, если что-то не так, исправляем (чаще всего дело в правах на папки и файлы). Отдельно удостоверяемся, что mbstring прошел проверку.
    Если вверху и снизу страницы присутствуют ошибки вида
    session_start() open failed: Permission denied

    Это значит, неверно выставлены права на директорию, куда php сохраняет сесии. У меня все заработало, когда я выставил
    session.save_path = "/tmp"
    в /usr/local/lib/php.ini
    Далее следуем иструкциям установщика.
По идее все должно работать. Если же грузится главная страница сайта, в все остальные выдают 404, то дело в моде апача rewrite, который должен быть включен и настроен. Включить его можно командой a2enmod (он должен быть в списке, иначе сначала установите этот модуль). Затем надо зайти в конфиг апача conf/sites-available/default.conf и выставить «AllowOverride All» для /var/www/. Если после этого ошибка не ушла, смотрим логи апача при заходе на страницы, возвращающие 404 ошибку. Если там будут строки вида:
.... script '/var/www/html/index.php' not found or unable to stat, referer: http://.../livestreet (директория, куда вы скопировали исходники)
а ваш блог лежит в /var/www/html/livestreet, то это значит, что rewrite работает, но редиректит неверно. Поэтому правим файл /var/www/html/livestreet/.htaccess меняя строку
RewriteRule ^(.*)$ ./index.php
на
RewriteRule ^(.*)$ ./livestreet/index.php
и добавляем
RewriteBase /


Удачи :)

3 комментария

avatar
Модуль mbstring не является дефолтным, что приводит нас к сборке php из исходников
А что это за дивная система такая?
avatar
avatar
Ну я с Alt Linux никогда не имел дело, потому и удивился. В debian-based дистрибутивах mbstring есть «из коробки», по крайней мере я его никогда не устанавливал, и уж тем более не собирал из сырцов
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.