Hack and / - Your Own Personal Server: Blog
Now that you are familiar with how Apache organizes files under Ubuntu, the next step is to configure a new virtual host. It turns out there are a number of different ways you can configure the WordPress virtual host under Apache, and included in the wordpress package are examples of the different methods under /usr/share/doc/wordpress/example/apache.conf. For this article, I'm choosing a configuration that makes it simple to manage multiple WordPress sites on the same host, so create a file called /etc/apache2/sites-available/wordpress that contains the following data:
NameVirtualHost *:80
<VirtualHost *:80>
UseCanonicalName Off
VirtualDocumentRoot /var/www/%0
Options All
</VirtualHost>
Now, enable this new site and disable any default virtual hosts Apache may have included:
$ sudo a2ensite wordpress $ sudo a2dissite default
In my example, I have used the Apache option VirtualDocumentRoot, so I can more easily manage multiple WordPress sites. Unfortunately, the module to allow that feature isn't enabled by default, so I also need to enable the vhost_alias module so that feature works:
$ sudo a2enmod vhost_alias
The way I have set up WordPress, each WordPress site you host from this server will have its own document root under /var/www/<domainname>. When you add a new site, you need to create a symlink under /var/www/ named after your domain name that points to the installed WordPress software. In my case, I want to create a site called www.example.org, so I would type:
$ sudo ln -s /usr/share/wordpress /var/www/www.example.org
Instead of www.example.org, put the fully qualified domain name you are going to use for your site. While you're at it, if you haven't already set up an A record on your DNS server that points to your new site, now would be a good time. If you followed the steps in my previous column to set up a DNS server of your own, you already should have an entry in place for www. Simply change the IP address to point to the external, public IP address you will use for your Web server and reload the bind9 service.
After the symlink is created, I use the apache2ctl Apache management tool to reload Apache:
$ sudo apache2ctl graceful
Note: the apache2ctl program is the main command-line program you will use to manage the Apache service on your machine. In addition to the graceful argument, which tells Apache to reload any new configuration you have changed safely (such as when you add new sites), you also can use the following commands.
To restart Apache by forcibly stopping existing processes and starting them again:
$ sudo apache2ctl restart
To start Apache if it is completely stopped:
$ sudo apache2ctl start
To stop Apache hard (kill all of the current processes even if they are still processing a user request):
$ sudo apache2ctl stop
To stop Apache gracefully (it will kill processes only after they are finished with their current request):
$ sudo apache2ctl graceful-stop
Like with many dynamic sites these days, WordPress gets its data from a database back end: in this case, MySQL. The wordpress package includes a nice little shell script you can use to set up your MySQL database automatically for your site at /usr/share/doc/wordpress/examples/setup-mysql. All you have to do is pass it the -n option and tell it the name of the MySQL user you want to use and the name of the database. In my case, I use the user name “wordpress” and name the database after my site, www.example.org:
$ sudo bash /usr/share/doc/wordpress/examples/setup-mysql ↪-n wordpress www.example.org
Note: this command attempts to ping the domain name that you list, so if you haven't set up the domain in DNS yet, you will want to do it before you run the above command. Again, make sure your domain points to the public IP address you will use for your site.
Once you get to this point, your blog actually should be ready to use. All you need to do is visit http://www.example.org (in your case, you would visit the URL you set up for your blog), and you should be greeted with the initial WordPress configuration page as shown in Figure 1. From that point, all you have to do is enter the title for your blog and the contact e-mail you'd like to use. WordPress will present you with the admin user name and a temporary password. From there, you can log in and start tweaking, creating posts and changing your theme.
Kyle Rankin is a Systems Architect in the San Francisco Bay Area and the author of a number of books, including The Official Ubuntu Server Book, Knoppix Hacks and Ubuntu Hacks. He is currently the president of the North Bay Linux Users' Group.
Kyle Rankin is a systems architect; and the author of DevOps Troubleshooting, The Official Ubuntu Server Book, Knoppix Hacks, Knoppix Pocket Reference, Linux Multimedia Hacks, and Ubuntu Hacks.
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Designing Electronics with Linux | May 22, 2013 |
| Dynamic DNS—an Object Lesson in Problem Solving | May 21, 2013 |
| Using Salt Stack and Vagrant for Drupal Development | May 20, 2013 |
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
- Designing Electronics with Linux
- New Products
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Dynamic DNS—an Object Lesson in Problem Solving
- Linux Systems Administrator
- Senior Perl Developer
- Technical Support Rep
- UX Designer
- Web & UI Developer (JavaScript & j Query)
- Using Salt Stack and Vagrant for Drupal Development
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi

It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Featured Jobs
| Linux Systems Administrator | Houston and Austin, Texas | Host Gator |
| Senior Perl Developer | Austin, Texas | Host Gator |
| Technical Support Rep | Houston and Austin, Texas | Host Gator |
| UX Designer | Austin, Texas | Host Gator |
| Web & UI Developer (JavaScript & j Query) | Austin, Texas | Host Gator |
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?





4 hours 41 min ago
5 hours 15 min ago
6 hours 14 min ago
7 hours 4 min ago
11 hours 6 min ago
14 hours 53 min ago
15 hours 1 min ago
17 hours 16 min ago
19 hours 46 min ago
1 day 5 hours ago