# Apache , yet another stupid config problem [SOLVED]

## einstein1981

Ok, before you say RTFM, please bear with me. I've been working 20 hours nonstop, and can't find the answer i'm looking for.

Don't really understand why this is happening but here it goes ( not my first LAMP install...)

Ok, installed mysql, php and apache, configed so that the php module is loaded with apache, configued so that users can have their public html directory in their home dir. 

now I start apache, and try :

http://localhost:9090

( yes my server is listening on the 9090 port.

this should go to the /etc/www/localhost/htdocs/index and open.

but it doesn't.

so I figure hey it's my first install including the ~/public_html thing.. so It might only work there.. but no.

http://localhost:9090/~charz/index.php ( which I created just to try) gives me the same::

Not found on server.

thanks for bearing with me...

charz

----------

## martoni

 *einstein1981 wrote:*   

> 
> 
> this should go to the /etc/www/localhost/htdocs/index and open.
> 
> 

 

You sure about that? Mine's /var/www/...

Also the apache log files may give you more info on why it doesn't find stuff.

Also you say ~public_html in one place and htdocs in another. Is that a source of confusion in the config files?

----------

## stickboy2642

Look in /var/log/apache2/error_log.  It should tell you exactly where it thinks the file should be found and is not finding it.  Then you can adjust your config files from there.  If that doesn't give you any more information, you might want to post your config here so we can take a look.

----------

## The Mad Crapper

did you include "-D USERDIR" in /etc/conf.d/apache2?

i remember beating my head in trying to get user dirs to work... thats all it took.

----------

## einstein1981

You are right, it is /var/www.... and not /etc/www...

Told you I was tired.

anyways, thanks for the replies.

here is the latest acces_log:

```
  GNU nano 1.3.7             File: access_log

90.0.0.1 - - [10/Feb/2006:01:05:40 -0400] "GET /~charz/index.php HTTP/1.1" 404 $90.0.0.1 - - [10/Feb/2006:01:05:40 -0400] "GET /favicon.ico HTTP/1.1" 404 280

90.0.0.1 - - [10/Feb/2006:01:05:42 -0400] "HEAD /~charz/index.php HTTP/1.1" 404$90.0.0.1 - - [10/Feb/2006:01:06:52 -0400] "GET / HTTP/1.1" 404 269

90.0.0.1 - - [10/Feb/2006:01:06:52 -0400] "GET /favicon.ico HTTP/1.1" 404 280

90.0.0.1 - - [10/Feb/2006:01:07:47 -0400] "GET / HTTP/1.1" 404 269

90.0.0.1 - - [10/Feb/2006:01:07:47 -0400] "GET /favicon.ico HTTP/1.1" 404 280

90.0.0.1 - - [10/Feb/2006:01:07:49 -0400] "GET / HTTP/1.1" 404 269

90.0.0.1 - - [10/Feb/2006:01:07:49 -0400] "GET /favicon.ico HTTP/1.1" 404 280

127.0.0.1 - - [10/Feb/2006:01:07:56 -0400] "GET / HTTP/1.1" 404 259

127.0.0.1 - - [10/Feb/2006:01:07:56 -0400] "GET /favicon.ico HTTP/1.1" 404 270

127.0.0.1 - - [10/Feb/2006:01:08:06 -0400] "GET /~charz HTTP/1.1" 404 265

127.0.0.1 - - [10/Feb/2006:01:08:06 -0400] "GET /favicon.ico HTTP/1.1" 404 270

127.0.0.1 - - [10/Feb/2006:13:37:08 -0400] "GET / HTTP/1.1" 404 259

127.0.0.1 - - [10/Feb/2006:13:37:08 -0400] "GET /favicon.ico HTTP/1.1" 404 270

```

and error_log:

```
  GNU nano 1.3.7                                       File: error_log

[Fri Feb 10 00:58:59 2006] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec2)

[Fri Feb 10 00:58:59 2006] [notice] Digest: generating secret for digest authentication ...

[Fri Feb 10 00:58:59 2006] [notice] Digest: done

[Fri Feb 10 00:58:59 2006] [notice] Apache configured -- resuming normal operations

[Fri Feb 10 00:59:30 2006] [error] [client 90.0.0.1] File does not exist: /usr/htdocs

[Fri Feb 10 00:59:30 2006] [error] [client 90.0.0.1] File does not exist: /usr/htdocs

[Fri Feb 10 00:59:42 2006] [error] [client 127.0.0.1] File does not exist: /usr/htdocs

[Fri Feb 10 00:59:42 2006] [error] [client 127.0.0.1] File does not exist: /usr/htdocs

[Fri Feb 10 01:04:16 2006] [error] [client 127.0.0.1] File does not exist: /usr/htdocs

[Fri Feb 10 01:04:17 2006] [error] [client 127.0.0.1] File does not exist: /usr/htdocs

[Fri Feb 10 01:04:37 2006] [error] [client 90.0.0.1] File does not exist: /usr/htdocs

[Fri Feb 10 01:04:37 2006] [error] [client 90.0.0.1] File does not exist: /usr/htdocs

[Fri Feb 10 01:04:59 2006] [notice] caught SIGTERM, shutting down

[Fri Feb 10 01:05:01 2006] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec2)

[Fri Feb 10 01:05:01 2006] [notice] Digest: generating secret for digest authentication ...

[Fri Feb 10 01:05:01 2006] [notice] Digest: done

[Fri Feb 10 01:05:01 2006] [notice] Apache configured -- resuming normal operations

[Fri Feb 10 01:05:04 2006] [error] [client 90.0.0.1] File does not exist: /usr/htdocs

[Fri Feb 10 01:05:04 2006] [error] [client 90.0.0.1] File does not exist: /usr/htdocs

[Fri Feb 10 01:05:06 2006] [error] [client 90.0.0.1] File does not exist: /usr/htdocs

[Fri Feb 10 01:05:07 2006] [error] [client 90.0.0.1] File does not exist: /usr/htdocs

[Fri Feb 10 01:05:21 2006] [error] [client 90.0.0.1] File does not exist: /usr/htdocs

[Fri Feb 10 01:05:21 2006] [error] [client 90.0.0.1] File does not exist: /usr/htdocs

[Fri Feb 10 01:05:25 2006] [error] [client 90.0.0.1] File does not exist: /usr/htdocs

[Fri Feb 10 01:05:26 2006] [error] [client 90.0.0.1] File does not exist: /usr/htdocs

[Fri Feb 10 01:05:39 2006] [error] [client 90.0.0.1] File does not exist: /usr/htdocs

[Fri Feb 10 01:05:39 2006] [error] [client 90.0.0.1] File does not exist: /usr/htdocs

[Fri Feb 10 01:05:40 2006] [error] [client 90.0.0.1] File does not exist: /usr/htdocs

[Fri Feb 10 01:05:40 2006] [error] [client 90.0.0.1] File does not exist: /usr/htdocs

[Fri Feb 10 01:05:42 2006] [error] [client 90.0.0.1] File does not exist: /usr/htdocs

[Fri Feb 10 01:06:52 2006] [error] [client 90.0.0.1] File does not exist: /usr/htdocs

[Fri Feb 10 01:06:52 2006] [error] [client 90.0.0.1] File does not exist: /usr/htdocs

[Fri Feb 10 01:07:43 2006] [notice] caught SIGTERM, shutting down

[Fri Feb 10 01:07:44 2006] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec2)

[Fri Feb 10 01:07:44 2006] [notice] Digest: generating secret for digest authentication ...

[Fri Feb 10 01:07:44 2006] [notice] Digest: done

[Fri Feb 10 01:07:45 2006] [notice] Apache configured -- resuming normal operations

[Fri Feb 10 01:07:47 2006] [error] [client 90.0.0.1] File does not exist: /usr/htdocs

[Fri Feb 10 01:07:47 2006] [error] [client 90.0.0.1] File does not exist: /usr/htdocs

[Fri Feb 10 01:07:49 2006] [error] [client 90.0.0.1] File does not exist: /usr/htdocs

[Fri Feb 10 01:07:49 2006] [error] [client 90.0.0.1] File does not exist: /usr/htdocs

[Fri Feb 10 01:07:56 2006] [error] [client 127.0.0.1] File does not exist: /usr/htdocs

[Fri Feb 10 01:07:56 2006] [error] [client 127.0.0.1] File does not exist: /usr/htdocs

[Fri Feb 10 01:08:06 2006] [error] [client 127.0.0.1] File does not exist: /usr/htdocs

[Fri Feb 10 01:08:06 2006] [error] [client 127.0.0.1] File does not exist: /usr/htdocs

[Fri Feb 10 01:20:06 2006] [notice] caught SIGTERM, shutting down

[Fri Feb 10 13:35:47 2006] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec2)

[Fri Feb 10 13:35:47 2006] [notice] Digest: generating secret for digest authentication ...

[Fri Feb 10 13:35:47 2006] [notice] Digest: done

```

now, just for the fun of it, let me post the httpd.conf without the comments.. 

```
ServerRoot "/usr/lib/apache2"

<IfModule !perchild.c>

    #ScoreBoardFile /var/run/apache2_runtime_status

</IfModule>

PidFile "/var/run/apache2.pid"

Timeout 300

KeepAlive On

MaxKeepAliveRequests 100

KeepAliveTimeout 15

<IfModule prefork.c>

    StartServers         5

    MinSpareServers      5

    MaxSpareServers     10

    MaxClients         150

    MaxRequestsPerChild  0

</IfModule>

<IfModule worker.c>

    StartServers         2

    MaxClients         150

    MinSpareThreads     25

    MaxSpareThreads     75 

    ThreadsPerChild     25

    MaxRequestsPerChild  0

</IfModule>

<IfModule perchild.c>

    NumServers           5

    StartThreads         5

    MinSpareThreads      5

    MaxSpareThreads     10

    MaxThreadsPerChild  20

    MaxRequestsPerChild  0

</IfModule>

<IfModule peruser.c>

    ServerLimit          256

    MaxClients           256

    MinSpareProcessors     2

    MaxProcessors         10

    MaxRequestsPerChild 1000

    

    # kill off idle processors after this many seconds

    # set to 0 to disable

    ExpireTimeout       1800

    

    Multiplexer nobody nobody

    

    Processor apache apache

    

    # chroot dir is optional:

    # Processor user group /path/to/chroot

</IfModule>

Listen 9090

LoadModule access_module                 modules/mod_access.so

LoadModule auth_module                   modules/mod_auth.so

LoadModule auth_anon_module              modules/mod_auth_anon.so

LoadModule auth_dbm_module               modules/mod_auth_dbm.so

LoadModule auth_digest_module            modules/mod_auth_digest.so

LoadModule charset_lite_module           modules/mod_charset_lite.so

LoadModule env_module                    modules/mod_env.so

LoadModule expires_module                modules/mod_expires.so

LoadModule headers_module                modules/mod_headers.so

LoadModule mime_module                   modules/mod_mime.so

LoadModule negotiation_module            modules/mod_negotiation.so

LoadModule setenvif_module               modules/mod_setenvif.so

LoadModule log_config_module             modules/mod_log_config.so

LoadModule logio_module                  modules/mod_logio.so

LoadModule cgi_module                    modules/mod_cgi.so

LoadModule cgid_module                   modules/mod_cgid.so

LoadModule suexec_module                 modules/mod_suexec.so

LoadModule alias_module                  modules/mod_alias.so

LoadModule rewrite_module                modules/mod_rewrite.so

<IfDefine USERDIR>

    LoadModule userdir_module            modules/mod_userdir.so

</IfDefine>

<IfDefine INFO>

    LoadModule info_module               modules/mod_info.so

    LoadModule status_module             modules/mod_status.so

</IfDefine>

LoadModule actions_module                modules/mod_actions.so

LoadModule autoindex_module              modules/mod_autoindex.so

LoadModule dir_module                    modules/mod_dir.so

LoadModule ext_filter_module             modules/mod_ext_filter.so

LoadModule deflate_module                modules/mod_deflate.so

LoadModule include_module                modules/mod_include.so

<IfDefine PROXY>

    LoadModule proxy_module                  modules/mod_proxy.so

    LoadModule proxy_connect_module          modules/mod_proxy_connect.so

    LoadModule proxy_ftp_module              modules/mod_proxy_ftp.so

    LoadModule proxy_http_module             modules/mod_proxy_http.so

</IfDefine>

Include /etc/apache2/modules.d/*.conf

User apache

Group apache

ServerAdmin root@localhost

ServerName localhost

UseCanonicalName Off

<Directory />

    Options FollowSymLinks

    AllowOverride None

</Directory>

<IfModule mod_userdir.c>

    UserDir public_html

    <Directory /home/*/public_html>

        AllowOverride FileInfo AuthConfig Limit Indexes

        Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec

        <Limit GET POST OPTIONS PROPFIND>

            Order allow,deny

            Allow from all

       </Limit>

       <LimitExcept GET POST OPTIONS PROPFIND>

            Order deny,allow

            Deny from all

       </LimitExcept>

    </Directory>

</IfModule>

DirectoryIndex index.html index.html.var

AccessFileName .htaccess

<Files ~ "^\.ht">

    Order allow,deny

    Deny from all

</Files>

TypesConfig /etc/mime.types

DefaultType text/plain

<IfModule mod_mime_magic.c>

    MIMEMagicFile /etc/apache2/magic

</IfModule>

HostnameLookups Off

ErrorLog logs/error_log

LogLevel warn

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

LogFormat "%h %l %u %t \"%r\" %>s %b" common

LogFormat "%{Referer}i -> %U" referer

LogFormat "%{User-agent}i" agent

LogFormat "%v %h %l %u %t \"%r\" %>s %b %T" script

LogFormat "%v %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" VLOG=%{VLOG}e" vhost

CustomLog logs/access_log common

ServerTokens Prod

ServerSignature On

Alias /icons/ "/var/www/localhost/icons/"

<Directory "/var/www/localhost/icons/">

    Options Indexes MultiViews

    AllowOverride None

    Order allow,deny

    Allow from all

</Directory>

ScriptAlias /cgi-bin/ /var/www/localhost/cgi-bin/

<IfModule mod_cgid.c>

    #

    # Additional to mod_cgid.c settings, mod_cgid has Scriptsock <path>

    # for setting UNIX socket for communicating with cgid.

    #

    #Scriptsock            /var/run/cgisock

</IfModule>

<Directory "/var/www/localhost/cgi-bin/">

    AllowOverride None

    Options None

    Order allow,deny

    Allow from all

</Directory>

<IfModule mod_autoindex.c>

    IndexOptions FancyIndexing VersionSort

    AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip

    AddIconByType (TXT,/icons/text.gif) text/*

    AddIconByType (IMG,/icons/image2.gif) image/*

    AddIconByType (SND,/icons/sound2.gif) audio/*

    AddIconByType (VID,/icons/movie.gif) video/*

    AddIcon /icons/binary.gif .bin .exe

    AddIcon /icons/binhex.gif .hqx

    AddIcon /icons/tar.gif .tar

    AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv

    AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip

    AddIcon /icons/a.gif .ps .ai .eps

    AddIcon /icons/layout.gif .html .shtml .htm .pdf

    AddIcon /icons/text.gif .txt

    AddIcon /icons/c.gif .c

    AddIcon /icons/p.gif .pl .py

    AddIcon /icons/f.gif .for

    AddIcon /icons/dvi.gif .dvi

    AddIcon /icons/uuencoded.gif .uu

    AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl

    AddIcon /icons/tex.gif .tex

    AddIcon /icons/bomb.gif core

    AddIcon /icons/back.gif ..

    AddIcon /icons/hand.right.gif README

    AddIcon /icons/folder.gif ^^DIRECTORY^^

    AddIcon /icons/blank.gif ^^BLANKICON^^

    DefaultIcon /icons/unknown.gif

    ReadmeName README.html

    HeaderName HEADER.html

    IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t .svn

</IfModule>

AddLanguage ca .ca

AddLanguage cs .cz .cs

AddLanguage da .dk

AddLanguage de .de

AddLanguage el .el

AddLanguage en .en

AddLanguage eo .eo

AddLanguage es .es

AddLanguage et .et

AddLanguage fr .fr

AddLanguage he .he

AddLanguage hr .hr

AddLanguage it .it

AddLanguage ja .ja

AddLanguage ko .ko

AddLanguage ltz .ltz

AddLanguage nl .nl

AddLanguage nn .nn

AddLanguage no .no

AddLanguage pl .po

AddLanguage pt .pt

AddLanguage pt-BR .pt-br

AddLanguage ru .ru

AddLanguage sv .sv

AddLanguage zh-CN .zh-cn

AddLanguage zh-TW .zh-tw

LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW

ForceLanguagePriority Prefer Fallback

AddDefaultCharset ISO-8859-1

AddCharset ISO-8859-1  .iso8859-1  .latin1

AddCharset ISO-8859-2  .iso8859-2  .latin2 .cen

AddCharset ISO-8859-3  .iso8859-3  .latin3

AddCharset ISO-8859-4  .iso8859-4  .latin4

AddCharset ISO-8859-5  .iso8859-5  .latin5 .cyr .iso-ru

AddCharset ISO-8859-6  .iso8859-6  .latin6 .arb

AddCharset ISO-8859-7  .iso8859-7  .latin7 .grk

AddCharset ISO-8859-8  .iso8859-8  .latin8 .heb

AddCharset ISO-8859-9  .iso8859-9  .latin9 .trk

AddCharset ISO-2022-JP .iso2022-jp .jis

AddCharset ISO-2022-KR .iso2022-kr .kis

AddCharset ISO-2022-CN .iso2022-cn .cis

AddCharset Big5        .Big5       .big5

AddCharset WINDOWS-1251 .cp-1251   .win-1251

AddCharset CP866       .cp866

AddCharset KOI8-r      .koi8-r .koi8-ru

AddCharset KOI8-ru     .koi8-uk .ua

AddCharset ISO-10646-UCS-2 .ucs2

AddCharset ISO-10646-UCS-4 .ucs4

AddCharset UTF-8       .utf8

AddCharset GB2312      .gb2312 .gb 

AddCharset utf-7       .utf7

AddCharset utf-8       .utf8

AddCharset big5        .big5 .b5

AddCharset EUC-TW      .euc-tw

AddCharset EUC-JP      .euc-jp

AddCharset EUC-KR      .euc-kr

AddCharset shift_jis   .sjis

AddType application/x-compress .Z

AddType application/x-gzip .gz .tgz

AddHandler type-map var

BrowserMatch "Mozilla/2" nokeepalive

BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0

BrowserMatch "RealPlayer 4\.0" force-response-1.0

BrowserMatch "Java/1\.0" force-response-1.0

BrowserMatch "JDK/1\.0" force-response-1.0

BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully

BrowserMatch "^WebDrive" redirect-carefully

BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully

BrowserMatch "^gnome-vfs" redirect-carefully

<IfDefine INFO>

    ExtendedStatus On

    <Location /server-status>

        SetHandler server-status

        Order deny,allow

        Deny from all

        Allow from localhost

    </Location>

</IfDefine>

<IfDefine INFO>

    <Location /server-info>

       SetHandler server-info

       Order deny,allow

       Deny from all

       Allow from localhost

    </Location>

</IfDefine>

Include /etc/apache2/vhosts.d/*.conf

```

so the code to include the user dirs is up/

the problem here is that i can't publish anything on etheir the users home, or the htdocs dir.. nothing shows up.. only the apache error, which tells me apache is monitoring the 9090 port.

thanks again

----------

## stickboy2642

You want to look at your conf files in /etc/apache2.vhosts.d/ and see if there is anything wrong in there.  For some reason, the server thinks it should be serving pages from /usr/htdocs. Try looking for a file in there called default.vhost.conf or something similar.  

```

[Fri Feb 10 01:05:07 2006] [error] [client 90.0.0.1] File does not exist: /usr/htdocs 

```

You should also doublecheck /etc/conf.d/apache2 to make sure that it includes "-D USERDIR" as suggested by TheMadCrapper.  This would prevent your user directories from working.

----------

## einstein1981

Thanks a lot, this worked, The -D USERDIR option was not enabled.. D'oh!

and well remapped somethings in the /etc/apache2.vhosts.d/ config file 00_default_vhost.conf

I remapped some ports that were still configed on the 80 port. Don't know if this had any negative effect, but now it works, thanks guys

----------

## The Mad Crapper

=)

----------

