hi zusammen,
folgende situation:
ich richte mir grade nen webserver mit debian lenny ein. ich möchte dabei einen privaten bereich und einen öffentlichen bereich haben. das hab ich bereits mit vhosts umgesetzt.
privater bereich meint hier ein verzeichnis des weservers, auf dass ich nur mittel einer ausgedachten domain drauf komme die in der hosts-datei des servers und meines rechners zuhause eingetragen ist.
hier die vhost konfigurationen die ich im apache im verzeichnis sites-available eingerichtet hab:
default
default-ssl
private
die verzeichnisstruktur ist -wie in den vhosts erkennbar- folgendermaßen:
/home/web/private
/home/web/public
web und darunter hat 777.
php5, mysql, phpmyadmin ist natürlich auch alles installiert. greife ich nun auf zb den öffentlichen bvereich zu, bekomme ich ganz normal eine leeres verzeichnis. nachdem ich den phpmyadmin ordner ins öffentliche verzeichnis kopiert hatte (nach der installation von phpmyadmin mit aptitude befand es sich in /usr/share), wird dieser auch angezeigt. er hat ebenfalls 777. will ich darauf zugreifen, bekomme ich folgende meldung:
und hier hänge ich, mein latein ist am ende. dass error.log des apache hilft mir nur zum teil:
er zeigt den verzeichnisinhalt von /home/web/public (vhost: default) korrekt an. warum aber will er dan wieder nach /usr/share/ zugreifen um den phpmyadminordner zu öffnen der sich doch in /home/web/public befindet.
ich hab den docroot doch in den vhost gesetzt und in der apache2.conf keinen weiteren eintrag dazu gefunden. was hab ich vergessen?
folgende situation:
ich richte mir grade nen webserver mit debian lenny ein. ich möchte dabei einen privaten bereich und einen öffentlichen bereich haben. das hab ich bereits mit vhosts umgesetzt.
privater bereich meint hier ein verzeichnis des weservers, auf dass ich nur mittel einer ausgedachten domain drauf komme die in der hosts-datei des servers und meines rechners zuhause eingetragen ist.
hier die vhost konfigurationen die ich im apache im verzeichnis sites-available eingerichtet hab:
default
Code:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /home/web/public
<Directory /home/web/public>
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/web/public>
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>
default-ssl
Code:
<VirtualHost x.x.x.x:443>
ServerName x.x.x.x
ServerAdmin webmaster@localhost
DocumentRoot /home/web/public
<Directory /home/web/public>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/default-ssl-error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/ssl_access.log combined
SSLEngine On
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
</VirtualHost>
private
Code:
<VirtualHost ausgedacht.com:443>
ServerName ausgedacht.com
DocumentRoot /home/web/private
SSLEngine On
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
ErrorLog /var/log/apache2/flux-error.log
CustomLog /var/log/apache2/flux_access.log combined
ErrorDocument 500 "<center><size=5>500</size></center>"
ErrorDocument 404 "<center><size=5>404</size></center>"
ErrorDocument 404 "<center><size=5>404</size></center>"
ErrorDocument 402 "<center><size=5>402</size></center>"
<Directory /home/web/private>
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/web/private>
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>
Code:
NameVirtualHost x.x.x.x:443
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot /home/web/public
<Directory /home/web/public>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/default-ssl-error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/ssl_access.log combined
SSLEngine On
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
</VirtualHost>
die verzeichnisstruktur ist -wie in den vhosts erkennbar- folgendermaßen:
/home/web/private
/home/web/public
web und darunter hat 777.
php5, mysql, phpmyadmin ist natürlich auch alles installiert. greife ich nun auf zb den öffentlichen bvereich zu, bekomme ich ganz normal eine leeres verzeichnis. nachdem ich den phpmyadmin ordner ins öffentliche verzeichnis kopiert hatte (nach der installation von phpmyadmin mit aptitude befand es sich in /usr/share), wird dieser auch angezeigt. er hat ebenfalls 777. will ich darauf zugreifen, bekomme ich folgende meldung:
Code:
Not Found
The requested URL /phpmyadmin/ was not found on this server.
Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny4 with Suhosin-Patch mod_ssl/2.2.9 OpenSSL/0.9.8g mod_perl/2.0.4 Perl/v5.10.0 Server at
und hier hänge ich, mein latein ist am ende. dass error.log des apache hilft mir nur zum teil:
Code:
[Tue Dec 01 14:56:03 2009] [error] [client x.x.x.x] File does not exist: /usr/share/phpmyadmin, referer: http://x.x.x.x/
er zeigt den verzeichnisinhalt von /home/web/public (vhost: default) korrekt an. warum aber will er dan wieder nach /usr/share/ zugreifen um den phpmyadminordner zu öffnen der sich doch in /home/web/public befindet.
ich hab den docroot doch in den vhost gesetzt und in der apache2.conf keinen weiteren eintrag dazu gefunden. was hab ich vergessen?