Free real-time logfile analyzer to get advanced statistics (gnu gpl)

Features

A full log analysis enables AWStats to show you the following informationvisitsunique visitorsVisits durationAuthenticated usersDays of weekrush hoursDomains/countries269 domains/countries detectedHosts listMost viewedentryexitFiles typeWeb compression statisticsOS used35 OS detectedBrowsers97 browsersVisits of robots319 robots detectedWorms attacks5 worm’s familiesSearch engineskeyphraseskeywordsThe 115 most famous search engines are detected like yahoo, google, altavista, etc…HTTP errorsOther personalized reportsScreen sizeJava, Flash, RealG2 reader, Quicktime reader, WMA reader, PDF readerAWStats also supports the following featuresgeoip countrygeoip citygeoipregiongeoipispgeoiporgGNU General Public LicenseXML Portable Application DescriptionRequirementsActivePerlWin32Perl.comUnix/Linux/Other

Configuring AWStats: Step 1 of 3

AWStats works from configuration files you create in /etc/awstats/. But it also needs a directory it can work within (we use /var/lib/awstats/). I’ve provided documentation around each line so you know what’s going on:

Optionally Configuring GeoIP Updates

The geolite data fetches us a great set of (meta) data we can reference when looking up IP Addresses (of people who visited our site) and determining what part of the world they came from. This information is fantastic when putting together statistics and web page traffic like AWStats does.

First we want to configure AWStats to use the GEO IP Plugin:

Next we want to set up our GEO IP to update itself with the latest meta data for us automatically (so we don’t have to worry about it):

Установка Awstats на Debian

Откройте терминальный доступ к серверу и введите команду установки:

apt-get install awstats

После завершения процедуры установки сделайте копию файла определений Awstats:

cp /etc/awstats/awstats.conf /etc/awstats/awstats.mysite.ru.conf

(заменить mysite.ru с вашим фактическим доменным именем)

Отредактируйте файл awstats.mysite.ru.conf следующим образом (это значения по умолчанию, которые обычно работают):

LogFile="/var/log/apache2/access.log"
LogFormat=1
SiteDomain="mysite.ru"
HostAliases=”www.mysite.ru mysite.ru”
DNSLookup=0
AllowFullYearView=3
LoadPlugin="tooltips"

Откройте файл конфигурации Apache /etc/apache2/sites-available/mysite.conf (mysite – это ваше имя файла conf) и вставьте в файл следующие строки:

Alias /awstatsclasses "/usr/share/awstats/lib/"
Alias /awstats-icon/ "/usr/share/awstats/icon/"
Alias /awstatscss "/usr/share/doc/awstats/examples/css"
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
ScriptAlias /awstats/ /usr/lib/cgi-bin/
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch

Введите следующие команды для активации изменений в конфигурации Apache:

a2enmod cgi
systemctl restart apache2

Вы можете посмотреть, как продвигается установка, указав свой веб-браузер на:

http://mysite.ru/cgi-bin/awstats.pl

Если отображается веб-страница статистики, вы находитесь на правильном пути. В верхней строке отображается время обновления статистики. Вероятно, он напишет ‘никогда не обновляется”. Все в порядке, вам просто нужно вручную запустить первое обновление.

Вернувшись в терминал, введите следующую команду для инициализации Awstats:

perl /usr/lib/cgi-bin/awstats.pl -config=mysite.ru -update

Когда статистические данные были инициализированы, Awstats отображает количество строк, найденных в качестве квалифицированных записей, пустых записей и другой информации.

Повторно проверьте страницу статистики в вашем веб-браузере:

http://mysite.ru/cgi-bin/awstats.pl

Если на странице отображаются статистические данные и ip-адреса, выполняется базовая установка. Однако вполне вероятно, что вам придется настроить Awstats немного больше, чтобы он автоматически выполнялся в фоновом режиме, и вы можете разрешить доступ только авторизованным людям.

Динамические отчёты

Динамические отчёты это отчёты, которые доступны через интерфейс CGI/JSS и могут быть созданы пользователем «на лету» (, если это разрешено директивой файла конфигурации AllowToUpdateStatsFromBrowser).

Для создания динамических отчётов AWStats

  • создаются файлы конфигурации для всех зарегистрированным виртуальных сайтов как описано в разделе
  • формирование динамического отчёта
  # sudo -u www-data /usr/lib/cgi-bin/awstats.pl -config=awstats.model.conf            - первоначальная генерация
  # sudo -u www-data /usr/lib/cgi-bin/awstats.pl -config=awstats.model.conf -update    - обновление созданного отчёта
    Результаты обработки сохраняются в каталоге определённом параметром DirData в нашем случае - /var/lib/awstats.

для автоматизации по cron может быть создан файл задания /etc/cron.d/awstats со строками

  * */1 * * * www-data /usr/lib/cgi-bin/awstats.pl -config=awstats.model.conf -update

Внимание!
Для повышения безопасности CGI/JSS создание отчётов осуществляется от имени пользователя www-data.
Следует учитывать, что файл лога веб-сервера, указанный в файле конфигурации, также должен иметь разрешение на «чтение» для www-data.
В связи с этим перед созданием/обновлением отчёта следует:
# chmod o+r APACHE.LOG — разрешить пользователю www-data чтение файла лога
# cat APACHE.LOG | grep «» >AWSTATS_LOG — или создать «собственный» лог по определенным правилам

Для просмотра динамического отчёта через браузер на примере веб-сервера Apache2

на веб-сервере создаётся файл конфигурации виртуального хоста /etc/awstats/apache.conf

  # cp /usr/share/doc/awstats/examples/apache.conf /etc/awstats/apache.conf
  # ln -s /etc/awstats/apache.conf /etc/apache2/conf.d/awstats.conf

перезапускается веб-сервер для регистрации ссылки на сайт отчётов

  # /etc/init.d/apache2 restart

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

  http://IP-SERVER/cgi-bin/awstats.pl                - будет представлен отчёт по всем сайтам на сервере
  http://IP-SERVER/cgi-bin/awstats.pl?config=model   - просмотр индивидуального отчёта виртуального хоста

Замечание:
Для разрешения запуска CGI-скриптов веб-сервером Apache2 используется команда
# a2enmod cgi
а для их отключения
# a2dismod cgi
Внимание!
Если сервер работает во внешней сети, то разрешение запуска CGI-скриптов, а тем более размещение их в
корневой директории виртуального хоста является небезопасным.

(для повышения безопасности) в папке /usr/lib/cgi-bin/ на веб-сервере может быть добавлен файл .htaccess вида

<FilesMatch "awstats.pl">
    AuthName "Login Required"
    AuthType Basic
    AuthUserFile /var/www/awstats/.htpasswd
    require valid-user
</FilesMatch>
  а для создания .htpasswd может быть использована команда
  # htpasswd -c /var/www/awstats/.htpasswd username

Причины ошибок в файле Awstats.dll

Большинство ошибок awstats.dll связано с отсутствием или повреждениями файлов awstats.dll. Тот факт, что awstats.dll – внешний файл, открывает возможность для всяческих нежелательных последствий.

Непредвиденные завершения работы вашего компьютера или заражение вирусом может повредить awstats.dll, что приведет к ошибкам dll. Когда файл awstats.dll повреждается, он не может быть нормально загружен и выведет сообщение об ошибке.

В других случаях ошибки файла awstats.dll могут быть связаны с проблемами в реестре Windows. Нерабочие ссылки DLL файлов могут помешать зарегистрировать файл dll должным образом и вызвать ошибку awstats.dll. Эти нерабочие ключи реестра могут появиться в результате отсутствия файла DLL, перемещения файла DLL или ввиду наличия остаточной ссылки DLL файла в реестре Windows после неудачной установки или удаления программы.

Более конкретно, данные ошибки awstats.dll могут быть вызваны следующими причинами:

  • Ошибочные или поврежденные записи реестра для awstats.dll
  • Вирус или вредоносное ПО, повредившее файл awstats.dll.
  • Отказ оборудования Windows Software Developer, например, некачественный жесткий диск, вызвавший повреждение файла awstats.dll.
  • Другая программа изменила требуемую версию awstats.dll.
  • Другая программа злонамеренно или по ошибке удалила файл awstats.dll.
  • Другая программа удалила файл awstats.dll.

Файлы конфигурации

Разработчиком пакета предоставляются следующие файлы конфигурации

Для создании отчётов (виртуальных) сайтов AWStats использует индивидуальные файлы конфигурации, которые должны иметь имя awstats.model.conf и находится в каталоге выполнения команды.
Формат индивидуального файла конфигурации не отличается от основного awstats.conf и, благодаря использованию команды
включения внешних файлов Include, может содержать только индивидуальные настройки, например

  Include "awstats.conf"                     - добавление общих для всех виртуальных хостов параметров (из текущего каталога)
  SiteDomain="model"                         - установка имени анализируемого сайта (виртуального домена)
  HostAliases="*model*"

Для настройки общего файла конфигурации awstats.conf могут быть установлены например параметры

  DirData="/var/lib/awstats/"                - папка для размещения результатов анализа сайта и баз AWstats
                                               папка DirData должна быть доступна для записи пользователю www-data
  AllowToUpdateStatsFromBrowser=1            - разрешение осуществления обновления из браузера
  LogFile="/var/log/apache2/access.log"      - указание местонахождения файла лога для анализа
  LogType=W                                  - тип анализируемого файла, в данном случае W = www
  LogFormat=4                                - установка формата лог файла, в данном случае 4 это Apache или Squid 
  SkipHosts="127.0.1.1 ::1 REGEX <MY_LOCAL_HOSTS>"  - указание хостов, доступ с которых не следует учитывать
  AllowAccessFromWebToFollowingIPAddresses="<MYIP>"              - указание хостов, которым разрешён доступ к статистике
  Lang="ru"                                  - указание языка по умолчанию
  LoadPlugin="tooltips"
  LoadPlugin="decodeutfkeys"                 - включение транскодинга "Search Keyphrases" приходящих из поисковых систем, в единую кодировку

Установка некоторых переменных переменных среды используемых при работе AWStats может быть осуществлена в файле /etc/default/awstats например так

  AWSTATS_NICE=10                            - установка приоритета устанавливаемой при старте программы
  AWSTATS_ENABLE_BUILDSTATICPAGES="yes"      - разрешение создания статических отчётов
  AWSTATS_LANG="ru"                          - установка языка отчёта

Внутри события

Заходим во внутрь события, где нам будет предоставлено больше данных для выбора нужного исхода. Для этого клик по нужной строке.


Увеличить. Заходим в событие

Статистика сезона


Увеличить. Быстрая статистика сезона

В этом блоке мы видим объединенную статистику команд по текущему сезону. Т.е. суммируются их данные и показывается среднее значение. Здесь учитывается и кубковые матчи, а только национальные чемпионаты подписаны мелким шрифтом снизу.

  • — среднее количество голов за матч.
  • — вероятность что обе забьют в матче.
  • и — вероятность тотал больше голов указанной цифры.
  • — среднее количество желтых карточек на матч.
  • — среднее количество угловых за матч.

Head to Head Stats или сравнение команд


Увеличить. Сравнение команд

Здесь мы видим форму команд в последних матчах, а так же по сезону.

Поясню по названиям колонок.

  • — форма команды. Здесь — в целом по сезону, — дома, — в гостях (на выезде).
  • — форма в последних 5 матчах. Здесь — ничья, — проигрыш, — победа.
  • — среднее количество заработанных очков за эти игры. Тут как обычно, победа — 3 очка, ничья — 1 очко. Суммируем их и делим на 5 игр. Получаем PPG или Points Per Game.

Например, Сампдория дома сыграла 3 раза вничью, а Ювентус проиграл прошлый матч на выезде.


Увеличить. Пример формы команд

Ниже видим статистику команд в цифрах.

  • — процент побед. Здесь — в целом по сезону, — дома, — в гостях (на выезде).
  • — среднее количество голов в матче с участием этой команды.
  • — среднее количество забитых мячей командой.
  • — среднее количество пропущенных мячей командой.
  • — сколько раз проходила бы ставка «Обе забьют — Да».
  • — не пропускали, т.е. «сухие ворота», им не смогли забить.
  • — не смогли забить в матче хоть 1 мяч. Когда нападающие команды не выполнили свою задачу.

Форма


Увеличить. Форма команд

Здесь мы видим более подробно форму команд с возможностью посмотреть с кем и как они играли. Тут же есть селекторы переключения на просмотр последних матчей дома, в гостях.

Previous Results


Увеличить. Предыдущие встречи команд

Предыдущие встречи команд. Видим как они играли между собой, а так же какие рынки чаще всего случались (тотал, ОЗ, не пропускали).

Goals Scored и Goals Conceded


Увеличить. Вероятность голов

Здесь мы видим как команды забивали (Goals Scored) и пропускали (Goals Conceded) в последних матчах (иконки сбоку против кого играли) и сопоставление между собой.

Corners и Cards


Увеличить. Карточки и угловые

Здесь мы видим статистические данные по карточкам и угловым в матчах команд, а так же вероятности для предстоящего матча в процентном выражении.

Will … Score


Увеличить. Сможет ли команда забить в матче

Сможет ли команда забить в этом матче. Вероятность в % выражении.

Например, на скриншоте выше мы видим, что Сампдория забивала в 50% матчей дома (Scored in 50% of matches (Home)), но Ювентус не пропускал в 38% матчей на выезде (Clean Sheets in 38% of matches (Away)).

И тут же у Ювентуса выше среднего шансы забить в матче, т.к. он забивал в 87% матчей на выезде. А Сампдория не пропускала дома только в 38% матчей.

Who Will Score First?


Увеличить. Кто забьет первым

Здесь мы видим вероятность кто забьет первым в матче. Ювентус забивал в 12 из 16 матчей первым, т.е. в 75%. В то же время Сампдория только в 4 из 16 матчей отличалась забитым мячом первой.

Over + и Under —


Увеличить. Тотал

Вероятность прохода ставки Тотал Больше (Over) и Меньше (Under) голов в матче. — среднее у команд. А под каждой командой есть ее персональный процент прохода такой ставки.


Увеличить. Оффсайды

Эти данные нам дают представление об оффсайдах в матчах команд, а так же среднее значение.

Top Scorers


Увеличить. Лучшие бомбардиры

Лучшие бомбардиры команд в этом сезоне, конкретно в Серия А, о чем свидетельствует надпись снизу.

Half-Time Stats (1st Half)


Увеличить. Статистика команд в перерыву

Здесь видим форму команд к перерыву, т.е. по истечении 1 тайма.

Количество очков говорит нам выигрывала команда, играла вничью или проигрывала. Т.е. это как было выше значение PPG (среднее количество очков за матч), но тут к перерыву.

А чуть ниже данные по Тотал Больше к перерыву.

Features

A full log analysis enables AWStats to show you the following informationvisitsunique visitorsVisits durationAuthenticated usersDays of weekrush hoursDomains/countries269 domains/countries detectedHosts listMost viewedentryexitFiles typeWeb compression statisticsOS used35 OS detectedBrowsers97 browsersVisits of robots319 robots detectedWorms attacks5 worm’s familiesSearch engineskeyphraseskeywordsThe 115 most famous search engines are detected like yahoo, google, altavista, etc…HTTP errorsOther personalized reportsScreen sizeJava, Flash, RealG2 reader, Quicktime reader, WMA reader, PDF readerAWStats also supports the following featuresgeoip countrygeoip citygeoipregiongeoipispgeoiporgGNU General Public LicenseXML Portable Application DescriptionRequirementsActivePerlWin32Perl.comUnix/Linux/Other

Работаем с логами статистики AWStats в Панели управления TimeWeb

Совсем недавно в статье Считаем трафик на сайте передо мной встал вопрос, как высчитывать трафик, который съедают роботы-пауки, заходящие на сервер сайта и, вообще, сколько трафика потребляет веб-ресурс. Я там вывел кое-какие алгоритмы подсчетов — теоретического плана. Есть даже формула для приблизительного определения трафика. А сегодня покажу, как это сделать на практике с помощью инструмента лог-анализатора AWStats.

Что такое AWStats?

AWStats — это генератор аналитических отчетов для потоков на веб-серверах, который находится в свободном доступе для всех пользователей Интернета. Статистику данный сервис предоставляет в человеко читаемом виде — в таблицах и гистограммах. Ознакомится с этим мощным инструментом можно на .

В Сети, конечно же,  есть страницы, где объясняется как устанавливать эту программу на компьютер, как пользоваться, но там настолько все сложно, что я, честно говоря, не стал вникать в данную тему. Как мне кажется, это удел системных администраторов.

Коллеги, если вас не затруднит, поучаствуйте в голосовании  вверху поста. Facebook, Twitter, Вконтакте. Кто из них, на ваш взгляд,  круче в деле продвижения сайтов?

А теперь расскажу, при чем здесь хостинг TimeWeb.

На настоящий момент времени, я со своим блогом обитаюсь именно там. Поэтому, со своим вопросом решил заглянуть в Панель управления TimeWeb. Как оказалось, тут настроена сбор статистики для AWStats.

Caddy

If your web server software is , install to get FastCGI working, then change your Caddyfile using the template below as appropriate for your configuration.

1. Install awstats as described above. It is necessary to get the folders and files owned by user «http» and group «http» with the following command:

chown -R http:http /usr/share/webapps/awstats/

2. Use awstats configuration tool to generate a site configuration file as described above. Make sure the following lines are set correctly:

LogFile="/var/log/caddy/site_combined.log"
LogFormat=1

3. Create your Caddyfile config file with these directives:

awstats.hostname.com {
#basicauth /cgi-bin username password
root /usr/share/webapps/awstats
log / /var/log/caddy/site_combined.log "{combined}"
gzip

fastcgi /cgi-bin/ unix:/var/run/fcgiwrap.sock {
env SCRIPT_DIR /usr/share/webapps/awstats/cgi-bin/
env SCRIPT_FILENAME /usr/share/webapps/awstats/cgi-bin/awstats.pl
        }
}
awstats.hostname.com/awstatsclasses {
        root /usr/share/webapps/awstats/classes
}
awstats.hostname.com/awstatscss {
        root /usr/share/webapps/awstats/css
}
awstats.hostname.com/awstatsicons/ {
        root /usr/share/webapps/awstats/icon
}
awstats.hostname.com/js {
	root /usr/share/webapps/awstats/js
}

You should now be able to view your site at https://awstats.hostname.com/cgi-bin/awstats.pl?config=awstats.hostname.com

Анализируем трафик через логи статистики TimeWeb

Д
ля того, чтобы получать статистические отчеты, первоначально нужно подключить логи в панели управления Таймвеба. Без этого действия просто ничего собираться не будет.

Для этого переходим в раздел Управление LOG файлами, выбираем нужный нам домен или поддомен и включаем (ставим галочки) логи доступа, ошибок и, самое главное, Awstats logs analizer.

Э
то, собственно все наши действия на TimeWeb.

Смотрим статистику AWStats

О
тчеты будем просматривать в браузере

Заходим в любой браузер, я, как обычно, в Google Chrome, и загоняем в адресную строку браузера следующий текст: http://domain/awstats
, где вместо domain вводим своем доменное имя, например: сайт Обращаю внимание имя должно содержать и второй и первый уровень, с точкой. В данном примере.ru

У
меня получилось: http://сайт/awstats
Ж
мем Enter и получаем форму входа.

С
юда вводим логин и пароль входа в Панель управления TimeWeb. Кликаем по кнопке Вход.

Что можно увидеть в AWStats?

Н
у, во-первых, сразу насчет трафика. Все-таки из-за него сыр-бор разгорелся. Скажу сразу, так как я недавно подключил логи на сервере, то и отчетов за полный месяц у меня пока нет. По объемам трафика постараюсь отчитаться по результатам апреля. Вот на сегодняшнюю дату общая таблица трафика за месяц апрель (за 3 дня).

О
братите внимание, что неотображаемый трафик, как раз и включает в себя трафик, сгенерированный роботами. В
ообще-то, здесь очень много детализированных таблиц, посмотрите сами

Вот для интереса менют разделов сервиса:

В
ообще-то, здесь очень много детализированных таблиц, посмотрите сами. Вот для интереса менют разделов сервиса:

Итак, обладатели хостинга на TimeWEb имеют возможность отслеживать статистику посещений на свой сайт.

Вебмастеру, хостинг которого не TimeWeb.

В
принципе, насколько я понял AWStats прикручена к веб-серверу APACHE, который подключен у всех хостеров. Поэтому подключение к AWStats должно быть доступно с любого хостинга.

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

В
о-вторых, есть более общий вход в просмотр статистики через браузер. Такой:

http://domain/awstats/awstats.pl

Н
ичего утверждать не буду, но я пробовал и так заходить со своим адресом, все то же самое получилось. Также вводил логин и пароль хостинга. Само собой, должны быть подключены лог-файлы.

Т
еперь я смогу отслеживать расход трафика в реальных, а не в расчетных объемах. С помощью хостинга TimeWeb
и сервиса AWStats
. Буду держать вас в курсе.

Каждый системный администратор должен время от времени просматривать логи серверов. Чтобы сделать эту работу более приятной и удобной можно использовать программу AWStats. AWStats позволяет в удобном графическом виде просматривать логи web, ftp, mail и потоковых видео серверов. На самом деле, awstats можно обучить разбирать логи любых серверов, только надо грамотно написать правила конфигурации awstats. В этой статье будут приведены примеры конфигов для снятия статистики с логов web и ftp серверов.

Установка и настройка AWStats на сервер Ubuntu

На Ubuntu AWStats устанавливается достаточно просто, с помощью команды:

sudo apt-get install awstats

1 sudo apt-get install awstats

После автоматической установки системы статистики, ее нужно настроить. Файлы конфигурации скрипта находятся в папке /etc/awstats. Если на вашем сервере единственный сайт, настройки могут вносится прямо в файл awstats.conf. Если сайтов несколько — для каждого необходимо будет создать свой собственный конфигурационный файл. Скопировать файл можно сделующей командой:

sudo cp /etc/awstats/awstats.conf /etc/awstats/awstats.ablex.conf

1 sudo cpetcawstatsawstats.confetcawstatsawstats.ablex.conf

Но в моем случае это не нужно, поэтому я буду вносить изменения прямо в awstats.conf.

Первым делом, нужно указать для AWStats путь к файлу лога, который он будет анализировать. Для этого, в файле конфигурации нужно изменить параметр LogFile:

LogFile=»/var/log/apache2/access.log»

1 LogFile=»/var/log/apache2/access.log»

Иногда, ввиду настроек Web-сервера файл access.log можут быть пустым, и имеет смысл указать такой путь:

LogFile=»/var/log/apache2/other_vhosts_access.log»

1 LogFile=»/var/log/apache2/other_vhosts_access.log»

Теперь необходимо поменять параметр SiteDomain, на домен вашего сайта. Например:

SiteDomain=»ablex.ru»

1 SiteDomain=»ablex.ru»

Редактирвоание файла awstats.conf закончено, сохраняем.

После этого создаем настройки доступа для AWStats в Apache. Для этого в директории /etc/apache2/conf.d/ созадим файл с именем awstats, следующим образом:

sudo touch /etc/apache2/conf.d/awstats

1 sudo touchetcapache2conf.dawstats

и запишем в файл такой текст:

Alias /awstatsclasses «/usr/share/awstats/lib/»
Alias /awstats-icon/ «/usr/share/awstats/icon/»
Alias /awstatscss «/usr/share/doc/awstats/examples/css»
ScriptAlias /stats/ /usr/lib/cgi-bin/
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch

1
2
3
4
5

Aliasawstatsclasses»/usr/share/awstats/lib/»

Aliasawstats-icon»/usr/share/awstats/icon/»

Aliasawstatscss»/usr/share/doc/awstats/examples/css»

ScriptAliasstatsusrlibcgi-bin

Options ExecCGI-MultiViews+SymLinksIfOwnerMatch

Теперь, для применения настроек, необходимо перезагрузить web-сервер:

sudo apache2 restart

1 sudo apache2 restart

или

sudo /etc/init.d/apache2 restart

1 sudoetcinit.dapache2 restart

После этого, нужно загрузить в AWStats уже собранную ранее Apache статистику. Для этого нужно выполнить команду:

sudo /usr/lib/cgi-bin/awstats.pl -config=ablex.ru -update

1 sudousrlibcgi-binawstats.pl-config=ablex.ru-update

где ablex.ru — имя вашего хоста

Все, настройка завершена!
Теперь, при переходе по адресу ваш_сайт.ru/stats/awstats.pl вы увидите только что загруженную статистику.

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Работатека
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: