This wordpress installation was a nightmare! But actually most of it was my fault. I did not look at the right places.Plus i had no clue of how to go about with LAMP (Linux, Apache, MySQL, PHP). However, found some great posts lying around on the web, installed it and then it was ready to go….
Firstly , a big thanks to all those guys who have posted the How Tos …I will sum them up.
Now, getting down to the installtion. To remind you guys, this installtion is on Ubuntu 9.04 (As i dont use windows, no offence but i’m very scared of virus and spyware!! :D)
It must be noted that you need to ensure you have the universe repository enabled. To do that go to System->Administration->software sources and tick the universe option. Then close it. It will ask to reload repos. Click on reload to update the repositories.
Installing LAMP ( Thnks to Linerd) [ For those who are afraid of the terminal, Each of these softwares can be installed from synaptic, but it will take a long time, CLI is a faster option. Trust me! ;)]
Copy and paste this following command into the terminal. (BTW: Terminal can found in Applications-> Accessories -> Terminal). Do it exactly as given, along with the cap at the end.
sudo apt-get install lamp-server^
Then follow the onscreen instructions to create a MySQL password. Remember it is very important to create the password and u must give something which u can remember easily. For the record, the username for the root user is root.
MySQL is now installed and should operate fairly smooth and without issue. However, if the goal is to strictly use WordPress then the MySQL daemon should be tweaked a bit in order to save on memory consumption.
sudo gedit /etc/mysql/my.cnf
Ensure the following entries have similar options set in the MySQL configuration file:
key_buffer = 16M
max_allowed_packet = 8M
thread_stack = 64K
thread_cache_size = 4
skip-innodb
The last entry is an important one and will lower MySQL memory consumption considerably.
Testing the installation
Testing Apache
Open a web browser and enter the address http://localhost/. You should see a webpage displaying the text “It Works!”
Testing PHP
Now we’re going to test our PHP installation. To do this we’ll create a file called testing.php in /var/www. Open a terminal and enter:
gksudo gedit /var/www/testing.php
Now, Enter the line below and save the file. Then exit the text editor.
<?php phpinfo(); ?>
Now we need to restart Apache.Type the follwing command in the terminal
sudo /etc/init.d/apache2 restart
Now, open your browser and enter http://localhost/testing.php/. You should see a bunch of information about your version of PHP. You need to delete this testing.php after the testing is over. do so by
sudo rm -f /var/www/testing.php
Configuring MySQL
Now we need to configure MySQL to be associated with the IP address of your machine. Since I’m installing the LAMP stack for a web development environment I’m going to bind MySQL to the localhost IP address, which in my case is 127.0.0.1. You can verify this address with:
cat /etc/hosts | grep localhost
Now open the .cnf file with the following command.
gksudo gedit /etc/mysql/my.cnf
Verify that the bind-address line looks like this (adjust for your IP address).
bind-address = 127.0.0.1
Now, one step which is optional, but I highly recommend it as it becomes very easy to administer the MySQL database especially for new users.
Install phpMyAdmin
Issue the following command at the terminal.
sudo apt-get install libapache2-mod-auth-mysql phpmyadmin
During the installation you will be prompted to select your web server for automatic configuration. Use the space bar to mark apache2 and then hit <Enter>.You will also be asked if you want to configure phpMyAdmin with a new database called dbconfig-common. Select Yes and hit <Enter>.
Next you’ll be prompted for the password for MySQL’s administrator. Enter the MySQL root password that you created earlier in the installation. Hit <Tab> to select Ok and hit <Enter>.
Next you’ll be prompted to create an application password for phpMyAdmin to talk to MySQL. If you leave it blank, a random password will be generated for you.
After configuring the password, the installation should complete.
To set up under Apache all you need to do is include the following line in /etc/apache2/apache2.conf.
Include /etc/phpmyadmin/apache.conf
PS: open the above file with any text editor like gedit/nano/kate with gksudo/sudo
Once phpMyAdmin is installed point your browser to http://localhost/phpmyadmin to start using it. You should be able to login using any users you’ve setup in MySQL.Default user created is root.
Installing WordPress
At the terminal, apply this command
sudo apt-get install wordpress php5-gd
Now, issue the following to install WordPress in the /wordpress directory of your default web site.
sudo ln -s /usr/share/wordpress /var/www/wordpress
Now, browse to “http://localhost/wordpress” in your browser and click on the “install.php” link.
Configuring WordPress…..
When wordpress is installed there are two places where it is installed
1. /etc/wordpress ( which contains the wp-conf.php file)
2. /usr/share/wordpress (which contains the basic installation files including wp-conf-sample.php)
so we need to give permission to these two folders to run the install script. For that issue the follwoing commands at these places.
/etc$ sudo chmod 777 wordpress/
/usr/share$ sudo chmod 777 wordpress
Now we need to Run the Install Script
Using your web browser , visit wp-admin/install.php within the directory into which you just installed WordPress which is.
http://localhost/wordpress/wp-admin/install.php
If WordPress can’t find the wp-config.php file, it will tell you and offer to try to create and edit the file itself. (You can do also do this directly by loading http://localhost/wordpress/wp-admin/setup-config.php in your web browser.) WordPress will ask you the database details and write them to a new wp-config.php file. After installation we need to remove the permission by using these commands./usr/share$ sudo chmod 755 wordpress
/etc$ sudo chmod 755 wordpress
That should be it. You can use WordPress now!
While Uploading pictures you might get error like this “Unable to create directory /usr/share/wordpress/wp-content/uploads/2006/02. Is its parent directory writable by the server?”
For that do a
sudo mkdir /usr/share/wordpress/wp-content/uploads; chown www-data:www-data /usr/share/wordpress/wp-content/uploads
at the termnial
If the install file does not work then you would need to follow the procedure shown below ( thanks to supriyadisw) and try going to the address http://localhost/wordpress/wp-admin/install.phpPrepare MySQL Database for WordPress
Create a database for WordPress on your Ubuntu, as well as a MySQL user who has all privileges for accessing and modifying it. You can use phpMyAdmin to make it easier
- First create dababase: wordpress
- Then create a new user: wordpress with password: wordpresspassword
Write down the values you used for databasename, wordpressusername, hostname, and password for future purpose
Configure WordPress Setting
Copy the wp-config-sample.php(can be found in /usr/share/wordpress) file to wp-config.php(can be found in /etc/wordpress). Open and edit wp-config.php file
// ** MySQL settings ** // define('DB_NAME', 'wordpress'); define('DB_USER', 'wordpress'); define('DB_PASSWORD', 'wordpresspassword'); define('DB_HOST', 'localhost');
Goodness this seems complicated! If all you’re doing is running WordPress locally, try Xampp (which is lampp for linux). Just download the file and follow the straightforward instructions on their site!
http://www.apachefriends.org/en/xampp-linux.html
Installing WordPress is then really simple and you can follow the instructions on the WP site. The only thing that ever catches me out is forgetting to take ownership of the wp-content folder!
Hope this maybe helps for the next time you have to do it 🙂
Thanks Mesanna, that really helped
Awesome….
It was so helpful for me to get it configured. I referred http://www.jonathanmoeller.com/screed/?p=235
which provided some additional info.
Great Effort… Thanks a ton….
U r welcome Zulfir. Nice to know that my post helped you!