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 2010-02-17. 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 12 (Constantine)
  • Kernel: 2.6.31.9-174.fc12.i686.PAE
  • WebServer: Server version: Apache/2.2.14 (Unix)
  • Shell: GNU bash, version 4.0.35(1)-release (i386-redhat-linux-gnu)
  • Perl: This is perl, v5.10.0 built for i386-linux-thread-multi
  • PHP: PHP 5.3.1 (cgi-fcgi) (built: Nov 20 2009 12:50:49)
  • MySQL client: mysql Ver 14.14 Distrib 5.1.42, for redhat-linux-gnu (i386) using readline 5.1
  • PostgreSQL client: psql (PostgreSQL) 8.4.2
  • SSH: OpenSSH_5.2p1, OpenSSL 1.0.0-fips-beta4 10 Nov 2009
  • Webalizer: Webalizer V2.21-02 (Linux 2.6.31.9-174.fc12.i686.PAE i686) English

hosting2.colocall.net (cupid):

  • OS: FreeBSD i386
  • Kernel: 8.0-RELEASE-p1
  • WebServer: Server version: Apache/2.2.14 (FreeBSD)
  • Shell: GNU bash, version 4.0.35(0)-release (i386-portbld-freebsd8.0)
  • Perl: This is perl, v5.10.1 (*) built for i386-freebsd-64int
  • PHP: PHP 5.2.12 with Suhosin-Patch 0.9.7 (cgi) (built: Dec 30 2009 10:58:44)
  • ZendOptimizer: Zend Optimizer v3.3.0, Copyright (c) 1998-2007, by Zend Technologies
  • MySQL client: mysql Ver 14.14 Distrib 5.1.42, for portbld-freebsd8.0 (i386) using 5.2
  • PostgreSQL client: psql (PostgreSQL) 8.4.2
  • SSH: OpenSSH_5.2p1 FreeBSD-20090522, OpenSSL 0.9.8k 25 Mar 2009
  • Webalizer: Webalizer V2.21-02 (FreeBSD 8.0-RELEASE-p1 i386) English

db.colocall.net (cronus):

  • OS: FreeBSD i386
  • Kernel: 8.0-RELEASE-p1
  • MySQL: mysqld Ver 5.1.43 for portbld-freebsd8.0 on i386 (FreeBSD port: mysql-server-5.1.43)
  • PostgreSQL: psql (PostgreSQL) 8.4.2

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> - требуемуя кодировка (например, windows-1251, koi8-r или koi8-u).

Возможно устанавливать кодировку документа, в зависимости от его расширения. Для этого нужно использовать следующую директиву в .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-интерфейса управления хостингом.

Кодировка, в которой хранятся данные в базе и в которой работают Ваши скрипты, могут отличаться. В таком случае все данные будут автоматически перекодироваться в одну сторону при передаче их на сервер и потом перекодироваться обратно при их получении с сервера. По умолчанию, база данных создаётся с кодировкой koi8u. Если необходимо хранить данные в другой кодировке, например, в cp1251, то сразу после созднания базы необходимо выполнить команду:

ALTER DATABASE CHARACTER SET cp1251;

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

SET NAMES cp1251;

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

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

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

mysql_query("SET NAMES cp1251", $dnconn);

После чего все переменные будут корректно выставлены для работы с кодировкой cp1251.

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

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


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

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