No access to public_html in user directories...

Discussion in 'Installation/Configuration' started by sthompson, Aug 4, 2006.

  1. sthompson

    sthompson New Member

    Hello all,

    I followed the instructions on the perfect setup for SuSE Linux 10.1 up until the point where you install ISPConfig. My email, DNS, Apache and FTP work just fine. However, when I enter www.example.com/~username into my browser, I get an error that says:

    Object not found!

    The requested URL was not found on this server. If you entered the URL manually please check your spelling and try again.

    If you think this is a server error, please contact the webmaster.
    Error 404

    In the modules section, userdir is enabled.

    Does anyone know how I can fix this? Any help at all would be greatly appreciated.

    Thanks,

    Steve
     
  2. falko

    falko Super Moderator ISPConfig Developer

  3. sthompson

    sthompson New Member

    OK, at the end of my http.conf file, I added:

    UserDir public_html

    UserDir enabled /home/*/public_html
    UserDir disabled root

    with no luck.

    I also tried to add the same lined to my /etc/apache2/deault-server.conf also with no luck.

    I though I followed the directions perfectly in the links you provided. But maybe I'm stupid. I'm a noobie at this and need a little handholding. This is my http.conf file...


    #
    # /etc/apache2/httpd.conf
    #
    # This is the main Apache server configuration file. It contains the
    # configuration directives that give the server its instructions.
    # See <URL:http://httpd.apache.org/docs-2.2/> for detailed information about
    # the directives.

    # Based upon the default apache configuration file that ships with apache,
    # which is based upon the NCSA server configuration files originally by Rob
    # McCool. This file was knocked together by Peter Poeml <[email protected]>.

    # If possible, avoid changes to this file. It does mainly contain Include
    # statements and global settings that can/should be overridden in the
    # configuration of your virtual hosts.


    # Overview of include files, chronologically:
    #
    # httpd.conf
    # |
    # |-- uid.conf . . . . . . . . . . . . . . UserID/GroupID to run under
    # |-- server-tuning.conf . . . . . . . . . sizing of the server (how many processes to start, ...)
    # |-- sysconfig.d/loadmodule.conf . . . . . [*] load these modules
    # |-- listen.conf . . . . . . . . . . . . . IP adresses / ports to listen on
    # |-- mod_log_config.conf . . . . . . . . . define logging formats
    # |-- sysconfig.d/global.conf . . . . . . . [*] server-wide general settings
    # |-- mod_status.conf . . . . . . . . . . . restrict access to mod_status (server monitoring)
    # |-- mod_info.conf . . . . . . . . . . . . restrict access to mod_info
    # |-- mod_usertrack.conf . . . . . . . . . defaults for cookie-based user tracking
    # |-- mod_autoindex-defaults.conf . . . . . defaults for displaying of server-generated directory listings
    # |-- mod_mime-defaults.conf . . . . . . . defaults for mod_mime configuration
    # |-- errors.conf . . . . . . . . . . . . . customize error responses
    # |-- ssl-global.conf . . . . . . . . . . . SSL conf that applies to default server _and all_ virtual hosts
    # |
    # |-- default-server.conf . . . . . . . . . set up the default server that replies to non-virtual-host requests
    # | |--mod_userdir.conf . . . . . . . . enable UserDir (if mod_userdir is loaded)
    # | `--conf.d/apache2-manual?conf . . . add the docs ('?' = if installed)
    # |
    # |-- sysconfig.d/include.conf . . . . . . [*] your include files
    # | (for each file to be included here, put its name
    # | into APACHE_INCLUDE_* in /etc/sysconfig/apache2)
    # |
    # `-- vhosts.d/ . . . . . . . . . . . . . . for each virtual host, place one file here
    # `-- *.conf . . . . . . . . . . . . . (*.conf is automatically included)
    #
    #
    # Files marked [*] are created from sysconfig upon server restart: instead of
    # these files, you edit /etc/sysconfig/apache2



    # Filesystem layout:
    #
    # /etc/apache2/
    # |-- charset.conv . . . . . . . . . . . . for mod_auth_ldap
    # |-- conf.d/
    # | |-- apache2-manual.conf . . . . . . . conf that comes with apache2-doc
    # | |-- mod_php4.conf . . . . . . . . . . (example) conf that comes with apache2-mod_php4
    # | `-- ... . . . . . . . . . . . . . . . other configuration added by packages
    # |-- default-server.conf
    # |-- errors.conf
    # |-- httpd.conf . . . . . . . . . . . . . top level configuration file
    # |-- listen.conf
    # |-- magic
    # |-- mime.types -> ../mime.types
    # |-- mod_autoindex-defaults.conf
    # |-- mod_info.conf
    # |-- mod_log_config.conf
    # |-- mod_mime-defaults.conf
    # |-- mod_perl-startup.pl
    # |-- mod_status.conf
    # |-- mod_userdir.conf
    # |-- mod_usertrack.conf
    # |-- server-tuning.conf
    # |-- ssl-global.conf
    # |-- ssl.crl/ . . . . . . . . . . . . . . PEM-encoded X.509 Certificate Revocation Lists (CRL)
    # |-- ssl.crt/ . . . . . . . . . . . . . . PEM-encoded X.509 Certificates
    # |-- ssl.csr/ . . . . . . . . . . . . . . PEM-encoded X.509 Certificate Signing Requests
    # |-- ssl.key/ . . . . . . . . . . . . . . PEM-encoded RSA Private Keys
    # |-- ssl.prm/ . . . . . . . . . . . . . . public DSA Parameter Files
    # |-- sysconfig.d/ . . . . . . . . . . . . files that are created from /etc/sysconfig/apache2
    # | |-- global.conf
    # | |-- include.conf
    # | `-- loadmodule.conf
    # |-- uid.conf
    # `-- vhosts.d/ . . . . . . . . . . . . . . put your virtual host configuration (*.conf) here
    # |-- vhost-ssl.template
    # `-- vhost.template



    ### Global Environment ######################################################
    #
    # The directives in this section affect the overall operation of Apache,
    # such as the number of concurrent requests.

    # run under this user/group id
    Include /etc/apache2/uid.conf

    # - how many server processes to start (server pool regulation)
    # - usage of KeepAlive
    Include /etc/apache2/server-tuning.conf

    # ErrorLog: The location of the error log file.
    # If you do not specify an ErrorLog directive within a <VirtualHost>
    # container, error messages relating to that virtual host will be
    # logged here. If you *do* define an error logfile for a <VirtualHost>
    # container, that host's errors will be logged there and not here.
    ErrorLog /var/log/apache2/error_log

    # generated from APACHE_MODULES in /etc/sysconfig/apache2
    Include /etc/apache2/sysconfig.d/loadmodule.conf

    # IP addresses / ports to listen on
    Include /etc/apache2/listen.conf

    # predefined logging formats
    Include /etc/apache2/mod_log_config.conf

    # generated from global settings in /etc/sysconfig/apache2
    Include /etc/apache2/sysconfig.d/global.conf

    # optional mod_status, mod_info
    Include /etc/apache2/mod_status.conf
    Include /etc/apache2/mod_info.conf

    # optional cookie-based user tracking
    # read the documentation before using it!!
    Include /etc/apache2/mod_usertrack.conf

    # configuration of server-generated directory listings
    Include /etc/apache2/mod_autoindex-defaults.conf

    # associate MIME types with filename extensions
    TypesConfig /etc/apache2/mime.types
    DefaultType text/plain
    Include /etc/apache2/mod_mime-defaults.conf

    # set up (customizable) error responses
    Include /etc/apache2/errors.conf

    # global (server-wide) SSL configuration, that is not specific to
    # any virtual host
    Include /etc/apache2/ssl-global.conf

    # forbid access to the entire filesystem by default
    <Directory />
    Options None
    AllowOverride None
    Order deny,allow
    Deny from all
    </Directory>

    # use .htaccess files for overriding,
    AccessFileName .htaccess
    # and never show them
    <Files ~ "^\.ht">
    Order allow,deny
    Deny from all
    </Files>

    # List of resources to look for when the client requests a directory

    #SLT - 08-03-2006 (Commented out the next line and added my own)
    #DirectoryIndex index.html index.html.var

    #SLT - 08-03-2006 (Commented out the next line in the hope that it would pick up
    # the .html in my public_html directory in my home folder first. Still no luck!)
    #DirectoryIndex index.php index.php5 index.php4 index.php3 index.html index.htm index.shtml index.cgi index.pl index.html.var index.aspx default.aspx

    DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php5 index.php4 index.php3 index.pl index.html.var index.aspx default.aspx

    ### '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.
    #
    Include /etc/apache2/default-server.conf


    # Another way to include your own files
    #
    # The file below is generated from /etc/sysconfig/apache2,
    # include arbitrary files as named in APACHE_CONF_INCLUDE_FILES and
    # APACHE_CONF_INCLUDE_DIRS
    Include /etc/apache2/sysconfig.d/include.conf

    ### Virtual server configuration ############################################
    #
    # VirtualHost: If you want to maintain multiple domains/hostnames on your
    # machine you can setup VirtualHost containers for them. Most configurations
    # use only name-based virtual hosts so the server doesn't need to worry about
    # IP addresses. This is indicated by the asterisks in the directives below.
    #
    # Please see the documentation at
    # <URL:http://httpd.apache.org/docs-2.2/vhosts/>
    # for further details before you try to setup virtual hosts.
    #
    # You may use the command line option '-S' to verify your virtual host
    # configuration.
    #
    Include /etc/apache2/vhosts.d/*.conf

    # SLT - 08-05-2006 (My attempt to get userdir working in public_html directories for users)
    UserDir public_html

    UserDir enabled /home/*/public_html
    UserDir disabled root
    # END SLT

    # Note: instead of adding your own configuration here, consider
    # adding it in your own file (/etc/apache2/httpd.conf.local)
    # putting its name into APACHE_CONF_INCLUDE_FILES in
    # /etc/sysconfig/apache2 -- this will make system updates
    # easier :)
     
  4. falko

    falko Super Moderator ISPConfig Developer

    Did you restart Apache?

    What's in that file?

    What's the output of
    Code:
    ls -la /etc/apache2/vhosts.d
    ?
     
  5. sthompson

    sthompson New Member

    Yes, I restarted apache after every change I made.

    Here is the output of /etc/apache2/vhosts.d:

    venus:~ # ls -la /etc/apache2/vhosts.d
    total 21
    drwxr-xr-x 2 root root 120 Aug 3 02:24 .
    drwxr-xr-x 11 root root 1016 Aug 5 11:28 ..
    -rw-r--r-- 1 root root 9222 Jul 27 10:09 vhost-ssl.template
    -rw-r--r-- 1 root root 4310 Jul 27 10:09 vhost.template
    venus:~ #

    Also the contents of /etc/apache2/deault-server.conf is:

    #
    # Global configuration that will be applicable for all virtual hosts, unless
    # deleted here, or overriden elswhere.
    #

    DocumentRoot "/srv/www/htdocs"

    #
    # Configure the DocumentRoot
    #
    <Directory "/srv/www/htdocs">
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important. Please see
    # http://httpd.apache.org/docs-2.2/mod/core.html#options
    # for more information.
    Options None
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    # Options FileInfo AuthConfig Limit
    AllowOverride None
    # Controls who can get stuff from this server.
    Order allow,deny
    Allow from all
    </Directory>

    # Aliases: aliases can be added as needed (with no limit). The format is
    # Alias fakename realname
    #
    # Note that if you include a trailing / on fakename then the server will
    # require it to be present in the URL. So "/icons" isn't aliased in this
    # example, only "/icons/". If the fakename is slash-terminated, then the
    # realname must also be slash terminated, and if the fakename omits the
    # trailing slash, the realname must also omit it.
    #
    # We include the /icons/ alias for FancyIndexed directory listings. If you
    # do not use FancyIndexing, you may comment this out.
    #
    Alias /icons/ "/usr/share/apache2/icons/"

    <Directory "/usr/share/apache2/icons">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
    </Directory>

    # ScriptAlias: This controls which directories contain server scripts.
    # ScriptAliases are essentially the same as Aliases, except that
    # documents in the realname directory are treated as applications and
    # run by the server when requested rather than as documents sent to the client.
    # The same rules about trailing "/" apply to ScriptAlias directives as to
    # Alias.
    #
    ScriptAlias /cgi-bin/ "/srv/www/cgi-bin/"

    # "/srv/www/cgi-bin" should be changed to whatever your ScriptAliased
    # CGI directory exists, if you have that configured.
    #
    <Directory "/srv/www/cgi-bin">
    AllowOverride None
    Options +ExecCGI -Includes
    Order allow,deny
    Allow from all
    </Directory>

    # Include all *.conf files from /etc/apache2/conf.d/.
    #
    # This is mostly meant as a place for other RPM packages to drop in their
    # configuration snippet.
    #
    # You can comment this out here if you want those bits include only in a
    # certain virtual host, but not here.
    #
    Include /etc/apache2/conf.d/*.conf

    # The manual... if it is installed ('?' means it won't complain)
    Include /etc/apache2/conf.d/apache2-manual?conf

    ServerName venus
    ServerAdmin [email protected]
     
    Last edited: Aug 6, 2006
  6. falko

    falko Super Moderator ISPConfig Developer

  7. sthompson

    sthompson New Member

    Yes on both. But I guess there's something I just don't understand. I'm somewhat of a noobe here.

    Any other suggestions?

    Thanks,

    Steve
     
  8. falko

    falko Super Moderator ISPConfig Developer

    Does username exist in /etc/passwd?
     
  9. sthompson

    sthompson New Member

    Absolutely. I've been trying it with my own account as well as another.
     
  10. asimov789

    asimov789 New Member

    enabling user_dir

    Still stuck? Try the folowing. There is a mod_userdir.conf file in the ../apache2 directory. It must be included somewhere. This file is included if you create a virtual host. Check out the vhosts.d/vhost.template. If you don't want a virtual host, simply add Include mod_userdir.conf in default-server.conf or in the plain httpd.conf. Or, as they advise, create httpd.conf.local put the Include there and edit /etc/sysconf/apache2 to activate your .local file.
     
  11. sthompson

    sthompson New Member

    Thanks, I'll give that a try in a little while and let you know how I made out. I appreciate the advice.

    Cordially,

    Steve
     
  12. sthompson

    sthompson New Member

    Well, I tried every thing you suggested and still no luck. I've just about had it. I even reloaded my server without doing the step for apache in the perfect setup.

    I had this working once serverl months ago but can't find the right solution. I can't give up because I need this but I HAVE HAD IT! I just don't know what to do next. There are too many Includes in SuSE Linux http.conf file that gets me really confused. Not to mention the fact that I'm a noobie at this.

    Any more help would ne appreciated.

    Thanks,

    Steve
     
  13. falko

    falko Super Moderator ISPConfig Developer

    I know SuSE splits up the Apache configuration in lots of files... :(
    I suggest you take a look at configuration and write down which file is included where and try to find out how everything's related to each other. I don't have a SuSE system running right now (guess why ;) ) so I cannot be of much help here...
     
  14. sthompson

    sthompson New Member

    Thanks Falko. I'll do just that. I appreciate all of the help you have given to me in the past. I use SuSE for it's simplicity. What I like about it is the fact that it has a Yast that lets me configure everything. Setting up DNS and the like are a breeze using Yast. If you know of any other distributions that have that capability please let me know.

    Thank you in kind once again.

    Steve
     
  15. falko

    falko Super Moderator ISPConfig Developer

    YaST is one of the things why I don't like SuSE... :D The other distros don't come with such a tool (at least the ones I know).
     
  16. Luvz2drv

    Luvz2drv New Member

    no userdir

    I had the same issue goign on as well but what I found it was ---

    SELinux -- I went inot the GUI disabled it and reboot and all was working...

    Have a great day hope this helps
    Jonathon
     
  17. sthompson

    sthompson New Member

    Thanks, but SuSE Linux doesn't have SELinux.

    Steve
     
  18. till

    till Super Moderator Staff Member ISPConfig Developer

    SuSE has AppArmor instead of SELinux, it is very similar and might lead to the same problems.
     
  19. sthompson

    sthompson New Member

    AppArmor is off and the firewall is off. Believe me, it's the first thing I checked.

    Steve
     
  20. sthompson

    sthompson New Member

    Falko,

    What Distro do you use for your Desktop/Workstation and what Distro do you use for your servers? Also, is there a Distro that you would recommend to someone like me who's only been using SuSE linux on a daily basis for the last 4 months?

    I tried Ubuntu but I wasn't to enthused about it. I also have downloaded, but not installed, Centos. Any recommendations for me?

    Thanks,

    Steve
     

Share This Page