• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Помогите плизз поставить и запустить Apache

  • Автор темы Asmadey
  • Дата начала
Статус
Закрыто для дальнейших ответов.
A

Asmadey

Хочу сделать свой сайт, но мало в этом что понимаю, помогите ПОЖАЛУЙСТА новичку. У меня есть движок, есть PHP, есть Apache 2.0.49, и ещё огромнейшее желание сделать свой сай. Помогите разобраться с чего вообще нужно начать, и что вообще из этого можно сделать.
 
A

admin

Для: Asmadey
читайте мануал :)
 
A

Asmadey

Спасибо, как же я сам не догодался :)
 
A

arman

помогите настроить апач! PLEASE!!!!!
все сделал как написано в книге Котерова PHP4, но при запуске появляется надпись
"<OS 10048>" only one usage of each socket address <protocol/network address/port>
is normally permitted.: make_sock:could not bind to address0.0.0.80
no listening sockets available, shutting down
unable to open logs"
и в браузере не загружается страничка
 
V

vitolg

помогите настроить апач! PLEASE!!!!!
все сделал как написано в книге Котерова PHP4, но при запуске появляется надпись
"<OS 10048>" only one usage of each socket address <protocol/network address/port>
is normally permitted.: make_sock:could not bind to address0.0.0.80
no listening sockets available, shutting down
unable to open logs"
и в браузере не загружается страничка
Собственно настройка сводится к изменению нескольких строк в конфигурационном файле httpd.conf, который находится в папке conf в папке с установленным Apache. Перед редактированием, на всякий случай, сохраните имеющуюся копию файла httpd.conf как, например, httpd1.conf. Если что-то не заработает, всегда можете вернуть Apache к первоначальному состоянию.
Корректность синтаксиса конфигурационного файла httpd.conf можно проверить командой Test Configuration из меню сервера Apache.
Apache + PHP4
В самом конце конфигурационного файла Apache httpd.conf добавь строки (я добавлял в конец этого файла):
#php
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php.exe"
Если устанавливали PHP не в C:\PHP, а в другое место, то в строке
укажить путь к PHP.
Создать текстовый файл с содержимым <? echo "Тест PHP" ?> и сохранить его как test.php в папке Вашего сайта.Перезагрузить и попробывать набрать: http://ваш_сайт/test.php В браузере должна отобразиться строка Тест РНР

PHP в Apache можно запускать и как модуль. Для этого найди в папке PHP файл php4ts.dll и скопируй его в папку с системными библиотеками Windows\system32 или WINNT\system32. А теперь в файл httpd.conf добавить строки:
#php use
LoadModule php4_module "c:/Program Files/Apache Group/php/sapi/php4apache2.dll"
AddType application/x-httpd-php .php
или
#php use
LoadModule php4_module "c:/php/sapi/php4apache2.dll"
AddType application/x-httpd-php .php
в зависимости от того, где находится PHP.
 
V

vladimircape

помогите настроить апач! PLEASE!!!!!
все сделал как написано в книге Котерова PHP4, но при запуске появляется надпись
"<OS 10048>" only one usage of each socket address <protocol/network address/port>
is normally permitted.: make_sock:could not bind to address0.0.0.80
no listening sockets available, shutting down
unable to open logs"
и в браузере не загружается страничка
Слушай поставь себе Денвер, и не мучайся , самый лучший вариант для новичка, Денвер это - Apache,PHP,MySQL. Ты не представляешь все как просто
 
H

Hryv

У меня похожая проблема: хотел на досуге занятся самообразованием и освоить PHP
Скачал Apache,PHP,MySQL инструкции к ним и начал ставить (на WinXP)
Но на этом и застрял - настроить Apache оказалось сложно, хелпы и реальность не соответствовали друг другу
Покупать дорогую книгу или тратит неделю мне не хотелось (ведь цель была не админить Apache, а изучить PHP)

Так вот собственно вопрос: реально ли новичку самому установить и запустить Apache? Мне показалось, что там просто громадье ньюансов
Или существует более простое решение?

Сейчас еще попробую найти в Сети что это за Денвер
 
V

Vadik(R)

реально ли новичку самому установить и запустить Apache?
Раз администрировать ты не собираешся, то установить может даже ребенок.
Честно говоря не понял твоей проблемы... У себя устанавливал как обычную прогу, по-моему можно даже просто тупо жать "Далее". Где конкретно не получается?
 
H

Hryv

Vadik®, я не совсем правильно сформулировал
Во фразе
реально ли новичку самому установить и запустить Apache?
главный смысл в слове "запустить"

Apache не запускался и выдавал ошибки (какие точно не помню, еще зимой дело было)

Но вчера я скачал и установил Денвер - действительно все просто, во всяком случае Apache запускается и тестовый сайт из комплекта поставки работает.
:)
 
G

GOsha

denwer.ru - тебе туда. Поработаешь - потом бушь отдельно ставить все. А для новичка - норм.
 
P

pmod

Установка Web-сервера Apache

Запустите установщик Web-сервера Apache. Результатом будет окно с лицензионным соглашением, после принятия которого, следует перейти к следующему окну с краткой информацией о нововведениях во второй версии Apache. Следующее окно, показанное на рисунке, позволяет ввести информацию о сервере: доменное имя сервера, имя сервера и адрес электронной почты администратора. Если установка происходит на локальную машину, то в поля для доменного имени и имени сервера следует ввести localhost (см. рисунок.). В нижней части окна предлагается выбрать номер порта по которому сервер будет принимать запросы (80 или 8080).

apset.gif


localhost - это имя для использования сервера на локальной машине, которое связано с IP-адресом 127.0.0.1, который зарезервирован для локального использования.

После этого будет предложен способ установки: стандартный (Typical ) или выборочный (Custom), позволяющий выбрать компоненты сервера вручную. Следующее окно позволяет выбрать каталог установки сервера, по умолчанию это C:program FilesApache Group, но мы рекомендуем выбрать другой каталог, например, С:www. После этого мастер установки сообщит о готовности к процессу установки и после нажатия кнопки Install, будет произведено копирование файлов сервера. Если установка прошла успешно, Windows автоматически запустит Apache.

После успешной инсталляции при наборе в окне браузера или - должна загрузится страница сервера.

Теперь необходимо научиться управлять Apache, а именно научится запускать, останавливать и перезапускать сервер. Существует много способов осуществить эти операции: при помощи утилиты ApacheMonitor, используя консоль управления сервисов Windows, используя пункты меню Пуск, из командной строки… Мы рассмотрим консоль управления сервисов Windows, позволяющего настроить Apache для автоматического старта при запуске системы. Для запуска консоли управления выполните команду
Пуск->Настройка->Панель управления->Администрирование->Службы.
В появившемся окне консоли, на приведённом ниже рисунке, следует выбрать сервис Apache2. Контекстное меню, открывающееся по нажатию на правой кнопке, позволяет осуществлять запуск, остановку и перезапуск сервиса.

sly.gif


Службы Windows позволяют осуществлять запуск фоновых приложений при старте системы. Для этого необходимо перейти в окно Свойства, выбрав в контекстном меню сервиса пункт Свойства и в появившемся окне в выпадающем списке "Тип запуска" выбрать пункт "Авто".

Конфигурирование Apache

Web-сервер — сложный программный продукт работающий на разных платформах и в разных операционных системах по всему миру. Поэтому для корректной работы на установленной системе его необходимо настроить (сконфигурировать).
По умолчанию настройки Apache расположены в файле httpd.conf в директории conf. Далее будут описаны основные директивы файла httpd.conf и их общеупотребительные значения.

Пути к файлам

В конфигурационных файлах Apache и PHP Вам часто придется указывать пути к различным директориям и папкам. В операционных системах UNIX и Windows при-меняются различные разделители каталогов. В UNIX используется прямая косая черта "/", например /usr/bin/perl, в в Windows обратная, например, c:Apachein. Вообще, в некоторых директивах Apache и PHP работают оба вида разделителей каталогов: прямой(/) и обратный(), но так как и Apache и PHP изначально разрабаты-вались под UNIX, то применяя их "родной" формат, Вы сможете избежать ряда проблем. Поэтому пути в настроечных файлах (httpd.conf и php.ini) рекомендуется писать через слеш в формате UNIX — "/". Например:

Код:
ScriptAlias "/php_dir/" "c:/php/"
Директивы файла httpd.conf

Порт

Код:
Port 80
Устанавливает порт TCP, который используется Apache для установки соединения. По умолчанию используется 80 порт.
Примечание: Единственная причина использования нестандартного порта — это отсутствие прав на использование стандартного порта. При использовании нестандартного порта, например, 8080 номер порта следует указывать в адресе, например: .

ServerAdmin

Код:
ServerAdmin mymail@yandex.ru
Содержит e-mail-адрес администратора web-сервера, который будет отображаться при ошибках работы сервера.

ServerName

Код:
ServerName myserver
Содержит имя компьютера для сервера.

ServerRoot

Код:
ServerRoot "C:/Apache2"
Указывает на каталог, содержащий файлы WEB-сервера Apache.

Примечание: Не путайте директиву ServerRoot с директивой DocumentRoot, которая указывает каталог для файлов WEB-сайта.

DocumentRoot

Код:
DocumentRoot "C:/Apache2/htdocs"
Определяет каталог, в котором расположены файлы WEB-сайта.

Контейнер <Directory />

Сфера действия директив внутри этого контейнера распространяется на все файлы и подкаталоги внутри DocumentRoot.
Код:
<Directory /> 
Options FollowSymLinks Includes Indexes 
AllowOverride All 
</Directory>
  • Директива AllowOverride установленная в значение All разрешает переопределять значения главного конфигурационного файла httpd.conf в файлах .htaccess.
  • Директива Options FollowSymLinks разрешает Apache следовать символическим ссылкам.
  • Директива Options Includes разрешает выполнение директив SSI (Server Side Includes) в коде страниц web-сайта.
  • Директива Options Indexes указывает, что нужно возвращать содержимое каталога, если отсутствует индексный файл.

DirectoryIndex

Код:
DirectoryIndex index.html index.phtml index.php
Содержит список индексных файлов, которые следует отображать при обращении к директории без указания имени файла (например, .

AddDefaultCharset

Код:
AddDefaultCharset windows-1251
Устанавливает кодировку по умолчанию, если кодировка не установлена в заголовке HTML-документа. Также Вам может потребоваться указывать значение кодировки KOI8-R.

Создание виртуальных хостов

На одном WEB-сервере Apache можно установить несколько WEB-сайтов. Эта функция сервера называется виртуальным хостингом. Ниже рассмотрим создание виртуальных узлов на основе имен. Виртуальные узлы обычно расположены в конце файла httpd.conf.

Сначала требуется указать какой IP-адрес используется для виртуальных хостов.
Код:
NameVirtualHost 127.0.0.1:80 
<VirtualHost 127.0.0.1:80> 
# Директивы виртуального хоста 
</VirtualHost>
Далее нужно прописать директивы для контейнера <VirtualHost>, которые будут определять конфигурацию виртуального хоста.

Файл httpd.conf. Контейнер <VirtualHost>
Код:
<VirtualHost 127.0.0.1:80> 
ServerAdmin webmaster@may_domain.ru 
DocumentRoot c:/www/mysite 
ServerName www.mysite.ru 
ServerAlias www.site.ru www.host2.ru 
ErrorLog logs/mysite-error.log 
CustomLog logs/mysite-access.log common 
</VirtualHost>
Рассмотрим директивы виртуального узла:
  • DocumentRoot указывает каталог, где расположены файлы (странички) данного виртуального узла (WEB-сайта)
  • ServerName указывает имя виртуального узла, по которому к нему можно обратиться. В данном случае, по адресу .
  • ServerAlias содержит псевдонимы имен виртуального узла. В данном случае к виртуальному узлу можно также обратиться, используя имена: и .
  • ErrorLog и CustomLog указывает имена логов сервера для этого виртуального хоста.
Контейнеры обычно располагают один за другим в конце файла httpd.conf.

Файл httpd.conf. Настройка виртуальных хостов

Код:
NameVirtualHost 127.0.0.1:80 
<VirtualHost 127.0.0.1:80> 
# Директивы виртуального хоста 1 
</VirtualHost> 
<VirtualHost 127.0.0.1:80> 
# Директивы виртуального хоста 2 
</VirtualHost> 
<VirtualHost 127.0.0.1:80> 
# Директивы виртуального хоста 3 
</VirtualHost>
Примечание: Для применения изменений, вносимых в файл httpd.conf, Apache следует перезагрузить.
Для того, чтобы обращаться к виртуальным узлам по именам их следует прописать в базы данных DNS-сервера. Если Вы используете Apache для тестирования файлов на локальной машине, то имена ваших виртуальных узлов следует прописать в файле hosts. Для Windows 2000 и XP он расположен в каталоге C:WindowSystem32Driversets. Файл hosts содержит записи вида:

Формат записей файла hosts

Код:
127.0.0.1	  www.mysite.ru 
127.0.0.1	  www.site.ru 
127.0.0.1	  www.host2.ru

Установка и настройка PHP

Для установки PHP следует создать каталог c:/php и разместить в нём файлы из zip-архива дистрибутива. После этого следует переименовать конфигурационный файл php.ini-dist в php.ini и скопировать его в директорию Windows.

Далее, необходимо сообщить Web-серверу о наличии установленного PHP. Установка PHP возможна двумя вариантами: как модуль Apache и как внешнее CGI-приложение. Ниже будут рассмотрены оба варианта установки.

Установка PHP в качестве модуля

Установка PHP в качестве модуля немного повышает быстродействие, так как модуль PHP загружается один раз при запуске Web-сервера

Замечание: При установке PHP в качестве модуля настройки из php.ini читаются один раз при запуске Web-сервера. Поэтому при внесении изменений в php.ini необходимо перегрузить Apache для того, чтобы внесенные изменения вступили в силу.

Для установки PHP откройте файл главный настроечный файл Apache httpd.conf на редактирование и удалите символы комментариев со следующих строк, при необходимости изменив их:

Файл httpd.conf. Подключение PHP как модуль Apache

Код:
AddType application/x-httpd-php phtml php 
LoadModule php5_module c:/php/php5apache2.dll
Примечание:Вместо директории c:/php подставьте Вашу директорию с установленным PHP.

Конфигурирование PHP (файл php.ini)

Так как на локальной машине вы, скорее всего, будете заняты тестированием Ваших Web-приложений, то необходимо должным образом настроить конфигурационный файл php.ini. Найдите директиву error_reporting и установите для неё следующее значение:

Код:
error_reporting = E_ALL & ~E_NOTICE
Это значение настроит PHP таким образом, что при работе PHP-скриптов будут отображаться все ошибки, а "замечания" будут игнорироваться. Так же обходимо проследить, чтобы директива display_errors, была включена:

Код:
display_errors = On
Если данная директива отключена (Off), то сообщения об ошибках не будут выводится в окно браузера и в случае возникновения в коде ошибки вы будете гадать перед девственно белым окном — что бы это означало.
Так же необходимо проследить, чтобы директива variables_order имела следующее значение:

Код:
variables_order = "EGPCS"
Буквы здесь означают следующее:
E - переменными среды
G - переменными передаваемыми по методу GET (G)
P - переменными передаваемыми по методу POST (P)
C - Cookies
S - сессии
Отсутствие какой-либо из букв не позволит вам работать с соответствующими переменными.

Следующая директива, которая может потребовать настройки – это register_globals. Если данная директива включена

Код:
register_globals = On
то переменные передаваемые метором GET, POST, через cookies и сессии можно использовать в PHP-скрипте, обращаясь к ним просто как обычным переменным $someone.
Если данная директива отключена

Код:
register_globals = Off
то к таким переменным можно будет обращаться только при помощи суперглобальных массивов ($_POST, $_GET и т.п.).
Директива register_long_arrays позволяет использовать суперглобальные массивы в старом формате ("длинном" - $HTTP_GET_VARS, $HTTP_POST_VARS и т.д.)

Код:
register_long_arrays = On
Теперь необходимо настроить индексный файл. Если в окне браузера набрать строку , а не . Сервер всё равно предоставит браузеру index.html, так как этот файл является индексным и ищется в директории первую очередь, если не указан конкретный файл. Теперь необходимо настроить http.conf, таким образом, чтобы Web-сервер Apache так же реагировал на файлы index.php. Для этого найдте в http.conf директиву DirectoryIndex и исправьте её следующим образом:

Код:
DirectoryIndex index.html index.html.var index.php
После этого необходимо перегрузить сервер Apache, а в корневой директории виртуального хоста ("C:/www/scripts") создать пробный файл PHP (index.php):

Код:
<?php 
phpinfo(); 
?>
В случае успешной настройки, обращение по адресу отобразит фиолетовую таблицу с текущими настройками PHP, которая выдаётся функцией phpinfo().
Таким образом, у нас настроена связка Apache и PHP и можно переходить к настройке MySQL. Распакуйте дистрибутив MySQL во временную директорию и запустите установщик. Контролировать работу сервера MySQL можно точно так же как и Apache, используя консоль управления сервисов Windows.

Подключение MySQL

Откройте на редактирование файл php.ini из каталога Windows. Для подключения библиотеки расширения MySQL Вам нужно убрать символ комментария ;(точка с запятой) из строки:

Код:
extension=php_mysql.dll
Также проверьте значение директивы extension_dir

Код:
extension_dir ="c:/php-5.0/ext"

Она должна указывать на каталог, где хранятся расширения PHP. Разделители каталогов рекомендуется писать в формате UNIX (/) — обратный слеш. Однако, если ничего не получается, просто откатите назад значение директивы extension_dir, а библиотеку php_mysql.dll скопируйте в корень C:/php-5.0/ - в большинстве случаев это должно помочь.

Если PHP Вас подключен как модуль, то Вам также необходимо скопировать библиотеку libmysql.dll из каталога с установленным PHP в системный каталог C:/Windows/System32. Чтобы внесенные изменения вступили в силу — перезагрузите Apache.

Для проверки работы MySQL перезапустите сервер Apache и создайте проверочный скрипт со следующим кодом:

Код:
<?php 
$dblocation = "127.0.0.1"; 
$dbname = "test"; 
$dbuser = "root"; 
$dbpasswd = ""; 

$dbcnx = @mysql_connect($dblocation, $dbuser, $dbpasswd); 
if (!$dbcnx) 
{ 
echo "<p>К сожалению, не доступен сервер mySQL</p>"; 
exit(); 
} 
if (!@mysql_select_db($dbname,$dbcnx) ) 
{ 
echo "<p>К сожалению, не доступна база данных</p>"; 
exit(); 
} 
$ver = mysql_query("SELECT VERSION()"); 
if(!$ver) 
{ 
echo "<p>Ошибка в запросе</p>"; 
exit(); 
} 
echo mysql_result($ver, 0); 
?>
В случае успешной интеграции MySQL в связку Apache и PHP, обращение к проверочному скрипту выведет в окно браузера версию сервера MySQL.

В новых версиях MySQL (начиная с 4.1.0) изменился порядок работы с национальными кодировками, поэтому старый код может вызывать появление в таблице базы данных знаков вопроса '????????' вместо русского текста. Для того, чтобы этого не возникало в начало PHP-скрипта, после установки соединения с базой данных, следует поместить следующие строки:

Код:
<?php 
mysql_query ("set character_set_client='cp1251'"); 
mysql_query ("set character_set_results='cp1251'"); 
mysql_query ("set collation_connection='cp1251_general_ci'"); 
?>
Установка расширений PHP

На последок вам возможно понадобится настроить некоторые расширения PHP, они настраиваются точно так же как и MySQL.

Так для того, чтобы подключить графическую библиотеку GDLib в php.ini необходимо раскомментировать строку:

Код:
extension=php_gd2.dll
Проверьте после этого наличие данной библиотеки в папке c:phpext. После внесения изменений в php.ini перезапустите сервер. Что бы быстро проверить: подключилась ли библиотека — выполните функцию phpinfo(). Если все в порядке, то в таблице, которая отображается функций phpinfo(), должен появится раздел "gd". Скачать GDLib2

Некоторые расширения требуют дополнительных библиотек. Так для того чтобы воспользоваться расширением PHP "Mcrypt Encryption", позволяющем осуществлять симметричное шифрование необходимо, во первых, расскомментирования строку в php.ini

Код:
extension=php_mcrypt.dll
А во вторых скопировать в папку С:/WINDOWS/ дополнительную библиотеку libmcrypt.dll

[color="#000000background#000000"]Архив с Apache2, PHP, MySQL и утилитой NivaCat 2005+Лекарство можно скачать <span class='inv'><![CDATA[<noindex>]]>[/color] </span>

Нород я не помню откуда взял эту статью, так что если это чьято сори, но она мне реально помогла... ;)
 
A

AlexKozlov

Ну хоть бы кто-то читал что человек пишет. Ошибка судя по всему в том что кто-то на 80/443 порту у него уже висит. И из-за этого денвер тоже нормально работать не будет. Вопрос в том как посмотреть что за зараза туда прописалась?

омогите настроить апач! PLEASE!!!!!
все сделал как написано в книге Котерова PHP4, но при запуске появляется надпись
"<OS 10048>" only one usage of each socket address <protocol/network address/port>
is normally permitted.: make_sock:could not bind to address0.0.0.80
no listening sockets available, shutting down
unable to open logs"
и в браузере не загружается страничка

P.S. Если используешь Skype - зайди в «Настройки -> Дополнительно -> Соединения» и убираем птичку с «Использовать порты 80 и 443 в качестве входящих альтернатив»
 
M

MEXAHIK

Сел изучать PHP поставил себе Apache и PHP 5 и столкнулся с тоже проблемой что и создатель темы " "<OS 10048>" only one usage of each socket address <protocol/network address/port> is normally permitted.: make_sock:could not bind to address0.0.0.80 no listening sockets available, shutting down unable to open logs" " почитал форум и
1) убрал настойку в скайпе;
2) внес изменения в файл httpd.conf :
в 45 строке изменил с #Listen 12.34.56.78:80 на Listen 127.0.0.1:80
в 46 с Listen 80 на #Listen 80
И вуаля все заработало, запустилась моя тестовая страница. Я не знаю может это вам и не поможет но мне помогло.
 
G

Guest

Я неделю - мучился, с аналогичными проблемами, копировал php5apache2_2.dll в директорию sys32, и всё понапрасну, из-за неоплошности, поэтому дорогие мои друзья , мой горячий совет - сохраняйте копии httpd.conf и php.ini (об этом советует и Vitolg 5_е сообщение ).
Мне например методом втыка(весь день промаялся за компом)- удалось настроить httpd.conf так чтобы запускался apache а затем чтобы как модуль apache запускался PHP, но за радостным мнговением последовали часы разочарований и это после того как изменил конфигурации httpd.conf и php.ini с тем что-бы проконектиться к MySql - а копии httpd.conf и php.ini не сохранил?!! - итог проконектиться к MySql не удалось а когда начал искать в чём препон - то обнаружил что к начальным версиям httpd.conf и php.ini мной успешно изменённым - мне не вернуться из-за глупости - я их не сохранил!!!
Так лучше не торопиться - а делать всё обдумано, последовательно - тогда не придётся терять драгоценное время там где этого можно было-бы избежать а за счёт сбережённого времени - пивка попить или кофейку, или я не прав?
В заключение проблему мне удалось решить когда изменил httpd.conf и php.ini перечитав кучу материала в том числе и на этом форуме, кстати скопированный мной php5apache2_2.dll в директорию sys32 я стёр - и всё равно PHP запускается, т.е. если можно не захламлять sys32 то надо так и поступить.
P.S. буду рад если мой комент кому-то поможет, Удачи!
 
V

vitolg

Свой ответ на данную тему я писал давно.. С тех пор уже не устанавливаю Apache + MySQL + PHP на винде, а работаю с линуксом. Но до сих пор помню, что особых проблем не возникает, если делать все не торопясь... Сохраняйте исходники (можно даже в другую папку)... Как вариант, ставте прослушивание не только 80 порта, но и 8080. В файле httpd.conf можете назначить порт любой, на котором будет Apache прослушивать... А вообще, очень много информации в самих конфигурационных файлах. Каждая строка описана на начинающего, для чего она нужна и какую функцию несет.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!