Xpoint
   [напомнить пароль]

понадобилось установить Apache, нужно полное руководство

Метки: [без меток]
[удл]
2019-02-09 21:12:24 [обр] German[досье]

нужно полное руководство по установке Apache

Вообще лет 10 назад я легко ставил Apache по памяти. Но долгое время мне это не было нужно.
И вот возникла такая необходимость.

Раньше скромненько озаглавленная статья простым языком спокойно излагала весь материал, кое-где давая разумные пояснения. Сегодня пышная преамбула — и два-три маловнятных совета. В моде видео. Чего там смотреть-то? Напиши, какие директивы поменять, что раскомментировать — и все.

И везде — подходы со странностями и строгими указаниями следовать их странностям неукоснительно

Так вроде все поставил в e:\apache
perl поставил e:\apache\usr, чтобы не редактировать шебанг при переносе файлов на хостинг.

Как дальше редактировать httpd.conf непонятно. Перл работает как редактор для виндовс, но файл не запускается через апача.

 [Sat Feb 09 20:14:11.055523 2019] [cgi:error] [pid 5780:tid 904] (OS 2)The system cannot find the file specified.  : [client 127.0.0.1:49271] couldn't create child process: 720002: printenv.pl
[Sat Feb 09 20:14:11.055523 2019] [cgi:error] [pid 5780:tid 904] (OS 2)The system cannot find the file specified.  : [client 127.0.0.1:49271] AH01223: couldn't spawn child process: E:/apache/cgi-bin/printenv.pl

Сервер вроде работает. Но я помню, что настроек 20-50 я точно делал. Сегодня нет рекомендаций. как это делать.
«Упакованные и совмещенные» системы "все в одном" я терпеть не могу, поскольку непонятно бывает где искать ошибку. Я ставлю все отдельно: и Апача и Перл и мускул и PHP.
Может есть где-то внгятные комплексные рекомендации по настройкам?

спустя 1 час 28 минут [обр] German[досье]

Попробую сделать свою просьбу более внятной.
Нужны просто копии файлов

  1. httpd.conf
  2. mime.types
  3. другие файлы, в которые вносятся изменения с целью конфигурирования Апача

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

Помогите, если есть такая возможность.

спустя 12 часов [обр] Евгений Седов aka KPbIC(8/187)[досье]
$ apachectl configtest А дальше уже зависит от того, что вы хотите от апача, вариантов настроек бесконечное множество. И уже чего-чего, а доки предостаточно: http://httpd.apache.org/docs/2.4/
спустя 36 минут [обр] German[досье]
сообщение промодерировано
Евгений[досье], спасибо большое. И не хочешь быть умным, но жизнь заставляет... :-) Буду разбираться. И документы, и инструменты теперь есть.
спустя 54 минуты [обр] German[досье]

apachectl у меня почему-то нет 2.4.38 Win64 version.
Искал в других версиях - тоже нет.

И документов не море, к сожалению. Не море — а океан. То есть предложено воспользоваться программой, которую попробуй найди. И предложено пол-года читать документацию, хотя мне нужна одна рабочая конфигурация. Ну только исполняемые файлы должны работать не только с cgi-bin, а повсюду. Но последнее — самое простое, это я сам найду за 5 минут.

Мне не нужно миллион конфигураций, мне нужно одну стандартную универсальную рабочую. Неужели одна конфигурация будет лишней на форуме. Я признателен конечно. Но ссылка на море документов зачем?
Тогда пишите: ищите в интернете, там все есть.

Там все есть, но зачем тогда форум?
Неужели нельзя одну конфигурацию выложить рабочую?

спустя 9 минут [обр] German[досье]
извините, за форму просьбы, думал почитаю часа 3 и решу все. Но там неделю надо читать. Помогите, пожалуйста, мне не надо становиться мастером, мне нужно один раз настроить, оно потом года два проработает без проблем малейших
спустя 1 час 33 минуты [обр] Евгений Седов aka KPbIC(8/187)[досье]
apachectl у меня почему-то нет 2.4.38 Win64 version

httpd -t

Пропишите в конфиге хост и порт, раскомментируйте загрузку модуля cgi (если в 2019 году вы до сих пор его юзаете).

спустя 43 минуты [обр] German[досье]

спасибо. Сейчас буду смотреть
Модуль CGI не знаю, наверно по умолчанию раньше включено было, я не разбирался никогда в том, что меня не касается непосредственно. Perl я использую и мускул, иногда из директории cgi

httpd -t аналог apachectl

Это аналог, как я понял, для версий 2.4.хх++ ?
PS: Сделайте мне замечание, если я в этике формного общения неправильная турбулентность... Я бесконечно ценю этот форум, и не хочу попасть на бан.

спустя 29 минут [обр] German[досье]
httpd -t результат Syntax OK

это пока всё удовольствие, которое мне удалось получить

http://localhost => It works!
http://localhost/cgi-bin/printenv.pl => Internal Server Error ... ... ...
access.log  => ::1 - - [10/Feb/2019:15:27:24 +0300] "GET /cgi-bin/printenv.pl HTTP/1.1" 500 530
error.log  => [Sun Feb 10 15:27:24.860231 2019] [cgi:error] [pid 1076:tid 696] (OS 2)The system cannot find the file specified.  : [client ::1:58369] AH01223: log  =>couldn't spawn child process: E:/apache/cgi-bin/printenv.pl
httpd.conf  => LoadModule cgi_module modules/mod_cgi.so

Стоит на прежнем месте процесс, к сожалению. Пытаюсь искать описание конфигурации 10 летней давности. Раньше вроде дело писали

спустя 56 минут [обр] Евгений Седов aka KPbIC(8/187)[досье]
Настройте директиву AddHandler cgi-script ... и проверьте shabang.
спустя 2 часа 3 минуты [обр] German[досье]
#!/usr/bin/perl #----shebang
AddHandler cgi-script .pl .cgi .bat .exe

Define SRVROOT "e:/apache" # так север рут задаётся по умолчанию, читает он это дело
ServerRoot "${SRVROOT}"

AddHandler .pl и ничего более тоже включал

Еще обычный хост на виртуальный переправил
Но виртуальные хосты задаются в отдельном файле, и не вполне внятно

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "${SRVROOT}/docs/dummy-host.example.com"
    ServerName dummy-host.example.com
    ServerAlias www.dummy-host.example.com
    ErrorLog "logs/dummy-host.example.com-error.log"
    CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>

Но пока не до виртуальных... реальный ни один не срабатывает как надо в cgi директории
Еще буду искать, старые не нужны, а новенькие несут такую околесицу, что даже мне противно. Очень много мусора от менеджеров сайтов.

спустя 42 минуты [обр] Евгений Седов aka KPbIC(8/187)[досье]
В скрипте поставьте правильный shabang. Где у вас там в винде перл стоит?
спустя 27 минут [обр] German[досье]
место исполняемого файла  e:\apache\usr\bin\perl.exe
Define SRVROOT "e:/apache" # из httpd.conf
#!/usr/bin/perl #----shebang из первой строки перл
я могу переставить Perl куда угодно, чтобы сохранить вид shebang такой как у провайдера хостинга.
... но для пробы готов менять шабанг на что угодно
Может надо Define SRVROOT "e:/apache/" с закрывающим slash? Но шебанг начинается с закрывающего слэша...
спустя 1 час 3 минуты [обр] Евгений Седов aka KPbIC(8/187)[досье]
сообщение промодерировано
Замените shabang на #!e:\apache\usr\bin\perl.exe
спустя 28 минут [обр] German[досье]

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

Правил все подряд. 9/10 рекомендаций из сети полуневменяемые. Или надо читать и разбираться месяц с первоисточником. Месяца у меня нет. От шебанга поведение файла никак не меняется — непосредственно на сайте распечатывается содержимое. В cgi-bin ошибка. Виртуальные хосты вроде заработали, но перестали работать после очередной переустановки.

В общем буду искать дальше, альтернативы нет. Спасибо!

спустя 6 минут [обр] German[досье]

Вообще у меня годами работал апач 1, потом апач 2 — и работал именно с таким шебангом

#!/usr/bin/perl  #----shebang

Годами работало на виндусе, сотни файлов для разных сайтов — всегда с приведенным выше шебангом. И соединение с базой данных и формы, и просто распечатка содержимого базы данных в основной директории сайта (не в CGI)

Десяток переустановок работал этот шебанг #!/usr/bin/perl Десятки тысяч раз правильно срабатывыл. И с маленькими файлами и с длинными и с чем угодно

спустя 40 минут [обр] German[досье]
apache_2.2.11-win32-x86-openssl-0.9.8i.msi
apache_2.2.14-win32-x86-openssl-0.9.8k.msi
Наверно старый апач надо ставить? Этот какой-то порченный. Не зря к нему даже инсталлятора делать не стали. Или он только для линуха, или вовсе что-то перемудрили?
спустя 40 минут [обр] Евгений Седов aka KPbIC(8/187)[досье]
Покажите скрипт, предварительно приведенный к минимальному виду, и логи.
спустя 47 минут [обр] German[досье]

Сработал скрипт из cgi-bin
У меня всегда раньше скрипт стоял немного криво, и всегда работал
А на этот раз стоял как надо — и не работал ни в какую!

#!/usr/bin/perl
use strict;
use warnings;
print "Content-type: text/plain;\n\n";
foreach my $var (sort(keys(%ENV))) { my $val = $ENV{$var};
    $val =~ s|\n|\\n|g;
    $val =~ s|"|\\"|g;
    print "${var}=\"${val}\"\n"; }

Правда работает только в cgi-bin — а в стандартной директории для всех файлов просто распечатывается. ВОТ ДВЕ ВЕРСИИ УСТАНОВКИ :

место исполняемого файла  e:\apache\usr\bin\perl.exe (ЗДЕСЬ НИ РАБОТАЛО НИ В КАКУЮ)
место исполняемого теперь  e:\usr\bin\perl.exe (так как стояло всегда, и как срабатывает, наконец, ШЕБАНГ #!/usr/bin/perl)

Версию Апача наверно переставлю, так как нет времени разобраться в нововведениях. Но все заработало:
печатает, наконец:

COMSPEC="C:\Windows\system32\cmd.exe"
CONTEXT_DOCUMENT_ROOT="e:/apache/cgi-bin/"
CONTEXT_PREFIX="/cgi-bin/"
DOCUMENT_ROOT="E:/apache/htdocs"
GATEWAY_INTERFACE="CGI/1.1"
HTTP_ACCEPT="text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"
HTTP_ACCEPT_ENCODING="gzip, deflate, br"
HTTP_ACCEPT_LANGUAGE="en-GB,en-US;q=0.9,en;q=0.8"
HTTP_CONNECTION="keep-alive"
HTTP_HOST="localhost" ... ... ... оборвал файл, а то много там
спустя 1 час 11 минут [обр] Евгений Седов aka KPbIC(8/187)[досье]
Посмотрите в конфиге разрешено ли для диры исполнение CGI: http://httpd.apache.org/docs/2.4/mod/core.html#options
спустя 9 часов [обр] German[досье]

http://xpoint.ru/user/10002, спасибо

<Directory "${SRVROOT}/htdocs">
Options Indexes FollowSymLinks ExecCGI
AllowOverride None
Require all granted
</Directory>

Распечатывается содержимое в директории, исполнятся пока не хочет. Жалко новую версию бросать, она как-то стройнее, логичнее что ли... попробую ее помучать.

спустя 32 минуты [обр] German[досье]
AddHandler cgi-script .cgi .pl .shtml
это у меня было закомментировано. Раскомментировал, теперь работает
Еще раз признателен
спустя 3 часа 41 минуту [обр] German[досье]

теперь виртуальные хосты не настраиваются
Точнее все работает, включая запуск скрипта из директории www
а из cgi не запускается
E:\apache\home\mysite\cgi вот один из сайтов виртуальных, cgi-bin
Not Found /n The requested URL /cgi-bin/pe.pl was not found on this server.

Конфигурация:

<VirtualHost *:80>
    ServerAdmin german@itkm.ru
    DocumentRoot "${SRVROOT}/home/mysite/www"
    ServerName mysite
    #ServerAlias mysite
ScriptAlias "mysite/cgi-bin/" "${SRVROOT}/home/mysite/cgi"
    <Directory "mysite/cgi-bin/">
     AllowOverride None
     Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
     Order allow,deny
     Allow from all
    </Directory>
    ScriptAlias /cgi-bin/ "${SRVROOT}/home/mysite/cgi"
    ErrorLog "${SRVROOT}/home/mysite/www/mysiteErrors.log"
    CustomLog "${SRVROOT}/home/mysite/www/mysiteaccess.log" common
</VirtualHost>

Где-то ошибаюсьЮ да и видно, что ошибаюсь. Но что исправлять не знаю

спустя 2 часа 35 минут [обр] Евгений Седов aka KPbIC(8/187)[досье]
German[досье] Одна тема — один вопрос.
спустя 20 минут [обр] German[досье]
да, спасибо огромное.
но хороший апач новый. Еще покопаюсь, может придется еще тему создавать... Самому не настроить
Powered by POEM™ Engine Copyright © 2002-2005