Логин:   Пароль:






Новости
Рассылки
Форум
Поиск


Java
- Апплеты
- Вопрос-ответ
- Классы
- Примеры
- Руководства
- Статьи
- IDE
- Словарь терминов
- Скачать

Мобильная Java
- Игры
- Примеры
- Статьи
- WAP, WML и пр.

JavaScript
- Вопрос-ответ
- Примеры
- Статьи

Веб-мастеринг
- HTML
- CSS
- SSI

Разминка для ума
Проекты
Книги
Ссылки
Программы
Юмор :)




Rambler's Top100
Rambler's Top100

Статьи - разминка для умаУстановка и конфигурация веб сервера Apache с поддержкой PHP, JSP и MySQL на Windows XP

Установка и конфигурация веб сервера Apache с поддержкой PHP, JSP и MySQL на Windows XP

Обзор

В ходе данной инструкции мы подробно рассмотрим установку веб сервера Apache, PHP, Tomcat (для поддержки JSP) и их привязку для совместной работы. Рассмотрим примерный файл конфигурации Apache. Затем мы произведем установку MySQL сервера и рассмотрим примеры доступа к нему из PHP и JSP. Установим PHPMyAdmin для работы с MySQL.

Необходимые компоненты

Мною были использованы следующие версии, по возможности самые последние.

Apache 2.0.52
PHP 4.3.9
Tomcat 5.5.4
mod_jk 1.2.6
J2SDK 1.5.0
MySQL 4.1.7
Connector/J 3.1.6
PHPMyAdmin 2.6.0

Где взять необходимые компоненты?

Apache Web Server

http://httpd.apache.org/

PHP

http://www.php.net/

JSP

MySQL

Установка Apache

Для начала давайте создадим на диске С папку Server, куда мы будем устанавливать все нам необходимое. Предварительно закачаем все необходимое нам программное обеспечение, можно те же версии что использовал я, а можно и выше.

Запускаем apache_2.0.52-win32-x86-no_ssl и видим окно приветствия:

Жмем «Next».

Появляется окошко, где нам предлагают ознакомиться с лицензией на использование данного продукта, выбираем «I accept….» и жмем «Next».

Немного истории, и снова «Next».

В окошко информации о сервере вводим данные, как показано выше на картинке:
Network Domain: localhost
Server name: localhost
Administrator`s Email Address: localhost»@localhost

Так же выберем "For All Users, on 80 port, as a Service -- Recommended". И далее «Next»

Выбираем Custom для выбора всех компонентов для установки.

Выбираем все для полной установки, меняем путь инсталляции на C:\Server\Apache2\

Опять жмем «Next».

Наблюдаем ход установки.

Установка завершена. В правом нижнем углу появился заначек?

Если да то наш веб-сервер установился. Щелкаем на значке левой кнопкой мыши и открываем панель управления:

Здесь мы можем стартовать, остановить, или перезапустить наш сервер.

Теперь протестируем наш сервер. Открываем браузер и в строке адреса, вводим http://localhost. Если вы увидите следующей результат:

Значит сервер установлен удачно.

Установка PHP

Извлекаем содержимое php-4.3.9-Win32.zip в папочку C:\Server\ и переименовываем получившеюся папку «php-4.3.9-Win32» в «php4».

Теперь нам надо дать понять серверу что у нас есть PHP интерпретатор.

Добавляем в конец конфигурационного файл нашего сервера C:\Server\Apache2\conf\httpd.conf следующею запись:


# Даём знать серверу что у нас есть PHP интерпретатор
ScriptAlias /php4/ "C:/Server/php4/"
Action application/x-httpd-php4 "/php4/php.exe"

# Устанавливаем расширения для PHP скриптов
AddType application/x-httpd-php4 .php .php3 .php4 .phtm .phtml

Сохраняем файл. Перезапускаем наш сервер (кнопочка restart в панели управления сервером), еще не забыли как?

Теперь нам надо проверить работает ли эта связка. В папочке C:\Server\Apache2\htdocs (эта папка по умолчанию стои корневой, доступной с http://localhost) создаем файл phpinfo.php следующего содержания:


<?php

phpinfo();

?>

Сохраняем. Открываем в браузере http://localhost/phpinfo.php, если все прошло удачно должны увидеть следующие:

Устанавливаем поддержку JSP

Для этого нам необходимо установить JDK версии 1.5, так как мы будем устанавливать Tomcat 5, а он на версии ниже 1.5 не работает.

Запускаем jdk-1_5_0-windows-i586.exe

Соглашаемся с лицензионным соглашением.

Оставляем все как есть

Ход установки.

Далее начинается установка среды выполнения

Также оставляем все как есть.

Выскакивает диалог выбора установки плагинов к имеющимся браузерам, как видите у меня только один.


JDK установлен!!!

Приступаем к установке Tomcat 5.

Запускаем jakarta-tomcat-5.5.4

Принимаем приветствие и лицензионное соглашение


Выбираем полную установку, помечая все компоненты галочками.

Устанавливаем все в туже папочку “Server”

Конфигурацию оставляем по умолчанию.

Проверяем путь до JRE.

Ход инсталляции

Ок. все готово. Но пока Tomcat работает сам по себе и не связан с Apache.

Проверяем работоспособность Tomcat. Открываем в браузере http://localhost:8080/, так как Tomcat по умолчанию слушает порт 8080. При положительном результате мы должны увидеть следующее:

Нажмите на картинку для её увеличения

Теперь наша задача состоит в том чтобы прикрутить Tomcat на localhost:

Для этого нам необходимо скопировать коннектор mod_jk.dll в папочку C:\Server\Apache2\modules и в конфигурационном файле httpd.conf Apache2 добавить следующую запись:

 

###########################################################

## JSP Support

## Copied from Tomcat auto-configuration file 

##     + added JkMount /*.jsp ajp13 

##     + removed Virtual Host

<IfModule !mod_jk.c>

  LoadModule jk_module C:/Server/Apache2/modules/mod_jk.dll

</IfModule>

JkWorkersFile "C:/Server/Tomcat 5.5/conf/workers.properties"

JkLogFile "C:/Server/Tomcat 5.5/logs/mod_jk.log"

JkLogLevel info

JkMount /manager ajp13

JkMount /manager/* ajp13

JkMount /servlets-examples ajp13

JkMount /servlets-examples/* ajp13

JkMount /jsp-examples ajp13

JkMount /jsp-examples/* ajp13

JkMount /tomcat-docs ajp13

JkMount /tomcat-docs/* ajp13

JkMount /webdav ajp13

JkMount /webdav/* ajp13

JkMount / ajp13

JkMount /*.jsp ajp13

После чего необходимо перезагрузить сервер Apache2.

Давайте теперь проверим, работает ли? Открываем в браузере http://localhost/jsp-examples/. И если видим следующее, то все работает!

Конфигурация сервера

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

  

# Папка куда установлен наш веб сервер

ServerRoot "C:/Server/Apache2"

 

# Порт, который слушает наш веб сервер

Listen 80

 

# Устанавливаем SSI, для файлов с расширением shtm, shtml html

AddType text/html .shtm .shtml .html

AddOutputFilter INCLUDES .shtm .shtml .html

 

# E-mail адрес админа веб сервера (поменяйте на свой)

ServerAdmin localhost@localhost

 

# Наш сервер:порт

ServerName localhost:80

UseCanonicalName Off

 

# Индексные файлы, через пробел

DirectoryIndex index.htm index.html index.shtm index.shtml 
                           index.php index.php3 index.php4 index.jsp

 

# Имя встроенного конфигурационного файла

AccessFileName .htaccess

 

# Даём знать веб серверу, что у нас есть PHP интерпретатор

ScriptAlias /php4/ "C:/Server/php4/"

Action application/x-httpd-php4 "/php4/php.exe"

 

# Устанавливаем расширения для PHP скриптов

AddType application/x-httpd-php4 .php .php3 .php4 .phtm .phtml

 

 

# Папка куда будем складывать все наши html и прочие файлы.

DocumentRoot "C:/Server/www"

 

PidFile logs/httpd.pid

Timeout 300

KeepAlive On

MaxKeepAliveRequests 100

KeepAliveTimeout 15

HostnameLookups Off

 

# Модули

LoadModule access_module modules/mod_access.so

LoadModule actions_module modules/mod_actions.so

LoadModule alias_module modules/mod_alias.so

LoadModule asis_module modules/mod_asis.so

LoadModule auth_module modules/mod_auth.so

LoadModule autoindex_module modules/mod_autoindex.so

LoadModule cgi_module modules/mod_cgi.so

LoadModule dir_module modules/mod_dir.so

LoadModule env_module modules/mod_env.so

LoadModule imap_module modules/mod_imap.so

LoadModule include_module modules/mod_include.so

LoadModule isapi_module modules/mod_isapi.so

LoadModule log_config_module modules/mod_log_config.so

LoadModule mime_module modules/mod_mime.so

LoadModule negotiation_module modules/mod_negotiation.so

LoadModule setenvif_module modules/mod_setenvif.so

LoadModule userdir_module modules/mod_userdir.so

# Закрываем доступ к файлам конфигурации (.htaccess) и паролей (.htpasswd)

<Files ~ "^\.ht">

 Order allow,deny

 Deny from all

</Files>

 

# База с типами файлов

TypesConfig conf/mime.types

 

# Тип всех документов - текстовый

DefaultType text/plain

 

<IfModule mod_mime_magic.c>

 MIMEMagicFile conf/magic

</IfModule>

 

# Файл отчёта с ошибками

ErrorLog logs/error.log

 

# Что записывать в файл отчёта, может принимать следующие значения:

# debug, info, notice, warn, error, crit, alert, emerg.

LogLevel warn

 

# Шаблон записи строки в файл отчёта

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

LogFormat "%h %l %u %t \"%r\" %>s %b" common

LogFormat "%{Referer}i -> %U" referer

LogFormat "%{User-agent}i" agent

 

# Файл отчёта со списком всех доступов к веб серверу

CustomLog logs/access.log common

 

ServerTokens Full

 

# Подпись веб сервера (On - включена, Off - отключена, 
#                 EMail - показывать e-mail админа сервера)

ServerSignature On

 

# Виртуальные папки

# Например:

# Alias /icons/ "C:/Server/Apache2/icons/"

# Зайдя на http://localhost/icons/ 
#              мы увидем содержимое папки C:/Server/Apache2/icons/

Alias /icons/ "C:/Server/Apache2/icons/"

AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip

AddIconByType (TXT,/icons/text.gif) text/*

AddIconByType (IMG,/icons/image2.gif) image/*

AddIconByType (SND,/icons/sound2.gif) audio/*

AddIconByType (VID,/icons/movie.gif) video/*

 

# Выбираем иконки для различных форматов

AddIcon /icons/binary.gif .bin .exe

AddIcon /icons/binhex.gif .hqx

AddIcon /icons/tar.gif .tar

AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv

AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip

AddIcon /icons/a.gif .ps .ai .eps

AddIcon /icons/layout.gif .html .shtml .htm .pdf

AddIcon /icons/text.gif .txt

AddIcon /icons/c.gif .c

AddIcon /icons/p.gif .pl .py

AddIcon /icons/f.gif .for

AddIcon /icons/dvi.gif .dvi

AddIcon /icons/uuencoded.gif .uu

AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl

AddIcon /icons/tex.gif .tex

AddIcon /icons/bomb.gif core

AddIcon /icons/back.gif ..

AddIcon /icons/hand.right.gif README

AddIcon /icons/folder.gif ^^DIRECTORY^^

AddIcon /icons/blank.gif ^^BLANKICON^^

 

# Иконка для неизвестных форматов

DefaultIcon /icons/unknown.gif

 

# Если выводится содержимое какой-либо папки, cчитываются файлы описания:

ReadmeName README.html

HeaderName HEADER.html

 

# Файлы для игнорирования, при выводе листинга директории

IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

 

AddEncoding x-compress Z

AddEncoding x-gzip gz tgz

 

# Наша кодировка

AddDefaultCharset WINDOWS-1251

 

# "C:/Server/Apache2/cgi-bin" директория CGI-скриптов

<Directory "C:/Server/Apache2/cgi-bin">

    AllowOverride None

    Options None

    Order allow,deny

    Allow from all

</Directory>

 
###########################################################

## JSP Support

## Copied from Tomcat auto-configuration file 

##     + added JkMount /*.jsp ajp13 

##     + removed Virtual Host

 

<IfModule !mod_jk.c>

  LoadModule jk_module C:/Server/Apache2/modules/mod_jk.dll

</IfModule>

JkWorkersFile "C:/Server/Tomcat 5.5/conf/workers.properties"

JkLogFile "C:/Server/Tomcat 5.5/logs/mod_jk.log"

JkLogLevel info

JkMount /manager ajp13

JkMount /manager/* ajp13

JkMount /servlets-examples ajp13

JkMount /servlets-examples/* ajp13

 
JkMount /jsp-examples ajp13

JkMount /jsp-examples/* ajp13

JkMount /tomcat-docs ajp13

JkMount /tomcat-docs/* ajp13

JkMount /webdav ajp13

JkMount /webdav/* ajp13

JkMount / ajp13

JkMount /*.jsp ajp13

Сохраняем. Перезагружаем сервер.

Устанавливаем MySQL сервер

Распаковываем файл mysql-4.1.7-win.zip и запускаем файл Setup.exe

Приветствие, жмем Next

Здесь выбираем Custom, так как нам необходимо установить полностью все компоненты и указать путь инсталляции.

Выбираем все компоненты для установки, и указываем путь для инсталляции C:\Server\MySQL Server 4.1\. Идем далее.

Готовы к началу процесса инсталляции? Жмем Install.

Наблюдаем процесс инсталляции.

Пропускаем шаг регистрации на MySQL.com.

Ставим галочку на опции «Конфигурировать MySQL сервер». И завершаем процесс установки приступая к конфигурации.

Опять приветствие.

Выбираем стандартную конфигурацию, что бы совсем не запудрить себе мозги, потом при желании можно попробовать полазить в настройках.

Указываем, что MySQL сервер будет запускаться как служба Windows.

Указываем пароль для администратора, допустим это будет «password».

Execute и все готово! После чего мы наблюдаем следующую картинку в нижнем правом углу:

Теперь тестируем наш MySQL сервер. Создадим в папке www файл index.php следующего содержания:


<?# Адрес нашего MySQL сервера
$mysql_host = "localhost";

# Пользователь, который осуществляет соединение
$mysql_user = "root";

# Пароль для доступа к MySQL базе
$mysql_password = "password";

# Соединяемся с MySQL сервером
$mysql = mysql_connect($mysql_host, $mysql_user, $mysql_password);

if ($mysql) 
{
 echo "Hello World!!!";
}

# Закрываем соединение
mysql_close($mysql);

?>

Сохраняем.

Открываем в браузере http://localhost/index.php и....

Не тут то было! Вылезет ошибка «Client does not support authentication protocol requested by server; consider upgrading MySQL client»

Ну что же это небольшая не совместимость. . . В MySQL 4.1 применяется новый способ хранения паролей и из-за этого вылезает несовместимость всех старых клиентов с MySQL. Что же делать?

Запускаем C:\Server\MySQL Server 4.1\bin\mysql.exe и набираем следующую команду как показано на рисунке:

Набираем set password for жмем Enter

Набираем root@localhost = old_password(‘password’)

Жмем Enter. Набираем \q жмем Enter, окошко закрывается.

Ну теперь должно заработать, открываем в браузере http://localhost/index.php и....

Работает!!!

Теперь нам необходимо прикрутить коннектор для подключения к MySQL серверу из JSP.

Распаковываем mysql-connector-java-3.1.6.zip. Папочку mysql-connector-java-3.1.6. переименовываем в jconnector (C:\Server\jconnector). Берем из этой папочки файл mysql-connector-java-3.1.6-bin.jar и копируем его в папку C:\Server\Tomcat 5.5\common\lib.

Ну теперь надо попробовать подключиться к MySQL серверу из JSP. Давайте в папочке C:\Server\Tomcat 5.5\webapps\jsp-examples создадим файл test.jsp:

<%@ page contentType="text/html; charset=windows-1251" %>

<%@ page import ="java.net.*" %>

<%@ page import ="java.sql.*" %>

<HTML>

<HEAD>

<TITLE> Доступные БД </TITLE>

</HEAD>

<BODY>

<h3>Доступные БД</h3>

<%

//Загружаем драйвер

Class.forName("com.mysql.jdbc.Driver").newInstance(); 

//Подключаемся к бд

Connection conn = 
  DriverManager.getConnection("
   jdbc:mysql://localhost/test?user=root&password=password");

Statement stmt = null; 

ResultSet rs = null; 

stmt = conn.createStatement(); 

//Запрос на имеющиеся БД

rs = stmt.executeQuery("SHOW DATABASES"); 

  boolean more = rs.next ();

  while (more)

  {

  // Получае значение первой колонки

   out.print(rs.getString(1));

   out.print("<br>");

   // Передвигаемся на следующую строку набора данных

   more = rs.next ();

  }

%>

</BODY>

</HTML>

Открываем браузер http://localhost/jsp-examples/test.jsp

Ок все работает!

Ну и заключительный момент установка PHPMyAdmin

Для этого разархивируем phpMyAdmin-2.6.0-pl3.zip в папку C:\Server\www и переименуем в phpmyadmin.

Откроем файл config.inc.php

Заменим


$cfg['PmaAbsoluteUri'] = '';

на


$cfg['PmaAbsoluteUri'] = 'http://localhost/phpmyadmin/';

И аналогично поступаем со следующими строками файла:


$cfg['Servers'][$i]['controluser']   = ' root '; 

$cfg['Servers'][$i]['controlpass']   = 'password';

$cfg['Servers'][$i]['user']          = 'root';

$cfg['Servers'][$i]['password']      = 'password'; 

Сохраняем. Открываем в браузере http://localhost/phpmyadmin/

И наблюдаем в случае положительного результата:

Нажмите на картинку для её увеличения

Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/books/show2b.php on line 11

Warning: mysql_db_query() [function.mysql-db-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/books/show2b.php on line 19

Warning: mysql_db_query() [function.mysql-db-query]: A link to the server could not be established in /pub/home/javaport/javaportal/books/show2b.php on line 19

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /pub/home/javaport/javaportal/books/show2b.php on line 30
Узнай о чем ты на самом деле сейчас думаешь тут.


Опрос
Считаете ли вы целесообразным сделать аналог упражнений по Hibernate на базе вопросов www.sql-ex.ru?
Да, полный аналог упражнений
Да, но с реализацией основных конструкций объектной модели
Нет, Hibernate не актуален, использую др. технологии
Нет



Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/news/worldnews.php on line 91

Warning: mysql_db_query() [function.mysql-db-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/news/worldnews.php on line 93

Warning: mysql_db_query() [function.mysql-db-query]: A link to the server could not be established in /pub/home/javaport/javaportal/news/worldnews.php on line 93

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /pub/home/javaport/javaportal/news/worldnews.php on line 95