127.0.0.1!==localhost:(

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Gogi2008
Сообщения: 11

127.0.0.1!==localhost:(

Сообщение Gogi2008 »

Добрый день.
Постараюсь, что бы вы мне объяснили, в чем же ошибка.
Итак, установил LAMP, в результате случилась ошибка, пришлось всы переустановить.

Но после этого что бы я уже не удалял теперь apache при localhost возвращает мне phtml файл как текстовый, внутри которого находиться исходный код php-сценариц.
Но если же я укажу 127.0.0.1 - то ведёт куда нужно.
То есть, такое чувство, что localhost ведёт меня на файл, который апачем не обрабатывается.
В продолжение парадокса.
При полном удалении apache localhost всё равно ведёт в ту папку /home/akdmeh/public_html/
и изменить это не удается.

Возможно, я плохо объяснил(уже 6 часов ищу проблему, уже с ума схожу), но спрашивайте, возможно, вы встречались со случаем, когда localhost ведёт в одну и ту же папку, игнорируя apache:(
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: 127.0.0.1!==localhost:(

Сообщение Ленивая Бестолочь »

Gogi2008 писал(а):
24.06.2009 01:05
Возможно, я плохо объяснил

это точно.
объясните нормально, пожалуйста.

Gogi2008 писал(а):
24.06.2009 01:05
Итак, установил LAMP, в результате случилась ошибка, пришлось всы переустановить.

это имеет отношение к вашей проблеме?
если да, то поподробней про "случилась ошибка"

Gogi2008 писал(а):
24.06.2009 01:05
Но после этого что бы я уже не удалял

Что за мания все удалять?
Вы вообще чего хотите добиться в итоге то?

Gogi2008 писал(а):
24.06.2009 01:05
localhost возвращает мне phtml файл как текстовый, внутри которого находиться исходный код php-сценариц.

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

Gogi2008 писал(а):
24.06.2009 01:05
Но если же я укажу 127.0.0.1 - то ведёт куда нужно.

куда ведет?
только что речь шла о том, что код не исполняется.

Gogi2008 писал(а):
24.06.2009 01:05
При полном удалении apache localhost всё равно ведёт в ту папку

тоесть вы удаляете веб сервер, но он продолжает у вас работать?
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
Gogi2008
Сообщения: 11

Re: 127.0.0.1!==localhost:(

Сообщение Gogi2008 »

Попробую на свежую голову:)
Проблема следующая.
/etc/hosts:

Код: Выделить всё

127.0.0.1    localhost akdmeh-desktop catycore phpmyadmin
# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts


/etc/apache2/apache2.conf без изменений;
ports.conf:

Код: Выделить всё

NameVirtualHost 127.0.0.1:80
Listen 80

<IfModule mod_ssl.c>
    # SSL name based virtual hosts are not yet supported, therefore no
    # NameVirtualHost statement here
    Listen 443
</IfModule>

httpd.conf пуст.

В sites-enable прописан только один дефолтный сайт:

Код: Выделить всё

<VirtualHost 127.0.0.1:80>
    ServerAdmin webmaster@localhost
    ServerName localhost
    DocumentRoot /home/akdmeh/public_html/
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /home/akdmeh/public_html/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog /var/log/apache2/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>


В пути /home/akdmeh/public_html/index.php находиться <?php phpinfo(); ?>

А теперь собственно проблема:
Что я сделал неправильно?
http://127.0.0.1 возвращает результат функции phpinfo()
http://localhost возвращает файл_со_случайнй_именем.phtml , в котором храниться исходный код страницы.

Где я ошибся - я уж даже не знаю где искать.
Спасибо сказали:
Аватара пользователя
komcumir
Сообщения: 273
ОС: Alt 5.0

Re: 127.0.0.1!==localhost:(

Сообщение komcumir »

Код: Выделить всё

::1     localhost ip6-localhost ip6-loopback

не в этом ли проблема?
Спасибо сказали:
Gogi2008
Сообщения: 11

Re: 127.0.0.1!==localhost:(

Сообщение Gogi2008 »

Закомментировал. Не в этом:(

Также при перезагрузке апача есть подобная вещь:

Код: Выделить всё

 * Restarting web server apache2
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
 ... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
Спасибо сказали:
Gogi2008
Сообщения: 11

Re: 127.0.0.1!==localhost:(

Сообщение Gogi2008 »

Кажется, всё немного прояснилось.
Что-то блокирует localhost...
в httpd.conf прописал
ServerName localhost

Если вводить catycore например, то работает как надо.
Но localhost ни в какую...
Спасибо сказали:
Gogi2008
Сообщения: 11

Re: 127.0.0.1!==localhost:(

Сообщение Gogi2008 »

Наконец понял.
lochost работает.
catycore работает.
Но localhost блокируется и не ведёт куда нужно.
При входе локалхост чувство, что что-то перехвачивает этот localhost и сразу отдаёт файл, в обход апачу.

Но что это делает - не знаю:(
Спасибо сказали:
KernelPanic
Бывший модератор
Сообщения: 2060
Статус: Brain Атаке
ОС: Debian squeeze/sid/exp

Re: 127.0.0.1!==localhost:(

Сообщение KernelPanic »

Gogi2008 писал(а):
24.06.2009 11:33
Но localhost блокируется и не ведёт куда нужно.
А Вы его куда настроили?
Ошибка при запуске апача говорит Вам, что у Вас не прописан дефолтный ServerName в настройках. Начните с пустого httpd.conf, в котором настройте дефолтное имя сервера и некоторые настройки.
К примеру вот Вам мой настроечный файл httpd.conf с комментариями на инглише:

Код: Выделить всё

# 'Main' server configuration
#
# The directives in this section set up the values used by the 'main'
# server, which responds to any requests that aren't handled by a
# <VirtualHost> definition.  These values also provide defaults for
# any <VirtualHost> containers you may define later in the file.
#
# All of these directives may appear inside <VirtualHost> containers,
# in which case these default settings will be overridden for the
# virtual host being defined.
#

#
# ServerAdmin: Your address, where problems with the server should be
# e-mailed.  This address appears on some server-generated pages, such
# as error documents.  e.g. admin@your-domain.com
#
ServerAdmin webmaster@localhost

#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
ServerName localhost:80

#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/home/www/localhost/www"

#
# Each directory to which Apache has access can be configured with respect
# to which services and features are allowed and/or disabled in that
# directory (and its subdirectories).
#
# First, we configure the "default" to be a very restrictive set of
# features.
#
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Satisfy all
</Directory>

#
# Note that from this point forward you must specifically allow
# particular features to be enabled - so if something's not working as
# you might expect, make sure that you have specifically enabled it
# below.
#

#
# This should be changed to whatever you set DocumentRoot to.
#
# My Preferences
#
<Directory "/home/www">
    #Options -Indexes Includes FollowSymLinks
    Options -Indexes Includes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

#
# "C:/Server/Apache/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "/home/www/localhost/cgi">
    AllowOverride None
    Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
</Directory>

В нем прописан ServerName == localhost. Также указан дефолтный "корень документов" (DocumentRoot) == /home/www/localhost/www
После чего прописаны запреты на корень /
Далее прописаны разрешения на папку /home/www - в этой папке валяются все сайты (в своих подпапках).

После создания данного настроечного файла я переписываю файл виртуальных хостов sites-available/default примерно в такой вид:

Код: Выделить всё

NameVirtualHost *:80

<VirtualHost *:80>

    # Server main info
    DocumentRoot    /home/www/localhost/www
    ServerName    localhost
    ScriptAlias     /cgi/        /home/www/localhost/cgi/
    ScriptAlias     /cgi-bin/    /home/www/localhost/cgi/

    # Aliases to my sites
    Alias        /pma        /home/www/localhost/www/phpmyadmin
    Alias        /phpdoc        /home/www/PhpDocumentor

    # Errorlog file
    ErrorLog    /home/www/localhost/error.log
</VirtualHost>

<VirtualHost *:80>

    # Server main info
    DocumentRoot    /home/www/proba
    ServerName    proba.info
</VirtualHost>

При этом строчку NameVirtualHost в файле ports.conf комментирую, так как она у меня прописана в sites-available/default.
Не забудьте в файле conf.d/charset закомментировать строчку AddDefaultCharset.
Спасибо сказали: