Советы и ответы на ЧЗВ

Discussion in 'Хостинги - Hostings' started by VY_CMa, 9 Dec 2012.

  1. VY_CMa

    VY_CMa Green member

    Joined:
    6 Jan 2012
    Messages:
    917
    Likes Received:
    492
    Reputations:
    724
    Данный пост можно отнести к типу "How To" он не является чем-либо новым но разъясняет основные вопросы и помогает найти ответы на часто задаваемые вопросы со стороны новичков.

    Хостинг, VPS, DS
    Что такое VPS, VDS и в чем разница?
    Как правило VPS (Virtual Private Server) является частью DS (Dedicated Server) и имеет возможности полноценного виртуального выделенного сервера, но с меньшими возможностями в ресурсах. Обладая DS - у вас в распоряжении есть реальный физический сервер (который вы возможно можете потрогать, поскольку некоторые фирмы предоставляющие подобные услуги не запрещают своим клиентам осмотреть имущество). В случае с VPS/VDS ваши права в системе определяют ваши возможности, чаще всего это root, который обладает полными правами в системе и дает возможность в полной конфигурации сервера и установке приложений. Во многих случаях при достаточном знании команд Unix (в случае, если на сервере установлена ОС данного семейства) пользователи устанавливают на "свой вкус" набор необходимого софта и производят полный контроль над действиями на сервере. Для управления сервером используется такая утилита как putty, которая работает по протоколу SSH, и является лидером в своей категории, хотя есть и аналоги, например "Kitty" - продолжительница "Putty" и имеет несколько расширенный функционал. В случае с Windows серверами все несколько иначе. Telnet и RDP - незаменимые помошники, хотя можно использовать к примеру и netCat.
    Цены на VPS варьируются в пределах от 100 до нескольких тысяч, в зависимости от конфигурации сервер. Но помните, что в данном случае вы имеете только виртуальный сервер.
    На выделенные серверы же цены гораздо выше. К примеру сервер с конфигурацией:
    обойдется вам примерно в 2 тысячи деревянных, а вот такая машинка:
    - будет в пределах 10 тысяч рублей в месяц.

    Для тех кто не понимает зачем тратить такие деньги, вероятно не знает о нагрузках и администрировании, но все приходит с опытом...
    Благо виртуальных хостингов предостаточно и есть выбор "на вкус и цвет". Хостинг - это часть ресурсов сервера, для того, чтобы ваш сайт болтался в интернете, хотя вы можете использовать его как простое файловое хранилище, однако, цена на которое будет велика. Средние характеристики хостинга:
    Подобное "добро" обойдется вам от бесплатно, до нескольких сотен рублей. Часто хостеры предоставляют различные панели управления, такие как cPanel, ISP manager, Direct Admin и прочие, которые позволяют вам с лёгкостью создавать пользователей как SQL, так и FTP, осуществлять доступ к файлам, и следить за нагрузками и прочим. Для обычного сайт в несколько тысяч человек в сутки - виртуального хостинга будет достаточно (но конечно же не всегда). Обычно при превышении допустимой нагрузки ваш аккаунт блокируют и предлагают перейти на тариф повыше, либо отказаться от использования данного ресурса, порой даже без доступа к вашим файлам.

    Права и все что с ними связано
    Права в различных системах реализованы по своему принципу но основные моменты у всех общие.
    Для доступа к файлам и директориям используются свои ограничения - это чтение, запись и исполнение.
    Как видно по названиям все просто, чтение - доступ к файлу/директории на чтение, запись - тоже, но еще и на запись, в случае исполнения - возможность запуска файла.
    Классический вид выглядит в числовом эквиваленте:
    [​IMG]
    Людям же более привычны буквы, чем цифры, поэтому у цифр есть эквивалентные значения в символах:
    r - право на чтение данных из файла/право на чтение директории, то есть на получение списка файлов
    w - право на изменение содержимого файла (запись), не дает право на удаление файла/право на изменение содержимого директории, то есть на создание и удаление файлов в этой директории
    x - право на исполнение файла/право на вход в директорию (всегда проверяется в первую очередь среди других прав доступа к файлу)
    Таким образом, в случае использования виртуального хостинга (да и не только) ваши файлы не могут читать другие пользователи находящиеся на одном с вами сервере - да, благодаря правам, которые распределяются по конкретным пользователям/группам пользователей/всем остальным.

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

    WEB-серверы
    Веб-сервер это тот софт, благодаря которому ваши HTML странички отображаются пользователю, в случае с динамическим контентом несколько иначе, но все равно отдача на пользователя идет через веб-сервер.
    Поскольку при использовании обычного хостинга вы как правило пользуетесь тем, "что досталось", мы поговорим о более высшей ступени эволюции - [V]DS.
    Примерно год назад лидером среди веб сервером являлся такой монстр, как Apache, и его сын Apache2, который унаследовал хромосомы от отца и матери и впитал в себя более новые методы управления и жизни. Все было хорошо до того, момента, пока он не начал откусывать от ресурсов системы большую часть, причем об отказоустойчивости можно было только мечтать, да конечно были различные модули и примочки, но это не делало его идеальным. Со временем появлялись различные отпрыски и даже дети от соседей, например Lighttpd, на котором работают(ли) такие сайты как YouTube, Wikipedia. Но в плане эксплуатации он не особо приветлив. И вот в 2009 годы появляется такое творение, под названием Nginx, который был испытан на сервисах рамблера, а по сей день вплоть до сайта FBI. Данный веб-сервер является мощным инструментов в умелых руках, да и неумелых тоже. Предоставляет различные варианты работы и является на мой взгляд наилучшим решением для отдачи статического контента, о чем говорят графики. Легко идет привязка к php в режиме [f]cgi, и многое другое.


    Управление файлами

    Благодаря фтп-серверу вы можете легко управлять файлами расположенными вдали от вас, не прилагая никаких усилий. Существует множество FTP-серверов, но я остановлюсь на 2-х, наиболее известных.
    Pure-FTPd, vsftpd и ProFTPD. Данные серверы являются наиболее функциональными и простыми в эксплуатации. Различные типы доступа, такие как хранение пользователей в SQL базах и возможность использовать локальных юзеров - делают их наиболее выгодными для использования. По опыту скажу, что ставил все три сервера, наиболее простым для меня оказался vsFTPd хотя, все не вызывают особых сложностей при установке и эксплуатации. Если вы знаете базовые команды и отличаете vim о wine то, скорее всего для вас не составит труда побороть эти серверы.
    Серверы есть, осталось дело за клиентами.
    Скажу что знаю только 2 основных продукта, поскольку других мне и не надо. Это cuteFTP и FileZilla. Данные клиенты позволяют нам работать с данными в различных режимах и даже редактировать файлы не загружая к себе на компьютер. Когда я сидел на Хакинтоше, был приятно удивлен, что FileZilla также без проблем ставится и на него, что делает работу более комфортной. Если Вы привыкли делать все на ходу, то возможно FTP клиент вам и не понадобится, поскольку большинство средств разработки уже имеют встроенный клиент для обмена данными с нашими серверами. Лично я предпочитаю использовать Notepad++, хоть это и не студия, зато отличный редактор с подсветкой синтаксиса и возможностью работать с файлами до 500мб, в нем также есть плагин для управления файлами на сервере, так что вы можете редактировать скрипт и сразу же видеть результат.

    Локальные веб-серверные платформы
    В продолжение предыдущего сообщения нужно осветить несколько аспектов при использовании различных серверов.
    Для тех кто пока не готов платить деньги за хостинг, либо уже имеет хостинг, но хочет попробовать свои силы в администрировании, настройке, установке собственного веб-сервера прошу прошу продолжить чтение.
    В наше время существует достаточно много сборок и альтернатив для создания полноценной веб-платформы с поддержкой различных интерпретаторов а также различными веб-серверами. Краткий список таких комплексов с поддержкой PHP, баз данных, mod_rewrite и прочего на борту ниже:
    Denwer - достаточно распространенный комплекс для поднятия локального сервиса, включает в себя
    Как правило не вызывает сложностей в установке, все происходит в количестве нескольких кликов мышкой, и паре ударов по клавиатуре. Работает под управлением ОС Windows.
    Данный сервер долгое время занимал первое место среди подобных программных комплексов для быстрого создания веб-сервера на локальном компьютере. Позволяет устанавливать отдельные компоненты для PHP и базы данных.

    Время идет и выходят новые продукты. Среди таких существуют комплексы с веб-сервером NGINX о котором я писал в сообщении выше. Таковыми являются:
    Winginx преимущества которого я описывал в данной теме.
    Следующим довольно мощным комплексом является:
    Open Server который позволяет выбирать между Apache и NGINX, а также различными версиями PHP: от 5.2.17 до 5.4.8 в комплекте с которыми идут такие инструменты как: Xdebug - для удобной отладки ваших приложений, IonCube Loader - для шифрования, Memcache - для оптимизации и Imagick - для работы с графикой. Также данная платформа включает в себя:
    Что делает её пригодную для разработки различных веб-сервисов. Не требуется установка, работа комплекса возможна "As is" как есть, что позволяет "стартовать" без лишних танцев с бубном.
    Small HTTP Server
    Small HTTP Server - это маленький быстрый HTTP сервер. Также может выполнять роль почтового сервера, DNS сервера, FTP сервера, Proxy сервера и другое. Имеет возможность подключать различные интерпретаторы, а также возможность работы с zLib.

    Данные платформы актуальны для запуска в операционной системе Windows, чтобы Вы могли почувствовать все прелести веб-администратора рекомендую установить ОС Linux в качестве второй системы либо воткнуть её в виртуальную машину.

    Работая в среде Linux я предпочитаю устанавливать все компоненты по отдельности, но есть также и готовые сборки (LAMP)
    Например пакет XAMPP , включает в себя все то, о чем было описано выше. Установка также не составляет труда и полностью описана на сайте производителя http://www.apachefriends.org/en/xampp-linux.html
     
    _________________________
    #1 VY_CMa, 9 Dec 2012
    Last edited: 9 Dec 2012
    3 people like this.