Назад | Перейти на главную страницу

Apache2 в Slackware: конфигурация VirtualHost - в соединении отказано на порту 8080

Я пытаюсь настроить виртуальные хосты на сервере Slackware и столкнулся с ошибкой.

Когда я перехожу на localhost или 127.0.0.1, я получаю:

Forbidden

You don't have permission to access / on this server.

Мне нужно завершить настройку WebApp на 8080. Когда я перехожу на localhost: 8080 или 127.0.0.1:8080, я получаю:

Unable to connect

          Firefox can't establish a connection to the server at 127.0.0.1:8080.

Некоторый контекст: мне нужно продублировать следующие инструкции для Debian / Ubuntu в Slackware и мне нужна помощь - так что вот версия Debian:

5. sudo ln -s /etc/koha/koha-httpd.conf /etc/apache2/sites-available/koha
6. sudo a2enmod rewrite deflate
7. sudo a2ensite koha && /etc/init.d/apache2 reload

На данный момент: мой httpd.conf (материалы LoadModule и комментарии не включены)

ServerRoot "/usr"
Listen 127.0.0.1:80
User apache
Group apache
ServerAdmin you@example.com
ServerName localhost:80
DocumentRoot "/srv/httpd/htdocs"
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>
<Directory "/srv/httpd/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride None
Order allow,deny
    Allow from all
</Directory>
<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>
<Directory "/srv/httpd/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>
DefaultType text/plain

Include /etc/httpd/extra/httpd-vhosts.conf
Include /etc/httpd/extra/httpd-default.conf

Я должен упомянуть это приложение CGI. Я добавил конфигурации apache приложений в /etc/httpd/extra/httpd-vhosts.conf (здесь комментарии удалены):

NameVirtualHost *:80
<VirtualHost *:80>
   ServerAdmin  webmaster@auction
   DocumentRoot /usr/share/koha/opac/htdocs
   ServerName localhost
   ScriptAlias /cgi-bin/koha/ "/usr/share/koha/opac/cgi-bin/opac/"
   ScriptAlias /index.html "/usr/share/koha/opac/cgi-bin/opac/opac-main.pl"
   ScriptAlias /opac-search.pl "/usr/share/koha/opac/cgi-bin/opac/opac-search.pl"
   ScriptAlias /search "/usr/share/koha/opac/cgi-bin/opac/opac-search.pl"
   ErrorLog /var/log/koha/koha-opac-error_log
   SetEnv KOHA_CONF "/etc/koha/koha-conf.xml"
   SetEnv PERL5LIB "/usr/share/koha/lib"
   <IfModule mod_gzip.c>
     mod_gzip_on yes
     mod_gzip_dechunk yes
     mod_gzip_keep_workfiles No
     mod_gzip_can_negotiate yes
     mod_gzip_update_static No
     mod_gzip_temp_dir /tmp
     mod_gzip_minimum_file_size 512
     mod_gzip_maximum_file_size 1000000
     mod_gzip_maximum_inmem_size 1000000
     mod_gzip_handle_methods GET POST
     mod_gzip_item_exclude reqheader "User-Agent: .*Mozilla/4\..*\["
     mod_gzip_item_exclude mime ^image/.*
     mod_gzip_item_exclude rspheader Content-Type:image/*
     mod_gzip_item_include file \.js$
     mod_gzip_item_include mime ^application/javascript$
     mod_gzip_item_include mime ^application/x-javascript$
     mod_gzip_item_include file \.php$
     mod_gzip_item_include mime ^text/html$
     mod_gzip_item_include file \.css$
     mod_gzip_item_include mime ^text/css$
  </IfModule>
  <IfModule mod_deflate.c>
    # Compress content with type html, text, and css, ...
    AddOutputFilterByType DEFLATE text/plain text/html text/xml text/css
    AddOutputFilterByType DEFLATE application/xml application/xhtml+xml application/rss+xml application/javascript application/x-javascript
    DeflateCompressionLevel 9
    # Properly handle old browsers that do not support compression
    BrowserMatch ^Mozilla/4 gzip-only-text/html
    BrowserMatch ^Mozilla/4\.0[678] no-gzip
    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
    DeflateFilterNote Input instream
    DeflateFilterNote Output outstream
    DeflateFilterNote Ratio ratio
    LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate
    <IfModule mod_headers.c>
       #properly handle requests coming from behind proxies
       Header append Vary User-Agent
    </IfModule>
  </IfModule>
   Options +FollowSymLinks
   ErrorDocument 400 /cgi-bin/koha/errors/400.pl
   ErrorDocument 401 /cgi-bin/koha/errors/401.pl
   ErrorDocument 403 /cgi-bin/koha/errors/403.pl
   ErrorDocument 404 /cgi-bin/koha/errors/404.pl
   ErrorDocument 500 /cgi-bin/koha/errors/500.pl
   RewriteEngine On
   RewriteCond %{QUERY_STRING} (.*?)(?:[A-Za-z0-9_-]+)=&(.*)
   RewriteRule (.+) $1?%1%2 [N,R,NE]
   RewriteRule ^/bib/([^\/]*)/?$ /cgi-bin/koha/opac-detail\.pl?bib=$1 [PT]
   RewriteRule ^/isbn/([^\/]*)/?$ /search?q=isbn:$1 [PT]
   RewriteRule ^/issn/([^\/]*)/?$ /search?q=issn:$1 [PT]
</VirtualHost>
<VirtualHost *:8080>
   ServerAdmin webmaster@auction
   DocumentRoot /usr/share/koha/intranet/htdocs
   ServerName localhost:8080
   ScriptAlias /cgi-bin/koha/ "/usr/share/koha/intranet/cgi-bin/"
   ScriptAlias /index.html "/usr/share/koha/intranet/cgi-bin/mainpage.pl"
   ScriptAlias /search "/usr/share/koha/intranet/cgi-bin/search.pl"
   ErrorLog /var/log/koha/koha-error_log
   SetEnv KOHA_CONF "/etc/koha/koha-conf.xml"
   SetEnv PERL5LIB "/usr/share/koha/lib"
   Options +FollowSymLinks
   ErrorDocument 400 /cgi-bin/koha/errors/400.pl
   ErrorDocument 401 /cgi-bin/koha/errors/401.pl
   ErrorDocument 403 /cgi-bin/koha/errors/403.pl
   ErrorDocument 404 /cgi-bin/koha/errors/404.pl
   ErrorDocument 500 /cgi-bin/koha/errors/500.pl
   <IfModule mod_gzip.c>
     mod_gzip_on yes
     mod_gzip_dechunk yes
     mod_gzip_keep_workfiles No
     mod_gzip_can_negotiate yes
     mod_gzip_update_static No
     mod_gzip_temp_dir /tmp
     mod_gzip_minimum_file_size 512
     mod_gzip_maximum_file_size 1000000
     mod_gzip_maximum_inmem_size 1000000
     mod_gzip_handle_methods GET POST
     mod_gzip_item_exclude reqheader "User-Agent: .*Mozilla/4\..*\["
     mod_gzip_item_exclude mime ^image/.*
     mod_gzip_item_exclude rspheader Content-Type:image/*
     mod_gzip_item_include file \.js$
     mod_gzip_item_include mime ^application/javascript$
     mod_gzip_item_include mime ^application/x-javascript$
     mod_gzip_item_include file \.php$
     mod_gzip_item_include mime ^text/html$
     mod_gzip_item_include file \.css$
     mod_gzip_item_include mime ^text/css$
   </IfModule>
   <IfModule mod_deflate.c>
     # Compress content with type html, text, and css, ...
     AddOutputFilterByType DEFLATE text/plain text/html text/xml text/css
     AddOutputFilterByType DEFLATE application/xml application/xhtml+xml application/rss+xml application/javascript application/x-javascript
     DeflateCompressionLevel 9
     # Properly handle old browsers that do not support compression
     BrowserMatch ^Mozilla/4 gzip-only-text/html
     BrowserMatch ^Mozilla/4\.0[678] no-gzip
     BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
     DeflateFilterNote Input instream
     DeflateFilterNote Output outstream
     DeflateFilterNote Ratio ratio
     LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate
     <IfModule mod_headers.c>
       #properly handle requests coming from behind proxies
       Header append Vary User-Agent
     </IfModule>
  </IfModule>
   RewriteEngine On    
   RewriteCond %{QUERY_STRING} (.*?)(?:[A-Za-z0-9_-]+)=&(.*)
   RewriteRule (.+) $1?%1%2 [N,R,NE]
   RewriteRule ^/bib/([^\/]*)/?$ /cgi-bin/koha/detail\.pl?bib=$1 [PT]
   RewriteRule ^/isbn/([^\/]*)/?$ /search?q=isbn:$1 [PT]
   RewriteRule ^/issn/([^\/]*)/?$ /search?q=issn:$1 [PT]
</VirtualHost>

Я пропустил здесь фундаментальную основу? Следует упомянуть, что модули deflate, rewrite и perl установлены и в инструкциях LoadModule.

Спасибо!

Бубнофф

ОБНОВЛЕНИЕ - с проблемой / вопросом

Во-первых, спасибо, Quanta, за вашу помощь. Я заподозрил проблему с разрешениями и добавил это в раздел каталога httpd.conf.

<Directory "/srv/httpd/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

Запрещено менять со всех на «разрешать от всех». Итак, теперь это работает, и я еще раз благодарю вас, однако, я только что совершил серьезную ложную защиту?

Запрещено

У вас нет разрешения на доступ к этому серверу.

Взгляните на журнал ошибок Apache, он расскажет вам более подробную информацию.

Обе. Публичная сторона - 80, сторона администратора / интрасети - 8080.

Для целей тестирования добавьте 2 имени хоста в /etc/hosts:

127.0.0.1 public.example.com
127.0.0.1 private.example.com

Изменить Listen из:

Listen 127.0.0.1:80

к

Listen 80
Listen 8080

Перезапустите Apache и убедитесь, что Apache прослушивает оба порта:

netstat -nlp | grep httpd

Удалите строку NameVirtualHost *:80

В <VirtualHost *:80>, изменение ServerName к public.example.com И в <VirtualHost *:8080>, изменение ServerName к private.example.com.

Перезапустите Apache и перейдите к http://public.example.com и http://private.example.com:8080 чтобы увидеть, что происходит.