This version of the page http://www.colocall.net/colocation/hosting-tech.html (0.0.0.0) stored by archive.org.ua. It represents a snapshot of the page as of 2013-03-31. The original page over time could change.
ColoCall | Техническая информация по хостингу


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

  1. Версии программ на серверах
  2. Пути к некоторым программам
  3. Управление своими файлами на сервере
  4. Права на файлы
  5. Индивидуальные настройки (файл .htaccess)
  6. Управление кодировками
  7. Работа с файлами протоколов (логфайлами)
  8. Запуск периодических процессов (cron)
  9. Подключение к MySQL серверу с других хостов
  10. Обработка ошибок обращения к серверу
  11. Особенности работы с MySQL
  12. Наши кнопочки ;)

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

hosting1.colocall.net (apollo):

  • OS: Fedora release 18 (Spherical Cow)
  • Kernel: 3.8.3-203.fc18.x86_64
  • WebServer: Server version: Apache/2.4.3 (Fedora)
  • Shell: GNU bash, version 4.2.45(1)-release (x86_64-redhat-linux-gnu)
  • Perl: This is perl 5, version 16, subversion 2 (v5.16.2) built for x86_64-linux-thread-multi
  • PHP: PHP 5.4.12 (cgi-fcgi) (built: Feb 20 2013 11:45:13)
  • MySQL client: mysql Ver 14.14 Distrib 5.5.30, for Linux (x86_64) using readline 5.1
  • PostgreSQL client: psql (PostgreSQL) 9.2.3
  • SSH: OpenSSH_6.1p1, OpenSSL 1.0.1e-fips 11 Feb 2013
  • Webalizer: Webalizer V2.23-05 (Linux 3.8.3-203.fc18.x86_64 x86_64) English

hosting2.colocall.net (cupid):

  • OS: FreeBSD amd64
  • Kernel: 9.1-RELEASE
  • WebServer: Server version: Apache/2.2.24 (FreeBSD)
  • Shell: GNU bash, version 4.2.42(0)-release (amd64-portbld-freebsd9.1)
  • Perl: This is perl 5, version 16, subversion 2 (v5.16.2) built for amd64-freebsd
  • PHP: PHP 5.4.13 (cgi-fcgi) (built: Mar 21 2013 09:33:17)
  • MySQL client: mysql Ver 14.14 Distrib 5.5.30, for FreeBSD9.1 (amd64) using 5.2
  • PostgreSQL client: psql (PostgreSQL) 9.2.3
  • SSH: OpenSSH_5.8p2 FreeBSD-20110503, OpenSSL 0.9.8x 10 May 2012
  • Webalizer: Webalizer V2.23-05 (FreeBSD 9.1-RELEASE amd64) English

db.colocall.net (cronus):

  • OS: FreeBSD amd64
  • Kernel: 9.1-RELEASE
  • MySQL: mysqld Ver 5.5.30 for FreeBSD9.1 on amd64 (Source distribution)
  • PostgreSQL: psql (PostgreSQL) 9.2.3

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

hosting1.colocall.net:

/usr/bin/perl
/bin/bash
/usr/bin/mysql
/usr/sbin/sendmail
/usr/bin/webalizer

hosting2.colocall.net:

/usr/bin/perl
/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 Commander. Это клон Norton Commander, работающий под Win32 и поддерживающий протокол FTP. Получить его последнюю версию можно отсюда.

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

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

Доступ к Shell по протоколу TELNET не предоставляется из соображений безопасности.

Доступ к 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: http://httpd.apache.org/docs/2.2/howto/htaccess.html.


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-интерфейса, доступного по адресу: https://www.colocall.net/cgi-bin/hosting.cgi.

Для большей наглядности при просмотре журнальных файлов Вы можете преобразовать содержащиеся в них 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-интерфейса по адресу: https://www.colocall.net/cgi-bin/hosting.cgi


9. Подключение к MySQL серверу с других хостов

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


12. Наши кнопочки ;)

Вы сделаете нам очень приятно, если разместите у себя на странице какую-нибудь из наших симпатичных кнопочек со ссылкой на www.colocall.net