Jump to content
Froxlor Forum
  • 0

[solved] AddHandler Problem is back in 0.9.30 :)


snoopotic

Question

Posted

Hi.

 

On my Debian Wheezy using php-fpm and using php-fpm on own froxlor-Vhost with froxlor git.

 

I followed the import and upgrade instruction and changed 

/etc/apache2/mods-available/fcgid.conf as instructed.

sadly restarting apache failed: /var/run/apache2 now needs write permission for www-data. But I found out and did a chown root:www-data on /var/run/apache2 as well as gave chmod 775 on /var/run/apache2

 

after that I let rewrite the config...

and chackaboom :) the line:

AddHandler php5-fastcgi .php

is back.

Id shall be changed to:

SetHandler php5-fastcgi

and everything works again :|

 

greets.

 

 

edit: it happens in IP's and port configuration files

edit2: version is 0.9.30 ^^ sorry

18 answers to this question

Recommended Posts

Posted

Hey,

 

today my debian made some updates (~300) and since the reboot I got the same problem.

When I try to access the froxlor cp I see the content of the php file.

For customers everything works perfectly and when I change the AddHandler to SetHandler in the froxlor vhost file, everything works in the cp too.

Any Idea why?

 

I changed the line 245 in /var/www/froxlor/scripts/jobs/cron_tasks.inc.http.10.apache.php from

 

                        $this->virtualhosts_data[$vhosts_filename].= '      AddHandler fcgid-script .php' . "\n";

 

to

 

                        $this->virtualhosts_data[$vhosts_filename].= '      SetHandler fcgid-script' . "\n";

 

so the cronjob won?t kill the cp again.

Posted

I'm really out of ideas...as said, this works perfectly on my 3 froxlor boxes

 

And also works for others from our IRC-channel

Posted

It worked for me too until I made apt-get update&upgrade :P

 

Since my workaround fixed the problem I have time to search for the cause of this incident.

Posted

Hey,

 

Installing the latest git-version won?t fix the problem.

The logs aren?t telling any problems, nothing like the directory is not writable to www-data.

I have no Idea what it could be

Posted

Well, works for me and three others from IRC. Must be your setup. Are you sure you are using all the defaults and Froxlor configs? Or did you customize anything?

Posted

I asked if you customized anything in the webserver-configs or similar. The THEME has nothing to do with your problem. I can just repeat that many others, including me, have absolutely NO problem with the generated configs.

 

Note: I'm talking about FPM here of course. For FCGID this must in fact really be SetHandler instead of AddHandler. Sorry for the misunderstandings. Fixed in GIT.

Posted

You asked: "Or did you customize anything?"

And so I said that I got a custom template.

I didn?t told before because imho it doesn?t matter. I think we just talked at cross-purposes.

Posted

Nope, this has been tested a lot and all generated configs work as intended. AddHandler is used once in IP/port vhost and customer vhosts use sethandler (or vice versa, cant remember). Maybe you dont have a vhost-container in IP/port???

Posted

Hmm strange. This is getting hard to analyze. 

 

I try to explain, maybe you can retest it:

 

first: I set up a certain IP/port only for use with froxlor and the system hostname. th ip/port config file that gets generated looks like that: (ip and port truncated):

# 10_froxlor_ipandport_192.168.128.84.6472.conf
# Created 27.10.2013 19:56
# Do NOT manually edit this file, all changes will be deleted after the next domain change at the panel.

Listen 192.168.128.84:6472
<VirtualHost 192.168.128.84:6472>
DocumentRoot "/var/www/froxlor-git/"
 ServerName oldfx.localhost.de
  FastCgiExternalServer /var/www/php-fpm/froxlor.panel/oldfx.localhost.de/d300.ssl-fpm.external -socket /var/run/apache2/froxlor.panel-oldfx.localhost.de-php-fpm.socket -idle-timeout 30
  <Directory "/var/www/froxlor-git/">
   <FilesMatch "\.(php)$">
     AddHandler php5-fastcgi .php
     Action php5-fastcgi /fastcgiphp
      Options +ExecCGI
    </FilesMatch>
    Order allow,deny
    allow from all
  </Directory>
  Alias /fastcgiphp /var/www/php-fpm/froxlor.panel/oldfx.localhost.de/d300.ssl-fpm.external
 SSLEngine On
 SSLHonorCipherOrder On
 SSLCipherSuite ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH
 SSLVerifyDepth 10
 SSLCertificateFile /etc/ssl/server/oldfx.localhost.de.pem
 SSLCertificateKeyFile /etc/ssl/server/privkey.pem
 SSLCACertificateFile /etc/ssl/server/CaCert_Chain.pem
  SSLCertificateChainFile /etc/ssl/server/CaCert_Chain.pem
</VirtualHost>

having this, the php does not get parsed. The Logs I found do not speak well :/

If I change the Addhandler-Line like described above, it works. php is running. :/ any Idea?

 

If I try to add the system hostname as "Domain" it is not possible...

It seems I am a bit stuck in "how to set up the froxlor vhost". weird. 

 

Do you need more information?

Posted

I got the exact same setup running on my servers and it's working pretty well.

 

10_froxlor_ipandport_*.conf

[...]  
FastCgiExternalServer /var/www/php-fpm/froxlor.panel/froxlor.xyz.de/e163.fpm.external -socket /var/run/apache2/froxlor.panel-froxlor.xyz.de-php-fpm.socket -idle-timeout 100  
<Directory "/var/www/froxlor/">
   <FilesMatch "\.(php)$">
     AddHandler php5-fastcgi .php
     Action php5-fastcgi /fastcgiphp
      Options +ExecCGI
    </FilesMatch>
    Order allow,deny
    allow from all
  </Directory>
  Alias /fastcgiphp /var/www/php-fpm/froxlor.panel/froxlor.xyz.de/e163.fpm.external
[...]
22_froxlor_normal_vhost_*.conf
[...]  
FastCgiExternalServer /var/www/php-fpm/webx/xyz.de/fpm.external -socket /var/run/apache2/webx-xyz.de-php-fpm.socket -idle-timeout 100
  <Directory "/var/www/webs/webx/">
    <FilesMatch "\.php$">
      SetHandler php5-fastcgi
      Action php5-fastcgi /fastcgiphp
      Options +ExecCGI
    </FilesMatch>
    Order allow,deny
    allow from all
  </Directory>
  Alias /fastcgiphp /var/www/php-fpm/webx/xyz.de/fpm.external
[...]
modules.d/70_fastcgi.conf (Gentoo)
<IfModule mod_fastcgi.c>
    FastCgiIpcDir /var/run/apache2/

    <Location "/fastcgiphp">
        Order Deny,Allow
        Deny from All
        # Prevent accessing this path directly
        Allow from env=REDIRECT_STATUS
    </Location>
</IfModule>
 
Posted

having this, the php does not get parsed. The Logs I found do not speak well :/

If I change the Addhandler-Line like described above, it works. php is running. :/ any Idea?

 

If I try to add the system hostname as "Domain" it is not possible...

It seems I am a bit stuck in "how to set up the froxlor vhost". weird. 

 

Do you need more information?

 

You cannot set the system-hostname as customer-domain. That's why most people use 'froxlor.domain.tld' as system-hostname, so they can still use 'domain.tld' as customer (for website, mails ,etc).

Posted

Hmm this is weird. Seems I must describe my settings :D

 

My host has 2 IPs (one is fallback-ip): ip.1 ip.2

 

In system settings I set up:

ip-address: ip.1

defaultip/port: ip.1:80

Hostname: testing.mydomain.tld

"access froxlor directly via the hostname": enabled

"validate domain names": enabled

 

in IP settings I set up following:

ip/port       Listen     NameVirtualHost     vHost-Container     Specialsettings     ServerName     SSL

ip.1:80         x                          x                           x                             -                         x                 -

ip.1:63001   x                          x                           x                             -                         x                 x

ip.1:443       x                          x                           x                             -                         x                 x

 

Now I only want to have froxlor to be reachable under ip.1:63001 thus in this setup I emptied "Custom docroot" (empty = point to Froxlor)

both other IPs got a custom docroot with a index.html :D

 

dns is disabled. I use an other dns that points testing.mydomain.tld to ip.1

in Domain settings of froxlor I can set up other domains without problems. they also run and can be accessed correctly. but only ip.1:63001 or testing.mydomain.tld:63001 does not show php-parsed froxlor it shows the php-code of froxlor...

and the config file for this "virtualHost" is as described above... if I change the Addhandler to SetHandler (and remove the .php ) everything is fine...

 

I really don't get it. I also think it shall work like that but it doesn't.

 

Any ideas?

Posted

hmm I enabled debug logging in apache and wrote a custom line for that vHost to have special logging. the weird part is this on first and last line of a GET request against my froxlor:

 

[Wed Oct 30 21:44:34 2013] [info] [client my.ip] Connection to child 5 established (server testing.mydomain.tld:443)

 

... why the hell port 443?? w00t. if you don't have any Idea where apache gets this (wrong) information, wait I am looking for it :)

 

edit: ok this seems only a logging bug in apache...

idk. doof

Archived

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



×
×
  • Create New...