Apache + Perl + PHP3 + MySQL для Windows 95/98: керівництво по установці

Дмитро котерій, Лабораторія dk, © 1999

Хотілося б подякувати колективу студії RealDesign, Який перевірив “на своїй шкурі” всі описувані дії. Якщо у Вас виникнуть питання в процесі виконання інструкцій в статті, буду радий відповісти. Моя адреса електронної пошти dklab@dizain.ru. Будь ласка, описуйте свою проблему докладніше! Коментарі безкоштовні, але вельми короткі. Комп’ютерна революція не чекає нікого, в тому числі і мене …

Зміст

0. Дистрибутиви і посилання
1. Введення – навіщо потрібен домашній віртуальний сервер?
2. Від слів до справи – установка Apache версії 1.3.6
3. Віртуальні хости Apache – як це налаштувати?
4. Установка PHP версії 3.0.13
5. Установка Perl версії 5.004.02
6. Установка MySQL версії 9.13
7. Часті питання

0. Дистрибутиви і посилання

“А не послати нам гінця? ..”
Кінорежисер

Ось програми, на які посилається дана стаття:

  1. Apache версії 1.3.6
  2. PHP версії 3.0.13
  3. Perl версії 5.004.02
  4. MySQL версії 9.13

Можливо, Вас не влаштують версії деяких з цих дистрибутивів. Тому я наводжу список посилань на сайти, на яких завжди можна знайти найсвіжіші версії програмних продуктів. Однак перш дам пораду: не женіться за новизною, часто вона буває надлишкова і привносить тільки нові помилки і проблеми. Перш ніж ставити щось більш нове, рекомендую (особливо початківцям) виконати описані в статті дії для зазначених у ній дистрибутивів. Отже:

  1. Офіційний сайт Apache: http://www.apache.com
  2. Офіційний сайт PHP: http://ru.php.net
  3. Офіційний сайт Active Perl: www.activestate.com
  4. Офіційний сайт MySQL: http://www.mysql.com

І ще кілька посилань:

  1. Корисна інформація про Apache: http://www.apache.ru
  2. Всеросійський клуб вебмайстрів: http://www.webclub.ru
  3. Клуб розробників PHP: http://www.phpclub.net

1. Введення – навіщо потрібен домашній віртуальний сервер?

“Ну до чого все це, краще б горілки випили”
З листів Бєлінського Гоголю

Якщо Ви читаєте цей документ, а також якщо у Вас встановлений Windows 95/98 (а наша особиста думка така, що ця операційна система найбільш збалансована з точки зору інтерфейсу і зручності роботи), значить, Ви вже зіткнулися з проблемою віртуального домашнього сервера, а точніше, з проблемою його відсутності! Ця невелика стаття допоможе Вам скачати і встановити один з кращих серверів – Apache, а також ті додатки, через відсутність яких народ у сказі змітає всі інші сервера (наприклад, Sambar Server) зі свого багатостраждального жорсткого диска і встановлює Apache для Windows 95/98. Маються на увазі, звичайно, Perl, PHP3 і MySQL, також працюють під Windows.Прочитавши цю статтю і скачавши дистрибутиви, Ви будете озброєні всіма інструментами, які так необхідні для професійної роботи в Web!

Звертаємо Вашу увагу: існує думка, що MySQL (а тим більше для Windows 95/98) не можна отримати безкоштовно, а можна тільки купити. Так от, можете зітхнути з полегшенням: MySQL для Windows 95/98 існує, і її установка не буде коштувати Вам і копійки!

Поговоримо тепер з тими користувачами Windows 95/98, які завітали сюди з простої цікавості. Часто виникає ситуація, коли необхідно перевірити повний вид html-сторінки. Однак найчастіше це неможливо при роботі вдома – технології SSI, CGI і, звичайно, PHP, наприклад, точно вимагають сервера. Як же бути? Не варто впадати в апатію – потрібно просто встановити на Ваш домашній комп’ютер (нехай навіть і не підключений до Інтернет) спеціальну програму – Web-сервер. Взагалі-серверів існує безліч – погані і хороші, повільні і швидкі … Ми ж вибрали сервер, відповідний під останні дві категорії, – Apache. Найголовніше те, що це чи не єдиний сервер, який дозволяє працювати в Windows 95/98 з технологіями PHP, CGI і Perl-скриптами одночасно так само просто і невимушено, як ніби у Вас стоїть Unix.

2. Від слів до справи – установка Apache

“У мене для вас дві новини: погана і хороша. Погана: м’яса
мало, будемо їсти бизоний послід. І хороша: його-то у нас багато! .. “
З виступу вождя апачів

Отже, Ви зважилися встановити на свій комп’ютер Apache для Windows 95/98. У такому випадку Вам слід запастися терпінням і для початку скачати дистрибутив сервера – файл з ім’ям apache_setup.exe (3.061.629 байт). Скачали? Прекрасно. Тепер найцікавіше – настройка Apache для Вашої системи.

Важливо: ми попросимо Вас в точності виконувати перераховані нижче кроки, не пропускаючи і не відкладаючи ні одного. У цьому випадку все запрацює – це перевірено.

Етап перший – установка

  1. Визначтеся з директорією, в яку Ви будите встановлювати Apache. Всі подальші міркування грунтуються на тому, що Ви обрали для цієї мети такої каталог: f:\usr\local\apacheЯкщо диска F: у Вас немає, або якщо Ви не хочете його захаращувати, радимо зробити одне з трьох:
    1. Створіть диск F: за допомогою якої-небудь програми для віртуальних розділів (наприклад, за допомогою вбудованої в Windows 95/98 програми DriveSpace). Це найкраще рішення, і з точки зору економії пам’яті, і з точки зору швидкодії. Адже що таке Web-сайт, як не набір дуже невеликих файлів? А DriveSpace якраз і оптимізує роботу з такими файлами.
    2. Зробіть віртуальний диск F:. Для цього створіть небудь на будь-якому диску директорію, яка в майбутньому буде кореневої для диска F:. Припустимо, Ви вибрали C:\INTERNET. Далі, на початку файлу c:\autoexec.bat пропишіть такий рядок:
      subst f: C:\INTERNET

      і перезавантажте комп’ютер. У вас повинен з’явитися віртуальний порожній диск F:.

      УВАГА: Є відомості, що в Windows 95/98 є помилка, в результаті якої іноді subst-шляху “самі по собі” перетворюються в абсолютні. Тобто, наприклад, іноді в розглянутому вище прикладі команди

        f:
        cd \
        cd \
        dir
        

      (А точніше, команда dir в своєму заголовку) помилково виведуть, що поточна директорія C:\ (А не F:\, Як це повинно бути). Зазначена помилка найчастіше проявляється у непрацездатності Perl-транслятора. Так що особисто ми НЕ рекомендуємо Вам використовувати subst. Замість цього скористайтеся пунктом 1.

    3. Нарешті, Ви можете усього цього не робити і поставити Apache на будь-який інший диск, тільки тоді Вам доведеться трохи важче при виконанні всіх інших дій. Потрібно буде все вказувані шляху замінювати на Ваші власні, а це вкрай неприємно. Ще раз настійно рекомендуємо скористатися диском F:.

    Рекомендуємо все ж розмістити Apache у вказаному на початку каталозі, оскільки він максимально відповідає каталогу для реального Web-сервера Інтернету. Адже чим ближче в плані конфігурації ми будемо до такого серверу, тим краще й ефективніше зможемо працювати.

  2. Запустіть тільки що завантажений файл. У діалозі натисніть кнопку Yes, А потім – кнопку Next.
  3. Тепер натисніть Browse. Вручну задайте директорію для установки:
    f:\usr\local\apacheі натисніть кнопку OK.

  4. Виберіть тип установки – Сustom і приберіть прапорець Source Code (Якщо, звичайно, не хочете подивитися вихідні тексти Apache). Цим Ви заощадите собі 3 Мбайта.
  5. Натисніть Next і почекайте, поки будуть копіюватися файли Apache.
  6. На запит про перезавантаження комп’ютера дайте відповідь “Перезавантажити”.

Вітаємо – Apache встановлений! Тепер саме неприємне – його настройка.

Етап другий – настройка файлу конфігурації Apache mime.types

  1. Відкрийте директорію f:\usr\local\apache\conf.Відкрийте знаходиться там файл mime.types.
  2. Знайдіть у ньому таку строчку:
    text/html      html htm

    Змініть її на

    text/html      html htm.phtml shtm sht

Слід зауважити, що якщо Ви з якихось причин не хочете псувати файл mime.types, То можна замість цього прописати у файлі httpd.conf (див. нижче) рядки виду

AddType text/html html htm.phtml shtm sht

Етап третій – налаштування файлу httpd.conf

Увага! Це – найвідповідальніший момент установки. Просимо дотримуватися інструкції БУКВАЛЬНО.

  1. Відкрийте директорію f:\usr\local\apache\confВідкрийте знаходиться там файл httpd.conf. Це – єдиний файл, який Вам залишилося налаштувати. Вам належить знайти і змінити в ньому деякі рядки, а саме ті, про яких згадується далі. Щоб уникнути непорозумінь не чіпайте все інше. Слід зауважити, що в ньому кожен параметр супроводжується кількома рядками коментарів, розібратися в яких з першого разу досить важко. Тому не звертайте на них увагу.
  2. У полі ServerAdmin вкажіть Ваш E-mail адресу, яку буде показуватися в повідомленнях про помилку сервера. Наприклад:
    ServerAdmin my@email.com
  3. У полі ServerName напишіть будь-яке слово – на роботі це не позначається, наприклад:
    ServerName ApacheServer

    Тільки не забудьте розкоментувати поле ServerName, Тобто прибрати символ “#” перед цим параметром (за замовчуванням він закоментований)!

  4. У полі DocumentRoot вкажіть ту директорію, в якійбудуть зберігатися Ваші html-файли, наприклад:
    DocumentRoot f:/www

    Зрозуміло, можете вказати і будь-яку іншу директорію, якщо хочете. У будь-якому випадку, не забудьте її створити, краще зробіть це прямо зараз!

  5. Знайдіть блок, що починається рядком <Directory /> і закінчується </Directory> (Взагалі, такі блоки позначають установки для заданої директорії та всіх її піддиректорій). Його потрібно змінити на:
    <Directory />
      Options Indexes Includes
      AllowOverride All
    </Directory>

    Таким чином, в цьому блоці будуть зберігатися установки для всіх директорій за замовчуванням (тому що це – коренева директорія).

  6. Знайдіть аналогічний блок, що починається <Directory "f:/usr/local/apache/htdocs"> і закінчується </Directory>. Там буде багато коментарів, не звертайте на них увагу. Цей блок слід замінити на:
    <Directory "f:/www">
      Options Indexes Includes
      AllowOverride All
      Order allow,deny
      Allow from all
    </Directory>

    Це – установки для директорії з Вашими html-документами. Якщо хочете, можете встановити іншу директорію, головне, щоб вона співпадала з тією, яка прописана в параметрі DocumentRoot

  7. Йдемо далі. Встановіть UserDir, Наприклад так:
    UserDir f:/home

    Це буде директорія, в якій зберігалися б домашні сторінки користувачів, якщо б це був справжній Web-сервер, а також кореневі каталоги віртуальних хостів (див. нижче). Не забудьте також створити цей каталог.

  8. Встановіть DirectoryIndex так:
    DirectoryIndex index.htm index.html

    Це – так звані файли індексу, які автоматично видаються сервером при зверненні до будь-якої директорії, якщо не вказано ім’я html-документа. В принципі, можна додати сюди й інші імена, наприклад, index.phtml, Якщо Ви будите працювати з PHP і т.д.

  9. Знайдіть і пропишіть такий параметр:
    ScriptAlias /cgi-bin/ "f:/cgi-bin/"

    Так, саме так, з двома Слеш. Це буде та директорія, в якій повинні зберігатися Ваші CGI-скрипти. Якщо хочете, можете задати інше ім’я, наприклад:

    ScriptAlias /mycgi/ "f:/mycgidir/"

    Подібний параметр говорить Apache про те, що, якщо буде вказано шлях виду http://localhost/cgi-bin, То насправді слід звернутися до директорії f:/cgi-bin.

  10. Тепер слід знайти і налаштувати блок параметрів, що починається з
    <Directory "f:/cgi-bin"> і закінчується </Directory>. Це – установки для Вашої CGI-директорії (якщо Ви встановили для неї інше ім’я на попередньому кроці, відповідно модифікуйте шлях). Там повинно бути:

    <Directory "f:/cgi-bin">
      AllowOverride All
      Options ExecCGI
    </Directory>
  11. Налаштуйте наступний параметр:
    AddHandler cgi-script .bat .exe

    Це говорить Apache про те, що файли з розширенням .exe і .batпотрібно розглядати як CGI-скрипти.

  12. І останнє – встановіть:
    AddHandler server-parsed .phtml .shtm .sht

    Або, якщо Ви хочете, щоб і звичайні файли html оброблялися SSI, напишіть так:

    AddHandler server-parsed .phtml .shtm .sht .html .htm

Вітаємо – Ви налаштували свій Apache, і він повинен вже працювати! Для запуску сервера натисніть Пуск-> Програми-> Apache Web Server-> Start Apache as console app, При цьому з’явиться вікно, дуже схоже на Сеанс MS-DOS, і нічого більше не станеться. Не закривайте його і не чіпайте до кінця роботи з Apache.

Кілька слів про те, як можна спростити запуск і завершення сервера. У Windows можна призначити будь ярлику функціональну комбінацію клавіш, натиснувши які, Ви запустите цей ярлик. Так що клацніть правою кнопкою на панелі завдань, в контекстному меню виберіть Властивості, Потім Налаштування меню і кнопку Додатково. У розпочатому Провіднику призначте ярлику Start Apache as console app комбінацію Ctrl+Alt+A, А ярлику Shutdown Apache as console appCtrl+Alt+S

Ось кроки, які можна виконати для перевірки працездатності сервера:

  • Перевірка html: В директорії f:/www з html-документами Apache створіть файл index.html. Тепер запустіть браузер і наберіть:
    http://localhost/index.html

    або просто

    http://localhost/

    Завантажиться Ваш файл.

  • Перевірка CGI: в директорії f:/cgi-bin для CGI-скриптів створіть файл test.bat з таким змістом:
    @echo off
    echo Content-type: text/html
    echo.
    echo.
    dir

    Тепер у браузері наберіть:

    http://localhost/cgi-bin/test.bat

    У вікні відобразиться результат команди DOS dir. (Хотілося б відзначити, що зазначений тест працює не на всіх версіях Windows: іноді замість того, щоб виконати файл test.bat, Apache виводить в браузер його вміст. З чим це пов’язано – не зовсім ясно, проте, здається, можна позбутися від зазначеної помилки шляхом маніпулювання з Реєстром. Якщо у Вас test.bat не запускається, не турбуйтеся: навряд чи Ви коли-небудь будете писати скрипти у вигляді bat-файлів, тим більше, що це несумісно з Unix.)

  • Перевірка SSI: аналогічна перевірці html. Використовуйте, наприклад, директиву
    <!--#include virtual="/cgi-bin/test.bat"-->

    Якщо bat-Файли Ваш Apache запускати не хоче (див. вище), то дочекайтеся установки Perl або PHP.

Якщо щось пішло не так, або вікно Apache відкривається і тут же закривається, значить, десь сталася помилка – скоріш за все, в httpd.conf. За детальним роз’ясненням її причин можна звернутися до log-файлів, розташованих в директорії f:/usr/local/apache/logs.

3. Віртуальні хости Apache – як це налаштувати?

“Віртуальні хости – хости, які мають унікальний адресу
в Інтернет,емуліруемой і підтримувані сервером “
Давнє язичницьке заклинання

Отже, Ви встановили Apache. Отримали, таким чином, директорію f:/www длязберігання документів і f:/cgi-bin для CGI. Але от лихо: в Інтернеті випідтримуєте кілька серверів, а Apache створив для вас тільки один. Звичайно, можнаструктуру цих несколькох серверів зберігати на одному сервері, однак простіше і зручніше булоб створити кілька віртуальних хостів за допомогою Apache, наприклад, один з іменем
serv1 і адресою 127.0.0.2, А інший – з ім’ям serv2 і адресою
127.0.0.3. (Звичайно, замість “serv1“І”serv2“Вам потрібно буде вказати бажані імена Ваших віртуальних хостів. Радимо назвати їх так само, як і на Вашому теперішньому Web-сервері – це може багато спростити при програмуванні скриптів.)

Як це прийнято в Unix, кожен сервер буде представлений своїм каталогом в директорії
f:/home з ім’ям, що збігається з назвою вузла сервера. Наприклад, сервер serv1буде зберігатися в директорії f:/home/serv1, Яку Вам необхідно створити прямозараз. У цій директорії будуть знаходитися:

Останні дві директорії (www і cgi) Вам теж необхідно створитипросто зараз.

Далі, для установки віртуального хоста необхідно зробити деякі изменеияу файлі конфігурації Apache httpd.conf (Див. вище), а також в деяких файлахWindows. Ось необхідні дії:

  1. Відкрийте директорію f:\usr\local\apache\conf. Відкрийте знаходиться там файл
    httpd.conf. Перейдіть в його кінець, Вам належить додати туди кілька рядків.

  2. Пропишіть наступні рядки в кінці файлу після всіх коментарів:
    #----serv1
    <VirtualHost 127.0.0.2>
      ServerAdmin webmaster@serv1.ru
      ServerName serv1
      DocumentRoot "f:/home/serv1/www"
      ScriptAlias /cgi/ "f:/home/serv1/cgi/"
      ErrorLog f:/home/serv1/error.log
      CustomLog f:/home/serv1/access.log common
    </VirtualHost>
    

    При бажанні можна додати й інші параметри (наприклад, DirectoryIndex і т.д.)Взагалі, не перевизначені параметри успадковуються віртуальним хостом від головного.

  3. Тепер треба трохи підправити системний файл hosts, Який знаходиться в
    C:\WINDOWS\hosts (Такого файлу може не бути за замовчуванням – в цьому випадку йоготреба створити). hosts (Не плутати з файлом hosts.sam!) – Звичайний текстовий файл, і в ньому зазвичай заздалегідь прописанатільки один рядок:

    127.0.0.1       localhost

    саме цей рядок і задає відповідність імені localhost адресою 127.0.0.1. (Заради справедливості слід сказати, що ім’я localhost працює і без зазначеної вище рядки. Ну і вигадники ж ці хлопці з компанії Microsoft!) Для нашого віртуального хоста треба додати відповідний рядок, щоб файл виглядавтак:

    127.0.0.1       localhost
    127.0.0.2       serv1
    

Цим Ви створите віртуальних хост з наступними властивостями:

Ну ось, ми створили один віртуальний хост! Якщо буде необхідно зробити другою, потрібнопросто виконати аналогічні дії, замінивши параметри, пов’язані з розташуванням хостана диску. Головне, не забудьте в цьому випадку вказати інший IP-адресу (краще всьоговказувати їх послідовно, починаючи з 127.0.0.2, Потім 127.0.0.3 і т.д. -в цьому випадку все працює коректно). Бажано також для цих цілей не вказуватиIP-адрус http://127.0.0.1, Так як це – адресу головного сервера.

До речі, необхідно зауважити, що головний хост (невіртуальний, той, який ми створилиу розділах 1 і 2) як і раніше доступний за адресою http://127.0.0.1 або
http://localhost. Більш того, його директорія cgi-bin “Видна” всімствореним віртуальним хостам, так що Ви можете її використовувати.

І останнє: якщо описана вище схема налаштування віртуальних хостів у Вас не запрацювала, зверніться до списком поширених питань в кінці цієї статті.

4. Установка PHP версії 3

“- Хворий, читайте першу сходинку зверху!
– Ша, Бе, Пе Ха Пе … Доктор, кодіровочку-то пофіксити … “
Народний фольклор

На відміну від установки Apache, установка PHP коротше, однак ми б не сказали, що простіше. Справа в тому, що, по-перше, у PHP немає нормальної setup-програми, як у Apache, а по-друге, при його установці необхідно також налаштовувати сервер.

Отже, перш за все поговоримо про каталог, в якому у Вас будуть знаходитися файли PHP. У дистрибутиві за замовчуванням стоїть такий:

f:/usr/local/php3

Якщо Ви фізично не можете або просто не хочете мати такий каталог (хоча, якщо Ви читали інструкцію по установці Apache, все повинно бути в порядку), то Ви вільні встановити PHP в інший каталог, але тоді Вам належить наступне: у файлі php_iis_reg.inf з дистрибутива PHP знайти ВСІ рядки "f:\usr\local\php3" (Їх там, до речі, 6 штук) і замінити їх на той каталог, де Ви плануєте розмістити PHP. Можу одразу сказати, що це не саме приємне проводження часу, але вже нічого не поробиш, таке життя …

Як звичайно, наведемо по порядку ті дії по встановленню PHP, які у нас привели до результату.

Установка PHP

  1. Створіть директорію f:/usr/local/php3(Якщо хочете інше ім’я, див. міркування вище). Це – та директорія, в яку буде встановлений PHP.
  2. Скачайте дистрибутив PHP – файл з ім’ям php3_setup.exe (1.970.356 байт), бажано в тільки що створену директорію. Це саморазворачівающійся zip-архів, який Ви повинні будете запустити, щоб розархівувати. За замовчуванням він розвернеться в поточну директорію, так що будьте уважні.
  3. Ще раз нагадуємо: якщо Ви вирішили встановити PHP в іншу директорію, Вам необхідно вручну відредагувати файл php_iis_reg.inf з метою заміни в ньому імен директорії на потрібну (див. вище).
  4. У файлі php3.ini з дистрибутива є закоментовані рядки, що виглядають так:
    ; Extension = імя_модуля.dll

    Якщо Ви хочете включити який-небудь модуль (за умовчанням вже включена підтримка GD і mSQL), розкоментуйте відповідну рядок (приберіть крапку з комою).

  5. Тепер у Провіднику Windows натисніть правою кнопкою миші на файлі php_iis_reg.inf і виберіть у контекстному меню пункт Встановити – Цим Ви автоматично додасте до Реєстру деякі установки, що стосуються PHP.
  6. Скопіюйте файл php3.ini в каталог з Windows (наприклад, в c:/windows);

Налаштування Apache

  1. У файл конфігурації Apache conf/mime.types добавтьте такий рядок:
    application/x-httpd-php3.phtml php3 php
  2. Тепер відкрийте файл conf/httpd.conf і додайте в його кінець (але перед блоків віртуальних хостів, якщо вони там є) такі рядки:
    <Directory "f:/usr/local/php3">
      Options ExecCGI
    </Directory>
    ScriptAlias "/__php_dir__/" "f:/usr/local/php3/"
    Action application/x-httpd-php3 "/__php_dir__/php.exe"
    

Ну ось, мабуть, і все. Якщо Ви все зробили правильно, то PHP встановлений. Перевірте його працездатність за допомогою простого скрипта, наприклад такого:

<?
echo "It works!<br>\n";
phpinfo();
?>

Нагадуємо, що php-скрипти – не те ж саме, що cgi-скрипти. Зокрема, якщо cgi-скрипти зазвичай розташовують в /cgi-bin/, То php-скрипт повинен лежати в директорії з документами. Іншими словами, файл в цьому прикладі має називаеться приблизно так: f:/www/test.php3

5. Установка Perl

“Мова може вважатися закінченим лише тоді, коли
в його синтаксисі використовуються всі клавіші на клавіатурі “
Батько-засновник Perl

Це зовсім просто, за винятком, може бути, вибору директорії для Perl. А саме, Ви ПОВИННІ розмістити Perl в тій же директорії, в якій він знаходиться на Вашому теперішньому Web-сервері. Зауважте, що це дуже важливо, так як Perl вимагає, щоб у кожному скрипті першим рядком стояв шлях до Perl-інтерпретатору; наприклад, цей рядок може виглядати так:

#!/usr/local/bin/perl

Цю ж рядок можна було б написати і так:

#!/usr/local/bin/perl.exe

або навіть так:

#!f:\usr\local\bin\perl.exe

Це змушує шукати Perl-інтерпретатор в директорії f:/usr/local/bin/ (Якщо диск f: не зазначений, це означає, що він збігається з диском, на якому розташований Apache).Ясно, що якщо Ви встановите Perl не в таку ж директорію, як на справжньому Web-сервері, Вам доведеться щоразу міняти цю саму перший рядок у всіх скриптах при закачуванні їх на сервер. Отже, далі ми будемо вважати, що ця директорія така, як на більшості Apache-серверів:

f:/usr/local/bin

УВАГА: дуже поширеною помилкою є установка Perl не в ту директорію або не на той диск. Ще раз звертаємо увагу на те, де має бути розташований транслятор. Якщо Ви все ж з якоїсь незрозумілої причини не дотримуєтеся нашої ради, то перевірте перший рядок у Вашому скрипті. Вона повинна вказувати не на директорію з Perl, А на здійснимих файл perl.exe. Нагадуємо, що

#!/usr/local/bin/perl

змушує шукати Perl-інтерпретатор perl.exe в директорії f:/usr/local/bin/, А НЕ f:/usr/local/bin/perl

Якщо Ви все ж встановіть шляху неправильно, Apache видасть незрозуміле повідомлення про помилку, а в errors.log з’явиться повідомлення: couldn’t spawn child process. У цьому випадку перевірте все ще раз. Якщо здається, що все в порядку, то, можливо, має місце описана вище помилка з програмою subst.

Ось кроки, які призводять до мети:

  1. Першим ділом створіть директорію
    f:/usr/local/bin

    Потім скачайте дистрибутив Perl – файл з ім’ям perl_setup.exe (436.137 байт), бажано в тільки що створену директорію. Це саморазворачівающійся архів, Вам потрібно буде просто його запустити, щоб розархівувати в поточну директорію. (Зауважимо, що версія Perl в цьому архіві досить стара і придатна хіба що для демонстраційних цілей. Зокрема, в ній немає жодного стандартного модуля. Тому, якщо Ви хочете використовувати Perl в скільки-небудь серйозних цілях, Вам доведеться встановити більш свіжу версію. Як це зробити описано в списку поширених питань. Все ж рекомендуємо Вам встановити спочатку пропонований дистрибутив, благо він дуже маленький, а вже потім – нову версію поверх.)

  2. Тепер налаштуємо сервер. Знайдіть у файлі конфігурації Apache conf/httpd.conf рядок
    AddHandler cgi-script .bat .exe

    Замініть її на

    AddHandler cgi-script .bat .exe .pl .cgi

    Як це не дивно, але цю директиву AddHandler іноді вказувати не обов’язково. Однак краще перестрахуватися …

Ось, власне, і все. Можете користуватися Perl-транслятором. Для перевірки його працездатності використовуйте такий скрипт (поміщений, зрозуміло, в директорію cgi-bin або аналогічну):

#!/usr/local/bin/perl
print "Content-type: text/html\n\n";
print "It works!<br>\n";
system("dir");

5. Установка MySQL

Що ж, дуже корисно … Навіть занадто.
Дмитро котерій

Спочатку визначимося: навіщо ж взагалі потрібні бази даних Web-програмісту? Невже не простіше писати все самому? Адже зазвичай обсяг даних не дуже великий (якщо Ви тільки не пишіть пошукову систему). Наш особистий досвід такий: виявляється, варто затратити якийсь час на вивчення MySQL – це дивно потужний інструмент, який заощадить у майбутньому чимало годин, витрачених на налагодження “збісився” скрипта.

Отже, Ви вирішили встановити у себе на локальному Apache підтримку MySQL. Як не дивно, це навіть багато в чому простіше, ніж змусити працювати Perl. Перш ніж привести точні інструкції, хотілося б уточнити два моменти:

  1. Ця стаття не претендує ні в якій мірі на те, щоб бути підручником з MySQL. Передбачається, що Ви вже знаєте, як працювати з цією базою даних. Максимум, що тут описується – це те, як змусити MySQL працювати під Window 95/98.
  2. Надалі будемо вважати, що Apache у Вас встановлено саме там, де це рекомендувалося вище.

Що ж, приступимо.

  1. Для початку запасіться терпінням і скачайте дистрибутив MySQL – mysql.zip. Як можна помітити, він досить великий.Потім розгорніть його в будь-яку зручну Вам директорію.
  2. Запустіть setup.exe. Він запитає, чи дійсно Ви хочете встановити MySQL. Після того, як Ви відповісте ствердно, файли почнуть копіюватися в директорію
    c:/mysql, Тобто він навіть не запитає Вас, куди встановлювати MySQL. Нічого страшного.

  3. Тепер, якщо Ви любите порядок, можете скопіювати директорію c:/mysql в яке-небудь більш пристойне місце – наприклад, f:/usr/local/. Тільки після цього строго дотримуйтесь вказівок у статті.
  4. Створіть у директорії f:/usr/ такі два .bat-Файлу:
    • server.bat:
      @echo off
      f:\usr\local\mysql\bin\mysqld.exe --basedir f:/usr/local/mysql
      f:\usr\local\apache\Apache.exe
      
    • shutdown.bat:
      @echo off
      f:\usr\local\apache\Apache.exe -d f:\USR\LOCAL\APACHE -k shutdown
      "f:\usr\local\mysql\bin\mysqladmin.exe" -u root shutdown
      

    Файл server.bat Ви будете запускати, коли захочете “включити” Apache і одночасно MySQL (ясно, що безглуздо запускати MySQL без сервера), а shutdown.bat – Для завершення роботи Apache і MySQL. Дуже важливо завершувати роботу MySQL правильно – інакше можуть бути зіпсовані таблиці баз даних. Власне, для цього ми і зробили ці два .bat-Файлу. (До речі кажучи, на відміну від Apache, у MySQL немає свого вікна – її процес можна побачити, лише натиснувши Ctrl + Alt + Del. Це ще одна причина існування shutdown.bat).

    Тепер для зручності можна створити ярлики на Робочому столі для цих файлів. Рекомендуємо також призначити цим ярликам “гарячі” клавіші: наприклад, для запуску сервера – Ctrl+Alt+A, А для завершення роботи – Ctrl+Alt+S. Крім того, краще поставити біля цих ярликів параметри “Запускати згорнутими в значок”. Все це сильно спростить життя в подальшому.

  5. Що ж, вважайте, MySQL вже встановлена. Залишилося тільки створити базу даних. Для цього слід запустити f:/usr/local/mysql/bin/mysqladmin з ключем create імя_бази. Наприклад, якщо ми хочемо створити базу testbase, Потрібно ввести у вікні Сеансу MS-DOS:
    f:
    cd f:\usr\local\mysql\bin
    mysqladmin create testbase
    
  6. Якщо Ви плануєте використовувати MySQL в скриптах на PHP, перевірте, розкоментованим чи в файлі php3.ini (Розташованому в директорії з PHP і в c:\windows) Наступний рядок:
    extension=php3_mysql.dll
    

    Якщо на її початку стоїть крапка з комою, заберіть її – інакше PHP не зможе пізнавати функції для роботи з MySQL

Вітаємо – тепер можна працювати! Якщо хочете, можете перевірити працездатність MySQL наступним скриптом на PHP3 (скажімо, розташованому в f:/www/test.php3):

<?
Error_Reporting(1+2+4);
define("DBName","testbase");
define("HostName","localhost");
define("UserName","root");
define("Password","");
if(!mysql_connect(HostName,UserName,Password)) {Echo "Не можу з'єднатися з базою". DBName. "! 
"; Exit;}/ / Створюємо таблицю test. Якщо така таблиця вже є, повідомлення про помилку буде / / Придушене, тому використовується "@" @mysql(DBName,"create table test(id int,a text)");/ / Вставляємо в таблицю 10 записів for($i=0; $i<10; $i++) { $id=time();mysql (DBName, "insert into test (id, a) values ​​($ id, 'Рядок $ i!')"); } / / Виводимо всі записи $r=mysql(DBName,"select * from test"); for($i=0; $i<mysql_numrows($r); $i++) { $f=mysql_fetch_array($r); echo "$f[id] -> $f[a]<br>\n"; } ?>

Звертаємо Вашу увагу на макроси DBName, HostName, UserName і Password. DBName повинен містити ім’я бази даних. HostName – Завжди localhost, Адже ми працюємо на локальному комп’ютері. У макросі UserName найпростіше підставляти root, Який є власником усіх таблиць. При установці MySQL користувачеві root не призначається пароль, так що макрос Password дорівнює порожній рядку.

6. Часті питання

“А тут – Ваша цитата”
Бьерн Страуструп

Ця глава містить відповіді на найпоширеніші питання, вознікающі при установці описаного програмного забезпечення. Будь ласка, ознайомтесь з нею.

Q: Apache встановився і запускається нормально, але при спробі відкриття небудь сторінки Internet Explorer настійно пропонує підключитися до Мережі.
A: На вкладці “З’єднання“(Або”Підключення“) В Властивостях IE встановіть прапорець “Використовувати локальну мережу“, Навіть якщо її у Вас немає.

Q: При запуску вікно Apache відкривається і тут же закривається, сервер з браузера “не видно”.
A: Швидше за все, синтаксична помилка в httpd.conf. Подивіться, що пишеться у файлі f:/usr/local/apache/logs/error.log – Швидше за все, там буде вказана рядок, в якій сталася помилка.

Q: Жоден скрипт не працює – при запуску відкривається маленьке віконце MS-DOS, в ньому швидко пробігають рядки, і потім воно закривається.
A: Ця помилка часто виникає при використанні різних некоректно написаних резидентних антивірусних сторожів (наприклад, SpiderGuard від Dr.Web). Боюся, Вам доведеться від них відмовитися.

Q: Віртуальні хости (а іноді і звичайний, основний хост) з браузера недоступні ні по імені, ні по ip-адресі.
A: Ця проблема часто виникає на комп’ютерах, об’єднаних в локальну мережу і спільно використовують одне підключення до Інтернету. Зазвичай в таких випадках використовується WinGate – Програма, що забезпечує цей спільний доступ. У ній-то і полягає вся проблема. Зробіть наступне: виберіть який-небудь браузер, яким Ви найрідше користуєтеся (наприклад, Netscape), І поставте в налаштуваннях WinGate для його запускається файлу (у нашому прикладі – netscape.exe) Режим локального доступу. У цьому випадку Ви зможете працювати з локальним Apache через цей (і тільки цей) браузер. Це не дуже приємно, але, боюся, іншого рішення для WinGate не існує …

Q: Мене не влаштовує зазначена у статті версія Perl – вже дуже древній …
A: Не проблема встановити новий, якщо Ви вже налаштували старий. Для цього виконайте наступне:

  • Скачайте з http://www.activestate.com MS Installer (Він лежить у розділі Downloads, Поряд з самим свіжим Перл) і запустіть його.
  • Скачайте звідти ж perlxxxx.msi (xxxx залежить від версії Perl, рекомендую Вам поставити саму наісвежайшая).
  • “Зніс під корінь” старий Перл.
  • Запустіть “start perlxxxx.msi“З вікна DOS.
  • Вибрати повну установку, і директорію – f:/usr/local (Без bin!), І нехайвін пропише в autoexec.bat те, що хоче.
    У дистрибутив включена повна документація, включаючи описи стандартних пакетів.

    Q: Ніяк не можу встановити підтримку MySQL в Perl …
    A: Виконайте наступне:

  • Установте найсвіжіший Perl, як це було тільки що описано.
  • Підключіться до Інтернету і запустіть ppm.bat з директорії з Perl.
  • Наберіть help.
  • Наберіть “install DBI
  • Наберіть “install DBD::Mysql

    Q: А як би мені поставити PHP4?
    A: Боюся, це дуже складне завдання. Наскільки нам відомо, поки що не існує такої версії PHP4, яка б так само легко, як PHP3, встановилася під Windows. Втім, можемо дати одну пораду: поставте спочатку PHP3, а вже потім поверх – PHP4 (в ту ж саму директорію), і моліться …

    Q: Я зробив усе, як описано в статті, але …
    A: dklab@dizain.ru.

    Схожі статті:


    Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

    Коментарів поки що немає.

    Ваш отзыв

    Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

    *

    *