Смекни!
smekni.com

Установка и настройка локального web-сервера Apache, PHP, MySQL под операционную систему Windows (стр. 8 из 9)

Запомните имя, присвоенное Вашему компьютеру.

После этого запустите файл tno_s114.exe из архива. Введите имя для регистрации и имя вашего компьютера в соответствующие графы.

Сгенерированный ключ Вам нужно будет подставить в sendmail.ini Вместо REGKEY=none

У Вас получится что-то типа: REGKEY=Имя,Имя_компьютера,12345

Сохраните sendail.ini и попробуйте запустить sendmail.exe. У Вас должно получиться что-то типа

Sendmail for Windows V1.16 at Mon Nov 20 20:00:00 2003

Host name: Имя_компьютера [IP компьютера]

Licensed to Имя for Имя_компьютера [IP компьютера]

Использование этого кряка является противозаконным и решение запускать его или нет, целиком и полностью зависит от Вашей законопослушности. Если Вы хотите вознаградить труды разработчиков, заплатите за Sendmail официально на http://www.webwarper.net/ww/~GZ/www.indigostar.com/ordsend.htm?*

3. ТЕСТИРОВАНИЕ СЕРВЕРА

3.1. Проверка работоспособности виртуальных серверов

При помощи Блокнота создайте два файла с именем index.html. Один сохраните в папке home\localhost:

другой в home\mysite\html:

Содержание первого файла index.html:

<html>

<head><title>Тест сервера</title></head>

<body><h2>Сервер localhost работоспособен!!!</h2></body>

</html>

Содержание второго файла index.html:

<html>

<head><title>Тест сервера</title></head>

<body><h2>Сервер mysite.ru работоспособен!!!</h2></body>

</html>

Набирайте http://localhost в Вашем браузере, должен будет загрузиться файл index.html:

Тоже самое повторите для сервера mysite.ru:

Можете поэкспериментировать с расширениями файла index- .htm, .php. Мы это настраивали.

3.2. Тест SSI (Server Side Includes)

Для того чтобы включить поддержку SSI (Server Side Includes – сборка на стороне сервера) в Apache необходимо в файл httpd.conf добавить следующие строки:

AddType text/html .shtml

AddHandler server-parsed .shtml

Это наиболее стандартный ход. Впрочем, вместо расширения .shtml можно написать .html или .phtml. Главное, чтобы выбранное расширение было идентично расширению, которое использует для обозначения SSI файлов провайдер.

И, естественно, нужно включить сам "механизм" вложения, а для этого добавить к команде Options слово Includes. Тогда строка с командой Options может принять вид: Options Indexes FollowSymLinks Includes.

В настройках Apache было указано, что поддержка SSI используется в файлах с расширениями .shtm и .shtml. Данная технология позволяет создавать одну страницу из нескольких. Это удобно, когда у Вас имеются повторяющиеся элементы на нескольких страницах. Технология SSI позволяет отказаться от использования фреймов, которые часто ругают из-за некорректной работы.

Измените файл index.html следующим образом:

<html>

<head><title>Тест сервера</title></head>

<body>

<h2>Проверка поддержки SSI</h2>

<!--#include virtual="test_ssi.shtml" -->

</body>

</html>

Сохраните данный файл с расширением .shtml.

Затем создайте в директории localhost файл test_ssi.shtml, имеющий следующее содержание:

<H3><I>Данный текст был добавлен в файл index.shtml по средствам технологии SSI</I></H3>

Запустите браузер и наберите http://localhost:

Скопируйте два файла (полученные выше), удалив при этом файл index.html, в папку mysite&bsol;html и проверьте работоспособность для адреса http://mysite.ru:

Нет необходимости проделывать одно и тоже для двух серверов, т.к. понятно если тест работает на одном сервере, то это будет работать и на другом (в нашем случае). Это происходит, потому что параметры обоих серверов одинаковые (мы их описали в файле httpd.conf), разное у них только расположение файлов в папках. Здесь работает принцип: все параметры не указанные в настройках виртуального сервера, должны наследоваться от главного сервера.

С учетом сказанного дальнейшее тестирование проведем для адреса http://localhost, если потребуется произвести тест на обоих серверах, то об этом будет сказано дополнительно.

3.3. Тест PHP

Создайте файл test_php.php в папке localhost. Содержание файла test_php.php:

<?php

echo “<h4>Привет, $n! Тест PHP выполнен!</h4>”;

phpinfo();

?>

Откройте браузер и наберите следующий адрес: http://localhost/test_php.php?n=Виктор Сергеевич .

Результат работы скрипта:

Мы передали скрипту значение переменной, при помощи метода GET. А затем выполнили функцию phpinfo(), которая отображает состояние PHP. Можно просмотреть настройки PHP и узнать, какие модули подключены. Функция phpinfo() отображает детальную информацию об интерпретаторе:

♦ Версию РНР.

♦ Версию операционной системы.

♦ Параметры, заданные при сборке РНР.

♦ Дату сборки интерпретатора.

♦ Сведения о дополнительных модулях.

♦ Переменные окружения — основные и локальные настройки интерпретатора.

♦ Заголовки HTTP.

♦ Лицензию РНР.

Как правило, данная функция используется один-единственный раз: при установке интерпретатора для проверки его работоспособности.

К информационным функциям относятся три функции: phpinfo(); phpversion(); getlastmod().

Функция phpversion() просто отображает версию интерпретатора. Например: PHP Version 4.3.2

Функция getlastmod() очень полезна — отображает время последнего изменения сценария. Использовать ее можно примерно так:

echo date ("d.m.Y", getlastmodO);

3.4. Тест MySQL

Для удобной работы с MySQL создан специальный набор скриптов под названием PhpMyAdmin (имеется русская версия).

Cоздайте файл test_mysql.php:

<?

if (!mysql_connect("localhost","root",""))

{

echo "Не удалось соединиться с сервером&bsol;n";

echo mysql_error();

exit;

}

echo "MySQL сервер работает!"

?>

Откройте браузер и наберите следующий адрес: http://localhost/test_mysql.php:

Можно провести более детальное тестирование работы MySQL. Создайте PHP-сценарий с именем mysql.php в каталоге D:&bsol;home&bsol;localhost&bsol;:

<?php ## Скрипт для проверки работоспособности MySQL.

echo "<pre>";

//Открываем соединение с СУБД MySQL:

//пользователь: root, пароль: пустой.

@mysql_connect("localhost", "root", "")

or die(mysql_error() ) ;

//Будем работать с базой данных mysql которая существует по

// умолчанию и хранит конфигурацию сервера MySQL.

@mysql_select_db("mysql")

or die(mysql_error());

// Выбираем все записи из таблицы users БД mysql.

$r = @mysql_query("SELECT * FROM user")

or die(mysql_error());

//В цикле печатаем каждую найденную строку,

while ($row = mysql_fetch_assoc($r))

{

print_r ($row) ;

}

?>

Запустите серверы (Apache и MySQL) и наберите в браузере адрес: http://localhost/mysql.php.

Обратите внимание, что СУБД MySQL запущена на текущей машине, а значит, для соединения с ней нужно указывать адрес сервера localhost. Мы сконфигурировали СУБД так, чтобы она принимала запросы только с текущей машины. Пользователь root существует сразу же после инсталляции и получает неограниченный доступ ко всем таблицам и базам данных. При установке MySQL пользователю root не назначается пароль, так что в качестве последнего параметра функции mysql_connect() передается пустая строка.

Для работы с MySQL в РНР 5 необходимо подключение библиотеки расширения php_mysql.dll. В РНР 4 функции для работы с этой СУБД встроены в ядро.

Если все сконфигурировано правильно, вы получите несколько десятков строк вывода в браузере без сообщений об ошибках. Этот скрипт распечатывает всю информацию о пользователях MySQL, которая хранится в таблице user базы данных с именем mysql:

В пределах СУБД обычно существует несколько именованных баз данных, каждой из которых можно назначить отдельного пользователя с соответствующими правами доступа.

В листинге config.php представлен код файла, содержащий параметры соединения с базой данных, скрипт установления соединения и функцию puterror, предназначенную для вывода сообщений об ошибках соединения в браузер. Этот код рекомендуется включать в начало каждого файла, в котором происходит обращение к базе данных. С его помощью осуществляется соединение с базой данных (include "config.php"):

<?

//листингconfig.php - код файла, содержащего параметры соединения с базой данных

//предназначен для вывода сообщений об ошибках соединения в браузер

$dblocation = "localhost"; //Имя сервера

$dbname = "auth"; //Имя базы данных

$dbuser = "root"; //Имя пользователя базы данных

$dbpasswd = ""; //Пароль

//Осуществляем соединение с сервером базы данных

//Подавляем вывод ошибок символом @ перед вызовом функции

$dbcnx=@mysql_connect($dblocation,$dbuser,$dbpasswd);

if (!$dbcnx)

{

echo("<p> В настоящее время сервер базы данных не доступен,поэтому корректное отображение страницы невозможною</p>");

exit();

}

//Осуществляем выбор базы данных

//Подавляем вывод ошибок символом @ перед вызовом функции

if(!@mysql_select_db($dbname,$dbcnx))