Overview:
I usually find that lots of poeple find it quite difficult to install any application made in PHP and MySQL on their Linux boxes. They find it a bit confusing how to configure the settings. How to install the LAMP stack. Where to put the PHP applications code. I was quite inspired to write to this after having I saw people facing problems on Ubuntu Forums. This is the one which I dealt with.
Sometimes spoon-feeding becomes important,but only for the first time.
Scenario:
A newbie who knows just the basics of Linux. He/She wants to run a PHP application like wordpress / phpBB / osCommerce on their computer.
The distro is assumed to be Ubuntu, though it doesn’t change much for others too.
Lets Start:
Step 1: Getting the LAMP stack on your system
You first need to install LAMP on your box, Installation is quite simple. Just get the following packages using the command on your terminal ( Applications> Accessories>Terminal)
sudo apt-get install apache2 php5-mysql libapache2-mod-php5 mysql-server
While installing MySQL, it might ask for set up the root password,if it doesn’t ask, then continue.
For more information check this post here .
Step 2: Download the PHP application
You need to download the PHP application which you want to run over the webserver. Examples are WordPress, phpBB, osCommerce, MediaWiki etc
Get them and let it be in the folder where you have downloaded it.
Step 3: Moving these software to the Apache’s root directory
Apache’s root directory is /var/www (/var/www/html). This is owned by the user www-data which is a minimal user created just for running apache and web servers. A normal user cant write to this directory.
Now here is the solution of how to copy the data to this directory. This method can be used for any directory which the normal user does not have write access. The concept behind the method is to start an instance of nautilus ( explorer) with root (superuser) privileges. For this follow the isntructions
* Press Alt + F2
* A Run daialog box appears, over there type gksudo nautilus /var/www
* You will be asked for your password as you are elevating your privileges
* Nautilus opens up,now copy the tarball/zip file from the download location to /var/www
* Untar the archive by Right Click > Extract Archive
You may have the package in the folder say /var/www/wordpress. We are supposing wordpress as an example.
Step 4: Setting up username and accounts in database
Now you need to have a create a new database for the software you intent to work on. For this open MySQL from the terminal. If you had been asked to set up the password at time of MySQL installation then use this command
mysql -u root -p
and then enter the root password which you set up
if you were not asked to set up root password, then use this command at terminal
mysql -u root
After this is done you will be dropped to mysql prompt. Create a new database using this:
create database foo;
type quit to exit.
Step 5: Change the data in the config file.
Hunt for file which may have name such as config,settings etc etc. One you locate it,open to find the area for entering database settings. The settings should be:
Hostname: localhost
Username: root
Password: <the password you set up>
Database name: foo (or whatever you created)
Step 6: Access it via browser
Now point your browser to http://localhost/wordpress
You may get the basic installation thing or whatever stuff you need.
Additional Stuffs:
You can be asked to make some locations writable. There may be instances like the software cant write to a specific folder or file. It can be used for cache or any such temporary stuff. Then you need to change the permissions. Simply give write permissions to the user www-root. However this situation may be unlikely. e..g we have to change the permissions of folder /var/www/wordpress/cache
sudo chmod -cR u+w /var/www/wordpress/cache




9 Comments
June 29, 2008 at 3:04 PM
i am confused… what is a php application?
June 30, 2008 at 12:45 PM
Any softwares which are made using PHP is called a php application. I still think this term can be a misnomer.
Try out wordpress, phpBB, MediaWiki, osCommerce, drupa, joomla and you will come to know what exactly they are.
July 3, 2008 at 8:18 PM
Hiya,
Its me again,hehe
How do i administer osCommerce?I mean I tested out a few transactions by registering users and purchasing items,now how do i process the orders if i had wanted to…ie how do i view the customer profile,items purchased n so on…
i dont have the faintest idea on mysql,so thouta asking u,if u dont mind……
cheers
July 4, 2008 at 12:21 AM
@David
I think its related to osCommerce, frontends should be provided for these work. You need not goto Database and confirm orders.
Database is meant for communication and data management by the software itself. You should never manipulate with the DB, it might lead to inconsistency.
And well I think your question should be solved in osCommerce forum, check here
http://forums.oscommerce.com/
September 6, 2008 at 9:12 PM
php files do not work with your method.
September 6, 2008 at 11:17 PM
Which php file? Please make it clear with the thing you trying to do.
All the php files/scripts/apps run fine with this method.
November 18, 2008 at 6:45 AM
hi,
i am a totally newie to php, and found your tutorial to the installation very good, so tkx! i installed has you said in my xubuntu 8.10.
The localhost shows me an “it works” page. But when i try to reach a .php file, it doesnt show it. Firefox asks me to download it! And if i hide the php script in a .html file, it wont appear.
any ideas why so?
tkx again
November 18, 2008 at 3:02 PM
To execute PHP scripts, you need to keep them as .php extension.
The problem you might be facing is that the package libapache2-mod-php5 might not be installed properly. This is the package which takes care of PHP running with Apache. That is, its the php module for apache.
As the package description says:
This package provides the PHP5 module for the Apache 2 webserver (as found in the apache2 mpm-prefork package). Please note that this package ONLY works with Apache’s prefork MPM.
June 25, 2009 at 8:38 AM
hi,
i am a very newbie with this OS, and i have the same problem, and still i am not able to view the php page of an application, i googled and i knew that there is a common problem with php on apache but i am not able to resolve, any idea from where to start troubleshooting?