1. Всем пользователям необходимо проверить работоспособность своего электронного почтового адреса. Для этого на, указанный в вашем профиле электронный адрес, в период с 14 по 18 июня, отправлено письмо. Вам необходимо проверить свою почту, возможно папку "спам". Если там есть письмо от нас, то можете не беспокоиться, в противном случае необходимо либо изменить адрес электронной почты в настройках профиля , либо если у вас электронная почта от компании "Интерсвязь" (@is74.ru) вы им долго не пользовались и хотите им пользоваться, позвоните в СТП по телефону 247-9-555 для активации вашего адреса электронной почты.
    Скрыть объявление

Настройка сервера Apache

Тема в разделе "Вебстроительство", создана пользователем CREATIVE0809, 3 апр 2007.

  1. CREATIVE0809

    CREATIVE0809

    Репутация:
    316
    CREATIVE0809, 3 апр 2007
    Понапрягавшись немного-немало 4 часа над ручной установкой и конфигурированием Apache под Windows решил открыть тему. Думаю много кто сталкивался и еще многие столкнутся с такой проблемой.

    Версия сервера, которую я ставил: apache_2.2.3-win32-x86-no_ssl.msi

    В начале все просто. Запускаем инсталятор и отвечаем на вопросы:
    Domain пишем любой типа home.ru
    Computer name если ip не зареген в DNS пишем 127.0.0.1 или localhost
    Admin.email любой

    Как и предложено лучше установить сервер как службу.

    Место установки из личных убеждений поставил C:/Apache2.2, ибо не люлю длинные пути в Program Files.(во всех примерах используется именно этот путь, его нужно будет заменить на реальный)
    Чтобы поменять путь нужно выбрать расширенный тип установки - Custom за место предложенного Complete.

    Далее все скопируется и проинсталится, и даже сразу запустится, что можно будет проверить любым браузером по адресу http://127.0.0.1.

    Вроде все круто, и все работает, но это не совсем так :)
    Переходим к файлу С:Apache2.2/conf/httpd.conf
    В первую очередь бекапим его.
    Затем правим строку
    DocumentRoot "C:/Apache2.2/htdocs"
    например на
    DocumentRoot "D:/Sites"
    здесь DocumentRoot - это путь к директории по умолчанию, т.е той которая будет отображаться по запросу http://127.0.0.1. Ну а так как я не храню документов на диске С, я указал директорию на диске D, в которой лежат все ХТМЛ-ы и ПХП скрипты моего Хоум-Пейджа.

    Далее для первоначального упрощения
    находим строки <Directory />...</Directory>
    и вместо
    <Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Satisfy all
    </Directory>
    переписываем их вот так:
    <Directory />
    Options Indexes Includes
    AllowOverride All
    </Directory>
    это описание любой директории по умолчанию.

    Строки <Directory "C:/Apache2.2/htdocs">...</Directory>
    оформляем так:
    <Directory "D:/Sites">
    Options Indexes Includes
    AllowOverride All
    Order allow,deny
    Allow from all
    </Directory>
    стоит отметить что это описание директории, соответствующей той что мы вписали в DocumentRoot, и их пути должны полностью совпадать.

    В блоке
    <IfModule dir_module>
    DirectoryIndex index.html
    </IfModule>
    дописываем, чтоб было например так:
    DirectoryIndex index.html index.htm index.php
    если нужно можно добавить index.shtml - это имена файлов, которые сервер будет искать в директории и открывать если браузер обращяется к директории без указания конкретного файла. Это же правило касается и главной DocumentRoot директории.

    Затем если хотите использовать запароленные файлы и папки вписываем строку
    AccessFileName .htaccess
    только вписывать ее надо за пределами каких-либо блоков (<..>..<../>)

    Если есть необходимость, а она в 99.9% есть, делаем так чтобы выполнялись PHP скрипты, для этого в конец файла вписываем
    AddType application/x-httpd-php3 phtml php3 php
    Action application/x-httpd-php3 "/__php_dir__/php.exe"
    ScriptAlias /__php_dir__/ "c:/usr/bin/php/"
    <Directory "c:/usr/bin/php">
    Options ExecCGI
    </Directory>

    здесь c:/usr/bin/php/ - путь к интерпретатору PHP, указывать нужно конечно же реальный путь. Его нужно скачать, установить и отдельно проконфигурировать :shuffle:

    Вот теперь то с чем я и возился очень долго: находим строки
    #EnableMMAP off
    #EnableSendfile off
    и убираем решетки-комменты
    EnableMMAP off
    EnableSendfile off
    Если не выключить эти директивы - некоторые файлы не хотят предаваться наглухо. Например Firefox пишет что ошибка в картинке и ее низя отобразтить.

    Ну и напоследок парочка полезных фич апача:
    в конец файла добавляем
    <Location /server-info>
    SetHandler server-info
    Order allow,deny
    # Allow access from server itself
    Allow from 127.0.0.1
    </Location>
    затем находим строку
    #LoadModule info_module modules/mod_info.so
    и снимаем с нее каммент
    LoadModule info_module modules/mod_info.so
    все это позволит по адресу http://127.0.0.1/server-info
    посмотреть конфигурацию и состояние сервера.

    Еще находим строку
    #Include conf/extra/httpd-manual.conf
    и также раскаментируем ее
    Include conf/extra/httpd-manual.conf
    это позволит по адресу http://127.0.0.1/manual
    пользоваться всеобъемлющим мануалом по Apach-у на английском языке

    Теперь рестартим сервер, с помощью иконки в трее и пробуем. Все должно работать.:crazy2:
     
    #1
  2. Hаmmer

    Hаmmer Ословед

    Репутация:
    3.365
    Hаmmer, 5 апр 2007
    CREATIVE0809, огросный респект за проделанную работу).

    Ещё советы:

    1). Выносим логи ошибок в отдельную папку:
    Для этого необходимо заменить строчки (из файла httpd.conf)
    ErrorLog logs/error.log
    CustomLog logs/access.log common

    на
    ErrorLog D:/logs/error.log
    CustomLog D:/logs/access.log common

    2). Повышаем безопасность сервака
    Добавляем в конец файла
    httpd.conf строчку
    ServerSignature Off
     
    #2
  3. Hаmmer

    Hаmmer Ословед

    Репутация:
    3.365
    Hаmmer, 5 апр 2007
    Внимание! В теме запрещено какое-либо обсуждение. Все сообщения не по теме будут безжалостно удаляться
     
    #3
  4. Hаmmer

    Hаmmer Ословед

    Репутация:
    3.365
    Hаmmer, 6 апр 2007
    Настройка Perl

    ed2k://|file|ActivePerl-5.8.8.819-MSWin32-x64-267479.zip|15441706|877CBF7CE674CE061D69A85E0EB1FCC1|/
    Скачиваем сам интерпретатор и устанавливаем.

    Далее:
    В конец файла httpd.conf дописываем путь:
    ScriptAlias /cgi-bin/ "D:/cgi-bin/"
    Где D:/cgi-bin/ - путь к вашей папке с CGI скриптами.

    Подобный параметр говорит Apache о том, что, если будет указан путь вида http://localhost/cgi-bin, то на самом деле следует обратиться к директории d:/cgi-bin.


    Теперь следует найти и настроить блок параметров, начинающийся с <Directory "d:/cgi-bin"> и заканчивающийся </Directory>. Это - установки для Вашей CGI-директории (если Вы установили для нее другое имя на предыдущем шаге, соответственно модифицируйте путь). Там должно быть:

    <Directory "d:/cgi-bin">
    AllowOverride All
    Options ExecCGI
    </Directory>

    Далее в конец файла пишем следующий параметр:
    AddHandler cgi-script .bat .exe

    Это говорит Apache о том, что файлы с расширением .exe и .bat нужно рассматривать как CGI-скрипты.

    Ну вот и всё по настройке Perl.


    Ещё парочка дельных советов:

    1). Если вы хотите поставить на сервер пхп5, то вам достаточно изменить:

    AddType application/x-httpd-php3 phtml php3 php
    Action application/x-httpd-php3 "/__php_dir__/php.exe"
    ScriptAlias /__php_dir__/ "c:/usr/bin/php/"
    <Directory "c:/usr/bin/php">
    Options ExecCGI
    </Directory>


    на:
    AddType application/x-httpd-php phtml php php
    Action application/x-httpd-php "/__php_dir__/php-cgi.exe"
    ScriptAlias /__php_dir__/ "d:/server/php5/"
    <Directory "d:/server/php5">
    Options ExecCGI
    </Directory>

    2). На PHP стоит ограничение на закачку файла. Для того, чтобы закачать файл по размеру больше 8 метров, то делаем следующее:

    в php.ini меняем следующие строки:

    post_max_size
    upload_max_filesize
    max_execution_time
    max_input_time
    memory_limit
    на
    post_max_size = 128M
    upload_max_filesize = 10000000M
    max_execution_time = 3000
    max_input_time = 6000
    memory_limit = 512M
     
    #4
  5. grid

    grid Ословед

    Репутация:
    187
    grid, 31 май 2007
    А информация о возможных настройках и функциях файла .htaccess есть?)
     
    #5
  6. MIC

    MIC Ословед

    Репутация:
    43
    MIC, 31 май 2007
    в этом файле используются те же директивы, что и в httpd.conf, но задаются для конкретной директории. читай ман по опачу
     
    #6
  7. реинсеркация

    реинсеркация Ословед

    Репутация:
    -81
    реинсеркация, 12 июн 2007
    Да не будет это оффтопом, но вопрос такой. Ставлю сервер,а он, собака такая, не хочет даже загружать http://localhost Вернее пытается что-то сделать, но минут 10 грузит, а на дальше меня уже не хватает и я его лопатой. В чем проблема? Вряд ли в конфигурации файла настроек, ведь загружать этот адрес он должен и с настройками по умолчанию. Излазил уже весь инет, сталкивался с описаниями подобных случаев, но решения так и не нашел. Как я понимаю отчасти это связано уже с самим компом, но где и как? Службы работают нормально, все пингуется, ставил самые разные версии, но один хрен. И есть ли альтернатива Apache?
     
    #7
  8. CREATIVE0809

    CREATIVE0809

    Репутация:
    316
    CREATIVE0809, 12 июн 2007
    Может быть 80-порт уже занят? Может файроволом прикрыт. Может быть винда кривая.
     
    #8
  9. MIC

    MIC Ословед

    Репутация:
    43
    MIC, 12 июн 2007
    именно грузит? когда севис запускаешь, посмотри в диспетчере задач что делают процессы Apache
     
    #9
  10. реинсеркация

    реинсеркация Ословед

    Репутация:
    -81
    реинсеркация, 12 июн 2007
    Сносил сервер, смотрел потом информацию о портах подключения - все нормально. Порт 80 занимается только после установки Apache. Файерволл у меня не включен. Посмотрел в диспетчере задач, ну фурычит - вот только у меня почему-то два процесса apache запускается - один грузит процессор(кстати, порой до 50-80 процентов - это нормально? ), а второй ничего не грузит, только оперативку кушает. Так и должно быть или вот тут собака и порылась?
    Кстати, пробывал вчера ночью и совершенно другие пакеты типа topserver, denwer, xampp - опять двадцать пять и при этом пишет, что у тебя, парень, все так удачно установилось, что прям здорово-)) А в ответ все равно тишина.
    Винду, ох, как не хочется сносить, я ее около месяца ставил со всякими настройками, отлаживал все процессы, там только программ на 20 Гб установлено-(( В общем, не дайте умереть.
    P.S. Мне сам apache то и не нужон, из-за него тормозится изучение php, perl и прочего, потому и спрашиваю об альтернативе.
     
    #10
  11. NIK

    NIK Ословед

    Репутация:
    495.847
    NIK, 12 июн 2007
    1. файл *:\*windir*\system32\drivers\etc\hosts проверял, localhost там прописан?
    2. со слэшами в конфигурационных файлах не напутал?
     
    #11
  12. реинсеркация

    реинсеркация Ословед

    Репутация:
    -81
    реинсеркация, 12 июн 2007
    Когда ставил первые разы, то смотрел, там все написано было.
    Сейчас же, когда поставил xampp, посмотрел - там только вот, что прописано
    127.0.0.1 тоже ничего не выдает, как впрочем и 127.0.0.1:80
     
    #12
  13. реинсеркация

    реинсеркация Ословед

    Репутация:
    -81
    реинсеркация, 12 июн 2007
    Вы таки не поверите, но результат аналогичен-)) Написал в логе
    Check update: failed
    Забавно, а в чем теоретически тогда проблема? То что в компе, это я уже понЯл.
    Есть еще один момент, когда я гружу сервер и пытаюсь зайти на форум, то даже форум не грузится, стоит же только вырубить загрузку сервака, как форум моментально загружается. Каким образом взаимосвязаны эти моменты?
     
    #13
  14. NIK

    NIK Ословед

    Репутация:
    495.847
    NIK, 12 июн 2007
    дак это он обновления не смог скачать, само собой если инета нет или не об этом речь?
     
    #14
  15. реинсеркация

    реинсеркация Ословед

    Репутация:
    -81
    реинсеркация, 12 июн 2007
    Да, речь не об этом, а о том, что тоже не запускает, хоть с инетом, хоть без него. Эх, ладно, спасибо за помощь, видимо пока не судьба, буду себя потихоньку настраивать на переустановку системы.
     
    #15
  16. -Phantom-

    -Phantom-

    Репутация:
    -142.087.234
  17. -Phantom-

    -Phantom-

    Репутация:
    -142.087.234
    -Phantom-, 12 июн 2007
    по каким-то неизветным причинам у меня отказывается работать Апач второй версии (2.0.х,2.2.х), при этом прекрасно работает 1.3.х
    чем это можно объяснить/исправить?
     
    #17
  18. Voodoo_74

    Voodoo_74 Guest

    Репутация:
    0
    Voodoo_74, 20 июн 2007
    Грамотная защита Web сервера Apache + MySQL

    В последнее время участились атаки "хакеров" на любительские форумы, использующие БД. Такие лёгкие атаки увенчались успехом из-за отсутсвия пароля пользователя root в MySQL. Пожалуй, это самая большая ошибка начинающего админа. А какие действия вы порекомендуете, дабы обезопасить веб-сервер ?
     
    #18
  19. De[M]oN

    De[M]oN Guest

    Репутация:
    0
    De[M]oN, 20 июн 2007
    1) Обновить версию AppServ (Apache MySql) до максимально новой.
    2) Удалить всех пользователей из БД которые не содержат хост localhost
    3) Запретит фаерволом входящие конекты с ипов 192.168. на порт 3306
    4) Удалить папки:
    c:\AppServ\www\appserv\
    c:\AppServ\www\phpmyadmin\
    c:\AppServ\www\cgi-bin\
    c:\AppServ\www\forum\install\
    И файл:
    c:\AppServ\www\mkportal\mk_install.php
    Если они конечно имеются.

    А так же всем у кого взломали сайт, определить кто это сделал и написать жалобу в СБ :spiteful:
    Или ко мне в ПС пишите, я собираю инфу о нехороших людях :to_keep_o
     
    #19
  20. Voodoo_74

    Voodoo_74 Guest

    Репутация:
    0
    Voodoo_74, 20 июн 2007
    Не ленитесь сделать хотябы раз в сутки копию базы данных.
    Запретите соединения на порт 3306 со сторонних хостов, кроме локалхоста. А на СБ не надейтксь, у них итак много работы...=(
     
    #20
Загрузка...