Jump to content
Froxlor Forum

Archived

This topic is now archived and is closed to further replies.

  • 0
notimplementedyet

Froxlor / Apache2 Problem

Question

Hallo ich hab auf einem Debian Lenny System Froxlor 0.9.8 wie in dieser Anleitung beschrieben installiert:

http://faq.filoo.de/content/19/23/de/wie-installiere-ich-froxlor-auf-einem-rootserver-mit-debian.html

 

hab auch schon diese Anleitung ausprobiert:

http://www.debianroot.de/server/server-management-mit-froxlor-dem-syscp-fork-1190.html

 

leider immer mit dem selben Ergebniss... :/

 

Installation und Konfiguration funktioniert problemlos.

Alle Punkte Konfiguration wurden durchgef?hrt.

Cron's werden auch ausgef?hrt.

Realtime Froxloer ?ber xinetd funktioniert auch.

 

Wenn ich aber einen Kunden anlege, bekomme ich immer nur folgende Fehlermeldung:

 

Forbidden

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

 

im Log f?r den Kunden erscheint dann immer:

[sat Jun 05 15:43:32 2010] [crit] [client IP] (13)Permission denied: /var/customers/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable

 

apache2.conf sieht wie folgt aus:

#
# Based upon the NCSA server configuration files originally by Rob McCool.
#
# This is the main Apache server configuration file.  It contains the
# configuration directives that give the server its instructions.
# See http://httpd.apache.org/docs/2.2/ for detailed information about
# the directives.
#
# Do NOT simply read the instructions in here without understanding
# what they do.  They're here only as hints or reminders.  If you are unsure
# consult the online docs. You have been warned.  
#
# The configuration directives are grouped into three basic sections:
#  1. Directives that control the operation of the Apache server process as a
#     whole (the 'global environment').
#  2. Directives that define the parameters of the 'main' or 'default' server,
#     which responds to requests that aren't handled by a virtual host.
#     These directives also provide default values for the settings
#     of all virtual hosts.
#  3. Settings for virtual hosts, which allow Web requests to be sent to
#     different IP addresses or hostnames and have them handled by the
#     same Apache server process.
#
# Configuration and logfile names: If the filenames you specify for many
# of the server's control files begin with "/" (or "drive:/" for Win32), the
# server will use that explicit path.  If the filenames do *not* begin
# with "/", the value of ServerRoot is prepended -- so "/var/log/apache2/foo.log"
# with ServerRoot set to "" will be interpreted by the
# server as "//var/log/apache2/foo.log".
#

### Section 1: Global Environment
#
# The directives in this section affect the overall operation of Apache,
# such as the number of concurrent requests it can handle or where it
# can find its configuration files.
#

#
# ServerRoot: The top of the directory tree under which the server's
# configuration, error, and log files are kept.
#
# NOTE!  If you intend to place this on an NFS (or otherwise network)
# mounted filesystem then please read the LockFile documentation (available
# at <URL:http://httpd.apache.org/docs-2.1/mod/mpm_common.html#lockfile>);
# you will save yourself a lot of trouble.
#
# Do NOT add a slash at the end of the directory path.
#
ServerRoot "/etc/apache2"

#
# The accept serialization lock file MUST BE STORED ON A LOCAL DISK.
#
#<IfModule !mpm_winnt.c>
#<IfModule !mpm_netware.c>
LockFile /var/lock/apache2/accept.lock
#</IfModule>
#</IfModule>

#
# PidFile: The file in which the server should record its process
# identification number when it starts.
# This needs to be set in /etc/apache2/envvars
#
PidFile ${APACHE_PID_FILE}

#
# Timeout: The number of seconds before receives and sends time out.
#
Timeout 300

#
# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.
#
KeepAlive On

#
# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
#
MaxKeepAliveRequests 100

#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#
KeepAliveTimeout 15

##
## Server-Pool Size Regulation (MPM specific)
## 

# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_prefork_module>
   StartServers          5
   MinSpareServers       5
   MaxSpareServers      10
   MaxClients          150
   MaxRequestsPerChild   0
</IfModule>

# worker MPM
# StartServers: initial number of server processes to start
# MaxClients: maximum number of simultaneous client connections
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadsPerChild: constant number of worker threads in each server process
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_worker_module>
   StartServers          2
   MaxClients          150
   MinSpareThreads      25
   MaxSpareThreads      75 
   ThreadsPerChild      25
   MaxRequestsPerChild   0
</IfModule>

# These need to be set in /etc/apache2/envvars
User www-data
Group www-data

#
# AccessFileName: The name of the file to look for in each directory
# for additional configuration directives.  See also the AllowOverride
# directive.
#

AccessFileName .htaccess

#
# The following lines prevent .htaccess and .htpasswd files from being 
# viewed by Web clients. 
#
<Files ~ "^\.ht">
   Order allow,deny
   Deny from all
</Files>

#
# DefaultType is the default MIME type the server will use for a document
# if it cannot otherwise determine one, such as from filename extensions.
# If your server contains mostly text or HTML documents, "text/plain" is
# a good value.  If most of your content is binary, such as applications
# or images, you may want to use "application/octet-stream" instead to
# keep browsers from trying to display binary files as though they are
# text.
#
DefaultType text/plain


#
# HostnameLookups: Log the names of clients or just their IP addresses
# e.g., www.apache.org (on) or 204.62.129.132 (off).
# The default is off because it'd be overall better for the net if people
# had to knowingly turn this feature on, since enabling it means that
# each client request will result in AT LEAST one lookup request to the
# nameserver.
#
HostnameLookups Off

# 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

#
# LogLevel: Control the number of messages logged to the error_log.
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
#
LogLevel warn

# Include module configuration:
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf

# Include all the user configurations:
Include /etc/apache2/httpd.conf

# Include ports listing
Include /etc/apache2/ports.conf

#
# The following directives define some format nicknames for use with
# a CustomLog directive (see below).
# If you are behind a reverse proxy, you might want to change %h into %{X-Forwarded-For}i
#
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
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

#
# Define an access log for VirtualHosts that don't define their own logfile
CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined

#
# Customizable error responses come in three flavors:
# 1) plain text 2) local redirects 3) external redirects
#
# Some examples:
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
#

#
# Putting this all together, we can internationalize error responses.
#
# We use Alias to redirect any /error/HTTP_<error>.html.var response to
# our collection of by-error message multi-language collections.  We use 
# includes to substitute the appropriate text.
#
# You can modify the messages' appearance without changing any of the
# default HTTP_<error>.html.var files by adding the line:
#
#   Alias /error/include/ "/your/include/path/"
#
# which allows you to create your own set of files by starting with the
# /usr/share/apache2/error/include/ files and copying them to /your/include/path/, 
# even on a per-VirtualHost basis.  The default include files will display
# your Apache version number and your ServerAdmin email address regardless
# of the setting of ServerSignature.
#
# The internationalized error documents require mod_alias, mod_include
# and mod_negotiation.  To activate them, uncomment the following 30 lines.

#    Alias /error/ "/usr/share/apache2/error/"
#
#    <Directory "/usr/share/apache2/error">
#        AllowOverride None
#        Options IncludesNoExec
#        AddOutputFilter Includes html
#        AddHandler type-map var
#        Order allow,deny
#        Allow from all
#        LanguagePriority en cs de es fr it nl sv pt-br ro
#        ForceLanguagePriority Prefer Fallback
#    </Directory>
#
#    ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
#    ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
#    ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
#    ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
#    ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
#    ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
#    ErrorDocument 410 /error/HTTP_GONE.html.var
#    ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
#    ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
#    ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
#    ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
#    ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
#    ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
#    ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
#    ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
#    ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
#    ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var



# Include of directories ignores editors' and dpkg's backup files,
# see README.Debian for details.

# Include generic snippets of statements
Include /etc/apache2/conf.d/

# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/

 

httpd.conf ist leer.

 

ports.conf

# 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>
   # SSL name based virtual hosts are not yet supported, therefore no
   # NameVirtualHost statement here
   Listen 443
</IfModule>

 

/etc/apache2/sites-enabled/000-default

<VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /var/www/
<Directory />
	Options FollowSymLinks
	AllowOverride None
</Directory>
<Directory /var/www/>
	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>

 

/etc/apache2/sites-enabled/05_froxlor_dirfix_nofcgid.conf

# 05_froxlor_dirfix_nofcgid.conf
# Created 05.06.2010 16:35
# Do NOT manually edit this file, all changes will be deleted after the next domain change at the panel.

 <Directory "/var/customers/webs/">
   Order allow,deny
   allow from all
 </Directory>

 

/etc/apache2/sites-enabled/05_froxlor_ipandport_0.0.0.0.80.conf

# 10_froxlor_ipandport__0.0.0.0.80.conf
# Created 05.06.2010 16:35
# Do NOT manually edit this file, all changes will be deleted after the next domain change at the panel.

NameVirtualHost 0.0.0.0:80
<VirtualHost 0.0.0.0:80>
DocumentRoot "/var/www/"
ServerName froxlor.domain.tld
</VirtualHost>

 

Domainfile der Kunden Domain

/etc/apache2/sites-enabled/21_froxlor_normal_vhost_kundendomain.tld.conf

# 21_froxlor_normal_vhost_kundendomain.tld.conf
# Created 05.06.2010 16:35
# Do NOT manually edit this file, all changes will be deleted after the next domain change at the panel.

# Domain ID: 10 - CustomerID: 3 - CustomerLogin: Kundenname
<VirtualHost 0.0.0.0:80>
 ServerName domain.tld
 ServerAlias *.kundendomain.tld
 ServerAdmin mail@kundendomain.tld
 DocumentRoot "/var/customers/webs/Kundenname/kundendomain.tld/"
 php_admin_value open_basedir "/var/customers/webs/Kundenname/kundendomain.tld/:/tmp/"
 php_admin_flag safe_mode On 
 Alias /awstats "/var/customers/webs/Kundenname/awstats/domain.tld"
 ErrorLog "/var/customers/logs/Kundenname-error.log"
 CustomLog "/var/customers/logs/Kundenname-access.log" combined
</VirtualHost>

 

apache2 -S gibt folgendes aus:

VirtualHost configuration:
0.0.0.0:80       is a NameVirtualHost

default server froxlor.domain.tld (/etc/apache2/sites-enabled/10_froxlor_ipandport_0.0.0.0.80.conf:6)
port 80 namevhost froxlor.domain.tld (/etc/apache2/sites-enabled/10_froxlor_ipandport_0.0.0.0.80.conf:6)
port 80 namevhost fernando.domain.tld (/etc/apache2/sites-enabled/21_froxlor_normal_vhost_Kundenname.domain.tld.conf:6)
port 80 namevhost kundendomain.tld (/etc/apache2/sites-enabled/21_froxlor_normal_vhost_kundendomain.tld.conf:6)

wildcard NameVirtualHosts and _default_ servers:
*:80                   is a NameVirtualHost
default server static.0.0.0.0.clients.your-server.de (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost static.0.0.0.0.clients.your-server.de (/etc/apache2/sites-enabled/000-default:1)
Syntax OK

 

Hoffe hierbei kann mir jemand helfen ... dreh bald am rad, da ich nicht rausfinde an was es liegt, habs jetzt bestimmt schon alle Einstellungen in zig Kombinationen durchgemacht, schon unz?hliche mal komplett neu ausfgesetzt, unterschiedliche Anleitungen verwendet, zig Tips auch hier aus dem Forum ausprobiert, und bekomm es trotzdem einfach nicht hin.

 

Ahh fast vergessen IPs und Ports ist gerade so eingestellt:

IP : Port    Listen  	NameVirtualHost     vHost-Container    Specialsettings     ServerName  	SSL  	  
0.0.0.0:80   Nein 	Ja 	            Ja 	               Nein 	           Ja 	        Nein

 

Kind regards

 

notimplementedyet

Share this post


Link to post
Share on other sites

11 answers to this question

Recommended Posts

du hast doch den fehler schon gefunden:

 

[sat Jun 05 15:43:32 2010] [crit] [client IP] (13)Permission denied: /var/customers/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable

 

der pfad ist komisch, da ein kunden-script nichts in /var/customers/ zu suchen hat...aber dennoch ist es nur ein rechte-problem wie du an der meldung erkennen kannst

Share this post


Link to post
Share on other sites

ich versteh aber trotzdem nicht was der indianer in dem pfad ?berhaupt sucht und vorallem warum .htaccess

eigentlich m?sste er doch bei aufruf der kundendomain das hier aufrufen:

DocumentRoot "/var/customers/webs/Kundenname/kundendomain.tld/"

 

mein problem ist also was sucht der indianer dort ( ok das steht ja im log .htaccess ), und warum?

 

Kind Regards

 

notimplementedyet

 

EDIT:

Hab den Kunden jetzt mal gekickt, im keinen Namen vergeben, so das er jetzt web1 hei?t. Nun kommt im log:

(13)Permission denied: /var/customers/webs/.htaccess

 

vorher kam ja:

(13)Permission denied: /var/customers/.htaccess

 

versteh das alles nicht ... eigentlich sollte der doch auf z. B. /var/customers/webs/xyz.de/ umgeleitet werden ... w?rd mich ja echt interessieren woher der den pfad nimmt, den er nimmt...

Share this post


Link to post
Share on other sites

Ok Problem gel?st ... zumindest mal f?r Kunden ohne Name ( also mit standard web1, web2, etc )

Der Ordner /var/customers und der Ordner /var/customers/webs brauchen zumindest die Rechte 0700 f?r den Benutzer ( www-data ), Gruppe scheint egal zu sein.

 

^^ Sollte man vielleicht mit in die Einstellungen ( Debian 5.0 (Lenny) ? Webserver (HTTP) ? Apache 2 ) mit aufnehmen ;)

da steht n?mlich nix von chown /var/customers/webs :D

 

EDIT:

Habs jetzt nochmal mit einem benannten Kunden versucht:

[b](13)Permission denied: /var/customers/webs/kundenname/.htaccess[/b]

 

Verzeichnissrechte f?r den Ordner Kundenname sind nach Erstellung auf 0750 gestellt, allerdings ist die Gruppe und der Benutzer der selbe sprich der Kundenname, wenn ich hier die Gruppe auf www-data h?ndisch ?ndere, dann funktionierts.

 

Sollte das so sein das Gruppe und Benutzer hier das selbe ist?

Wenn nein wo ?ndere ich das so ab das bei Gruppe der indianer gesetzt wird?

 

Thx

 

notimplemented yet

Share this post


Link to post
Share on other sites

Kommt darauf an welche Konfiguration du verwendest. Bei fcgi muss es der Kundenname sein, Benutzer und Gruppe ?blicherweise.

 

Schau mal in die error log des Apache bzw. des Kunden (je nach Einstellung).

 

Wenn es keine htaccess gibt, der Webserver aber meckert das er sie nicht lesen / ?ffnen kann, dann liegt es fast immer an falschen chowns/chmods da der Webserver als erstes nach einer htaccess sucht, sie aber nicht finden kann da er an den Ordner nicht heran kommt.

Share this post


Link to post
Share on other sites

Bischen komisch, hab Froxlor nun schon so oft aufgesetzt aber das Problem gabs bisher nie das die Rechte "von Haus aus" nicht ausreichend waren.

Hast du Froxlor per apt oder manuell installiert?

Share this post


Link to post
Share on other sites

Wie gesagt, ich hatte das Problem weder in Lenny noch in Ubuntu 9 oder 10, also irgendwas scheint da eher an deinem Grundsystem verquer zu sein ;)

Share this post


Link to post
Share on other sites

W?sste nicht was, das ist eine ganz normale Debian Lenny minimalinstallation.

Hab aber gerade noch was anderes rausgefunden.

 

FTP Funktioniert mit der von mir oben genannten L?sung nicht.

 

Habs jetzt die beiden Ordner auf Benutzer / Gruppe root zur?ckgestellt und die Verzeichnissrechte auf 775 dann geht sowohl FTP als auch WWW.

 

Sch?n ist das allerdings nicht ...

 

Kannst du mal bei dir schauen wie die Ordner /var/customer, /var/customer/webs, /var/customer/webs/irgendeinaccount eingestellt sind.

 

Spriche welche Benutzer, Gruppe, und Rechte dort eingestellt sind.

 

Gru?

 

notimpyet

Share this post


Link to post
Share on other sites

customers und customers webs geh?ren root ;) die Ordner der Kunden in webs geh?ren kundenname:kundenname (fcgi Config).

 

Chmod liegt nie h?her als 750

Share this post


Link to post
Share on other sites

Hmmm versteh dann aber nicht wie die Dienste bei dir ?berhaupt Zugriff auf die Ordner bekommen, bzw. warum die bei mir dann mekern.

 

EDIT:

Hat den keiner ne idee warum das bei mir ohne ?nderen der Verzeichnissrechte nicht klappen will?

 

1. Habe nur eine Debian minimal Installtion in meinem Xen Installiert.

Installations URL Debian Mirror

 

2. Per aptitude ssh installiert.

 

3. Froxlor 0.9.8 nach dieser Anleitung Installiert Froxlor Installation und mysql_secure_installation aufgerufen um root per remote auszuschalten etc.

 

4. Alle Froxlor Konfigurationen f?r Debian Lenny 5 exakt so wie angegeben durchgef?hrt.

 

5. Ver?nderte Einstellungen: APS Installer aktiviert, Passw?rter der Mail-Konten auch im Klartext in der Datenbank speichern ausgeschaltet, Verzeichniss /etc/apache2/froxlor-htpasswd/ erstellt, Verzeichniss /var/www/php-fcgi-scripts erstellt.

 

6. IP und Port wie hier angegeben Eingestellt:

IP:Port Listen NameVirtualHost vHost-Container Specialsettings ServerName SSL

1.2.3.4:80 Nein Ja Ja Nein Ja Nein

 

das wars mehr hab ich eigentlich nicht gemacht...

 

W?re euch wirklich zu tiefst verbunden wenn mir einer hierbei helfen k?nnte, es funktionert zwar auch mit dem ?ndern der verzeichnissberechtigungen, aber das ist auch nicht das gelbe vom ei.

 

Gru?

 

notimpyet

Share this post


Link to post
Share on other sites





×
×
  • Create New...