Não é possível obter o Apache2 funcionando

1

Eu já tinha instalado o Apache2 e agora, quando tentei executá-lo novamente, ele não funciona. Minhas configurações do Apache2 são:

jatin@jatin-ubuntu:/var/run$ apache2 -V
Server version: Apache/2.2.14 (Ubuntu)
Server built:   Nov 18 2010 21:17:19
Server's Module Magic Number: 20051115:23
Server loaded:  APR 1.3.8, APR-Util 1.3.9
Compiled using: APR 1.3.8, APR-Util 1.3.9
Architecture:   32-bit
Server MPM:     Prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT=""
 -D SUEXEC_BIN="/usr/lib/apache2/suexec"
 -D DEFAULT_PIDLOG="/var/run/apache2.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="/var/run/apache2/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types"
 -D SERVER_CONFIG_FILE="/etc/apache2/apache2.conf"

Quando faço isso, os seguintes erros aparecem:

jatin@jatin-ubuntu:/var/run$ httpd status
No command 'httpd' found, did you mean:
 Command 'dhttpd' from package 'dhttpd' (universe)
 Command 'xttpd' from package 'xtide' (universe)
 Command 'thttpd' from package 'thttpd' (universe)
httpd: command not found

Meu /etc/apache2/ports.conf se parece com:

# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gz

#NameVirtualHost *:80
Listen 80

#<IfModule mod_ssl.c>
    # If you add NameVirtualHost *:443 here, you will also have to change
    # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
    # to <VirtualHost *:443>
    # Server Name Indication for SSL named virtual hosts is currently not
    # supported by MSIE on Windows XP.
#    Listen 443
#</IfModule>

#<IfModule mod_gnutls.c>
#    Listen 443
#</IfModule>

Meu diretório sites-available tem esses dois arquivos:

jatin@jatin-ubuntu:/etc/apache2$ cd sites-available/
jatin@jatin-ubuntu:/etc/apache2/sites-available$ ls
default  default-ssl

Quando olho para o diretório sites-enabled , não tem nada:

jatin@jatin-ubuntu:/etc/apache2/sites-available$ cd ../sites-enabled/
jatin@jatin-ubuntu:/etc/apache2/sites-enabled$ ls

Meu arquivo /var/log/apache2/error.log mostra isso:

[Sat Mar 26 17:54:08 2011] [error] [client 127.0.0.1] File does not exist: /htdocs
[Sat Mar 26 17:54:15 2011] [error] [client 127.0.0.1] File does not exist: /htdocs
[Sat Mar 26 17:54:23 2011] [notice] caught SIGTERM, shutting down
[Sat Mar 26 17:54:26 2011] [notice] Apache/2.2.14 (Ubuntu) DAV/2 SVN/1.6.6 configured -- resuming normal operations

Eu li na Web que isso tem que fazer algo com a raiz do servidor não definida corretamente e, portanto, procura a pasta / htdocs.

PERGUNTAS:

  1. Por que o httpd status não mostra nada ??
  2. Tudo no meu arquivo ports.conf está correto? Eu tenho apenas uma linha descomentado para o Listen .
  3. Não deveria haver links sym para o padrão no diretório habilitado para sites ???
  4. Quando faço sudo /etc/init.d/apache2 restart/stop/start , tudo funciona bem, mas nada aparece quando abro http://localhost/ ou http://localhost:80/ ou http://localhost:8080/ ???
  5. O que é essa coisa com Raiz do Servidor e configuro-a correta ??
por Jatin Ganhotra 26.03.2011 / 13:34

2 respostas

2
  • Por que o status do httpd não mostra nada?

Porque você não tem httpd instalado. Talvez você quisesse dizer /etc/init.d/httpd status ? O comando equivalente em um sistema Ubuntu é /etc/init.d/apache2 status .

  • Está tudo no meu arquivo ports.conf correto?

Se você está indo apenas para executar um site, então deve estar ok. Se você quiser ter mais sites em execução como virtualhosts, você precisará remover o comentário da linha NameVirtualHost também.

  • Não deveria haver links sym para o padrão no diretório habilitado para sites?

Eles são criados quando você usa o comando a2ensite para ativar um site, por exemplo

a2ensite default

ativará o site padrão criando o link.

  • Quando eu faço sudo /etc/init.d/apache2 restart/stop/start tudo funciona bem ...

Olhando para as mensagens de erro em sua pergunta, elas indicam que você não está vendo nada. Você verá uma mensagem de erro 404 Not Found. Isso é causado porque você não tem sites ativados.

  • O que é essa coisa com Raiz do servidor e configurá-lo corretamente

Eu suspeito que você quer dizer DocumentRoot , se não houver o DocumentRoot configurado, então o Apache O padrão é / htdocs. Ative um site usando o comando acima e veja o que acontece. Você deve receber uma mensagem dizendo algo como " Funciona ..."

    
por 26.03.2011 / 17:38
1

Eu me lembro de algum serviço por algum tempo atrás reclamei e disse: "ei, isso não funcionará no futuro - você deve usar o serviço algo stop / start / restart"
Eu pensei que era o apache, mas quando eu corri:

sudo /etc/init.d/apache2 restart

Não deu essa mensagem de aviso hoje, mas acho que você também pode fazer

sudo service apache2 restart

Eu verificaria o / etc / apache2 / sites-available / default e verifique se a raiz do documento está definida como:

DocumentRoot /var/www

Você instalou o Apache usando tasksel ou durante a instalação?

    
por 26.03.2011 / 14:12