Skip to main content

Install WordPress on Debian – Most popular CMS for blogs

WordPress is clearly the most popular blog platform / Content Management System.

Indeed it has all to please. Easy installation, well supported, big community, a lot of plugins, free, multilingual, etc….

Of course, some others CMS are very popular for blogs too like Dotclear but WordPress might be the one that does the most communication around its product.


So let’s see how to install this CMS. (Others CMS should follow the same principle)



Obviously, you need to have a proper HTTP server, PHP, database combo ready. In my case I’m using a LAMP configuration, Linux Apache, MySQL, PHP. If you haven’t install that, just check my previous tutorial on how to install a LAMP combo to host your own website.

Once done, most probably you will like to have a dedicated folder/database for your wordpress website.

The second command will change the owner of the folder (Previously root) by the apache user www-data.

Then download the latest WordPress archive inside your previously created folder:

Now, you will need to untar the archive in the folder. However the archive latest.tar.gz includes the subdirectory that includes all the files.

If you just untar with the regular:

You gonna have a folder wordpress in your /var/www/myblog

But we want to have all the needed files in /var/www/myblog directly, not in an additional subdirectory.

So you will have to move all the files from myblog/wordpress to myblog/ and remove the folder wordpress afterward.

But actually, you could directly untar all the content of wordpress folder directly in your current folder myblog with 1 command:



Now you will need to fulfill the wordpress conf file with your database information in order to launch the web-based installation interface of WordPress

Still in your /var/www/myblog folder run:

to use & modify the wp-config sample file, and modify those lines:

If you haven’t created a database yet for your website, I strongly recommend you to use PHPMyAdmin to easily do it. You can follow my previously created tutorial on how to install PHPMyAdmin and set up a database and user.

Once done, just save your wp-config file and point your web-browser to your server IP such as or point to your domain name/subdomain if you have configured a Virtualhost (Vhost) such as http://blog.mywebsite.tld for example.

If you haven’t done that, you can refer to the point 4 of my LAMP tutorial, dedicated on Virtualhost configuration.

And finally, just follow the quick web-based setup.

You should now have your blog ready !



Linux Apache MySQL PHP (LAMP) Server to host our own website

The most popular configuration to host our own website is certainly the Linux + Apache + MySQL + PHP combination (Alias LAMP server). Although it is possible to do the same using Windows (WAMP) or with others applications too, I will only focus on LAMP.

Apache is the most popular HTTP server; coupled with the world’s most popular Open Source database, MySQL and the very popular scripting language PHP, you should not doing a big mistake here using this combo.


To install it, just install all these applications:

During the installation, you will need to set MySQL root password and to select the Web Server to reconfigure (Apache in our case)



Either you want to build your own website from scratch or you could use some Content Management System (CMS), like WordPress, Drupal, or Joomla, which is like a template that you can customize and fulfil (Like this blog).

In any case, you will need to build a specific folder in /var/www, install what ever you want in it and provide a Virtualhost to inform Apache to deliver this folder depending on the url asked, as briefly discussed in my previous post to help you set a Static IP and explain the server/router should response.

Let’s say you want to host 2 websites, one blog and one photo gallery, here is how you should do:

1) Create the folders

(You can call the folders as you wish)

2) Add whatever CMS, services you want inside

3) Give proper permission to these folders

As we have created the 2 previous folders using sudo command, the owner is now root…which will cause access issues. To avoid that, we need to change the owner of these 2 folders by www-data.

chown is to change owner, -R option is for recursive, if you want to do it on full folder, you need to add -R, and www-data:www-data is to assign the folders to the user AND group www-data.

4) Create the needed virtualhost (Vhost) files

The apache virtualhost files are the key to know which folder/service to deliver when an user request a certain domain name.

For example, you may want that redirect to the folder /var/www/myblog and that the sub-domain redirect to /var/www/gallery or may be to have a second domain name directly, it’s in fact not very difficult with the Virtualhost.

You will need to create the conf file in /etc/apache2/site-available and then active this virtualhost (Actually you could directly create the conf file in /etc/apache2/site-enabled, thus already active but this solution is less flexible if you want to turn on/off sometimes some websites)

– Create the virtualhost:

In my presented case, the Virtualhost of that will redirect to the folder /var/www/myblog will look like (With comments after the ###, you could remove them if you want)

The remaining lines will not need much changes normally.

And you could do the same for your second website

– And now activate your 2 virtualhosts:

where myblog and gallery are the names of the virtualhost files created previously.

And finally restart apache:

If no error message, you should be all set.

PS: Don’t forget to create an A redirection on your domain name registrar to your IP and allow connection from port 80 into your router.

Exploits of a Mom

How to redirect 1 domain name to another and correct URL bar

If like me, you want to redirect your old domain name to your new one while correcting the visitors’ URL bar, the solution is quite simple in fact using your VirtualHost.

Here is my example, I wanted to redirect and (Without www) to directly and make sure the domain name change in the visitors’ URL bar, you need to tweak a bit your Vhost located in your


to add the domain name you want to redirect at the beginning of your existing VirtualHost.

Here is the interesting part of mine:



First, the server will answer any request on the port 80, the default HTTP port (*:80) for the ServerName or the Alias and will redirect any folder called (/) to the website

Like that, if you call, it will redirect to Or if you call, it will redirect to

Easy right?