Данный пост можно отнести к типу "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, осуществлять доступ к файлам, и следить за нагрузками и прочим. Для обычного сайт в несколько тысяч человек в сутки - виртуального хостинга будет достаточно (но конечно же не всегда). Обычно при превышении допустимой нагрузки ваш аккаунт блокируют и предлагают перейти на тариф повыше, либо отказаться от использования данного ресурса, порой даже без доступа к вашим файлам. Права и все что с ними связано Права в различных системах реализованы по своему принципу но основные моменты у всех общие. Для доступа к файлам и директориям используются свои ограничения - это чтение, запись и исполнение. Как видно по названиям все просто, чтение - доступ к файлу/директории на чтение, запись - тоже, но еще и на запись, в случае исполнения - возможность запуска файла. Классический вид выглядит в числовом эквиваленте: Людям же более привычны буквы, чем цифры, поэтому у цифр есть эквивалентные значения в символах: 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