13 лет назад 9 ноября 2006 в 14:55 381

Как известно, вездесущая и объективная статистика знает практически все. За исключением одной мелочи – количества домашних сетей на российских просторах. Их число растет с каждым днем: появляются новые локалки; мелкие сегменты объединяются (в основном для выживания и противостояния алчным товарищам из ЖЭКов и прочих контор); некоторые совсем уж бестолковые LAN-сообщества отдают концы, чтобы возродиться вновь, избавившись от доморощенных “кулхацкеров” и криворуких админов. Нет числа этим объединениям, дай им бог здоровья и процветания. Все сети разные, однообразен лишь набор сервисов в этих сетях: веб-сайт с информацией о расценках на услуги и страшилками, адресованными любителям запускать сетевые сканеры, FTP-сервер (хранилище произведений мирового DivX-киноискусства) и, разумеется, IRC-чат.
Стоп, товарищи, стоп! Не нужно криков, не горячитесь, положите на место тяжелые предметы: я никоим образом не собираюсь закусывать гражданами, денно и нощно поддерживающими в порядке свое сетевое хозяйство. Что еще можно придумать в пределах локальной сети? Разве что интернет-магазин, торгующий предметами для ухода за колибри…

Практически все известные мне пользователи таких сетей довольны предоставляемыми сервисами и сетуют только на высокую стоимость входящего трафика. Понятное дело, крупным сетям куда проще: их владельцы получают немалый доход, а потому им по карману железо для выделенного сервера, да и содержать толкового системного администратора они могут. А как быть крохотным “сеточкам”, к которым подключено не более 10-15 компьютеров? Идея пригласить “варяга” со стороны не лишена здравого смысла, но каждый раз отстегивать за подобные услуги кругленькую сумму несколько накладно (да и попробуй собери с народа дополнительный “оброк”). Остается единственный выход – поднять виртуальные веб- и FTP-серверы своими руками. Тем более что это не так сложно, как представляется на первый взгляд. Некоторые читатели наверняка спросят: “А что это, собственно, за зверь такой – виртуальный сервер, в чем его преимущества?” Попробуем разобраться.

www.cетка.ru

Прежде всего, проведем границу между платной услугой “виртуальный сервер”, предоставляемой повелителями хостинга (суть ее заключается в том, что провайдер размещает веб-ресурс клиента в своем дата-центре), и сервером, созданным программными средствами на отдельно взятом компьютере. Платный вариант хорош практически всем: грамотные специалисты позаботятся о сохранности информации, предоставят массу сервисных возможностей, недоступных на бесплатных хост-ресурсах, да еще, ко всему прочему, зарегистрируют доменное имя второго уровня (нередко за дополнительный “калым”). Вот только скажите на милость, зачем простой локальной сети, работающей в масштабах одного дома, громкое имя http://www.computery.ru/upgrade/index.html?

О физических серверах, взятых на вооружение провайдерами, не хочется и упоминать: если вы хотите знать о стоимости серверного железа, то рискуете получить легкое нервное расстройство (а уж если посчитать и оплату персонала…). Безусловно, являясь владельцем оборудования, вы будете иметь возможность в любое время проводить профилактические работы, обновлять оборудование, а также устанавливать любое серверное программное обеспечение. Но оно вам надо?


Apache довольно прост в установке: нужно указать каталог, в котором поселится программа, и определиться с именем создаваемого сервера.

Нам по силам создать виртуальную площадку на одном или нескольких компьютерах, подключенных к локальной сети. Такой способ куда проще, а главное, он не требует денежных затрат. Причем нам будут доступны все приятности веб-программирования, предоставляемые за деньги: поддержка PHP, CGI и прочее. А в работе с FTP-сервером мы будем ограничены лишь объемом дискового пространства.
Предположим, мы имеем крохотную локальную сеть с IP-адресом шлюза 192.168.1.1, маской подсети 255.255.255.0 и диапазоном IP-адресов (или динамически назначаемых DHCP-сервером, или прописанных вручную – не суть важно) от 192.168.1.2 до 192.168.1.99. В качестве выделенного сервера будет выступать машина с проверенным железом под управлением какой-либо серверной версии Windows (на тот случай, если среди пользователей сети нет тех, кто знаком с развертыванием Unix-систем).

Теперь несколько слов о том, какими преимуществами перед “железным”, предоставляемым за деньги сервером обладает локально-виртуальный. Во-первых, у вас никогда не возникнет конфликтов с хостером из-за контента, размещенного на веб-сайте или на FTP-сервере (не исключено, что у вас с провайдером совершенно разные религиозные убеждения). Во-вторых, вы будете избавлены от нервотрепки, практически неизбежной при общении с администрацией платного хостинга в случае возникновения сбоев на стороне провайдера, все будет зависеть только от вас. В-третьих, чувствовать себя хозяином положения при администрировании своих ресурсов будете вы, а не владелец хост-площадки. И наконец, в-четвертых, при использовании виртуального сервера на своем компьютере вы сможете работать с размещенными на нем веб-ресурсами в среде Windows, применяя PHP-, CGI- и Perl-скрипты так же просто, как будто речь идет о Unix.

Вождь апачей

Веб-сервер Apache http://www.apache.org/, 4,7 Мбайт настолько популярен, что нет нужды рассказывать о том, для решения каких задач подходит этот бесплатный продукт. Используется Apache практически повсеместно, как на платных хост-площадках и корпоративных серверах, так и в локальных сетях в жилых домах. Будучи бесплатной открытой программой, позиционируемой как решение для Unix-систем (FreeBSD, Linux и пр.), Apache по функциональности и надежности не уступает коммерческим серверам, а широкие возможности конфигурирования позволяют настроить его для работы практически с любой операционкой (на данный момент доступна версия 2.0.53; существует и русскоязычная локализация сервера – она выложена на http://www.apache.ru/
Несмотря на кажущуюся заумность сервера Apache, все не так страшно. Видит бог, я не пытаюсь вас убедить, будто Apache – это просто, отнюдь. Об этом сервере пишут толстые и зачастую скучнейшие книги. Мы же попробуем установить, настроить и запустить наш виртуальный сервер, не более того.

Установка и настройка

Перед началом наших трудов следует усвоить две вещи. Первое: Apache мы будем устанавливать на свободный логический диск (в моем случае это диск G:), но ни в коем случае не в системный раздел. Второе: если, например, путь к интерпретатору Perl в Unix-системах выглядит как /usr/bin/perl, то в Windows он несколько иной – G:usrbinperl.exe.

По умолчанию Apache стремится поселиться в каталоге C:Program FilesApache GroupApache2 и разместить в нем свой “скарб” – несколько программных папок. Но, если помните, мы договорились провести установку на отдельный логический диск. Еще раз повторю, что в моем случае только диск G: любезно согласился принять нового жильца. Для того чтобы каталог нашего виртуального веб-сервера максимально соответствовал структуре реального веб-сервера, создадим папку G:usrlocal и укажем ее в процессе инсталляции. Все, что нужно сделать при установке, – это задать имя создаваемого сервера и почтовый адрес админа.

По окончании инсталляции у нас получится следующий “умолчальный” путь к “Апачу”: G:usrlocalApache2. В трее появится значок утилиты Monitor Apache Servers, и если все прошло удачно, на этой иконке призывно загорится зеленая стрелка, свидетельствующая о том, что все сервисы “Апача” запущены (Running all Apache services). Чтобы убедиться в благополучном завершении процесса, откройте браузер и зайдите по адресу http://
127.0.0.1, где нас на русском языке еще раз поздравят с установкой веб-сервера. Отложим празднование на некоторое время и постараемся грамотно сконфигурировать Apache. Никто ведь не обещал, что будет легко.

Для первичной настройки сервера перейдем в каталог G:usrlocalApache2conf и откроем в системном “Блокноте” файл httpd.conf. По большому счету, вся настройка Apache сводится к изменению некоторых записей в данном файле, однако будьте очень внимательны при редактировании и меняйте только то, что действительно необходимо!

В разделе Global Environment отыщем строку ServerRoot и откорректируем путь к папкам Apache – в моем случае его следовало привести к виду G:usrlocal Apache2. В разделе Main Server Configuration требуется ввести почтовый адрес, который будет демонстрироваться в сообщениях об ошибке сервера. Замените параметр строки ServerAdmin нужным адресом электронной почты.

Значение, указанное в строке ServerName, никоим образом не влияет на корректность работы Apache, так что над данным параметром разрешается глумиться вволю (обзывайте многострадальный сервис как угодно, хоть “Сервак.ру”). Чуть ниже расположилась строка DocumentRoot: нам следует либо указать путь к папке, где будут храниться HTML-страницы будущего сайта, либо создать под эти нужды новую директорию. Я предпочел сделать каталог с именем www в корне упоминавшегося диска G:, после чего редактируемая строка приняла вид DocumentRoot “g:/www” (разумеется, вы можете создать любой другой каталог).
Продолжаем изучать список. Далее идет блок вида <Directory/> Options FollowSymLinks AllowOverride None </Directory>. Нам нужно заменить эту запись другим блоком: <Directory /> Options Indexes Includes AllowOverride All </Directory>. К чему такие ухищрения?

А к тому, что отныне в данном блоке будут храниться “умолчальные” установки для всех директорий. Далее найдем еще один блок, начинающийся со строки <Directory “g:/usr/local/Apache2/htdocs”> и оканчивающийся строкой </Directory>. Значительная часть записей этого блока попросту закомментированы, так что можно смело заменить данный пассаж более коротким:
<Directory “g:/www”>
Options Indexes Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>.

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

Мне почему-то кажется, что у вас доброе сердце и вы разрешите собратьям по локальной сети пользоваться сервером для размещения своих домашних страничек. Если это действительно так, создайте в корне диска G: дополнительный каталог home, где и будут проживать “хомяки” пользователей – совсем как на настоящем веб-сервере. Теперь обратите внимание на строчку UserDir: нам необходимо прописать в ней параметр g:/home (непременно с двойными кавычками). Еще несколько шагов вниз, и перед нами еще одна строка – DirectoryIndex, в ней должны быть перечислены форматы титульных страниц веб-сайта. Пусть это будут index.htm и index.html (DirectoryIndex index.htm index.html).

По моему скромному мнению, установить полноценный веб-сервер и не воспользоваться CGI-скриптами было бы крайне недальновидно. Однако Apache не выходит в астрал, чтобы самостоятельно отслеживать путь к папке cgi-bin, где следует хранить скрипты. Нам понадобится найти строку ScriptAlias /cgi-bin/ и указать реальный каталог, то есть G:/usr/local/ Apache2/cgi-bin/. Не забудьте о двойных кавычках. Для полного счастья осталось отыскать (чуть ниже) и переписать блок, начинающийся с <Directory “g:/cgi-bin”> и заканчивающийся </Directory>: в нашем случае этот участок должен выглядеть следующим образом:
<Directory “G:/usr/local/ Apache2/cgi-bin”>
AllowOverride All
Options ExecCGI
</Directory>.

Зачем нужны подобные телодвижения? Вы наверняка замечали, что многие сайты, когда вы запускаете поисковый скрипт или заходите в гостевую книгу, отображают адрес вида http://www.
site.ru/cgi-bin/blablabla. В нашем случае адрес будет выглядеть как http://localhost/cgi-bin/blablabla. А чтобы Apache сообразил, в каком месте жесткого диска лежат CGI-скрипты, мы и указываем ему реальный путь – G:/usr/local/Apache2/cgi-bin.

Чтобы раз и навсегда разобраться с CGI-скриптами, стремительно пролистаем содержимое файла httpd.conf и постараемся отыскать закомментированную строчку AddHandler cgi-script AddHandler cgi-script .cgi. Уберем знаки комментария и дополним ее параметрами .bat, .exe и .pl, для того чтобы Apache рассматривал указанные файловые форматы как CGI-скрипты.
О русских кодировках не стоит беспокоиться, поскольку все необходимые параметры содержатся в конфигурационном файле новой версии Apache (в старых версиях приходилось вносить правку вручную).
И наконец, самое опасное (смайл) – проверка работоспособности нашего веб-сервера. Для начала поместим в каталог, отведенный под хранение HTML-файлов, титульную страничку index.

htm или index.html. Хм, вы не знакомы с основами языка HTML? Не беда: напишите в “Блокноте” вот такой текст:
<html>
<body>
Я сделал это!
</body>
</html>.
Данный фрагмент сохраните как файл index.html и трепетно перенесите в каталог www (кстати, если установить Apache по умолчанию, то это будет каталог C:Program FilesApache GroupApache2htdocs). Затаив дыхание, наберите в адресной строке браузера http://localhost/, http://127.0.0.1 или реальный IP-адрес своей машины (например, http://192.168.1.100; кстати, этот же адрес будут использовать ваши соратники по локальной сети). Если на экране появится жизнеутверждающая надпись “Я сделал это!”, можно переходить к проверке функционирования CGI-скриптов. Для выполнения этой задачи разработчики Apache советуют написать крошечный BAT-файл с таким содержанием:
@echo off
echo Content-type: text/html
echo
echo
dir.

Разместим созданный “батник” в каталоге cgi-bin и попросим браузер прогуляться по адресу http://localhost/cgi-bin/test.bat (варианты IP-адресов приведены выше). Если мы указали в конфигурационном файле корректные параметры, браузер воспримет нашу писанину адекватно и выдаст примерно такое сообщение: “Volume in drive G has no label. Volume Serial Number is F8E0-C8D6. Directory of G:/usr/
local/ Apache2/cgi-bin 08.05.2005 16:05″.
Все! Можно расслабиться любым удобным вам способом и заняться HTML-творчеством, выбором движка для форума, созданием гостевой и прочей рутиной сайтостроительства.

FTP-серверы – в массы!

Я, конечно, извиняюсь, но лишний раз перечислять коренные отличия протоколов HTTP и FTP, равно как и упоминать о преимуществах передачи файлов по FTP, нет смысла: эти прописные истины изложены на сотнях интернет-ресурсов. Для нас с вами второй этап “поднятия” сервера означает создание и сдачу в эксплуатацию полноценного FTP-сервера, который должен войти в состав сетевых служб.


Если вам лень каждый раз вручную запускать программный сервис, попросите Serv-U сделать это за вас.

За что я люблю FTP-серверы, так это за простоту конфигурации. И Ser-U http://www.serv-u.com/, 3,8 Мбайт, $250), отличная программа данного класса, не является исключением. А кроме того, нетрудно найти модуль, позволяющий полностью русифицировать данную софтину http://www.4ru.info/. После установки Serv-U по умолчанию выключен. Активируется он в самом начале конфигурации, при щелчке по вкладке Local Server. Зеленый индикатор Server is running жизнерадостно сообщает о начале трудовой деятельности нашего FTP-сервера. Однако программа нуждается в настройке. Ею мы и займемся.

Обратите внимание на переключатель Start automatically [system service]. Есть смысл задействовать эту опцию, для того чтобы Serv-U запускался каждый раз независимо о того, вспомним ли мы о нем. Теперь плавно переходим к разделу Local Server > Settings > General. Наибольший интерес для нас представляют опции для жесткого определения скоростей upload и download, а также возможности удаления части файла, который был загружен на сервер не до конца (Delete partially uploaded files). Последнее особенно актуально, если пользователям разрешено загружать на FTP-сервер свой контент: нередко отдельные товарищи по разным причинам прерывают загрузку, что приводит к бесполезной трате дискового пространства. К слову сказать, все опции данного раздела по умолчанию отключены.

Секция Activity (раздел Local Server) позволяет отслеживать в реальном времени сетевую активность и получать информацию о юзерах, пользующихся ресурсами FTP в данный момент. Там же можно по IP-адресу мгновенно заблокировать для чересчур активных граждан доступ к ресурсу на заданный промежуток времени.

Пришла пора присвоить идентификатор нашему FTP-серверу, то бишь первому (а возможно, и единственному, все зависит от нашего желания) домену: пусть это будет уже знакомое нам имя сетка.ru, его-то мы и пропишем в разделе Domains. Новые домены без труда создаются нажатием горячей клавиши Insert. Теперь необходимо перейти в секцию нового домена, где на вкладке Domain в поле Domain IP address мы зададим IP-адрес компьютера, на котором развернут FTP-сервер. По умолчанию сервер использует порт 21, и наиболее разумно оставить все как есть. Поле Domain type ведает хранением настроек созданного домена: по умолчанию предлагается складировать информацию в INI-файле (после переустановки системы конфигурировать сервер будет куда проще). Обратите внимание на индикатор Domain is online: если он горит зеленым, все в порядке и совсем скоро жаждущие контента пользователи обретут искомое (или наоборот, по капризу админа и нажатию кнопки Put Domain Offline жестоко разочаруются в людях).

Теперь займемся самым интересным и важным. В секции Settings > General стоит задать максимальное число пользователей для домена (Max. no. of users). После этого нам предложат, казалось бы, невозможное – мы можем сделать так, чтобы физические папки, расположенные в разных дисковых разделах, отображались под нужными нам именами в корневой директории FTP-сервера. Безусловное достоинство подобной функции заключается в том, что достаточно создать в каком-либо разделе корневую папку сервера (например, с именем ftp) и более не заботиться о наполнении созданного нами домена контентом. Другими словами, каталоги реальных разделов вашего жесткого диска станут еще и виртуальными папками FTP-сервера. Интересно, правда? Посмотрим, как это делается.

В разделе Settings > General > Virtual path mappings нажатием кнопки Add запускаем “Мастер настройки”: ему нужно указать путь к физической папке (Physical path); место будущей виртуальной папки в структуре FTP-сервера (Map physical path to), например, корневую директорию – %HOME%; после этого необходимо дать имя виртуальной папке (скажем, MP3). Таким образом, можно задать любое количество виртуальных папок.
Погодите радоваться и проверять содержимое ftp://вашipадрес. Сначала необходимо сделать виртуальные папки видимыми для пользователя и разрешить ему загружать из данных каталогов сокровища мировой культуры. По умолчанию в разделе Domains > ваш_домен > Users наличествует только один юзер – его величество Anonymous.

Согласитесь, в небольшой сети такой жест доброй воли вряд ли приведет к неприятным последствиям, и незачем заставлять юзеров вводить логин и пароль (вкладка Account). Но нам надлежит указать путь к корневому каталогу FTP-сервера (поле Home directory).
У вас неизбежно возникнет искушение пополнить вашу коллекцию видео- и аудиозаписей. А как же без этого? Однако прежде следует включить опцию Lock user in home directory. Дело в том, что пользователь с пытливым умом при желании всегда сможет выйти за пределы корневой директории FTP-сервера и начать тихое путешествие по реальным дисковым разделам вашего компьютера.

Следующий этап: на вкладке Dir Access волевым решением дадим право заждавшимся юзерам узреть созданные нами виртуальные папки сервера. По умолчанию народные массы владеют правом доступа к корневой папке сервера, осталось лишь нажать кнопку Add и вновь указать полный путь к каждой – внимание! – физической папке, на которую возложено тяжелое бремя виртуальности. Если вы доверяете обитателям вашей сети, можно дать им право загружать свой контент в те или иные каталоги сервера – достаточно выделить нужный и поставить флаг в переключателе Write. На этом наиболее сложную часть конфигурирования можно считать законченной.
Коль скоро мы владеем всеми правами администрирования, нам по чину положено карать и миловать, так что обратимся к вкладке IP Access. Как явствует из ее названия, здесь мы ставим заслон неугодным и привечаем своих. Фильтрация производится в соответствии с правилами, задаваемыми в секции Edit Rule (если что, в крохотном разделе Info содержится подсказка).

Рассмотрим такой пример. В домашней сети 192.168.1.0 один несознательный товарищ создал свою подсеть 192.168.2.0. Разумеется, великий и ужасный администратор главной сети не стал ему препятствовать, но, затаив обиду, решил заблокировать доступ к сервису всем пользователям из сети 192.168.2.0. Для этого ему следует включить опцию Deny Access (запретить доступ) и создать правило блокировки абсолютно всех юзеров (*.*.*.*), а затем нажать кнопку Add. Затем, движимый чувством долга, он должен создать правило для дружественных пользователей: для этого надлежит активировать опцию Allow Access и твердой рукой вписать 192.168.1.*, не забыв, разумеется, нажать кнопку Add. Учтите, что созданные правила действуют по принципу “сверху вниз”, иначе, если запрет следует за “разрешительным” правилом, мы и вправду заблокируем всех.

Остальные настройки, например, ограничение скоростей download / upload на вкладке General пользовательских настроек, оставляю на ваше усмотрение. Точно так же вы без проблем справитесь с созданием групп пользователей и распределением имеющихся юзеров по этим самым группам (не забывайте о существовании качественного модуля русификации, пусть он и не официальный). Жаждете справедливости? Посетите вкладку UL/DL Ratios, где вы можете включить опцию, вводящую в сети бартерные отношения (например, скачав три файла, пользователь будет обязан загрузить на сервер три своих).

Осталось упомянуть о встроенной утилите Tray Monitor, вызываемой из программной группы кнопки “Пуск”. Поселившись в трее, этот монитор будет оперативно сигнализировать об активности сервера, сообщая число подключенных пользователей и параметры загрузки. Довольно удобная штука.

Вот и все, уважаемые товарищи. Как говорят наши зарубежные заклятые друзья, enjoy! Осталось лишь решить вопрос c быстрым и качественным интернет-соединением. Проблема эта выходит за рамки нашей статьи, но я уверен, что вам с удовольствием предложат помощь местные провайдеры, поблескивая хищными глазками и радостно потирая руки в ожидании барышей.

Домик почтальона Печкина

Все-таки поднять свою локальную сеть и не обзавестись почтовым сервером – это, товарищи, не наш метод. Расскажу о нескольких легко настраиваемых и довольно функциональных программах, умеющих создавать почтовые серверы под управлением Windows. Kerio Mail Server 6.0 http://www.kerio.com/, 29 Мбайт, $130), пожалуй, наиболее быстрый и безопасный почтовый сервер, работающий со всеми клиентами РОР3 и IMAP для операционных систем Windows, Linux и Mac. Встроенная защита от вирусов базируется на движке McAfee Anti-Virus, но никто не запретит вам подключить другие антивирусные программы – Avast, AVG, NOD32, Sophos или Symantec. Функция SpamEliminator позволяет обнаружить и полностью блокировать несанкционированную рекламу с помощью мощного набора современных средств защиты от спама: в ход идут проверка ID отправителя (Caller ID) и защита от атак DHA (Directory Harvest Attack), проводимых с целью выявления действующих адресов.

Российская софтина Courier Mail Server http://www.courierms.ru/, 524 кбайт, 1450 рублей отличается малым размером дистрибутива, простотой установки и удаления, легкостью настройки и администрирования, скромным потреблением системных ресурсов, а также многопоточностью и удобной графической оболочкой. Программа работает как системный сервис, поддерживает несколько почтовых доменов и умеет производить антиспамовую фильтрацию почты.
Бесплатная (опять-таки российская) программка LanSend 1.3 (lantricks.com, 815 кбайт) позволит отправить сообщение на компьютер или на несколько компьютеров сразу. Кроме того, доступна возможность отправить одно сообщение несколько раз (столько, сколько укажете) с определенным интервалом.

Дырявый WS_FTP Server


В народе довольно популярен продукт, позволяющий с легкостью создавать FTP-серверы: WS_FTP Server от компании Ipswitch (6,4 Мбайт, $395, Windows NT / 2000 / XP / 2003). За эти деньги нам предлагают практически все функции Serv-U (прямого конкурента WS_FTP Server), да еще с различными дополнительными возможностями: приветствуется работа с самыми разными браузерами и клиентскими FTP-программами, имеется поддержка докачки данных и возможность организации множества виртуальных FTP-серверов на одном компьютере.

В данной софтине для защиты пересылаемой информации применяется 128-битное SSL-шифрование. Кроме того, программа позволяет создавать неограниченное количество учетных записей и управлять правами пользователей на уровне отдельных папок. Все вышеперечисленные качества делают продукт весьма привлекательным. К тому же к программе можно обратиться с любого компьютера, подключенного к сети: достаточно скопировать на него исполняемый файл Server Manager. Да вот незадача, в последнее время то тут, то там появляются тревожные, а часто и откровенно ехидные сообщения об уязвимостях, найденных в WS_FTP Server.

Оказывается, локальный пользователь WS_FTP Server может эксплуатировать backdoor, с помощью которого реально заставить FTP-сервер выполнить локальное приложение с привилегиями системного процесса. И в довершение всего выяснилось, что программа отказывается обслуживать клиентов, когда удаленный авторизованный юзер с правом на запись отдает команду целевой службе использовать все доступное дисковое пространство. Теперь еще раз обратите внимание на цену продукта. Наводит на размышления…

Акустик

Никто не прокомментировал материал. Есть мысли?