среда, 26 января 2011 г.

Не работает SEO на Joomla

Не работает SEO на Joomla

Проблема:
На некоторых хостингах не работает поддержка SEO (Search Engine Optimization). Вебмастер может понять, что SEO не работает, когда включив SEO в админке видит, что на сайте нет картинок, стили отсутствуют, слетает шаблон. Даже, у одного и того же хостера, но на разных ДНС могут быть нюансы в настройках.
Эта функция включается в настройках - Сайт - Общие настройки - Сайт - справа блок Установки Search Engine Optimization
На некоторых хостингах достаточно установить Да только для Включить SEO
На других надо приходится отвечать Да и для параметра Использовать mod_rewrite. Однако, при включении mod_rewrite слетает шаблон.

Решение:
Придется внести изменения в файл htaccess.txt в корне сайта. Найдите в коде файла #  Включение mod_rewrite и добавьте ниже этой строки RewriteEngine On. Сохраните файл. Переименуйте htaccess.txt в .htaccess ( mv htaccess.txt .htaccess )

четверг, 13 января 2011 г.

Установка php-fpm и nginx на FreeBSD 8.1

Цель: создание веб сервера способного работать под высокой нагрузкой.

что зачем:
1) я использую FreeBSD за скорость, pf, порты, защищенность и тд.  Эту же связку можно установить на любой другой ОС.(я ставил на версии 8.0 STABLE на работающем сервере)
uname -a
FreeBSD mail.***.com 8.0-STABLE FreeBSD 8.0-STABLE #0: Sun Jan  3 09:04:54 YEKT 2010     fr@mail.***.com:/usr/obj/usr/src/sys/FR  i386

2) роль самого web сервера будет выполнять nginx версия 0.8.54
3) php будем ставить из портов версия 5.3.5


Установка:
Итак первым делом  обновляем  дерево портов.
я привык делать это так:
# portsnap fetch update


Потом ставим nginx
# cd /usr/ports/www/nginx
# make install


лезет синее окошко в котором я выбрал следующее :

                     Options for nginx 0.8.54
[ ] DEBUG                     Enable nginx debugging
[ ] DEBUGLOG                  Enable debug log (--with-debug)
[ ] FILE_AIO                  Enable file aio
[ ] IPV6                      Enable IPv6
[X] GOOGLE_PERFTOOLS          Enable google perftools module
[X] HTTP_MODULE               Enable HTTP module
[X] HTTP_ADDITION_MODULE      Enable http_addition module
[X] HTTP_CACHE_MODULE         Enable http_cache module
[ ] HTTP_DAV_MODULE           Enable http_webdav module
[X] HTTP_FLV_MODULE           Enable http_flv module
[ ] HTTP_GEOIP_MODULE         Enable http_geoip module
[ ] HTTP_GZIP_STATIC_MODULE   Enable http_gzip_static module
[ ] HTTP_IMAGE_FILTER_MODULE  Enable http_image_filter module
[X] HTTP_PERL_MODULE          Enable http_perl module
[ ] HTTP_RANDOM_INDEX_MODULE  Enable http_random_index module
[X] HTTP_REALIP_MODULE        Enable http_realip module
[X] HTTP_REWRITE_MODULE       Enable http_rewrite module
[ ] HTTP_SECURE_LINK_MODULE   Enable http_secure_link module
[X] HTTP_SSL_MODULE           Enable http_ssl module
[X] HTTP_STATUS_MODULE        Enable http_stub_status module
[X] HTTP_SUB_MODULE           Enable http_sub module
[ ] HTTP_XSLT_MODULE          Enable http_xslt module
[ ] MAIL_MODULE               Enable IMAP4/POP3/SMTP proxy modul
[ ] MAIL_IMAP_MODULE          Enable IMAP4 proxy module
[ ] MAIL_POP3_MODULE          Enable POP3 proxy module
[ ] MAIL_SMTP_MODULE          Enable SMTP proxy module
[ ] MAIL_SSL_MODULE           Enable mail_ssl module
[X] WWW                       Enable html sample files
[ ] CACHE_PURGE_MODULE        3rd party cache_purge module


После сборки nginx ставим php

# cd /usr/ports/lang/php5
# make install


в окошке с опциями я выбрал :
                  Options for php5 5.3.5       
[X] CLI        Build CLI version                             
[X] CGI        Build CGI version                             
[X] FPM        Build FPM version (experimental)              
[X] APACHE     Build Apache module                           
[ ] AP2FILTER   Use Apache 2.x filter interface (experimental)
[ ] DEBUG      Enable debug                                  
[X] SUHOSIN    Enable Suhosin protection system              
[X] MULTIBYTE  Enable zend multibyte support                 
[ ] IPV6       Enable ipv6 support                           
[ ] MAILHEAD   Enable mail header patch                      
[ ] LINKTHR    Link thread lib (for threaded extensions)     


Настройка:
как всё установлено переходим к настройке
для начала добавим в rc.conf
nginx_enable=”YES”
php_fpm_enable=”YES”



вот мой конфиг php-fpm.conf (толко незакомментированые строки)
#cat /usr/local/etc/php-fpm.conf | grep -v ^\;
[global]
pid = run/php-fpm.pid
error_log = /var/log/php-fpm.log
daemonize = yes
[www]
listen = /tmp/php-fpm.sock
user = www
group = www
pm = dynamic
pm.max_children = 50
pm.start_servers = 15
pm.min_spare_servers = 5
pm.max_spare_servers = 25
pm.max_requests = 1500


request_slowlog_timeout = 5s
slowlog = /var/log/php-fpm-slow.log



конфиг nginx:

#cat /usr/local/etc/nginx/nginx.conf | grep -v ^\#
user  www;
worker_processes  2; 
# тут рекомендуется выставлять количество воркеров по количеству ядер но тем у кого много памяти я бы рекомендовал поставить 100 , реально уменьшает отклик
#приоритет воркеров я специально поставил повыше чтоб статика отдавалась без задержек из за скриптов
worker_priority -5;

worker_rlimit_nofile = 51200 # увеличиваем количество используемых файлов
error_log  logs/error.log;

events {

  use    kqueue;
    worker_connections   2048;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  logs/access.log  main;

    sendfile        on;
    tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  70 30;
    send_timeout        30s;
    reset_timedout_connection   on;
    resolver    127.0.0.1;
    resolver_timeout    10s;

    #gzip  on;

    server {
        listen       you.ip.add.ress:80 default accept_filter=httpready;
        server_name  www.my-site.ru my-site.ru;

        charset utf-8;

        #access_log  logs/host.access.log  main;

        location / {
            root   /usr/local/www/nginx;
            index  index.html index.htm index.php;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/local/www/nginx-dist;
        }
        location ~ \.php$ {
            fastcgi_pass   unix:/tmp/php-fpm.sock;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /usr/local/www/nginx$fastcgi_script_name;
            include        fastcgi_params;
        }
       location ~ /\.ht {
            deny  all;
       }
       location /ngnix_status {
            stub_status on;
            access_log off;
            allow 127.0.0.1;
            deny  all;
       }
    }


запускаем демонов:
#/usr/local/etc/rc.d/php-fpm start
#/usr/local/etc/rc.d/nginx start

to be continued...

воскресенье, 17 января 2010 г.

Установка Linux CentOS 5.3 на Hyper-V

Очень простое действие на первый взгляд... но есть свои подводные камни.
Как оказалось на Hyper-V не очень просто установить linux , я начал ставить CentOS 5.3 (это RHEL кто не в курсе) и наткнулся на одну проблему - драйверы.
По порядку.
Всё действие происходит на win 2008 server core (console) с установленым Hyper-V и всеми на него обновлениями. Создаём виртуалку, указывая железо можно сетевой адаптер вообще пока не добавлять, я ставил с DVD образа мне сеть не к чему все пакеты уже есть на нём.
Если надо можно добавить "Legacy Network Adapter" если нужна сеть при установке, этот адаптер появился после последнего обновления и для него драйвера благо не нужны.
Ставим. Когда установка завершена, грузимся, настраиваем сеть (добавить адаптер не забываем но пока только Legacy, для другого нужны драйверы).
Если есть возможность и желание можно обновить систему для начала:

yum update
(мне нужна была именно 5.3 я не обновлялся)


Ставим пакеты для разработки если не поставлены при установке:

yum install kernel-devel
yum install gcc


Скачиваем с http://connect.microsoft.com образ диска "Linux Integration Components v2 RC2"
или вот тут
Hyper-V v1: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=ab7f4983-93c5-4a70-8c79-0642f0d59ec2#tm
Hyper-V R2: http://www.microsoft.com/downloads/details.aspx?familyid=C299D675-BB9F-41CF-B5EB-74D0595CCC5C&displaylang=en
На последней версии есть драйвера для ядер с виртуализацией, PAE  и т.д.
Вставляем образ в привод виртуальной машины и ставим драйвера:

mount /dev/cdrom /mnt
mkdir /opt/ic
cp /mnt/* /opt/ic/ –R
cd /opt/ic

./setup.pl drivers

Рубаем машину.
reboot

Теперь можно удалить "Legacy Network Adapter" и добавить стандартный( "Synthetic Network adapter" ) адаптер на сеть и проверить как он работает.
Грузимся и смотрим подгрузились ли модули  :
/sbin/lsmod | grep vsc



P.S. если используется графика то ставим "мышиные драйвера" если нужно :
Для начала ставим:
yum install xorg-x11-server-sdk
Качаем образ inputvsc.iso из http://www.xen.org/download/satori.html, монтируем в виртуальную машину и устанавливаем :
mount /dev/cdrom /mnt
mkdir /opt/ic/mousedrv
cp –rp /mnt/* /opt/ic/mousedrv
cd /opt/ic/mousedrv
./setup.pl

четверг, 17 декабря 2009 г.

Установка и настрока Jasperserver + iReport

Задача: установить и настроить продукт создания и управления отчетами "Jasperserver Community Edition"
     1. берём компьютер с предустановленной операционной системой, не обязательно серверной любой linux, *BSD, windows.
     2. Скачиваем инсталлятор jasperserver (незабываем выбрать нужную ОС)  вот тут : http://jasperforge.org/projects/jasperserver

Установка:
     Удобный и простой графический установщик спросит про порты к tomcat (стандартный 8080) и mysql и ставить их или будем использовать уже установленные, также предложит поставить iReport (это инструмент для конструирования отчетов) если создавать или отлаживать отчеты на этой машине будем то ставим и его. Ещё есть возможность заполнить репозитарий примерами. Как правило всё устанавливается без проблем, и запускается так же.

Далее стартуем jasperserver если не поставили галочку о старте в инсталляторе, в браузере заходим по адресу http://наш.ip.адрес:8080/jasperserver/
    (страничка входа, не обращаем внимание на трудности перевода :) )
Админский пользователь по умолчанию jasperadmin пароль такой же.
Создаём тестового пользователя.
Потом соединение с вашей базой данных, соединения создаются через драйверы jdbc (Java Database Connectivity) в стандартной поставке есть драйвер для Mysql для остальных баз надо искать на сайтах производителей самой субд или в инете. У меня используется  соединение с Oracle 10g через драйвер ojdbc14 (jar файл с дравйвером надо положить в директорию %install-dir%\apache-tomcat\webapps\jasperserver\WEB-INF\lib)
    (вот так выглядит настроенное соединение для Oracle)

собсвенно с самим севером пока всё. идём настраивать iReport.

iReport
     Тут таже самая история как и с серером - используется jdbc драйвер который кладётся в папку iReport-X.X.X\platformX\lib  (Х  зависит от версии)
и настраивается в самой программе это следующим образом
   (настройка jdbc в iReport)

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


P.S. В статье использовалась версия iReport - 3.7.0  Jasperserver 3.5.0
P.P.S Драйверы jdbc можно положить в одну папку %install-dir%\scripst\drivers
P.P.P.S скирншоты делал через vnc 256 ((((

четверг, 10 декабря 2009 г.

Jasperserver

Есть такой интересный продукт, система создания управления и интеграции отчетов.
Всё сделано на Java. медленно немного но зато верно и кросс платформенно.
вот собственно изучаю этот продукт уже с мая 2009 г. и он меня не перестаёт удивлять своими граблями.Работать то работает но, вот попробуй что новое придумать и привет... собственно поискав в рунете понял что нет русского материала у нас про jasper.

Комплект доступен в виде версии для Windows, виртуальной машины для VMWare (на базе Ubuntu) и в виде установочных пакетов для нескольких популярных дистрибутивов Linux. По словам Брайена Джентайла [Brian Gentile], президента и исполнительного директора Jaspersoft, применение этого интегрированного пакета позволяет пользователям упростить процесс подключения полнофункциональных аналитических систем к масштабируемым базам данных.


JasperServer - это инструмент для работы с JasperReports, который в свою очередь является мощным фреймворком для создания бизнес-отчетов.
буду выкладывать свои победы

Оффициальный сайт: http://jasperforge.org/

моя статья о начальной установке  http://jhukov.blogspot.com/2009/12/jasperserver-ireport.html

вторник, 8 декабря 2009 г.

FreeBSD

Есть немалая любовь у меня к этой операционке и как никрути без неё не могу . буду время от времени описывать свои костыли и маленькие победы во фре )

first message

Hello world )