Pages

Showing posts with label Apache. Show all posts
Showing posts with label Apache. Show all posts

Shared SSL SuPHP 500 Error Fixed

It took me hours and finally figure out what went wrong after install cheap GoDaddy SSL on shared IP on VPS at Hostgator.

Issues: I bought the SSL certification and install on my VPS, which already have 2 dedicated IP (2 other SSL already installed). So my only option is to install the new SSL on the shared IP. While install the SSL, WHM tells me to install the SSL as nobody due to the IP is shared IP.

After restarting the Apache after installing the SSL, the HTTPS works fine on any file that is NOT PHP. When I load the WordPress, it shows me the 500 server error.

It took me hours to figure the Shared SSL with nobody user group is conflicting with suPHP due to the permission.

Solutions:
The idea of fixing this is to assign the SSL certification from nobody to the right cpanel user that owns the add-on/parked domain name.  So here are the steps:

Codeigniter Shows Blank Page PHP + MySQL + Apache + Windows 7

Recently, I started a new development on one of my laptop running Windows7. I install PHP 5.3.6, Apache 2.2, MySQL 5. I move all the source code that was previously developed based on CodeIgnitor 1.7.

Problem

It shows blank page when I load the site on my laptop's localhost. 

Solution

Well. The solution is farily easy. If Codeigniter can not detect the mod_mysql module in PHP when the page is loaded, it doesn't return any error message.
  • So you need to make sure you enable the mod_mysql in your PHP.ini file.
  • Also make sure your .htaccess file is redirect correctly, if you are using Search Engine Friendly URL. Make sure mod_rewrite module is enable in your Apache httpd.conf file.

It's just that easy! A simple check will save you lots time. 

PHP5 + Apache2.2 + MySQL5 Installation issue solved

I have tried many ways to get this working.

When install PHP5 + Apache2.2 + MySQL5, it shows that MySQL extension can not be loaded.

I followed every instruction to enable the extension in PHP.ini and point the Extension_dir to the right directory (ex. C:\PHP\ext). I also add the right model in Apache2.2 conf file to load the PHP5.

Problem:
PHP5 is unable to find the libmysql.dll and related MySQL extension. According to new PHP5 installation manual, you simply add your PHP5 installation path to the windows environment variables. Even you add your PHP5 installation path to the windows PATH environment variable, it still doesn't work.

Solution 1:
Copy libmysql.dll to your Windows System32 folder and restart your Apache2.2.

Warnning: This is not an ideal ways to solve the issues. You will run into situation that you need copy more dll to System32 folder. It is a night maire to upgrade the future versioin of PHP.

Solution 2:
After you set the PATH environment and restart your computer, it should just work without copying files to System32 folder. This is the reason, why it doesn't work.

Apache does not update the PATH environment until you reboot the server.
After you set the PATH environment variable, turn PHPINFO() and see if the Apache Environment variable is updated with the new path variable. If not, you will need to reboot the machine.

Problem solved! It's as simple as rebooting the machine.

Run PHP5 on Apache2.2.x as Module or CGI

This is a notes on how to run PHP5 on Apache 2.2 with either Module or CGI.

Open Apache http.conf file and make the following changes.

The following modification is only required for run PHP as CGI.
1. Find the default directory section
<Directory />
Options FollowSymLinks
AllowOverride None
#Order deny,allow
#Deny from all
Satisfy all
</Directory>


Comment out the following two lines
Order deny,allow
Deny from all

2. Add the following lines for Module or CGI
# RUN PHP as Module

PHPIniDir "D:/php5/"
LoadModule php5_module "D:/php5/php5apache2_2.dll"
AddType text/html .php .php5
AddHandler application/x-httpd-php .php . php5

# RUN PHP as CGI
ScriptAlias /php/ "C:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php-cgi.exe"
<Directory />
Order allow,deny
Allow from all
</Directory>

Apache2.2 + PHP5

The purpose of this post is to run Apache2.2.x + PHP5 on Windows XP.

The goal is be able to run mod_rewrite module and load PHP5 by deafult. Due to the file system. use .htacess is not good idea. So I will be using htaccess.txt for Windows system.


Add the following to the http.conf under Apache 2.2 installation:
LoadModule php5_module "D:/php5/php5apache2_2.dll"

# configure the path to php.ini
#PHPIniDir "D:/php5" <-- This line seem to be unnecessary

AccessFileName htaccess.txt
<files>
order allow,deny
deny from all
</files>


Alias /wwwroot "D:/wwwroot/"
<directory>
Options Indexes MultiViews
AllowOverride FileInfo <--- Can simply set to ALL to allow custom htaccess.txt
Order allow,deny
Allow from all

AddType text/html .php .php5
AddHandler application/x-httpd-php .php . php5
</directory>
===============
Add the following line to htaccess.txt to automatically add trailing slash /

<ifmodule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</ifmodule>