- Найнеобхідніше
- Ручне складання
- підтримка
- останні штрихи
- Денверський набір
- TopServer - сервер на всі випадки життя
- * * *
У сьогоднішній статті ми поговоримо про організацію свого домашнього веб-сервера. Крок за кроком встановимо програмне забезпечення, підключимо потрібні послуги у інтернет-провайдера і протестуємо сервер. Ну а перед тим, як перейти до реалізації задуманого, буквально кілька слів про те, навіщо все це взагалі потрібно. Невже сторонніх серверів недостатньо або ціни на оренду / хостинг занадто великі?
По-перше, домашній веб-сервер дуже зручно використовувати для налагодження скриптів і тестування певних сайтів, які не закачуючи їх при цьому в Мережу. Просто, швидко, а найголовніше - надійно. Адже нерідко крадіжка скриптів відбувається саме на стадії тестування на стороні хостера. Зробили ви, скажімо, скрипт, погано його захистили, хтось скористався проломом в системі безпеки вашої розробки - і ось у вашого творіння вже новий власник. Якщо ж ви налагоджувати розробку на локальній машині, то цієї проблеми немає, адже доступ до комп'ютера є тільки у вас.
По-друге, свій сервер можна використовувати для тимчасової передачі великих обсягів інформації. Скажімо, ваш друг попросив максимально швидко передати йому важкий архів. У вас обох швидкий інтернет. Що робити у цій ситуації? Розбити архів на кілька десятків або сотень дрібних фрагментів і передати їх товаришеві по e-mail? Скористатися послугами платних сховищ рівня Rapidshare, звідки «на халяву» файли доведеться витягати кілька годин? А може бути, вдатися до P2P-мережах?
Можна, але жоден з перерахованих способів не є універсальним. Однак є один дуже цікавий варіант вирішення цієї проблеми. Розгортаєте домашній веб-сервер, відкриваєте доступ до потрібних файлів і передаєте своєму приятелеві лінк на скачку певного файлу зі своєї машини.
І, нарешті, по-третє, домашня веб-станція - ідеальний варіант для утримання величезного порталу типу www.igromania.ru . Чому? Ну а який хостинг-провайдер надасть вам, скажімо, 80, 100, а то і всі 500 Гб для розміщення модов, артов і 3D-моделей власного виробництва, відеоматеріалів та іншої корисної інформації? Можна орендувати виділений сервер топ-конфігурації, але це лише в тому випадку, якщо ви готові щомісяця віддавати за це від 1,5 до 15 тис. Рублів.
І не забувайте про головне! Маючи в розпорядженні потужний комп'ютер і домовившись попередньо зі своїм інтернет-провайдером, ви цілком можете організувати власний повноцінний хостинговий центр, тобто спробувати себе в ролі хостинг-провайдера.
Найнеобхідніше
Для організації повноцінного веб-сервера на домашньому комп'ютері нам знадобляться:
1. Виділений IP-адреса. Унікальний статичний цифровий адресу виду 87.176.117.42, який присвоюється виключно вашій машині при роботі в інтернеті. Фактично саме він використовується для доступу до всіх веб-серверів, проте часто для більш зручного використання до певних порталам до нього прив'язується короткий і легко запам'ятовується доменне ім'я виду www.igromania.ru . Постійний IP - платна послуга, підключається виключно на стороні вашого інтернет-провайдера.
2. Веб-сервер Apache для Windows / Linux. Один з найбільш надійних, популярних і, що важливо, безкоштовних веб-серверів з відкритим вихідним кодом (Apache носить статус open source проекту). Саме цей сервер використовує близько 70% великих інтернет-станцій. Головний і єдиний недолік серверного пакету - відсутність зручного адміністраторського інтерфейсу.
3. PHP 4 або 5. Спеціальний інтерпретатор для підключення до вашого сервера можливості обробки PHP-сценаріїв будь-якої складності.
4. MySQL. Зручна система управління базами даних (СКБД). Дуже спритна, практично безпомилкова і гранично проста у використанні.
Прив'язка домену до IP-адресою - навіщо і як?
Багато інтернетчики задаються питанням: навіщо прив'язувати якийсь конкретний домен до IP-адресою, що за єресь така, адже домен - він і в Африці домен (тобто адреса сайту в Мережі)? Насправді такі користувачі не дуже добре уявляють собі схему роботи більшості веб-серверів.
Будь-яка людина, перейшовши за певною адресою, наприклад www.igromania.ru , Автоматично перенаправляється на довгий цифрова адреса (IP) кінцевого веб-сервера. Іншими словами, файли, сайти та інші компоненти проживають не за якимось літерним адресами. Знаходяться вони якраз на машині, якій присвоєно унікальний IP, а до нього, в свою чергу, прив'язаний якийсь конкретний домен.
Найчастіше через описаного вище нерозуміння трапляються такі проблеми: «На сайті розміщено нелегальний контент, треба зв'язатися з адміністратором і видалити домен». І ось тут-то користувач буде в корені неправий: а що якщо цей самий домен був зданий в оренду і просто припаркований до певного сервера зі своїм IP? В такому випадку всю відповідальність несе виключно хостинг-провайдер, але ні в якому разі не адміністратор (власник) домену.
Отже, давайте підведемо підсумок всьому сказаному і відповімо на питання, навіщо ж потрібна прив'язка доменів до літерним назв. По-перше, це вкрай зручно: кінцевому користувачу, тобто відвідувачеві, не потрібно запам'ятовувати складні цифрові комбінації виду 85.129.178.38, досить просто тримати в голові адреса, який посилається на даний IP. По-друге, важко вирахувати реальний IP ресурсу (ви ж знаєте тільки назва сайту - домен), а отже, щодо складно його атакувати. Ну і, по-третє, до одного IP можна прикрутити скільки завгодно доменів, тобто, заходячи на будь-який з сайтів, прив'язаних до вашого IP, користувач буде потрапляти на один і той же портал.
А тепер давайте відповімо на питання «як? », Тобто поговоримо про практичну реалізацію прив'язки домену до конкретного IP-адресою. Насамперед зареєструйте на себе певний домен. Зробити це найкраще у тих реєстраторів, які дозволяють користувачам самостійно змінювати дані про зареєстрованих доменах відразу ж після їх делегування, наприклад, «Джино» ( www.jino.ru ) Або WebNames.ru ( www.webnames.ru ). Після цього зайдіть в контрольну панель, перейдіть в розділ управління доменами - управління DNS (у випадку з «Джино») або DNS-сервера (у випадку з WebNames) і переназначьте IP-адреси виду 217.107.217.17 на потрібні вам - скажімо, на IP власного веб-сервера. Зміни вступлять в силу після декількох годин з моменту закінчення редагування DNS-параметрів.
Ручне складання
Давайте розглянемо створення сервера вручну з використанням всіх вищеописаних компонентів. Насамперед підключіть послугу «Анонсований IP-адреса» у свого інтернет-провайдера. Як правило, ціна на неї становить близько 150 рублів на місяць. Далі загляньте на офіційний сайт проекту Apache ( http://httpd.apache.org ) І завантажте останню версію веб-сервера під Windows (ми будемо організовувати сервер виключно під управлінням цієї операційної системи). Запустіть виконуваний файл і дотримуйтесь інструкцій з інсталяції. Не забудьте в ході установки вказати анонсований IP-адреса вашої машини. Адже саме він буде використовуватися для підключення до вашого сервера через інтернет.
Веб-сервер Apache - один з найшвидших і надійних, на ньому справно функціонує близько 70% великих інтернет-сайтів.
Після того як встановили програму, приступаємо до налаштування сервера. Перейдіть в каталог \ conf з встановленим Apache (як правило, це директорія C: \ Program Files \ Apache Group \ Apache \ conf). У даній директорії міститься кілька конфігураційних файлів сервера. Нас цікавить лише один з них - httpd.conf. Він включає в себе базові настройки серверної станції типу директорій зберігання документів, блокування заданого діапазону або окремо взятих IP-адрес, назва машини, блоки, які відповідають за активацію незалежних модулів.
Виправимо основні характеристики сервера, укладені в тіло даного файлу. Відкрийте «Блокнотом» файл httpd.conf. Задайте певне ім'я своєї веб-станції. Для цього відшукайте в httpd.conf ключове слово ServerName, впишіть після нього довільну назву сервера, видаліть значок решітки (#) на початку рядка перед директивою, щоб даний атрибут (назва сервера) не ігнорувати компілятором. Потім змінюйте шлях, прописаний після директиви DocumentRoot, скажімо, DocumentRoot «C: / Program Files / Apache Group / Apache / htdocs» на найбільш зручний для вас, наприклад: «C: / www / docs». Після виконання даної дії не забудьте створити однойменний каталог на диску для зберігання HTML-документів, в іншому випадку Apache навідріз відмовиться запускатися.
Наступний крок - установка або настройка скриптових псевдонімів. Відшукайте рядок ScriptAlias / cgi-bin / «C: / Program Files / Apache Group / Apache / cgi-bin /" і поправте вказаний в ній шлях на C: / www / cgi-bin / (адже основний-то шлях ми змінили) . Навіщо це потрібно? Для того щоб при введенні в адресному рядку інтернет-браузера посилання виду http: // localhost / cgi-bin отримували доступ до реальної директорії C: / www / cgi-bin /, що містить певні CGI-файли.
Виконаємо остаточну прив'язку ряду налаштувань для каталогу C: \ www. Знайдіть у файлі конфігурації httpd.conf наступний блок параметрів:
<Directory "G: / Program Files / Apache Group / Apache / cgi-bin">
AllowOverride None
Options None
Дізнатися свій виділений IP можна, запровадивши в командному рядку Windows ключове слово ipconfig і натиснувши Enter.
Order allow, deny
Allow from all
</ Directory>
І замініть його наступною конструкцією:
<Directory "C: / www">
Options Indexes Includes
AllowOverride All
Allow from all
</ Directory>
Далі відшукайте рядок:
#AddHandler cgi-script .cgi
І замість неї впишіть в тіло документа наступну команду:
AddHandler cgi-script .cgi .bat .cgi
Дана опція дозволить Apache ідентифікувати виконувані файли з розширенням .cgi, .bat і .cgi як незалежні виконувані файли сценаріїв або CGI-модулі. Що ще?
Для обробки сервером shtml-файлів розкоментуйте (видаліть значок #) рядки:
#AddType text / html .shtml
#AddHandler server-parsed .shtml.
Ось, в принципі, і все - базове налаштування Apache зроблена. Для тестування створеної конфігурації сервера загляньте в директорію \ bin (бінарні файли) з встановленим Apache і запустіть виконуваний файл httpd.exe. Потім в адресному рядку будь-якого браузера наберіть свій локальний або зовнішній IP-адресу та натисніть кнопку переходу. Якщо ви все зробили правильно, то побачите на екрані стандартну Apache-сторінку.
підтримка
Основний етап роботи виконано. Залишилося лише забезпечити підтримку MySQL-сервера і підключити до Apache спеціальний обробник PHP-сценаріїв. Почнемо з підключення обробника. Скачайте з сайту www.php.net останню версію PHP і встановіть її на свій комп'ютер. Зробили? Чудово, тепер потрібно забезпечити підтримку PHP Apache-сервером. Для цього нам в черговий раз доведеться покопатися в файлі налаштувань станції httpd.conf з директорії \ conf. Довантажити в «Блокнот» конфігураційний файл, знайдіть і розкоментуйте команду #AddType application / x-httpd-php php, яка дозволить Apache-серверу сприймати новий тип файлів - PHP-сценарії. Слідом за нею додайте в документ блок:
ScriptAlias / _php_ / "C: / Program Files / PHP5 /"
Action application / x-httpd-php "/_php_/php.exe"
Пояснимо зміст цієї конструкції. Спочатку - першим рядком - ми створюємо псевдонім _php_ для директорії, укладеної в лапки, тобто C: / Program Files / PHP5 /. Після цього ми даємо установку сервера Apache обробляти документи типу x-httpd-php інтерпретатором php.exe з каталогу / _php_ / (з директорії C: / Program Files / PHP5 /).
PHP підключений. Давайте тепер перевіримо, чи може наш веб-сервер обробляти php-сценарії чи ні. Знову запустіть «Блокнот», створіть в ньому файл з розширенням .php в папці C: \ www \ docs, наприклад igromania.php, і впишіть в тіло документа наступний програмний код:
<? Php info (); ?>
Збережіть зміни. Потім в адресному рядку браузера вбийте посилання виду: http: //localhost/igromania.php. Якщо настройка сервера пройшла успішно, то у вікні браузера ви побачите тестову сторінку, на якій буде відображена інформація про використовувану версії PHP.
Що у нас далі за планом? Інсталяція СУБД MySQL. Скачайте з офіційного сайту компанії-розробника сервера MySQL www.mysql.com безкоштовну версію СУБД, запустіть виконуваний файл і дотримуйтесь інструкцій з інсталяції.
останні штрихи
Залишилося створити два виконуваних файлу - для запуску і зупинки веб-сервера Apache і СУБД MySQL. Приступимо. Створіть в «Блокноті» новий документ і збережіть його на жорсткому диску з розширенням .bat (виконуваний dos-файл). Далі в тіло документа впишіть наступний код:
Змінюємо IP-адреси для домену PlatinaDesign.ru через контрольну панель хостинг-провайдера і реєстратора «Джино».
@echo off
start C: \ Progra ~ 1 \ MySQL \ bin \ mysqld-nt -standalone
C: \ Progra ~ 1 \ Apache ~ 1 \ Apache \ apache -k start
Збережіть зміни. Даний файл буде використовуватися виключно для запуску робочого веб-сервера. Команда, що починається зі слова start, призведе до запуску Apache-сервера, а наступний за нею (новим рядком) оператор - до завантаження системи управління базами даних MySQL. Для швидкого вимикання сервера необхідно створити ще один bat-файл, але на цей раз - вмонтувати в його тіло наступний код:
@echo off
C: \ Program Files \ Apache ~ 1 \ Apache \ apache -k shutdown
start C: \ Progra ~ 1 \ MySQL \ bin \ mysqladmin -u root shutdown
Команди з даного блоку відповідають за зупинку Apache-сервера (другий рядок) і СУБД MySQL (третя). Важливе зауваження - при роботі з Windows лінійки 9x, необхідно замість Progra ~ 1 і Apache ~ 1 ввести повні шляху виду: Program Files і Apache Group.
Збірка сервера завершена. Тепер ви можете спокійно запускати і зупиняти робочу станцію, запустивши один з щойно створених нами файлів, а також поекспериментувати з налаштуванням конфігураційного файлу httpd.conf - додати підтримку нових типів файлів, прописати в документ сторінки помилок, які будуть виводитися на екран при запиті неіснуючих файлів.
А ми в цей час приступаємо до огляду готових безкоштовних серверних пакетів - «Денвер» (Denwer) і TopServer.
Денверський набір
Стартова сторінка TopServer. Тут знаходяться кнопки для переходу на панель управління і перевірки працездатності певних серверних компонентів.
При організації локального веб-сервера для тестування і налагодження різних скриптів, сайтів і веб-додатків відмінно підходить набір веб-розробника під назвою «Денвер». Фактично він представляє собою в'язку компонентів Apache, SSI, mod_rewrite, mod_php, phpMyAdmin (система управління БД MySQL), налаштованих для роботи на одній-єдиній станції.
Це означає, що ви не зможете зазирнути на даний сервер ні з іншого комп'ютера в мережі (за винятком свого власного, зрозуміло), ні з інтернету. Головне достоїнство «Денвера» в тому, що вам не доведеться встановлювати веб-сервер Apache, PHP-інтерпретатор і СУБД MySQL, витрачати час на правку файлу конфігурації серверної станції httpd.conf, створення віртуальних дисків та інші настройки. Досить просто завантажити за посиланням www.denwer.ru/dis/Base/latest останню версію дистрибутива і проинсталлировать сервер.
Описувати процес установки і настройки «Денвера» ми не будемо - наведемо виключно посилання на офіційні керівництва, написані самими творцями серверного ПО, групу яких очолює Дмитро Котеров - засновник проекту. Отже, знайомтеся:
www.denwer.ru/base.html - за цією адресою в Мережі ви знайдете дуже лаконічну і докладну інструкцію по інсталяції «Денвера». Тут же наведені і рекомендації по налаштуванню і управлінню віртуальними хостами.
Дізнатися докладніше про основні можливості пакета ви можете на сторіночці www.denwer.ru/about.html .
А всім бажаючим переробити локальний «Денвер» в «Денвер-онлайн», тобто перетворити локальний сервер в повноцінну інтернет-станцію, рекомендуємо почитати наступний документ: www.denwer.ru/other/shared.html . Написано в ньому багато і по суті - і про настройку «Денвера», і про безпеку, і навіть про можливі хакерські атаки.
Простота - запорука успіху
Якщо ви шукаєте максимально простий веб-сервер з графічним інтерфейсом і мінімальним набором основних функцій, то вкрай непоганим рішенням буде крихітна утиліта Small HTTP Server, здатна вмить перетворити ваш персональний комп'ютер на повноцінний веб-сервер.
Відмінні риси Small HTTP Server - низька ресурсомісткість, зручний графічний інтерфейс, що для веб-серверів - рідкість (у Apache, наприклад, і зовсім немає графічного інтерфейсу), можливість розгортання сервера навіть при використанні диалап-з'єднання. Small HTTP Server включає в себе сервера HTTP, FTP, SMTP, POP3, проксі і DNS, а також модуль видачі докладної статистики. Примітно те, що Small HTTP Server можна використовувати і для налагодження скриптів на локальній машині, повністю заборонивши доступ до комп'ютера з Мережі.
Єдиний недолік міні-сервера полягає в тому, що програма є безкоштовною лише частково - якщо використовувати її в комерційних цілях, вам доведеться пройти платну реєстрацію на офіційному сайті http://smallsrv.com/indexr.htm . З нього ж ви можете завантажити найсвіжіший білд програми.
Трохи про настройках Small HTTP Server. После запуску перед вами з'явиться невелика форма, на Якій немає ні панелей ІНСТРУМЕНТІВ, ні каскадних меню, ні даже рядків стану. Тільки технічна інформація про розробки - версія, автор, тип Ліцензії (зареєстрована версія / ознайомчій режим). Для настройки веб-сервера вам необходимо Виконати следующие маніпуляції. Клацніть по кнопці в лівому верхньому кутку програми. У меню віберіть пункт Server \ Налаштування. Відкріється Спеціальне вікно настройки серверних характеристик, на поверхні которого Розміщена шапка головного меню, а такоже ряд полів характеристик Small HTTP Server. Ну а далі все зовсім просто - вибираєте певну категорію параметрів в головному меню, натискаєте на неї лівою кнопкою мишки і налаштовуєте необхідні атрибути в основному робочому полі утиліти.
TopServer - сервер на всі випадки життя
Ручне складання веб-сервера і налагодження скриптів на локальній машині - це, звичайно, добре, але що робити, якщо потрібен спритний, повністю невразливий, вкрай зручний, та до того ж ще і абсолютно безкоштовний веб-сервер для хостингу локальних і інтернет-сайтів , але часу на розгортання робочої станції мало? Тут на допомогу і приходить TopServer. По суті, це сервер додатків, до складу якого за замовчуванням входять наступні компоненти: веб-сервер Apache, PHP5-інтерпретатор, інтерпретатор мови PERL, СУБД MySQL п'ятої версії, сервер баз даних SQLite2, компактний FTP-сервер SlimFTPd, а також цілий комплекс утиліт для адміністрування робочої станції - phpMyAdmin, SQLiteManager, PHPsFTPd, PHPFM. Іншими словами, все найпотрібніше в одному флаконі.
Адміністрування TopServer здійснюється з інтернет-браузера.
Примітно, що TopServer - не просто збірка програм, а повноцінний механізм, в якому кожен з компонентів пов'язаний з іншими елементами. Модуль спочатку налаштований як під роботу з локальної мережі, так і з інтернету. Ніяких спеціальних знань для установки, настройки і роботи з сервером додатків не потрібно. Вам необхідно всього лише заглянути на офіційний сайт розробників ( http://topserver.ru ), На панелі навігації в лівій частині порталу клацнути по кнопці Завантажити та завантажити останню версію серверного набору, після чого проинсталлировать його на комп'ютер.
Важливий момент: перед установкою веб-сервера переконайтеся, що на вашій машині не змонтували ніякі з серверних компонентів, що входять до складу TopServer. Йдеться про такі елементи, як MySQL, Apache, інтерпретатор PHP. Якщо якісь компоненти зі складу TopServer вже встановлені на вашій станції, рекомендуємо видалити їх з комп'ютера, щоб уникнути конфліктів з TopServer і його складовими. Потім запустіть виконуваний файл і дотримуйтесь інструкцій з інсталяції сервера додатків. Після установки TopServer з'явиться новий віртуальний диск - T:.
Якщо ви заглянете в кореневій каталог HDD T:, то побачите, що в ньому розташовані лише файли сервера і нічого більше. Для запуску, перезавантаження і зупинки TopServer використовуються виконувані файли start.exe, restart.exe і stop.exe відповідно. Всі веб-документи (PHP-сценарії, HTML-сторінки і інші файли) розміщуються виключно в директорії T: \ home \ localhost. Для виклику стартової сторінки TopServer запустіть будь-який браузер, впишіть в адресному рядку лінк виду http: // localhost і натисніть Enter.
На формі з'явилася сторінки ви виявите декілька кнопочок для тестування серверних складових TopServer, а також кнопку Панель адміністрування для переходу в панель управління станцією. Для настройки сервера вам необхідно всього лише зайти в адміністраторський розділ (доступ до нього здійснюється тільки з машини, на якій встановлено TopServer), вибрати потрібний параметр для редагування і клацнути по кнопці з його назвою.
Якщо у вас все ж виникнуть будь-які питання, пов'язані з установкою, настроюванням або роботою TopServer, загляньте в розділ Опис пакета на офіційному сайті www.topserver.ru - там ви знайдете вичерпну інформацію по використанню сервера додатків.
* * *
Час підбіваті Підсумки. Сьогодні ми навчилися розгортати свої власні веб-сервери з використанням зв'язки Apache + PHP + MySQL, а також розглянули два найбільш популярних серверних пакета - «Денвер» і TopServer. Саме час відповісти на головне питання: так що ж краще - збирати сервер вручну або скористатися одним з готових серверних пакетів? Однозначної відповіді немає і бути не може.
Якщо є вільний час, краще зайнятися самостійною збіркою веб-сервера. В даному випадку і надійність, і функціональність робочої станції будуть залежати виключно від вас. Якщо часу немає зовсім, а сервер потрібно запустити в роботу буквально за кілька годин, то радимо вам звернути пильну увагу на TopServer. За функціоналом і захищеності він дасть фору навіть деяким професійним платним серверним пакетам. Ну і, нарешті, в тому випадку, якщо сервер вам потрібен лише як засіб для налагодження і тестування своїх власних проектів, вибирайте «Денвер».
Невже сторонніх серверів недостатньо або ціни на оренду / хостинг занадто великі?Що робити у цій ситуації?
Розбити архів на кілька десятків або сотень дрібних фрагментів і передати їх товаришеві по e-mail?
А може бути, вдатися до P2P-мережах?
Чому?
Ну а який хостинг-провайдер надасть вам, скажімо, 80, 100, а то і всі 500 Гб для розміщення модов, артов і 3D-моделей власного виробництва, відеоматеріалів та іншої корисної інформації?
Прив'язка домену до IP-адресою - навіщо і як?
Багато інтернетчики задаються питанням: навіщо прив'язувати якийсь конкретний домен до IP-адресою, що за єресь така, адже домен - він і в Африці домен (тобто адреса сайту в Мережі)?
І ось тут-то користувач буде в корені неправий: а що якщо цей самий домен був зданий в оренду і просто припаркований до певного сервера зі своїм IP?
Навіщо це потрібно?