Changes

From SME Server
Jump to navigationJump to search
2,500 bytes removed ,  18:50, 6 January 2015
move php to it's own page
Line 44: Line 44:  
}}  
 
}}  
   −
  −
===== Examples =====
  −
===== run php54 on a hosted website (virtual host) =====
  −
Install php54 from scl repo
  −
yum --enablerepo=scl-php54 install php54-php.x86_64 
  −
  −
Verify the installation,
  −
  scl enable php54 'php -v'
  −
It should return this version (or higher)
  −
PHP 5.4.16 (cli) (built: Jul 10 2014 10:06:38)
  −
  −
Create a template fragment that will enable apache to invoke php54 for a virtual domain
  −
nano /etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/70php54
  −
  −
paste this code fragment (including the last empty line):
  −
<nowiki>{
  −
  use esmith::DomainsDB;
  −
  my $domains = esmith::DomainsDB->open_ro;
  −
if (($domains->get_prop($virtualHost, 'php54') || 'disabled')
  −
        eq 'enabled')
  −
{
  −
$OUT = "    #Enable php54 through Cgi-Bin wrapper. Needs a wrapper script in /cgi-bin/php54-wrapper\n";
  −
$OUT .= "    AddHandler php-cgi .php\n";
  −
$OUT .= "    Action php-cgi /cgi-bin/php54-wrapper\n";
  −
$OUT .= "    <Location />\n";
  −
$OUT .= "      Options +ExecCGI\n";
  −
$OUT .= "    </Location>\n";
  −
}
  −
}
  −
</nowiki>
  −
and Save with <CTRL>-X - yes.
  −
  −
Create the cgi-wrapper script:
  −
nano ~<Ibayname of MyVirtualDomain>/../cgi-bin/php54-wrapper
  −
  −
Insert this code fragment:
  −
#!/bin/bash
  −
source /opt/rh/php54/enable
  −
exec php-cgi
  −
and Save with <CTRL>-X - yes.
  −
  −
Then execute these commands:
  −
cd ~<Ibayname of MyVirtualDomain>/../cgi-bin/
  −
restorecon -RF php54-wrapper
  −
chown www:www php54-wrapper
  −
chmod ugo-rwx php54-wrapper
  −
chmod ug+rx php54-wrapper
  −
  −
The template fragment for httpd.conf needs a database setting to be enabled for the (virtual) domain.
  −
  −
Check with
  −
db domains show <myVirtualDomain.com>
  −
Edit with
  −
db domains setprop <myVirtualDomain.com> php54 enabled
  −
  −
To enable this run:
  −
expand-template /etc/httpd/conf/httpd.conf
  −
/etc/init.d/httpd-e-smith restart
  −
  −
Notes:
  −
*This version of php uses the /opt/rh/php54/root/etc/php.ini file which uses default settings as configured by RedHat, use at your own risk. Adjust the settings according to your (security) needs.
  −
*Using Cgi-Bin wrapper scripts makes your system vulnerable to [https://www.digitalocean.com/community/tutorials/how-to-protect-your-server-against-the-shellshock-bash-vulnerability Shellshock server bash vulnerability], make sure your server runs the latest version of bash.
  −
*This example and code still have to be tested (I will soon).
  −
*Source: [http://www.ilsistemista.net/index.php/linux-a-unix/45-joomla-3-3-centos-6-and-php-version-putting-all-together.html?start=1 This] HowTo for CENTOS6
      
== Building your own software collections ==  
 
== Building your own software collections ==  

Navigation menu