I’m currently working on this blog; fine tuning WordPress and the theme so it might look a bit off for a while. I got to the point where it took 10 seconds to load the homepage so I’m now considering switching theme, changing layout and I’m even considering using another platform. If you know any good alternative to a self-hosted WordPress, please let me know.
Before downloading the Desktop image of Xubuntu 16.04 take a look at these pictures.
Notice the RAM usage. Full Xubuntu Desktop is 270 MB while the Minimal Xubuntu setup is 192 MB. I’m not a math genius, but I can see what’s going on here…
This is the mini.iso with Xubuntu Minimal installed.
I have a notebook with 8 GB of RAM but this isn’t a good reason to waste it. I think the Minimal Xubuntu 16.04 is a viable alternative, especially if you want to have proper control over the software you want (or don’t want) on your system.
- Xenial 16.04 mini.iso image download link (direct download)
- Full Xubuntu Desktop images (link to webpage)
How I did the test
- Fired up a couple of identical Virtualbox VMs.
- Installed the systems using their respective ISO images.
- Installed htop.
How to install the Minimal
To get the Xubuntu Minimal Setup you have to download the mini.iso and run the setup. After a few questions about localization, keyboard, download mirror locations and so on, you’ll be asked to select what software you want to install. Make sure you keep the selected core stuff but also check the Xubuntu Minimal for installation.
If you check the Xubuntu Desktop entry, instead of the Minimal, you might get the “heavier” version regardless of this whole mini.iso procedure.
Note that you need an active internet connection to download the required packages while installing the OS.
I’m re-posting this because, apparently, there’s still someone who’s looking for this post. So here it is, from the original post I made some years ago.
After an upgrade I had issues with tearing and waves corrupting the desktop on my external monitor (no issues on my laptop screen). I decided to format and reinstall everything. It solved a tons of other small issues but not this one. External monitors (LCD or CRT) won’t work with Ubuntu 10.04 notebooks with Radeon cards (I have a Mobility radeon x1600). You’ll see a distorted image. Waving like the refresh rate is incorrect.
I just did the following (on a bare install of Ubuntu 10.04)
Fire up the terminal and type
gksudo gedit /etc/modprobe.d/radeon-kms.conf
a blank file will open up. Type in the following.
options radeon modeset=0
Save, exit and reboot.
Beware that this solved my particular issue but it may not solve your own. My issue had to do with waves and refresh problems on an external monitor connected to a Notebook’s Ati Mobility Radeon x1600, running Ubuntu 10.04. That’s it. Your mileage may vary.
It’s really easy. You just need a plugin: Change DB Prefix
- Make a backup of your database (and maybe your
- Make sure the webserver owns the whole WordPress directory (i.e. if you’re using Apache Web Server and your WordPress files resides inside
/var/www/webdomain.com/public_html/, just make sure to
sudo chown -R www-data:www-data /var/www/webdomain.com/public_html/
- Also issue a
sudo chmod -R 755 /var/www/webdomain.com/public_html/to give the webserver the ability to write to files but only read/execute to others.
- Go to the plugin screen inside your WordPress admin panel, set the new prefix and run it.
wp-config.php file there are two lines that define your MySQL database charset and collation.
define( 'DB_CHARSET', 'utf8' ); define( 'DB_COLLATE', 'utf8_general_ci' );
These lines should match those of your database but it’s not always like that; maybe you want to migrate the database content into another one (which is
CHARACTER SET utf8 COLLATE utf8_general_ci) or maybe you just want to set reasonable defaults for your blog (avoiding the defaults, which more often than not are unknown).
Enter Utf8ize. It’s a simple WordPress Plugin but it’s a life-saver.
The goal in these conversions is always to decide on what charset/collation combination you want to use (UTF8 being the best choice in almost all scenarios) then to convert all tables/columns in your database to use that charset. At that point you can set DB_COLLATE and DB_CHARSET to the desired charset and collation to match.
It reads your database and generates SQL statements for every table and column. Then you simply copy/paste the statements into phpMyAdmin or Adminer and execute.
Just remember to change your
wp-config.php accordingly and pay attention to the generated SQL statements for the specific collation (may be
utf8_unicode_ci). Set the correct values in the
wp-config.php right after you run the SQL statements and you’re done.
Let’s say you have:
- A server with an ip address (like
- A domain name (like
And you want to be able to reach your web server (
Apache 2.4 in this case) via your domain name (
example.com) but you want to block access via ip address (so that when you type
xxx.xxx.xxx.xxx in the address bar, it doesn’t work).
- Connect via SSH to your server.
- Create a new config file in the
sudo nano /etc/apache2/sites-available/direct.conf
Now type the following lines
<VirtualHost *:80> ServerName xxx.xxx.xxx.xxx Redirect 403 DocumentRoot /dev/null </VirtualHost>
- Save the file
sudo a2ensite direct
- Now restart your server:
sudo apache2 restart
Done. You won’t be able to access your website using the IP address of your server.
If you want to disable this particular site configuration, just type
sudo a2dissite direct and restart the server (
sudo apache2 restart)
You might have to use
Redirect 403 /
As pointed out by Chris (thanks for letting me know).
I’m not new to blogging but I wanted to make something unusual (based on my standards). What I wanted was simple:
- Google Compute Engine
- Just enough themes, plugins and optimizations to get things done. Fast.
This blog is the result.
In the coming days I’m going to write the steps I’ve taken (and the ones I still have to take) to end up with a decent, fast, beautiful blog.
This is a little summary:
- Set up the Google Compute Instance.
- Configure a Domain Name with the Google Cloud DNS.
- Installing and enabling a bunch on WordPress plugins at once, keeping in mind speed, robustness and readability factors.
- Enable SendGrid to easily send email within WordPress (without messing up the Google Cloud Instance).
- Configure Amazon S3 to host static files (like the themes files, css, js, fonts and so on).
- Create a Cloud Backup solution.
There should be one– and preferably only one –obvious way to do it.
Although that way may not be obvious at first unless you’re Dutch.
– The Zen of Python
Now, since I’m not Dutch, I had to make and break things again and again just to find out a possibly viable way. I wanted to be able to crash and burn the whole infrastructure and then be up and running again in less than 30 minutes.
As I said, I’ll document my journey in the coming days, but I also expect comments and hints on how to make things better… ’cause I’m not Dutch.
Whenever I say this WordPress blog is hosted in the cloud, people automagically assume I’m using Amazon AWS. Wrong!
I’m using Google Compute Engine and let me show you why.
|Google Compute Engine||Amazon AWS|
These were the plugins I installed, activated and configured in both instances.
- Akismet: 3.1.5
- Bulk Images to Posts: 3.3
- BulkPress: 0.3.4
- Google XML Sitemaps: 4.0.8
- PHP/MySQL CPU performance statistics: 1.1.9
- Pods – Custom Content Types and Fields: 2.5.5
- Regenerate Thumbnails: 2.2.4
- SendGrid: 1.6.7
- Simple Tags: 2.4
- SysInfo: 1.1.0
- Wp Favs: 1.0.6
- WP Super Cache: 1.4.6
Both deployments (just for the test purposes) are Bitnami WordPress. Well, let’s see the interesting part, shall we?
Google vs Amazon - Results
|Test||Google Cloud Engine||Amazon AWS|
|Inbound Speed||444.77 Mbps||256.16 Mbps|
|Outbound Speed||11.24 Mbps||8.83 Mbps|
|Total MySQL Time||7.71 s||16.63 s|
|Total PHP Time||1.87 s||4.93 s|
|Total Test Time||9.58 s||21.56 s|
I didn’t expect to see such a difference. Google Compute Engine is twice as fast the same type of machine from Amazon AWS. And it costs way less (in fact I haven’t applied the sustained use discount for a whole month usage so you might spend way less than $0.055 with Google Compute Engine).