Перевод DLE 10 на UTF-8

В категорії Підказки от 19 Січня, 2014. Автор admin

Настройка DLE для работы с БД, используя UTF-8

Предполагается, что сама БД уже настроена на юникод и её настройка не потребуется. Идём в директорию {DLE HOME}/engine/data, где находим файл dbconfig.php. Внутри этого файла ищем строку define (“COLLATE”, “windows-1251”); и заменяем её на define (“COLLATE”, “utf-8”); После этого сконвертируем находящийся тут же файлик config.php в новую кодировку командой

 iconv -f cp1251 -t utf-8 -o ./config.php ./config.php

Конвертируем внутренние файлы движка в новую кодировку

Идём в директорию {DLE HOME}/language/Russian и выполняем команду

for i in `ls ./*`; do iconv -f cp1251 -t utf-8 -o ./$i ./$i; done

Конвертируем используемую тему для использования юникода

Идём в директорию {DLE HOME}/templates, ищем директорию с нужной темой, входим в неё и запускаем следующую команду:

for i in `ls ./*.tpl`; do iconv -f cp1251 -t utf-8 -o ./$i ./$i; done

Теги: , ,

Статус HTTP ответа веб сервера

В категорії Підказки от 21 Грудня, 2013. Автор admin

Код состояния HTTP – это часть строки заголовка, ответа веб сервера на запрос клиента, информирующая о результате запроса и о том, что клиент должен предпринять далее. Думаю не все знают как выглядит заголовок ответа сервера, зато уверен, каждый, пользующийся интернетом, не раз сталкивались, со страницей 404 Not Found или 403 Forbadden. Это и есть, видимый пользователю результат, выдачи сервером, того или иного кода статуса в строке заголовке.

Коды состояния HTTP, разделены на 5 категорий. Клиент может быть не знаком с тем или иным кодом ответа HTTP, однако он должен отреагировать согласно категории кода. Итак протокол HTTP поддерживает следующие коды статуса, разделенные по категориям:

Більше »

Теги: ,

Узнаем какой диск из софтварного райда надо менять

В категорії Підказки от 14 Жовтня, 2013. Автор admin

Способ как найти какой диск надо менять.

1. Смотрим состояние raid’a (raid1)

# cat /proc/mdstat
Personalities : [raid1]
md4 : active raid1 sdb1[2](F) sda1[0]
      4192832 blocks [2/1] [U_]
md5 : active raid1 sdb2[2](F) sda2[0]
      3148672 blocks [2/1] [U_]
md1 : active raid1 sdb5[1] sda5[0]
      521984 blocks [2/2] [UU]
md2 : active raid1 sda6[0]
      186442240 blocks [2/1] [U_]
md0 : active raid1 sdb3[1] sda3[0]
      1052160 blocks [2/2] [UU]

у md4 и md5 около sdb1 и sdb2 наблюдаем буковку (F), что означает что этот диск надо заменить. Тоесть плохой sdb.

2. Смотрим точно ли что-то плохо

mdadm --detail /dev/md4
    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       0        0       -1      removed
       2       8       17       -1      faulty   /dev/sdb1
mdadm --detail /dev/md5
    Number   Major   Minor   RaidDevice State
       0       8        2        0      active sync   /dev/sda2
       1       0        0       -1      removed
       2       8       18       -1      faulty   /dev/sdb2

нас интересует faulty. У хорошего диска этой строки просто нету

    Number   Major   Minor   RaidDevice State
       0       8        5        0      active sync   /dev/sda5
       1       8       21        1      active sync   /dev/sdb5

3. Осталось выяснить какой именно диск менять. Для этого используем утилиту hdparm

hdparm -I /dev/sdb
...
ATA device, with non-removable media
        Model Number:       ST3200820DS
        Serial Number:      3DE08W1C
        Firmware Revision:  3.AAC
...

4. Вот и все. Тормозим машину, вытаскиваем диск и ищем на нем серийный 3DE08W1C и меняем его на новый.

Меняя диски на лету надо вытащить плохой диск из массива, для этого

mdadm --manage /dev/md0 --fail /dev/sdb3

где /dev/md0 – массив, а /dev/sdb3 – плохой диск

Вставить новый диск и создать такие же разделы что и на хорошем диске массива. Для этого можно воспользоваться sfdisk’ом

sfdisk -d /dev/sda | sfdisk /dev/sdb

значит что мы имеем:

md4 sda1
md5 sda2
md1 sda5
md2 sda6
md0 sda3

это массив и sdb который разбит также как и sda. Осталось только вставить диски в массив:

mdadm --manage /dev/md0 --add /dev/sdb3
mdadm --manage /dev/md2 --add /dev/sdb6
mdadm --manage /dev/md1 --add /dev/sdb5
mdadm --manage /dev/md5 --add /dev/sdb2
mdadm --manage /dev/md4 --add /dev/sdb1

и смотрим что получилось:

cat /proc/mdstat

Personalities : [raid1]
md4 : active raid1 sdb1[2] sda1[0]
      4192832 blocks [2/1] [U_]
        resync=DELAYED
md5 : active raid1 sdb2[2] sda2[0]
      3148672 blocks [2/1] [U_]
        resync=DELAYED
md1 : active raid1 sdb5[2] sda5[0]
      521984 blocks [2/1] [U_]
        resync=DELAYED
md2 : active raid1 sdb6[2] sda6[0]
      186442240 blocks [2/1] [U_]
      [===>.................]  recovery = 19.8% (37084416/186442240) finish=57.0min speed=43600K/sec
md0 : active raid1 sdb3[1] sda3[0]
      1052160 blocks [2/2] [UU]

unused devices: <none>
Теги: ,