Техническая информация по хостингу

1. Версии программ на сервере (информация генерируется автоматически)

2. Пути к некоторым программам

/usr/local/bin/perl
/usr/local/bin/php
/usr/local/bin/php-cgi
/usr/local/bin/bash
/usr/local/bin/mysql
/usr/sbin/sendmail
/usr/local/bin/webalizer 

3. Управление своими файлами на сервере

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

Протокол FTP позволяет передавать и получать файлы с сервера, а также переименовывать и удалять их на сервере. У нас через FTP Вы можете менять права файлов.

Практически все средства разработки WEB-приложений и браузеры поддерживают FTP с использованием логина и пароля для перекачки файлов. Но мы рекомендуем FAR Manager. Это клон Norton Commander, работающий под Win32 и поддерживающий протокол FTP. Получить FAR Manager.

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

Есть несколько программ под Windows, поддерживающих SSH. Мы рекомендуем PUTTY. Получить PUTTY.

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

4. Права на файлы

Если Вы не знакомы с системой прав доступа операционной системы Unix, можете прочитать о ней здесь.

Выполняемые файлы (скрипты) выполняются сервером от имени владельца виртуального сервера.

Выполняемые файлы (например, скрипты или php-интерпретатор) для своей работы должны иметь права на выполнение для группы webusers.

Невыполняемые файлы (например, html документы, php-документы) должны иметь права на чтение для группы webusers или для группы http.

Каталоги должны иметь права на доступ для группы webusers.

Домашний каталог польователя должен иметь права на доступ для группы http (именно такие права он имеет при создании, не меняйте их).

Все файлы и каталоги должны иметь права на запись ТОЛЬКО для владельца. Если файлы или каталоги имеют права на запись для кого-либо еще, то сервер не будет их использовать, справедливо считая это угрозой безопасности.

5. Индивидуальные настройки и файл .htaccess

Очень многими своими настройками Вы можете управлять самостоятельно через файл .htaccess. В этом файле можно описать соответсвие расширения и типа файла (HTML документ, SSI документ, CGI скрипт, PHP скрипт и т.д.), описать кодировку файлов, и многое другое.

Файл .htaccess влияет на каталог, в котором он находится, и на все его подкаталоги, отменяя действие настроек родительских каталогов. Он должен иметь права на чтение для группы. Изменять его можно при помощи панели управления хостингом.

Разрешено переопределять следующие группы настроек:

AuthConfig: Allow use of the authorization directives (AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, require, etc.).

FileInfo: Allow use of the directives controlling document types (AddEncoding, AddLanguage, AddType, DefaultType, ErrorDocument, LanguagePriority, etc.).

Indexes: Allow use of the directives controlling directory indexing (AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName, etc.).

Подробнее о использовании всех этих настроек можно прочитать в документации к веб-серверу Apache.

6. Управление кодировками

Веб-сервер Apache может добавлять информацию об кодировке документа в заголовок http-ответа. Это задается в .htaccess директивой:

AddDefaultCharset <charset>

где <charset> — требуемуя кодировка (например, utf-8, windows-1251, koi8-u или koi8-r).

Возможно устанавливать кодировку документа, в зависимости от его расширения. Для этого нужно использовать следующую директиву в .htaccess:

AddCharset <charset> .ex

В данном примере для всех файлов, имеющих расширение .ex — будет установлена кодировка <charset>

Об управлении кодировками PHP документов читайте здесь.

7. Работа с журнальными файлами (логфайлами)

В подкаталог logs/ Вашего домашнего каталога помещаются журнальные файлы доступа к Вашему серверу. Обычно это файлы access.log и error.log. Размер этих файлов учитывается в общей дисковой квоте так же, как и размер любых других файлов, владельцем которых Вы являетесь.

Все файлы *.log в каталоге пользователя считаются журнальными файлами вебсервера. Пользователь не может их изменять или удалять (так как они могут быть открыты вебсервером для записи).

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

Смысл архивации покажем на примере файла error.log. В этот момент содержимое error.log перемещается в error.log.0, а сам error.log очищается. Если error.log.0 уже существует, то его содержимое перемещается в error.log.1. И так далее — содержимое error.log.N перемещается в error.log.N+1, пока N не достигнет некоторого установленного значения.

Вы можете самостоятельно управлять периодом архивации и количеством сохраняемых файлов. Это делается при помощи web-интерфейса.

Для большей наглядности при просмотре журнальных файлов Вы можете преобразовать содержащиеся в них IP-адреса в имена хостов. Делается это с помощью утилиты logresolve. Например, для обработки файла access.log и записи результата в access.log.resolved используйте следующую команду:

logresolve < ~/logs/access.log > access.log.resolved

Или в случае упакованных журнальных файлов (с расширением .gz):

zcat ~/logs/access.log.0.gz | logresolve > access.log.0.resolved

8. Запуск периодических процессов (cron)

Вы можете использовать утилиту cron для запуска Ваших периодических процессов (скриптов). Редактирование таблицы процессов стандартное: crontab -e. Формат таблицы процессов также стандартный.

Кроме того, управлять периодическими заданиями Вы можете при помощи web-интерфейса.

9. Подключение к базам данных с других хостов

Доступ к базам данных с других хостов предоставляется через криптованный тунель Virtual Private Networks (VPN/PPTP). Его настройка со стороны пользователя достаточно проста. Для Windows это выглядит как еще одно сетевое соединение через специальный контроллер удаленного доступа. В параметрах настройки необходимо включить шифрование и тип аутентификации ms-chap. При этом клиенту выдаются динамические ip-адреса 192.168.0.10..255. Для обращения к базам данных используйте 192.168.0.1. VPN доступ может быть открыт пользователем при помощи панели управления хостингом.

10. Обработка ошибок обращения к серверу

Вы можете установить свою собственную реакцию своего сервера на ошибки типа 403 (доступ запрещен). Для этого в htdocs/.htaccess нужно прописать директивы ErrorDocument, описывающие для каждого кода ошибки новое сообщение об ошибке или URL, на который будет сделан редирект в случае этой ошибки.

Примеры:

ErrorDocument 500 http://foo.example.com/cgi-bin/tester
ErrorDocument 401 /subscription_info.html
ErrorDocument 403 "Sorry can't allow you access today"

11. Особенности работы MySQL

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

Кодировка, в которой хранятся данные в базе, и в которой работают Ваши скрипты, могут отличаться. В таком случае все данные будут автоматически перекодироваться в одну сторону при передаче их на сервер и потом перекодироваться обратно при их получении с сервера. Для каждой таблицы и каждого столбца может быть определена кодировка. Если кодировка столбца не задана в явном виде, то используется кодировка таблицы. Если при создании таблицы кодировка не задана, то таблица создаётся в кодировке базы. Кодировку базы данных можно указать при её создании. Рекомендуется использовать utf-8.

Следует обратить внимание на то, что данные в базе должны храниться в той кодировке, которая определена для соответствующей таблицы или столбца. Например, не следует вносить в базу информацию в cp1251, если таблицы созданы в кодировке koi8u. Кодировку таблиц и столбцов можно посмотреть командой:

SHOW CREATE TABLE имя_таблицы;

Также для корректной работы очень важно определить кодировку, в которой работают Ваши скрипты. Для этого нужно в начале каждого сеанса работы с MySQL сервером после подключения к нему установить желаемую кодировку. Например, если Ваш сайт работает в кодировке cp1251, то команда выглядит так:

SET NAMES cp1251;

В perl-скриптах это делается командой:

$dbh->do("SET NAMES cp1251");

Для php-скриптов:

mysql_set_charset("cp1251");

Если необходимо работать с кодировкой utf-8, то во всех выше перечисленных примерах следует заменить cp1251 на utf8.

Для работы с базой через web-интерфейс может быть использован PHPMyAdmin.