SEO, opencart, lighttpd | Lighttpd

По умолчанию opencart поставляется с файлом .htaccess для апача. Пути типа

/index.php?route=product/product*&manufacturer_id=

закрыты для поисковиков в роботс чтобы избежать дублей страниц если у нас включен SEO (ЧПУ). И поэтому наш магазин не индексируется поисковиками. Надо либо настроить SEO либо убрать ограничения из роботс.

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

Добавляем в описание хоста лайти:

url.rewrite-once = ( "^/$" => "/index.php?route=common/home" )
url.rewrite-if-not-file = ( "^/(.*)" => "/index.php?_route_=$1" )

В конфиге лайти снимаем комментарий с «mod_rewrite»,

server.modules = (
  "mod_access",
  "mod_auth",
 "mod_redirect",
  "mod_rewrite",
)

Включаем SEO на opencart. Если у нас прописан для товара SEO алиас – все будет работать.
В админку входим по пути site/admin/index.php

Сжимаем трафик lighttpd с помощью mod_compress | FreeBSD, Lighttpd

По дефолту лайти не сжимает файлы которые отдает. Настроим модуль mod_compress который позволит отдавать клиентам сжатые версии файлов (css, xml, javascript, html, txt).
Продолжить чтение →

Настройка виртуального хоста (simple_vhost) в Lighttpd | FreeBSD, Lighttpd

Понадобилась настройка виртуальных хостов в lighttpd. В лайти есть три модуля которые отвечают за виртуальные хосты – я использовал самый простой – simple_vhost. Поскольку с поисковиках внятного мануала по быстрой настройке быстро не нашел – пишу себе на заметку.

Итак – первое – в modules.conf расскоментируем строку:

include "conf.d/simple_vhost.conf"

В комментариях к конфигу сказано что мы можем использовать только один модуль. Ну и хорошо – будем использовать simple_vhost.

Далее все просто. Если мы не хотим описывать каждый vhost в конфиге просто правим в simple_vhost.conf несколько переменных:

simple-vhost.server-root   = "/usr/local/www/vhosts/"
simple-vhost.default-host  = "example.com"
simple-vhost.document-root = "/"

Соответсвенно директория /usr/local/www/vhosts/ должна существовать, права выставляем для пользователя под которым работает лайти.

Что дает эта инструкция. Мы поределяем директорию где лежат папки с файлами вирт хостов. Создавая папку /usr/local/www/vhosts/my.example.com мы создаем вирт хост. Никаких дополнительных настроек не нужно (ну естественно кроме настройки ДНС, но к лайти это отношения не имеет). Лайти сам просмотрит директорию вирт хостов, найдет папку совпадающую с именем запроса (http://my.example.com) и обслужит запрос. Если папку с фалами вирт хоста не обнаружат – то выдаст дефолтный хост.
Подробнее о том как формируется путь к дефолтному хосту и вся логика можно посмотреть на странице вики lighttpd: http://redmine.lighttpd.net/wiki/1/Docs:ModSimpleVhost

Другой путь – описать виртуальный хост в конфиге lighhtpd.conf. Синтаксис следующий:

$HTTP["host"] == "test3.example.com" {
server.document-root = "/usr/local/www/vhosts/test3.example.com"
server.errorlog = "/var/log/lighttpd/test3.error.log"
accesslog.filename = "/var/log/lighttpd/test3.access.log"
auth.backend = "htpasswd"
auth.backend.htpasswd.userfile = "/usr/local/www/vhosts/.htpasswd"
            auth.require = ("/" => (
           "method"  => "basic",
           "realm"   => "Valid users only",
            "require" => "valid-user"
               ))
}

Здесь описан вирт хост c именем test3.example.com, его файлы определяем в папке /usr/local/www/vhosts/test3.example.com, логи, и закрываем весь хост паролем (plain auth).

Plain аутентификация в lighttpd | Lighttpd

Задача – закрыть некоторые директории на веб сервере под управлением lighttpd паролями.
Поскольку на сайте проекта нужно покопаться в документации – пишу себе на память.

Продолжить чтение →

Lighttpd + spawn-fcgi | Lighttpd

Попробовал Lighttpd без spawn-fcgi на достаточно нагруженном сервере получил тормоза. :) Апач работал быстрее хотя и памяти потреблял больше.
Пробуем решить проблему динамического управления процессами php-cgi.

Продолжить чтение →

lighttpd + fcgid | Lighttpd

Поскольку апач на одном из моих серверов начал потихоньку сдавать – начинаем искать ему альтернативы.
Начнём с lighttpd – быстрый фронтенд для fcgid который мы настроили ранее. Посмотрим.

Продолжить чтение →