Чем больше я набираю опыта в администрировании веб-серверов, тем смешнее мне читать то, что пишут в сети о домашнем хостинге. Но самое интересное, что пишут эти мифы те, кто никогда даже не пробовал ставить сервер дома либо вообще ничего об этом не знает. Я отобрал несколько самых распространённых мифов и сейчас их разрушу. После этого дам пошаговое руководство к дальнейшим действиям по постройке своего домашнего веб-сервера.

Для чего нужен домашний web сервер?

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

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

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

Давайте разберёмся, почему это происходит и как исправить такую ситуацию в лучшую сторону. Joomla!, как и большинство других движков, написана на скриптовом языке программирования PHP. Это значит, что на PHP написаны сценарии (скрипты), в которых описаны последовательности операций для получения какого-либо результата. В нашем случае там прописано, что и как должно работать на сайте. Рассмотрим подробнее, как это работает.

Пользователь заходит на Ваш сайт - в этот момент на сервер из его браузера идёт запрос к странице, которую он запросил. Сервер принимает этот запрос и, если в коде страницы есть PHP код, передаёт этот код в интерпретатор PHP. Задача интерпретатора - принять PHP код и обработать его. Проще говоря, выполнить те последовательности действий, которые описаны в PHP коде. После обработки кода интерпретатор отдаёт результат серверу, а сервер отдаёт этот результат браузеру посетителя в виде HTML кода. При этом каждый раз перед тем, как интерпретатор сможет выполнить PHP скрипт, происходит компиляция этого PHP скрипта в байткод, который и обрабатывается. При этом компиляция кода отнимает некоторое количество ресурсов сервера, а если сайт состоит из большого количества PHP скриптов (в нашем случае это Joomla!), то это создаёт ощутимую нагрузку на сервер.

Для раскрутки сайта полезно организовать для него мультимедийное дополнение в виде голосового чата. Идеально для этого подходит TeamSpeak 3. В нём можно проводить голосовые конференции с большим количеством участников по темам, актуальным на Вашем сайте, блоге или форуме. К тому же там можно организовать и техподдержку для Ваших пользователей. TeamSpeak 3 состоит из двух частей: клиентской и серверной. Клиент устанавливается на компьютере пользователя, а серверная часть соответственно на Ваш сервер.

Я буду устанавливать тимспик на сервер под управлением операционной системы Debian. Так как операционная система в моём случае 32-битная, то сервер тимспик  буду ставить 32-битный. Но перед установкой нужно в фаерволе хостинг панели ISPConfig 3 открыть два порта. TCP порт 30033 и UDP порт 9987. Вписывать их нужно через запятую, после чего сохранить изменения.

Для комментирования постов в этом блоге я использую компонент jcomments, и недавно с плагином этого компонента возникла небольшая проблема. После обновления Joomla c версии 2.5.9 до 2.5.11 пропали ссылки «Подробнее...»  и «Добавить комментарий», и вместо них стала выводиться стандартная кнопка.

Решение было быстро найдено. Чтобы вернуть  ссылки на место, необходимо отредактировать файл plugins/content/jcomments/jcomments.php, заменив в нём строчку кода:

if ($context == 'com_content.article') {

на

if ($context == 'com_content.article' || $context == 'com_content.featured' || $context == 'com_content.category') {

После этого ссылки вернутся.

Большинство серверов в сети имеют очень плохую защиту от атак и взлома. Причём это касается как шаред хостингов, так и выделенных частных серверов. А ведь интернет - чрезвычайно агрессивная среда, где тысячи ботов и толпы доморощенных хакеров - школьников будут постоянно пытаться сломать или атаковать Ваш сервер. Это я говорю, основываясь на личном опыте. Ведь постоянно в логах сервера вижу попытки перебора паролей, сканирование портов и другие подобные гадости. В ISPConfig 3, если Вы устанавливали её по официальному мануалу, уже имеется довольно хорошая защита от взлома, но вот перед банальным рефрешингом и тем более DoS атакой, любой неподготовленный сервер бессилен.

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

cooltext1694916804.png