среда, марта 07, 2012

Подключение к SphinxQL, sphinx.conf с поддержкой иврита

гребаны SphinxQL оказвается чтоб подключится к нему из комманд лайн нужно указать тип соединения:
mysql --port=9306 --protocol=tcp

ну и для примера простенький sphinx.conf с поддержкой иврита

#
# Minimal Sphinx configuration sample (clean, simple, functional)
#

source job_title_source
{
        type                    = mysql

        sql_host                = localhost
        sql_user                = sphinx
        sql_pass                = PASS
        sql_db                  = DBNAME
        sql_port                = 3306  # optional, default is 3306

        sql_query   = \
                SELECT id, title, UNIX_TIMESTAMP(datetime_created) as timestamp_created, access_id, lang_id \
                FROM job_title \

        sql_attr_uint = lang_id
        sql_attr_timestamp  = timestamp_created
        sql_field_string = access_id

        sql_query_info          = SELECT * FROM job_title WHERE id=$id
}


index job_title_index
{
        source                  = job_title_source
        path                    = /var/lib/sphinx/job_title_index
        docinfo                 = extern
        charset_type = utf-8

        charset_table   = 0..9, A..Z->a..z, _-> , a..z, \
         U+FB1D->U+05D9, U+FB1F->U+05F2, U+FB20->U+05E2, U+FB21->U+05D0, U+FB22->U+05D3, U+FB23->U+05D4, U+FB24->U+05DB, U+FB25->U+05DC, U+FB26->U+05DD, U+FB27->U+05E8, U+FB28->U+05EA, U+FB2A->U+05E9, U+FB2B->U+05E9, U+FB2C->U+05E9, U+FB2D->U+05E9, U+FB2E->U+05D0, U+FB2F->U+05D0, U+FB30->U+05D0, U+FB31->U+05D1, U+FB32->U+05D2, U+FB33->U+05D3, U+FB34->U+05D4, U+FB35->U+05D5, U+FB36->U+05D6, U+FB38->U+05D8, U+FB39->U+05D9, U+FB3A->U+05DA, U+FB3B->U+05DB, U+FB3C->U+05DC, U+FB3E->U+05DE, U+FB40->U+05E0, U+FB41->U+05E1, U+FB43->U+05E3, U+FB44->U+05E4, U+FB46->U+05E6, U+FB47->U+05E7, U+FB48->U+05E8, U+FB49->U+05E9, U+FB4A->U+05EA, U+FB4B->U+05D5, U+FB4C->U+05D1, U+FB4D->U+05DB, U+FB4E->U+05E4, U+FB4F->U+05D0, U+05D0..U+05F2

 # STRIP HTML TAGS
        html_strip = 1

}


indexer
{
        mem_limit               = 128M
}


searchd
{
        listen                  = localhost:9312
        listen                  = localhost:9306:mysql41
        log                     = /var/log/sphinx/searchd.log
        query_log               = /var/log/sphinx/query.log
        read_timeout            = 5
        max_children            = 30
        pid_file                = /var/run/sphinx/searchd.pid
        max_matches             = 10000
        seamless_rotate         = 1
        preopen_indexes         = 1
        unlink_old              = 1
        workers                 = threads # for RT to work
  compat_sphinxql_magics = 0 # the future is now
}

понедельник, марта 05, 2012

Zend Route in ini file

конфигурация роутинга хранится в routes.ini
один из роутов ведет в редактирование джоба

job_edit.type = "Zend_Controller_Router_Route_Regex"
job_edit.route = "job/(\d+)/edit"
job_edit.defaults.module = "companies"
job_edit.defaults.controller = "job"
job_edit.defaults.action = "edit"
job_edit.map.1 = "jobId"

задача создать правильную ссылку используя
$this->url(array('jobId' => $job['id']),'job_edit', true);

получаем ошибку
An error occurred
Application error
Exception information:
Message: Cannot assemble. Reversed route is not specified.

надо добавить строчку
job_edit.reverse="job/%d/edit"

вторник, декабря 13, 2011

Соединение с облаком:

curl -D - -H "X-Auth-User: RackspaceCloudUsername" -H "X-Auth-Key: RackspaceApiKey" https://auth.api.rackspacecloud.com/v1.0
Получаем в ответ:
HTTP/1.1 204 No Content Date: Wed, 30 Mar 2011 04:15:28 GMT Server: Apache/2.2.3 (Mosso Engineering) 
X-Storage-Url: https://storage101.dfw1.clouddrive.com/v1/MossoCloudFS_6f597497-4986-44ea-9081-1234567890 
X-Storage-Token: 63ea9670-c80f-402d-9657-1234567890 
X-CDN-Management-Url: https://cdn1.clouddrive.com/v1/MossoCloudFS_6f597497-4986-44ea-9081-68b8ee123456 
X-Auth-Token: 63ea9670-c80f-402d-9657-c59bdb123456 
X-Server-Management-Url: https://servers.api.rackspacecloud.com/v1.0/123456
Content-Length: 0 Connection: close Content-Type: application/octet-stream
Нам потребуется X-Storage-URL (место где находятся файлы) и X-Storage-Token.
curl -H "X-Storage-Token: aaa89968-977b-4540-ac65-52037abde38d" https://storage101.ord1.clouddrive.com/v1/MossoCloudFS_8e0c0a34-d042-465d-a2aa-313dc3bb1b3a
запускаем получаем список контейнеров
curl -H "X-Storage-Token: 63ea9670-c80f-402d-9657-1234567890" https://storage101.dfw1.clouddrive.com/v1/MossoCloudFS_6f597497-4986-44ea-9081-1234567890/cloudservers
Добавляем /cloudservers в конце урла.
curl -H "X-Storage-Token: 63ea9670-c80f-402d-9657-1234567890" https://storage101.dfw1.clouddrive.com/v1/MossoCloudFS_6f597497-4986-44ea-9081-1234567890/cloudservers
Получаем список файлов в контейнере.
20110207installminimum_20110720_1314_cloudserver20106024.tar.gz.0 20110207installminimum_20110720_1354_cloudserver20106024.yml 20110721withtempsite_20110721_1816_cloudserver20106024.tar.gz.0 20110721withtempsite_20110721_1816_cloudserver20106024.yml 20110810_20110810_1250_cloudserver20106024.tar.gz.0 20110810_20110810_1250_cloudserver20106024.yml
копируем xtrabackup dump на облако
curl -X PUT -T db.20111128.tar.gz -D - \ 
-H "X-Auth-Token: 63ea9670-c80f-402d-9657-1234567890" \ 
-H "X-Object-Meta-Screenie: mysqldump 2011 10" \ 
https://storage101.dfw1.clouddrive.com/v1/MossoCloudFS_6f597497-4986-44ea-9081-1234567890/xtrabackup/201111/db.20111128.tar.gz

пятница, ноября 11, 2011

Гребанный IE и ошибка facebook connect

подключил  facebook connect
гребанный IE орет что есть ошибка:
SCRIPT70: Permission denied
all.js, line 22 character 4321


и подсвечивал в дебаггере строчку:
b.fbCallID=a.id;

в методе:
setLoadedNode:function(a,b){FB.UIServer._loadedNodes[a.id]=b;if(a.params)b.fbCallID=a.id;} 

решение нашел здесь:
http://stackoverflow.com/questions/7280007/permission-denied-error-in-all-js

нечитая добавил эту строчку:

FB.UIServer.setActiveNode = function(a,b){FB.UIServer._active[a.id]=b;} // IE hack to correct FB bug

непомогло

и только потом заметил что ошибка в другом методе, добавил:

FB.UIServer.setLoadedNode = function (a,b){FB.UIServer._loadedNodes[a.id] = b;} // IE hack to correct FB bug

все заработало, боюсь трогать :)

полный код:
  window.fbAsyncInit = function() {
    FB.init({
      appId      : 'APP_ID', // App ID
      //channelURL : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File
      status     : true, // check login status
      cookie     : true, // enable cookies to allow the server to access the session
      oauth      : true, // enable OAuth 2.0
      xfbml      : true  // parse XFBML
    });
    FB.UIServer.setActiveNode = function(a,b){FB.UIServer._active[a.id]=b;} // IE hack to correct FB bug
    FB.UIServer.setLoadedNode = function (a,b){FB.UIServer._loadedNodes[a.id] = b;} // IE hack to correct FB bug
    // Additional initialization code here
  };

четверг, октября 27, 2011

Apache error: "Request exceeded the limit of 10 internal redirects"

давно надоела такая ошибка:
[Thu Oct 27 14:04:49 2011] [error] [client 82.81.18.70] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
просто какая то свинка пыталась взять .htpasswd , вынес его из директории сайта и поправил права. все ок

пятница, октября 14, 2011

בזק בינלאומי - חרה של חברה

אל תתחברו לאינטרנט של בזק בינלאומי - חרה של חברה
. לפני שנה הם בלי לשאול חברו אותי לפרמיום שלהם
ושלמתי כל חודש 30 ש"ח נוספים בלי לדעת את זה
וגם לא רוצים לבטל כי אומרים שיש לי התחייבות לשנתיים.
בסוף נובמבר אני מתנתק לא תראו יותר שקל ממני שקל.

вторник, октября 11, 2011

child pid ##### exit signal Segmentation fault (11)

[Tue Oct 11 12:31:13 2011] [notice] child pid 13512 exit signal Segmentation fault (11)
[Tue Oct 11 12:31:40 2011] [notice] child pid 13518 exit signal Segmentation fault (11)
apache выкидывает такие ошибки в основном error_log

решение: один из файлов который инклудится php скриптом имеет неправильные права.
поправь и порядок

четверг, января 06, 2011

гребаный Selinux

с утра отключил один из слэйвов чтоб проверить xtrabackup и накатить точную версию базки, после ристарта получаю ошибку:

110106 12:37:36 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
110106 12:37:37 [Note] Plugin 'FEDERATED' is disabled.
/usr/libexec/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
110106 12:37:37 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
InnoDB: The InnoDB memory heap is disabled
InnoDB: Mutexes and rw_locks use GCC atomic builtins
InnoDB: Compressed tables use zlib 1.2.3
110106 12:37:37 InnoDB: Initializing buffer pool, size = 9.0G
110106 12:37:38 InnoDB: Completed initialization of buffer pool
110106 12:37:38 InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name /var/lib/mysql/ibdata1
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.
110106 12:37:38 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
давай перезаливать и перенастраивать, одно и тоже.
права на папку в порядке.
переустановил пару раз mysql, работает.
накатываю бэкап ошибка
без 15 восемь вспомнил что видел лог в munin на selinux на одном из серверов
точно он скотино, отрубил все поднялось

пятница, ноября 26, 2010

RewriteEngine on? но все равно mod_rewrite не работает и выдает 404

блядский AllowOverride All
постоянно забываю включать его в httpd.conf на свежих серверах

воскресенье, февраля 28, 2010

SEAGATE Barracuda 7200.11 прошивка SD15

ура ура seagate открыли мой залоченый СС диск (самому так и неудалось)

пришло месяц назад письмо из магазина (ksp.co.il) что в дисках этой серии обнаружены проблемы прошивки (прошел ровно год) просили принести на перепрошивку
позвонил сказал что диск уже залочен, сказали что отошлют в сигэйт
две недели назад отнес в пятницу вернули, работающим ура ура фото спасены

после бэкапа, на неделе отнесу обратно, должны выдать новый взамен

среда, октября 28, 2009

linux хуинукс

ставил libssh2
получал ошибку на ./configure

try --with-libssl-prefix=PATH or --with-libgcrypt-prefix=PATH

поставил libssl и libgcrypt все равно ошибка

этой ссуке надо было yum install openssl-devel.x86_64 еще сделать
заипало

среда, мая 20, 2009

install munin plugins

установил apache_accesses по мануалу, сделал ристарт картинка появилась но не меняется, оказывается надо было поправить права в /var/lib/munin/имя_сайта они автоматом рутовыми были.

apache_accesses installed , but picture doesn't refresh
i needed to change owners in /var/lib/munin/site_name for *.rrd files to munin:munin

воскресенье, мая 03, 2009

=3D

при использовании какой то библиотеки для mail вдруг глюкнули ссылки (так как не работал sendmail проверял echo, var_dump), вставляется символы 3D, дык это фича квотинга(эскейпинга) символ "=" меняется на три "=3D"

http://en.wikipedia.org/wiki/Quoted-printable

вывод: не выебываться и проверять на рабочей конфигурации

понедельник, апреля 13, 2009

Codeigniter 1.7.2: баги и минусы

1. Pagination - мануал тупо не совпадает с тем как он работает, проблема в кол-ве элементов на странице, приходится указывать что только один
2. Form_validation - выдает варнинг если в строке ошибки $this->form_validation->set_message() оказывается "%" он обрабатывает его sprintf и не экранирует
3. псевдо ООП - библиотеки содержат классы, но балин синглтона не получитсо, движок автоматически инициализирует класс и орет если конструктор протектед
4. SQL_CALC_FOUND_ROWS не всунешь в active records

1. php 4
2. не хватает библиотек

воскресенье, апреля 12, 2009

GoDaddy: Nameserver not registered.


При управлении доменными именами, зарегистрированными на GoDaddy, возникла проблема, которая убила у меня 2 часа полезного времени.
(вот только не надо мне рассказывать что GoDaddy это не труЪ - сам знаю)

При попытке назначить определенному домену собственные (custom) nameservers (например ns1.myzone.com и ns2.myzone.com), получаем ошибку “Nameserver not registered.”
Аналогичная ситуация наблюдается если пытаемся создать профиль с указанием custom nameservers.

Пользовательская справка GoDaddy по поводу решения этой проблемы скромно умалчивает (хотя раньше лично мне всегда помогала).

Решение оказалось немного нетривиальным:

Необходимо в настроках домена myzone.com кроме того, что создать DNS-записи для субдоменов ns1 и ns2, ещё и добавить аналогичные записи в “Host Summary” (прямоугольный блок внизу слева, на странице с информацией о домене).
В первом поле ввода указать ns1, а в поле “Host IP 1” - IP-адрес, куда должен указывать NS.
Аналогично и для записи ns2.

И только после этого, GoDaddy позволит указывать ns1.myzone.com и ns2.myzone.com в качестве Custom Nameservers для своих доменов и использовать их в профайлах.

спасибо автору: Vadim Voituk

пятница, апреля 10, 2009

EPEL centos/fedore core

пытался ставить git через yum
>>yum install git

получаю в ответ:

Setting up Install Process
Parsing package install arguments
No package git available.
Nothing to do

типа не находится в репозитории
начал ставить через make && make install
не хватало других пэкаджей, оказалось надо установить EPEL (Extra Packages for Enterprise Linux) с дополнительными пакетами
>>rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm

а дальше как по маслу

>>yum install git

правда версия в репозитории далеко не последняя :)

понедельник, марта 16, 2009

Установка memcache в linux

оч хорошая статья ставил по ней

понедельник, марта 02, 2009

Восстановление SEAGATE Barracuda 7200.11 и злополучная Прошивка SD15

не определяется в биос, муха цеце
как лечить st31000333as

Восстановление SEAGATE Barracuda 7200.11
[FAQ] Обсуждение винчестеров Seagate Barracuda 7200.11 и ES.2 [114] - Конференция iXBT.com

фотке платы прилагаются, сам еще не пробовал, на неделе




McQueen
У меня была "муха ЦЦ" т.е. винт вообще не определялся, а в терминале я увидел блокировку CC.
Рассказываю по шагам как делал я:
1) Подключаем плату на MAX 232 к COM порту, винчестеру и питанию MOLEX.
2) Включаем компьютер, запускаем гипертерминал.
3) В гипертерминале выбираем COM порт, скорость 38400, управление потоком - нет, остальное по умолчанию.
4) Подаем питание на винчестер.
5) Наблюдаем сообщение о мухе ЦЦ.
6) Все вырубаем.
7) Откручиваем винт на плате винчестера рядом с контактными дорожками к двигателю.
8) Подсовываем кусок пленки (я использовал пленку для печати на принтере).
9) Врубаем компьютер (питания на винчестере нет).
10) Опять запускаем гипертерминал.
11) Подаем питание на винчестер.
12) Жмем Ctrl Z
13) Наблюдаем на терминале F3 T>
14) Набираем /2 жмем Enter (переход на уровень 2)
15) Наблюдаем на терминале F3 T>/2
16) Набираем Z жмем Enter (команда на останов двигателя)
17) Винт пишет что остановил двигатель.
18) Спокойно выдергиваем пленку и закручиваем винтик (лучше это сделать, а то будет неплотный контакт и шпиндель может не раскрутится)
19) Набираем U жмем Enter (команда на раскрутку двигателя)
20) Пишет что шпиндель раскрутился
21) Набираем /1 жмем Enter (переход на уровень 1)
22) Набираем N1 жмем Enter (очистка SMART и снятие блокировки ЦЦ)
23) Набираем /T жмем Enter (переход на корневой уровень)
24) Выключаем питание жесткого диска (все остальное включено) на 10 сек.
25) Включаем питание винчестера
26) Жмем Ctrl Z
27) Набираем i4,1,22 жмем Enter (эта команда в корневом уровне)
28) Набираем m0,2,2,,,,,22 жмем Enter (эта команда в корневом уровне)
29) Винт через некоторое время (менее минуты) напишет длинное сообщение и пригласит к работе с терминалом
30) Вырубаем все, подсоединяем винчестер в штатном режиме и радуемся.


P.S. ура ура Seagate починили мне диск

воскресенье, декабря 07, 2008

VirtualBox: Создание сети между windows xp и гостевой ubuntu 8.10

Как я задолбался эту сеть устанавливать, вернее искать как это можно сделать. Хрен найдешь кругом линуксоиды ставят винду, а мне наоборот надо.
короче вот он правильный ответ:

1. ставим VirtualBox, это не сложно.
2. запускаем его и нажимаем на "Создать", следуем по пунктам и ставим в нем скачанную убунту.
3. Свойства гостевой ОС можно изменять только когда она выключена. В "Свойства" устанавливаем "Сеть"->"Подсоеденен к" выбираем NAT (он кажется по умолчанию).
Закрываем VirtualBox.
Free Image Hosting at www.ImageShack.us

4. Подключаем http:
Запускаем в винде командную строку.
ubuntu - ниже это название моей гостевой

cd C:\Program Files\Sun\xVM VirtualBox
VBoxManage setextradata ubuntu "VBoxInternal/Devices/pcnet/0/LUN#0/Config/apache/HostPort" 8888
VBoxManage setextradata ubuntu "VBoxInternal/Devices/pcnet/0/LUN#0/Config/apache/GuestPort" 80
VBoxManage setextradata ubuntu "VBoxInternal/Devices/pcnet/0/LUN#0/Config/apache/Protocol" TCP



5. теперь тоже самое для ssh:

cd C:\Program Files\Sun\xVM VirtualBox
VBoxManage setextradata ubuntu "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/HostPort" 2222
VBoxManage setextradata ubuntu "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/GuestPort" 22
VBoxManage setextradata ubuntu "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/Protocol" TCP


6. включаем VirtualBox и запускаем Ubuntu
в броузере винды пишем http://localhost:8888/
если не заработало перезагружаем винду и запускаем убунту
доступ к ssh через localhost:2222

p.s. если не работает проверьте что на винде не бежит http сервер, а то у меня xampp стоял, снес его к чертям и заработало

подсмотренно тут: Web Server Access on a VirtualBox Guest
и тут тоже самое на русском но без ssh: VirtualBox + сеть (через NAT) + apache httpd

вторник, сентября 23, 2008