26th
Фев

Nginx + FastCGI + WordPress Mu + Buddypress или сервер с нуля. Часть II.

Автор: admin | Рубрика: Эксперимент

И так после основной установки сервера. Необходимо уделить внимание дополнительной конфигурации nginx, а именно rewrite rules.

И так, вот основные моменты которые следует добавить в nginx.conf

Просмотреть nginx.conf

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

Обратите внимание на правило:

rewrite ^/robots.txt$ /index.php?robots=1;

Мы вернемся к нему позже, а сейчас скачайте и распакуйте WordPress MU в каталог /var/www

Что касается установки WordPress MU, то нет необходимости редактировать конфиг, просто зайдите на свой домен и следуйте мастеру установки.

В процессе установки WordPress MU Вы должны выбрать тип блогов:

1) ВАШДОМЕН.ru/БлогПользователя

или

2) БлогПользователя.ВАШДОМЕН.ru

Я выбрал второй вариант, так как он более привлекателен для пользователя имхо.

Если установка WordPress MU прошла успешно, можно приступать к установке Buddypress. На момент написания статьи вышла версия 1.2.1 (но я пока использую 1.1.3, но Вам рекомендую использовать уже 1.2.х так как движок претерпел значительные изменения)

Устанавливается Buddypress просто:

1) Скачайте и распакуйте buddypress в wp-content/plugins/buddypress

2) Скопируйте тему по умолчанию для buddypress из папки wp-content/plugins/buddypress/bp-themes в wp-content/themes/bp-default

3) Активируйте плагин buddypress и выберете тему bp-default

А теперь хотелось бы отметить важные моменты, которые сложно гуглятся :)

Руссификация BuddyPress

Если после копирования файлов русификации buddypress-ru_RU.po и buddypress-ru_RU.mo в папку wp-content/plugins/buddypress/bp-languages ничего не изменилось, то пересохраните buddypress-ru_RU.po в POedit редакторе.

Анти спам в WordPress MU

Очень хорошо подходит Akismet. Для этого скачайте последнюю версию (на момент написания статьи 2.2.7), откройте в редакторе и добавьте строку чуть ниже AKISMET_VERSION:

define('AKISMET_VERSION', '2.2.7');
define('WPCOM_API_KEY', 'ваш ключ');

Теперь поместите файл akismet.php в папку wp-content/mu-plugins, чтобы активировать akismet на всех блогах.

Пользователям будет доступна только статистика, ключ будет скрыт.

RusToLat

Дабы избежать глюков с кодировкой скопируйте всем известный rus-to-lat.php аналогично Akismet.

(наблюдались некоторые неверные обработки Ru кодировки, так что лучше использовать этот плагин)

Sitemap + Robots.txt

Вот тут то и возникли первые значительные грабли, как подрубить к каждому блогу свой sitemap и robots.txt

Решение:

1) Скачал плагин sitemap-for-wpmuwordpress-mu.1.1.2 (версия только для wordpress mu!)

2) Следую мануалу в readme.txt

= WordPress MU **Only** =

1. Распаковываем

2. Копируем `sitemap-for-wpmu.php` в папку `/wp-content/mu-plugins/`

3. Копируем `sitemap4wpmu.xsl` в папку `/wp-content/mu-plugins/

4. Копируем `feed-sitemap-for-wpmu.php` в `/wp-includes/` папку

И один момент, необходимо закомментировать в  файл sitemap-for-wpmu.php следующие строки:

//function sitemap_robots() {

//    echo "Sitemap: ".get_option('siteurl')."/sitemap.xml\n\n"; 

//}

//add_action('do_robotstxt', 'sitemap_robots');

для того, чтобы сформировать свой robots.txt

Теперь на каждом вашем блоге будет формироваться sitemap.xml, осталось лишь прикрутить на каждый блог robots.txt

Решение:

1) Создайте фаил robots.php в папке wp-content/mu-plugins

2) Содержимое плагина:


Fatal error: Uncaught Error: Call to undefined function add_action() in /var/www/webarh/data/www/theredhaired.ru/eksperiment/nginx-fastcgi-wordpress-mu-buddypress-ili-server-s-nulya-chast-ii.html:312 Stack trace: #0 {main} thrown in /var/www/webarh/data/www/theredhaired.ru/eksperiment/nginx-fastcgi-wordpress-mu-buddypress-ili-server-s-nulya-chast-ii.html on line 312