Zum Inhalt springen

Server4You - Rootserver, Confixx und Apache

Erstellt am 11. Oktober 2004 · 8 Antworten · letzte Antwort am 16. Oktober 2004

Tags: Frage

Unbekannter Benutzer ·

Hallo!

Typo3 habe ich schon mehrfach auf Root-Servern installiert, als neue Herausforderung habe ich vor einigen Tagen die Installation von Typo3 v3.6.2 auf einem Server4You-Rootserver mit Suse 9.0 durchgeführt. Wichtig ist mir dabei die Integration in Confixx um mehrere Typo3-Sites zentral zu verwalten.

Vielen Dank an L. Leuchter, dessen Installations-Script wieder einmal ganze Arbeit geleistet hat. Typo3 Front- und Backend liefen sofort - ohne Einbindung in Confixx.

Mein Problem bestand in dieser Einbindung in Confixx, die jetzt zwar funktioniert - meiner Meinung nach aber unelegant gelöst ist.

1. Runde:
Nachdem ich in Confixx unter html_spezial den Domains die neuen Direktiven mit auf den Weg gegeben habe

<Directory "/home/htdocs/##user##/html">
php_admin_value open_basedir /home/htdocs/##user##/:/usr/local/typo3/
php_admin_flag safe_mode Off
Options -Indexes +FollowSymLinks +Includes
DirectoryIndex index.php
</Directory>

funktionierte nichts. Dann habe ich die Symlinks im User-Verzeichnis angelegt

Beispiel aus dem Forum:
ln -s /usr/local/httpd/htdocs/typo3_src/tslib tslib
ln -s /usr/local/httpd/htdocs/typo3_src/t3lib t3lib
ln -s /usr/local/httpd/htdocs/typo3_src/typo3 typo3
ln -s /usr/local/httpd/htdocs/typo3_src/tslib/index_ts.php index.php
ln -s /usr/local/httpd/htdocs/typo3_src/tslib/media media

Jetzt kam die Meldung, das die index_ts.php nicht zu finden ist:

Warning: Unknown(): open_basedir restriction in effect. File(.../tslib/index_ts.php) is not within the allowed path(s): (/) in Unknown on line 0

2. Runde
Also habe ich mir die Einträge noch einmal genau angesehen. So sieht der Eintrag in der Typo3.conf aus:

ServerName domain.info
ServerAlias www.domain.info
DocumentRoot "/usr/local/typo3/htdcos/user"

...und so der betreffende Eintrag in der Confixx_vhost.conf:

<VirtualHost xxx.xxx.xxx.xxx>
ServerName Domain.info
ServerAlias www.domain.info user.domain.info
DocumentRoot /home/htdocs/user/html
<Directory "/home/htdocs/user/html"> 
php_admin_value open_basedir /home/htdocs/user/:/usr/local/typo3/ 
php_admin_flag safe_mode Off 
Options -Indexes +FollowSymLinks +Includes 
DirectoryIndex index.php 
</Directory>
</VirtualHost>

Also habe ich den richtigen Pfad für open_basedir angegeben:

<VirtualHost xxx.xxx.xxx.xxx>
ServerName Domain.info
ServerAlias www.domain.info user.domain.info
DocumentRoot /home/htdocs/user/html
<Directory "/home/htdocs/user/html"> 
php_admin_value open_basedir /home/htdocs/user/:/usr/local/typo3/user/
php_admin_flag safe_mode Off 
Options -Indexes +FollowSymLinks +Includes 
DirectoryIndex index.php 
</Directory>
</VirtualHost>

Jetzt passiert das:

Cannot find configuration file....

3. Runde:
Nach einigem grübeln und ausprobieren komme ich zum Schluss, das es an den ServerName- und ServerAlias-Einträgen liegt.

Lasse ich die Server-Einträge und den DocumentRoot in der Confixx_vhost.conf aktiv und kommentiere sie in der Typo3.conf aus

# ServerName domain.info
# ServerAlias www.domain.info
# DocumentRoot "/usr/local/typo3/htdcos/user"

kommt wieder der "Cannot find configuration file.." blues.

Lasse ich diese in der Typo3.conf aktiv und kommentiere sie in der Confixx_vhost.conf aus, funktioniert es:

<VirtualHost xxx.xxx.xxx.xxx>
# ServerName Domain.info
# ServerAlias www.domain.info user.domain.info
# DocumentRoot /home/htdocs/user/html
<Directory "/home/htdocs/user/html"> 
php_admin_value open_basedir /home/htdocs/user/:/usr/local/typo3/ 
php_admin_flag safe_mode Off 
Options -Indexes +FollowSymLinks +Includes 
DirectoryIndex index.php 
</Directory>
</VirtualHost>

Ich habe mich nun nach Tagen des testens dazu entschlossen, die Einstellungen so zu lassen. Typo3 läuft zuverlässig, keine Probleme, alles OK. Hier ein Danke an alle Poster bei Typo3.org, Typo3.net und im Rootforum.de für die Lösungsvorschläge.

Aber: Warum funktionieren bei mir nicht die Server-Einträge und / oder der DocumentRoot in der Confixx_vhost.conf?

Junior ·

Die confixx_vhost.conf wird von confixx regelmässig neu erstellt und überschrieben. Änderungen dort werden also nich wirksam.

Du kannst ein .pl ausführen um die confixx_vhost.conf neu schreiben zu lassen, ausserdem sind die Fehlermeldungen oft auch sehr ausfschlussreich.

Wechsle in das Verzeichnis

root/confixx

un führe dort das folgende Script aus:

./confixx_counterscript.pl -fa -dbg

Gruss Junior

Unbekannter Benutzer ·

Danke für den Tipp.

Habe die letzten Tage ständig die Seite aufgerufen - und sporadisch gab es dann wieder open_basedir-Fehler.

Interessant dabei ist, das beim Aufruf der Domain die Rechte der open_basedir auf Verzeichnisse anderer User als Fehlerhaft gemeldet wurden. ???

Also habe ich wieder alles auf Null zurückgedreht. In der confixx_vhost.conf den VirtualHost der Domain auskommentiert und in der Typo3.conf die Einträge für ServerName, ServerAlias, open_basedir eingefügt.

Hoffe, das es jetzt absolut ohne Fehlermeldung läuft.
Könnt ja mal testen: http://ensuma.de

Gruss,

Birger

Unbekannter Benutzer ·

Von www.Server4You.de ein dedizierter "PlusPower"-Rootserver mit 750 GB Traffic für 65 Euro im Monat.

In den letzten 1,5 Jahren habe ich eine Odyssee von RootServern durchgemacht. Habe mich dann im Sommer mit Server4You für einen Billig-Hoster entschieden. Server4You ist eine Tochter von PlusServer - das macht sich positiv bemerkbar. Bisher die wenigsten Probleme von allen Anbietern, die vorgefundene Installation läuft absolut stabil und sicher.

Gruss,

Birger

Junior ·

Meintest du mit html_spezial httpd_spezial?

Da die confixx_vhost.conf ständig von Confixx selbst neu geschreiben wird musst du alle Änderungen in Confixx ins httpd_spezial schreiben, die in der confixx_vhost.conf stehen sollen.

Um zu versuchen ob das funktioniert was du reingeschrieben hast, führst du dann o.g. .pl aus.

Oder hab ich da jetzt irgendwas falsch verstanden #paralyzed#

Junior

Unbekannter Benutzer ·

Uuups. Mit html_spezial meine ich natürlich httpd_spezial.
:o

Ansonsten ist soweit alles klar, bis auf das die Directory-Einträge für Confixx nicht funktionieren.

Entweder kommt "Cannot find configuration file.." oder "index_ts.php file not found". Alle Symlinks vorhanden, alle Rechte richtig vergeben. Es funktioniert ja, wenn ich den Virtualhost in der Confixx_vhost.conf auskommentiere und in Typo3.conf aktiviere.

Oder mache ich in der Typo3.conf etwas falsch?

<VirtualHost xxx.xxx.xxx.xx>                                                                                                    
ServerRoot "/usr/local/typo3"                                                                                                   
Timeout 300                                                                                                               
KeepAlive On                                                                                                                 
ServerAdmin root@localhost                                                                                                    

ServerName ensuma.de                                                                                                            
ServerAlias www.ensuma.de                                                                                                       
UseCanonicalName Off                                                                                                       
DocumentRoot "/usr/local/typo3/htdocs/user"                                                                                   
php_admin_value open_basedir /usr/local/typo3/htdocs/user/:/srv/www/htdocs/phpMyAdmin/:/srv/www/htdocs/confixx/html/gesperrt/   
                                                                                                                                
<Directory />                                                                                                                
    Options FollowSymLinks                                                                                                   
    AllowOverride None                                                                                                        
</Directory>                                                                                                                 
<Directory "/usr/local/typo3/htdocs">                                                                                         
    Options Indexes FollowSymLinks                                                                                           
    AllowOverride All                                                                                                         
    Order allow,deny                                                                                                        
    Allow from all^M                                                                                                            
</Directory>^M                                                                                                                  
DirectoryIndex index.php index.php3 index.html^M                                                                                
                                                                                                                                
AccessFileName .htaccess^M                                                                                                      
<Files ~ "^.ht">^M                                                                                                             
    Order allow,deny^M                                                                                                          
    Deny from all^M                                                                                                             
</Files>^M                                                                                                                      
                                                                                                                                
HostnameLookups Off^M                                                                                                           
                                        
Alias /icons/ "/usr/local/typo3/icons/"^M                                                                                       
<Directory "/usr/local/typo3/icons">^M                                                                                          
    Options Indexes MultiViews^M                                                                                                
    AllowOverride None^M                                                                                                        
    Order allow,deny^M                                                                                                          
    Allow from all^M                                                                                                            
</Directory>^M                                                                                                                  
Alias /manual "/usr/local/typo3/manual"^M                                                                                       
<Directory "/usr/local/typo3/manual">^M                                                                                         
    Options Indexes FollowSymLinks MultiViews IncludesNoExec^M                                                                  
    AddOutputFilter Includes html^M                                                                                             
    AllowOverride None^M                                                                                                        
    Order allow,deny^M                                                                                                          
    Allow from all^M                                                                                                            
</Directory>^M                                                                                                                  
ScriptAlias /cgi-bin/ "/usr/local/typo3/cgi-bin/"^M                                                                             
                                                                                                                                
<Directory "/usr/local/typo3/cgi-bin">^M                                                                                        
    AllowOverride None^M                                                                                                        
    Options None^M                                                                                                              
    Order allow,deny^M                                                                                                          
    Allow from all^M                                                                                                            
</Directory>^M                                                                                                                  
                                                                                                                                
# Some examples:^M                                                                                                              
#ErrorDocument 500 "The server made a boo boo."^M                                                                               
#ErrorDocument 404 /missing.html^M                                                                                              
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"^M                                                                              
#ErrorDocument 402 http://www.example.com/subscription_info.html^M                                                              
^M                                                                                                                              
#    Alias /error/ "/usr/local/typo3/error/"^M                                                                                  
#^M                                                                                                                             
#    <Directory "/usr/local/typo3/error">^M                                                                                     
#        AllowOverride None^M                                                                                                   
#        Options IncludesNoExec^M       
#        AddOutputFilter Includes html^M                                                                                        
#        AddHandler type-map var^M                                                                                              
#        Order allow,deny^M                                                                                                     
#        Allow from all^M                                                                                                       
#        LanguagePriority en de es fr it nl sv^M                                                                                
#        ForceLanguagePriority Prefer Fallback^M                                                                                
#    </Directory>^M                                                                                                             
#^M                                                                                                                             
#    ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var^M                                                                       
#    ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var^M                                                                      
#    ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var^M                                                                         
#    ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var^M                                                                         
#    ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var^M                                                                
#    ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var^M                                                                  
#    ErrorDocument 410 /error/HTTP_GONE.html.var^M                                                                              
#    ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var^M                                                                   
#    ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var^M                                                               
#    ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var^M                                                          
#    ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var^M                                                             
#    ErrorDocument 415 /error/HTTP_SERVICE_UNAVAILABLE.html.var^M                                                               
#    ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var^M                                                             
#    ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var^M                                                                   
#    ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var^M                                                                       
#    ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var^M                                                               
#    ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var^M                                                               
^M                                                                                                                              
^M                                                                                                                              
#^M                                                                                                                             
# The following directives modify normal HTTP response behavior to^M                                                            
# handle known problems with browser implementations.^M                                                                         
#^M                                                                                                                             
BrowserMatch "Mozilla/2" nokeepalive^M                                                                                          
BrowserMatch "MSIE 4.0b2;" nokeepalive downgrade-1.0 force-response-1.0^M                                                      
BrowserMatch "RealPlayer 4.0" force-response-1.0^M                                                                             
BrowserMatch "Java/1.0" force-response-1.0^M                                                                                   
BrowserMatch "JDK/1.0" force-response-1.0^M                                                                                    
^M                                                                                                                              
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully^M  
BrowserMatch "^WebDrive" redirect-carefully^M                                                                                   
BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully^M                                                                           
BrowserMatch "^gnome-vfs" redirect-carefully^M                                                                                  
^M                                                                                                                              
# Use name-based virtual hosting.^M                                                                                             
#^M                                                                                                                             
#NameVirtualHost *^M                                                                                                            
^M                                                                                                                              
#^M                                                                                                                             
# VirtualHost example:^M                                                                                                        
# Almost any Apache directive may go into a VirtualHost container.^M                                                            
# The first VirtualHost section is used for requests without a known^M                                                          
# server name.^M                                                                                                                
#^M                                                                                                                             
#<VirtualHost *>^M                                                                                                              
#    ServerAdmin webmaster@dummy-host.example.com^M                                                                             
#    DocumentRoot /www/docs/dummy-host.example.com^M                                                                            
#    ServerName dummy-host.example.com^M                                                                                        
#    ErrorLog logs/dummy-host.example.com-error_log^M                                                                           
#    CustomLog logs/dummy-host.example.com-access_log common^M                                                                  
</VirtualHost>^M
Unbekannter Benutzer · · Beste Antwort

Es lässt mir keine Ruhe. Habe die Confixx_vhost.conf neu generiert und in der Typo3.conf die Server-Einträge herausgenommen.

Jetzt erscheint die open_basedir Fehlermeldung:

Warning: Unknown(): open_basedir restriction in effect. File(/usr/local/typo3/htdocs/user/tslib/index_ts.php) is not within the allowed path(s): (/srv/www/htdocs/user/:/srv/www/htdocs/phpMyAdmin/:/srv/www/htdocs/confixx/html/gesperrt/) in Unknown on line 0 

Warning: Unknown(/usr/local/typo3/htdocs/user/tslib/index_ts.php): failed to open stream: Operation not permitted in Unknown on line 0 

Warning: (null)(): Failed opening '/usr/local/typo3/htdocs/user/tslib/index_ts.php' for inclusion (include_path='.:/usr/share/php') in Unknown on line 0

* Die Pfade im Directory-Eintrag sind korrekt.

Die Typo3-Installation liegt in /usr/local/typo3/
Das User-Verzeichnis in /srv/www/htdocs/user/

<Directory "/home/htdocs/user/html"> 
php_admin_value open_basedir /home/htdocs/user/:/usr/local/typo3/ 
php_admin_flag safe_mode Off 
Options -Indexes +FollowSymLinks +Includes 
DirectoryIndex index.php 
</Directory>

* Die Links sind von dem User-Verzeichnis in das entsprechende Typo3-Verzeichnis gesetzt.
* Die index_ts.php ist wie angegeben als index.php verlinkt.

Was mache ich falsch?

Unbekannter Benutzer ·

Jetzt habe ich eine akzeptable Lösung gefunden.

Die Symlinks funktionieren nicht immer. In einer Doku habe ich diesen Hinweis gefunden: Bei Dateien, die als Fehlerhaft gemeldet werden - in meinem Fall die index_ts.php - muss die Quelle und der Symlink umgekehrt werden.

Also habe ich die index_ts.php in das Userverzeichnis kopiert, den Namen in "Index.php" umbenannt:

usr/local/typp3/htdocs/user/tslib/index_ts.php --> srw/www/htdocs/user/html/index.php

und auf diese Datei einen Symlink in der Typo3-Quelle angelegt:

srw/www/htdocs/user/html/index.php --> usr/local/typp3/htdocs/user/tslib/@index_ts.php

Als Ergebnis bekam ich wieder den "Cannot find config file..."-Blues.
🙁

Das hat mir gezeigt, das ich etwas verändern kann.

Zuerst habe ich ein Backup der Quelle gemacht. Danach die gesamte Quelle in das Benutzerverzeichnis kopiert:

/usr/local/typo3/htdocs/user/ --> /srv/www/htdocs/user/html/

Zuletzt noch Symlinks aus dem Userverzeichnis in die Typo3-Quelle verlinkt.

Läuft. Beantwortet aber nicht die Frage, warum die Symlinks aus dem User-Verzeichnis in die Typo3-Quelle nicht funktionieren.