Архив метки: сервер

SSH. Инструкции по настройке клиентов (PuTTY, WinSCP). Часто используемые shell-команды

SSH (Secure SHell) — это сетевой протокол, служащий для выполнения команд или программ на удаленных компьютерах, а также для передачи файлов с одного компьютера на другой. SSH обеспечивает строгую проверку подлинности и безопасности соединений.

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

Ниже приведены инструкции по настройке популярных программ для доступа по SSH.

Настройка PuTTY:

  • В категории «Session» укажите доменное имя вашего сайта («Host Name»), в поле «Saved Sessions» впишите название вашего соединения. Поставьте галочку около пункта SSH.
  • В категории «Keyboard» поставьте галочку около пункта «Control-H».
  • Если необходима поддержка русского языка, в категории «Translation» в выпадающем списке выберите пункт «Win1251 (Cyrillic)».
  • В категории «Session» сохраните настройки соединения («Save»).
  • Выберите соединение и щелкните кнопку «Load», чтобы его загрузить.
  • Щелкните кнопку «Open». Если это первое соединение, откроется окно предупреждения, в нем щелкните «Ok».
  • В появившемся окне введите ваши логин и пароль.

Настройка WinSCP:

  • После установки и запуска приложения перед вами появляется окно с настройками и аккаунтами. В этом окне заполните поля «Сервер» — имя вашего домена, «Имя пользователя» и «Пароль» — логин и пароль соответственно. Нажмите кнопку «Сохранить».
  • После того, как настройка закончена, выберите ваш аккаунт из списка и нажмите кнопку «Войти», после чего FTP-соединение будет установлено. Вы попадете в корневую директорию своего аккаунта.

Перечень часто используемых shell-команд.

Общие команды:

  • man command: вызывает руководство пользователя по введенной команде.
  • mc: служит для запуска программы Midnight Commander — аналога Norton Commander или Far Manager.

Команды для просмотра и редактирования файлов:

  • cat filename: открывает файл на чтение, выводится все содержимое файла.
  • less filename: открывает файл чтение, поэкранный вывод содержимого.
  • tail -n 20 filename: выводит последние 20 строк файла.
  • ee filename: вызывает текстовый консольный редактор файлов.
  • grep word filename: поиск слова «word» в файле.

Команды работы с файлами и директориями:

  • mkdir dir: cоздает директорию.
  • rmdir dir: удаляет пустую директорию.
  • rm filename (dir): удаляет файл или директорию.
  • cd directory: осуществляет переход в каталог.
  • pwd: показывает абсолютный путь до текущего каталога.
  • cp ~/from/filename ~/to/filename: копирует файл или директорию.
  • mv ~/from/filename ~/to/filename: перемещает файл или директорию.
  • ls -al: показывает все файлы в текущем каталоге.
  • ln -s: создает символьную ссылку.
  • du -h: вычисляет место, занятое папками и файлами на диске.
  • chmod 0755 filename: изменяет права на файл.
  • chown -R owner:groupname filename: изменяет владельца и группу для файла (можно использовать для директорий).

Снижение нагрузки на MySQL-сервер

Перед тем, как использовать MySQL-сервер, необходимо все тщательно обдумать. В первую очередь, нужно решить, а нужен ли MySQL для конкретной задачи вообще? Типичная ошибка — создание базы данных там, где в ней нет необходимости — например, для хранения текстов статей либо изображений. Почти всегда такое решение приводит к появлению огромных баз-монстров, по объему во много раз превышающих размеры самого сайта и ставящих в ступор даже весьма мощные сервера. А ведь зачастую ту же задачу можно реализовать гораздо проще и эффективнее без MySQL, на базе обычных ресурсов web-сервера.

Если все же без использования MySQL не обойтись, следует заняться оптимизацией запросов. Как правило, наибольшая нагрузка на сервер создается при получении большого числа элементов из таблицы, поэтому основную часть работы в идеале нужно перекладывать на PHP или Perl скрипты. При этом нужно стараться создавать минимально требовательные и максимально уточненные запросы. Например, Вам надо получить из таблицы элемент со значением параметра ’N’ равным ’10′. Оптимальным вариантом будет использование запроса «SELECT * FROM table WHERE N=10;», не оптимальным — «SELECT * FROM table;» с последующим сравнением значений N в цикле. Максимальная точность SQL-запроса — непременное условие быстрой работы сервера баз данных.

Теперь перейдем от общих рекомендаций к более глубокому анализу оптимизации запросов. В MySQL существует оператор EXPLAIN, который используется для получения информации о запросе SELECT. Если оператору SELECT предшествует EXPLAIN, то MySQL сообщит о том, как будет производиться обработка SELECT и предоставит информацию о порядке и методе связывания таблиц. При помощи EXPLAIN легко выяснить, в каких случаях стоит снабдить таблицы индексами, чтобы получить более быструю выборку, использующую индексы для поиска записей. Более подробная информация по использованию команды EXPLAIN доступна на сайте mysql.com. Использование EXPLAIN перед сложными запросами, охватывающими несколько таблиц, может предоставить вам полную информацию об обработке запроса SELECT. Проанализировав эти данные, можно существенно оптимизировать таблицы для ускорения быстродействия.

Также хотелось бы обратить ваше внимание на запросы INSERT, UPDATE и DELETE. Несмотря на то, что, как правило, эти запросы используются значительно реже, чем SELECT, они также могут быть причиной высокой загрузки сервера. Практические советы по оптимизации скорости работы оператора INSERT доступны в документации на сайте mysql.com. UPDATE же включает в себя запросы SELECT и INSERT, поэтому к нему применимы аналогичные методы оптимизации. Запрос DELETE в оптимизации не нуждается, однако в некоторых случаях использование вместо него других средств может привести к значительному убыстрению обработки. Например, для очищения таблицы целиком следует использовать оператор TRUNCATE TABLE вместо удаления каждого элемента по отдельности.

Структура самих таблиц — также очень важный момент. Например, следует избегать типов VARCHAR или BLOB для всех столбцов. При использовании единичного столбца VARCHAR или BLOB Вы получите динамическую длину строки.

Обдуманное следование простым правилам по оптимизации таблиц и запросов может коренным образом увеличить скорость работы MySQL-сервера и интернет-ресурса в целом. Для более детального изучения методов и приемов оптимизации рекомендуем обратиться к официальной документации по MySQL.

Что необходимо для того, чтобы передать домен от одного лица другому (смена администратора)

Для того, чтобы передать домен другому лицу, вам необходимо предоставить регистратору следующие документы:

  • Передающая сторона — письмо о передаче прав на домен и, если это физическое лицо, нотариальную доверенность на совершение действий, связанных с передачей прав на домен.
  • Принимающая сторона (одинаково для физических и юридических лиц) — письмо с подтверждением намерения принять домен.

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

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

Зачем нужна техническая поддержка? Как грамотно задать вопрос службе техподдержки?

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

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

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

Общие рекомендации по формулировке проблем для специалистов техподдержки таковы:

  1. Ваши письма с вопросами следует отправлять по адресу службы поддержки, указанном на сайте хостинг-првайдера (обычно он имеет вид support@hosting.ru).
  2. Для получения от специалистов техподдержки быстрого и точного ответа укажите логин своего аккаунта.
  3. Постарайтесь писать грамотно и понятно, соблюдайте хотя бы базовые правила грамматики и лексики.
  4. Если ваш вопрос связан с технической проблемой, убедитесь, что она вызвана именно некорректной работой сервера, а не ошибкой в ваших скриптах и настройках. Прочитайте документацию, инструкции и FAQ по соответствующей тематике — многие стандартные проблемы и способы их решения описаны там. Используйте поисковые системы и форумы. Если Вы используете какой-либо программный продукт или технологию, стоит в первую очередь обратиться к документации производителя для выяснения принципов и деталей работы этого продукта. Помните — вероятность того, что вы первый столкнулись с какой-либо проблемой, весьма невысока.
  5. Если выполнение предыдущих пунктов не принесло результата, и вы убедились, что скрипты и настройки абсолютно правильные, постарайтесь максимально точно описать проблему — укажите, какой скрипт, в каком месте и при каких условиях вызывает ошибку. Подробно объясните принцип действия этого фрагмента, а также укажите, какой результат должен быть получен при правильном выполнении. Чем более подробно и четко вы опишете проблему, тем быстрее она будет решена.

Что такое DNS-сервера и как они работают

Любой компьютер, подключенный к Internet, идентифицируется в сети при помощи IP-адреса (например, 91.218.228.13) и доменного имени (например, rusureg.ru). Основное предназначение DNS-сервера — это трансляция доменных имен в IP-адреса и обратно. Изначально, когда интернет «был еще маленьким», проблема трансляции решалась при помощи специальных списков, включающих в себя адреса всех компьютеров сети. На каждом подключенном к сети компьютере обязательно должна была присутствовать копия такого списка. По мере развития интернета подобная технология перестала отвечать требованиям времени — файлы-списки раздувались до огромных размеров, их синхронизация требовала все больше и больше ресурсов.

DNS (Domain Name System) — существенный шаг вперед в эволюции технологии разрешения имен. В DNS существует так называемое «дерево доменов», в основании которого находится единый для всех доменов «корень». Имя корня дерева — «.» (точка). Ниже корня лежат домены первого уровня — com, net, edu, org, mil, int, biz, info, gov и национальные домены — ru, ua и т.д. Еще ниже в иерархии располагаются домены второго уровня (например, peterstar.ru), затем третьего и т.д.

DNS-сервера объединены в довольно сложную иерархию. При настройке программного обеспечения на компьютере-клиенте указывается один либо два DNS-сервера, к которым в процессе работы посылаются запросы. Сервера, получив запрос, либо отвечают на него, либо, если не знают ответа, пересылает запрос на стоящие выше в иерархии сервера. Каждому DNS-серверу известны адреса вышестоящих и корневых DNS-серверов, к которым также отправляются отдельные запросы. Ответ сервера клиенту передается в обратном порядке — сверху вниз.

DNS-сервера можно разделить на рекурсивные и нерекурсивные. Рекурсивный сервер никогда не отсылает клиента к другому серверу, он всегда отвечает клиенту сам. Такой сервер самостоятельно отслеживает отсылки к другим DNS-серверам и опрашивает их непосредственно по цепочке, передавая потом ответ клиенту в готовом виде. При этом рекурсивный сервер кэширует все промежуточные ответы, что значительно сокращает время ожидания при последующих запросах. Нерекурсивный сервер перекладывает большую часть работы на «плечи» клиента, возвращая ему только отсылку на сервер, «который знает». В этом случае переход по отсылке и опрос следующего DNS-сервера — задача клиента.

Также существуют такие понятия, как «первичный» и «вторичный» DNS-сервера. Вторичный сервер «страхует» первичный на случай, если тот по какой-либо причине вдруг выйдет из строя. Если не использовать подобную схему с подстраховкой, то в случае аварии на первичном DNS-сервере, обслуживающим какой-либо домен, все машины, расположенные в этом домене, просто «исчезнут» из сети, их перестанут «видеть» пользователи извне. Именно этим обуславливается требование использовать как минимум два сервера DNS на обслуживание каждого домена второго уровня.

FTP. Инструкции по настройке клиентов (Total Commander, Far Manager, CuteFTP)

FTP (File Transfer Protocol) — протокол, предназначенный для передачи файлов между компьютерами. FTP-клиент позволяет подключаться к FTP-серверу, просматривать содержимое каталогов и загружать файлы с сервера или на сервер.

Именно по протоколу FTP осуществляется загрузка файлов сайта на сервер хостинг-провайдера.

Ниже приведены инструкции по настройке популярных FTP-клиентов.

Настройка Total Commander:

  • Выберите «Net -> FTP Connect -> New Connection».
  • В поле «Host Name» введите доменное имя вашего сайта. В поле «User name» введите ваш логин. В поле «Password» введите ваш пароль. В поле «Session» введите название вашего соединения. Установите галочку «Use passive mode for transfers».
  • Нажмите «Ok», ваши настройки будут сохранены. Затем выберите ваше соединение и нажмите «Connect».
  • Соединение с сервером будет установлено. Вы попадете в корневую директорию своего аккаунта.

Настройка Far Manager:

  • Выберите панель, в которой у Вас будет установлен сеанс FTP. Нажмите Alt+F1 или Alt+F2 (для левой и правой панели соответственно). Откроется меню выбора устройств. Выберите пункт FTP и нажмите Enter.
  • Появится список серверов, с которыми настроено FTP-соединение. Чтобы добавить новое соединение нажмите Shift+F4. Появится панель настроек соединения. В первой строчке напишите «ftp://мой_сайт», в соответствующих графах укажите логин и пароль. В графе «Описание» задайте описание подключения. Установите галочку «Пассивный режим» («Passive mode»).
  • Сохраните конфигурацию, нажав «Сохранить» («Save»). Окно настройки исчезнет, а ваше соединение будет добавлено в список остальных соединений.
  • Выберите ваше соединение и нажмите Enter, после чего соединение с сервером будет установлено. Вы попадете в корневую директорию своего аккаунта.

Настройка CuteFTP:

  • Выберите «File -> New -> FTP Site». Откроется окно настройки параметров FTP-соединения. В поле «Host Address» введите доменное имя вашего сайта. В поле «Username» введите ваш логин. В поле «Password» введите ваш пароль. В поле «Label» введите название вашего соединения.
  • Зайдите в пункт «Type» и в списке «Data Connection Type» выберите пункт «Use PASV». Сохраните настройки, нажав «Ok».
  • В оставшемся окне нажмите кнопку «Connect», после чего FTP-соединение будет установлено. Вы попадете в корневую директорию своего аккаунта.

Время обновления DNS-серверов, кэш DNS-сервера

Время обновления DNS-серверов по всему миру составляет от 12 часов до 2-3 суток. Это означает, что зарегистрированный домен станет «виден» в интернете не сразу, а лишь по истечению некоторого времени.

С целью снижения нагрузки на серверы, стоящие у вершины DNS-иерархии, используется кэширование DNS-запросов. Суть кэширования проста — если к серверу уже были обращения для разрешения определенных имени и адреса, то при последующих обращениях по поводу тех же имени или адреса нужная информация будет взята сразу из локального кэша сервера, а не получена заново путем цепочки DNS-запросов. Технология кэширования экономит ресурсы сети, при этом значительно сокращая время, требуемое на разрешение запросов.

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

Что такое бесплатные домены и какие они бывают

Как было сказано ранее, доменные имена бывают различных уровней.

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

Однако, у бесплатных доменов на бесплатных хостингах есть несколько существенных недостатков. Во-первых, сайт серьезной коммерческой организации на некоммерческом хостинге выглядит крайне не солидно. Во-вторых, бесплатное доменное имя всегда принадлежит владельцу хостинга, отсюда ваша полная зависимость от него. Сегодня на ваш сайт приходят тысячи пользователей, а завтра он внезапно исчезнет по прихоти владельца хостинга. И сделать с этим вы ничего не сможете. В-третьих, в один прекрасный день, без вашего согласия на вашем сайте может появиться какая-нибудь вставка рекламного характера. И хорошо, если она будет пристойного содержания и хоть как-то впишется в дизайн сайта. А если нет? Вывод из вышесказанного однозначен — бесплатные домены, предоставляемые некоммерческими хостингами, подходят только для персональных страничек-«однодневок» с некоммерческим содержимым. Если же вы планируете серьезно заниматься бизнесом в интернете, рассматривать домены на бесплатных хостингах не стоит вообще.

Существует другие типы бесплатных доменов:

  • Домены третьего уровня, входящие в домены, ориентированные на что-то общее для многих (generic):
    • В домене net.ru — сайты сетевой направленности.
    • В домене org.ru — сайты организаций.
    • В домене pp.ru — сайты частных лиц.
    • В домене com.ru — сайты коммерческих организаций.
    • В домене edu.ru — сайты образовательных проектов.
  • Домены третьего уровня, входящие в географические домены (geographical). Например, spb.ru — домен для сайтов, связанных с Санкт-Петербургом.

Администратором географических доменов второго уровня и домена ru.net является ООО «Релком». Регистрация доменов третьего уровня в вышеперечисленных доменах осуществляется через эту организацию.

Для регистрации домена третьего уровня в данном случае вам необходимо:

  1. Убедиться, что интересующий Вас домен свободен, воспользовавшись сервисом WHOIS.
  2. Разместить домен на DNS-серверах.
  3. Составить заявку по форме RIPE-049 и отправить ее на адрес noc-dns@relcom.net.

Важно! До регистрации вам в обязательном порядке нужно решить вопрос с хостингом, где будет располагаться ваш сайт. Этот хостинг должен быть с поддержкой домена, который вы собираетесь зарегистрировать, т.к. перед регистрацией будет произведена проверка указанных при регистрации DNS-серверов на предмет поддержки регистрируемого домена. Это минус подобных доменов — у вас не получится сначала зарегистрировать домен, а уж потом найти для него хостинг.

Что такое хостинг и для чего он нужен

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

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

С юридической стороны хостинг — это сдача в аренду дискового пространства и других ресурсов сервера плюс техническая поддержка.

Хостинг может быть как платным, так и бесплатным. Бесплатные хостинги, как правило, менее быстры, надежны и функциональны. К тому же, они зарабатывают на рекламе, размещаемой на страницах сайтов пользователей.