Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

webalizer - как поменять язык

Практика



Существует такая система статистики, как webalizer, которая умеет анализировать логи апача и генерировать html-файлы отчетов.

Однако есть маленькое "но". Webalizer использует текущий системный язык для создания отчетов, что не всегда есть "хорошо" из-за того, что по-умолчанию нормально работать с русским он не умеет. Так, например, он генерирует кракозябры в рисунках графиков, а также не устанавливает по-умолчанию кодировку (т.е. пишет в, например, KOI8-R, но при этом браузеру не сообщает - в какой кодировке ему понимать страницы сайта статистики).

Конечно, проблемы нет, когда ОС использует английский в качестве языкового пакета. А вот если Вам приходится пользовать русский, например, KOI8-R, в качестве основного языка в операционной системе - webalizer без каких-либо вопросов и настроек будет пытаться писать отчеты на русском (ну вот такой он странный).

Самое простое решение (английский то на минимальном уровне мы все знаем - там строчки то все понятные) - заставить webalizer выводить текст не на русском, а на английском.


Меняем язык на английский

Итак, чтобы webalizer писал на английском - нам надо поменять системную локаль на английский или C (т.е. без локализации вообще). Делать это надо научиться автоматичски, ибо скрипт webalizer может стоять в cron и оттуда запускать генерацию отчетов.

Пойдем следующим путем. Создадим shell-файл скрипта, который будет менять язык, выполнять webalizer и менять язык обратно.

Вот листинг этого файла:

#!/bin/sh

oldlang=`echo $LANG`
newlang="C"
export LANG=$newlang

webalizer

export LANG=$oldlang

Здесь мы запоминаем текущие настройки языка (oldlang), меняем язык системы на "без локализации" (C), выполняем webalizer, который нам сгенерирует отчет по текущему месяцу в английском языке, после чего меняем язык обратно на запомненный.

Прошу обратить внимание! Отчет будет сгенерирован с новым языком только по ТЕКУЩЕМУ месяцу... для остальных месяцев язык останется прежним.

Итак, сохраняем этот файл, например, в /etc/webalizer/webalizer_run.sh и делаем запускаемым:

# chmod +x /etc/webalizer/webalizer_run.sh

Теперь запускать webalizer нужно будет с помощью только этого файла, его же нужно указать в crontab (/etc/crontab) для исполнения вместо просто webalizer.


Кодировка

Ну, по какой-то причине нам все-же нужно, чтобы webalizer передавал в браузер информацию о кодировке. На примере KOI8-R я покажу где в конфиге это прописать.

Итак, открываем конфиг-файл webalizer.conf (для Debian, например, он лежит в /etc/webalizer). Ищем внутри опцию:

HTMLHead

И приводим ее в следующий вид (не забудте раскоментировать):

HTMLHead <META content="text/html; charset=koi8-r" http-equiv="content-type" />


После чего запускаем webalizer для того, чтобы он сгенерировал отчет за текущий месяц заново.

 

Актуально для: Webalizer на Linux
 
создано: 2017-05-09
обновлено: 2021-03-13
134108



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)

Термины: Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)