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

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");

Якщо необхідно працювати з кодуванням utf8, то у всіх вище перерахованих прикладах слід замінити cp1251 на utf8.

Для роботи з базою через web-інтерфейс може бути використаний PHPMyAdmin.