HowTo: AWStats and phpMyAdmin to Display Properly Using Nginx and Apache
I am now using Nginx to handle the static content on my server while using Apache to handle the dynamic content. Overall I am very happy with the switch. One issue I had was the images in AWStats and phpMyAdmin were not displaying because the static file regular expression I am using was overriding my /awstats location rule. The fix is quite easy. A new rule needs to be setup to override the original static file regular expression.
This code will only work if you are using Nginx to forward non static requests to Apache.
location ~* ^/(awstats|phpmyadmin) { proxy_pass http://127.0.0.1:8080; include /etc/nginx/proxy.conf; }
If you are already setup using Nginx + Apache, chances are you have a file similar to this below. If you have the proxy configurations copied and pasted into your files I would recommend making an includes file to keep your configuration files clean and readable.
proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 32k; proxy_buffers 8 16k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k;
Quite simple to accomplish, though I will admit it took me a few minutes to figure out. Hope this helps.
Push Twitter Replies to your iPhone using Prowl
Yesterday I bought Prowl for the iPhone. Prowl is similar to Growl on OSX systems. Prowl pushes notifications to your iPhone or iTouch. One of the first uses I thought to use Prowl for was pushing my @replies and mentions from Twitter to my iPhone. I wanted to run the script from my Ubuntu server rather then keeping my desktop on 24/7. I did a quick search online and didn't find any command line options for achieving such a task. I decided to code a quick and dirty PHP script to accomplish what I wanted to do.
This is a quick hack. There are probably more efficient ways of accomplishing this task. I used ProwlPHP to link to the Prowl API.
I assume you know PHP and know how to navigate in Terminal. This is a command line app, it will run on any computer/server running PHP. I have extensively commented the script. Hopefully it is easy to follow along.
Quick Instructions:
- Download the newest version of ProwlPHP and copy it a directory.
- Create a file lastreply.txt and stick in in the same directory as the below code will be copied into. This file needs to have read and write permissions.
- Copy the below code into another file. Alter the ProwlPHP includes directory on line 2, and add your Prowl API key, Twitter Username, and Twitter Password in the constructor.
//CHANGE THIS PATH TO WHERE ProwlPHP IS LOCATED ON //YOUR SERVER include('../API/ProwlPHP.php'); $t = new Twitter(); /** * @class Twitter * This class integrates Twitter and Prowl notifications with the * iPhone. When this script runs it checks to see if any new * Twitter mentions have occured on your account since last check. * If any exist, the Tweet is sent to Prowl and will be notified * via push on your iPhone. * * This class uses ProwlPHP located at: * http://github.com/Fenric/ProwlPHP * * @author Kastang (josh dot kastang at gmail dot com) */ class Twitter { var $xml; var $lastID; var $tUser; var $tPass; var $prowl; /** * Constructor for Twitter Class. Three lines need to be edited * below before running the file: prowl, tUser, and tPass. */ function __construct() { //EDIT THE 3 LINES BELOW $this->prowl = new Prowl('YOUR PROWL API KEY'); $this->tUser = "TWITTER USERNAME"; $this->tPass = "TWITTER PASSWORD"; //XML info loaded from Twitter API. $this->xml = simplexml_load_string($this->getReplies()); //Opens the lastreply file which contants the //id of the last mentioned tweet. $this->lastID = file_get_contents("lastreply.txt"); //If the file is empty (probably the first time //you are using the script). It will pull the //newest mention id from your twitter feed and //store it in the file. if ($this->lastID == null) { $this->lastID = $this->xml->status[0]->id; $full = "@" . $this->xml->status[0]->user->screen_name . ": " . $this->xml->status[0]->text; $this->prowl($full); $this->updateNewest($this->xml->status[0]->id); } //Checks for new Twitter Mentions. $this->checkForUpdates(); } /** * Checks for updates. */ function checkForUpdates() { //first run boolean. $first = true; //For each mention in the XML array, check to see if //the current ID is greater then the last recorded ID. //If it is, push the current Tweet to Prowl, if it isn't, //check to see if it is the first run, if it is, break out //of the for loop, if it isn't the first run, update the //lastreply.txt file and break from the forloop. for ($i = 0; $i < 10; $i++) { $curr = $this->xml->status[$i]->id; if ($curr > $this->lastID) { $first = false; $full = "@" . $this->xml->status[$i]->user->screen_name . ": " . $this->xml->status[$i]->text; $this->prowl($full); } else { if ($first) { break; } else { $this->updateNewest($this->xml->status[($i - 1)]->id); break; } } } } /** * Writes the newest @reply id to a file. */ function updateNewest($id) { $file = fopen("lastreply.txt", "w"); fwrite($file, $id); fclose($file); } /** * Push the Tweet to Prowl. This code is modified from * example.php in the ProwlPHP API Wrapper. */ function prowl($tweet) { $this->prowl->push(array( 'application' => 'Twitter', 'event' => 'Reply', 'description' => $tweet, 'priority' => 0, ), true); } /** * Gets replies from Twitter. In order to grab replies, you * must be authenticated. */ function getReplies() { $twitterHost = "http://twitter.com/statuses/mentions.xml"; $curl; $curl = curl_init(); curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 2); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_USERPWD, "$this->tUser:$this->tPass"); curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); curl_setopt($curl, CURLOPT_URL, $twitterHost); $result = curl_exec($curl); curl_close($curl); header('Content-Type: application/xml; charset=ISO-8859-1'); return $result; } }
I chose to add an entry in my crontab to run this script every 10 minutes. The time can be adjusted to suit your needs. Personally I do not see a need to ping Twitter more then once every ten minutes.
*/10 * * * * curl /path/to/replies.php
If all goes well, you should see something like this when someone mentions you in a tweet:
It is possible to setup a redirection within Prowl to automatically launch your Twitter client of choice when you get a Twitter based notification. You can also open Prowl and view all notifications:
The script should be fairly easy to modify. I will probably add Direct Messaging next to my Prowl Push Notifications.
Installing and Configuring WoW on Linux
A few months ago I wrote a blog post answering some frequently asked questions about playing World of Warcraft on Linux (more specifically, on Ubuntu). I am making a return to WoW after an extensive break. During my break I did a fresh install of Ubuntu 10.04. I am in the process of reinstalling WoW on my Ubuntu partition. While reinstalling and reconfiguring WoW for my system, I took a few screenshots and notes. Hopefully they will be helpful for anyone who wants to play WoW on Linux.
This guide is tailored to Ubuntu 10.04 users, but should be similar for any Debian based OS users. I like to think everything is fairly straight forward. I assume you have some sort of basic Linux knowledge before attempting this guide. For example, if you do not know how to navigate around in Terminal, you probably shouldn't try this.
Prerequisites
Before installing Wine or WoW a few things need to be done with your system.
- Update your graphics drivers: Updating your graphic drivers is probably the most important thing to do to ensure stable performance in WoW. Both NVidia and ATI have made great improvement over the past few years in improving the quality of their Linux drivers. Each release seems to increase the stability and performance of their cards.
- Turn off special effects: If you are using Compiz (or an equivalent) turn it off before trying to play WoW. 9/10 times it will severely diminish performance and cause system lockups. If you use Gnome or KDE, I suggest switching to more lightweight option such as XFCE. This is not mandatory, XFCE my desktop environment of choice. If you want to give XFCE a try, in terminal type:
sudo apt-get install xubuntu-desktop
Install and Configuring Wine
Make sure you have the newest version of Wine installed. If you are using Ubuntu, open terminal and type the following:
sudo apt-add-repository ppa:ubuntu-wine/ppa sudo apt-get update sudo apt-get install wine
The above commands will install the newest version of Wine on your system. At the time of this writing, the newest version is Wine 1.2. After issuing the above commands, type wine --version in Terminal to make sure you have the newest version available. To check the newest version, head over to WineHQ and check the latest Stable Release version.
Generally speaking the newest version of Wine is always the best. Occasionally a bug will occur in a build in which case you will have to manually install a previous version. World of Warcraft is a very well supported game in the Wine community so the chances of such a bug happening are slim.
For now, only one optional change needs to be made in the Wine Configuration. If you are only using a single monitor system, you can probably skip this. If you are using dual (or more) monitors, you should set an emulate desktop. Type winecfg in terminal. Click the Graphics tab, and check the "Emulate a virtual desktop" checkbox. Enter the screen resolution of the monitor you are going to play WoW on under Desktop Size. What this does is create a virtual desktop for Wine programs to run in. This is sometimes needed because certain games may appear distorted or overlap to a second monitor in full screen mode. If you are using Dual Monitors for example, you will need this activated so you can play correctly in full windowed mode and still be able to access your second monitor while playing WoW.
Installing WoW from Scratch
*If you have WoW installed on a seperate Windows partition you can use it rather then installing from scratch. If you do, ignore the installation instructions below and scroll down to Special Cases at the bottom of this post.
After Wine is installed and configured we can start the installation process. This process is pretty straight forward. I am using the WoW Online installer since I do not own the physical WoW discs. You can download the WoW Installer directly from Battle.net here. If this link does not work, login to your Battle.net account and download the Windows version of the WoW Installer.
After the file downloads, open terminal and navigate to the directory where InstallWoW.exe is located and run:
wine InstallWoW.exe
If this is your first time using Wine, the process may take a few extra seconds while configuration files are created. Your screen may also flicker a few times, don't worry, its normal. If all goes well, a screen should pop up asking which version of WoW you want to install. Select WoLK. You should see the following screen shortly after:
After the required files are done downloading, you may receive an error about some system components failing the minimum requirements. This is most likely due to Ubuntu not reporting the proper system information. Ignore any such warnings and click Install.
Next you will be prompted to select an install location for WoW. I personally chose C:\Program Files inside of Wine. You can safely choose whichever directory you want. For future reference, the "C" drive Wine creates is mapped to ~/.wine/drive_c/. In my example, my WoW folder will be: ~/.wine/drive_c/Program\ Files/World\ of\ Warcraft/
The longest part of the install when 7.5 GB of WoLK files are being downloaded and installed. I am receiving pretty constant speeds from Blizzards servers of around 800-900KB/s with spikes sometimes around 1.5MB/s. The install part will take a few hours to complete. I would recommend getting to this step before bed.
After the base install of WOLK is done, the game will automatically launch the Blizzard updater and patch WoW to the newest version. If all goes well, this should be done automatically, without issue. In my case, Wine froze while updating to Patch 3.3.3. If the game freezes on you during updating, open terminal and type:
sudo killall wineserver wine ~/.wine/drive_c/Program\ Files/World\ of\ Warcraft/Launcher.exe
The launcher should re-launch and the game should continue to upload without any issues.
Configuring WoW
By now WoW should be installed and fully patched. Before running the game, I recommend editing the Config.wtf file before launching WoW for the first time.
#Copy your original Config file to a new location. cp ~/.wine/drive_c/Program\ Files/World\ of\ Warcraft/WTF/Config.wtf ~ #Remove the original rm ~/.wine/drive_c/Program\ Files/World\ of\ Warcraft/WTF/Config.wtf #Create a new Config.wtf file and copy the below inside it vi ~/.wine/drive_c/Program\ Files/World\ of\ Warcraft/WTF/Config.wtf
This config file sets all of the performance settings to the lowest possible setting(don't worry, you'll adjust these later. Just for the initial launch it makes life easier), sets OpenGL by default, accepts the TOS and EULA, and sets a low screen resolution.
SET readTOS "1"
SET readEULA "1"
SET readScanning "-1"
SET readContest "-1"
SET readTerminationWithoutNotice "-1"
SET installType "Retail"
SET locale "enUS"
SET movie "0"
SET showToolsUI "1"
SET portal "us"
SET realmList "us.logon.worldofwarcraft.com"
SET patchlist "us.version.worldofwarcraft.com"
SET hwDetect "0"
SET gxWindow "1"
SET gxRefresh "60"
SET gxMultisampleQuality "0.000000"
SET gxFixLag "0"
SET videoOptionsVersion "3"
SET textureFilteringMode "0"
SET Gamma "1.000000"
SET Sound_OutputDriverName "System Default"
SET Sound_MusicVolume "0.40000000596046"
SET Sound_AmbienceVolume "0.60000002384186"
SET farclip "177"
SET particleDensity "0.10000000149012"
SET baseMip "1"
SET environmentDetail "0.5"
SET weatherDensity "0"
SET ffxGlow "0"
SET ffxDeath "0"
SET gxResolution "1024x760"
SET gxApi "opengl"
Now you should be good to boot the game for the first time. You should have a WoW Icon on your Desktop. If you do, double click on it and it will launch the WoW screen. If you do not have a WoW Icon on your desktop, enter the following command in terminal:
wine ~/.wine/drive_c/Program\ Files/World\ of\ Warcraft/Wow.exe
If you did not have a WoW Icon on your Desktop, look at the bottom of this post to see how to create an Alias to launch WoW through terminal.
From here it is up to you to configure the settings to your liking. I recommend taking it slow, gradually update the settings until you are happy with the performance. Personally speaking, most of my settings are very similar to the settings I would play with in Windows. Both ATI and NVidia Linux drivers have come a long way in recent years. You should not see much a performance loss between playing on Windows or Linux. In some instances, you may even see a performance boost.
AddOns
Generally speaking, all AddOns will work fine under Linux. Rather then manually installing my AddOns, I prefer having a program do the manual work for me. One of my favorite programs for such a task is WoWMatrix. As far as I know, WoWMatrix is the only AddOn updater I know that offers a native Linux client.
Download WoWMatrix Linux version from WoWMatrix and execute the following commands:
#Navigate to where wowmatrix.tar.gz file was downloaded tar zxvf wowmatrix.tar.gz ./wowmatrix
If all goes well, WoWMatrix should launch and ask where your WoW folder is located. In the window, right click in the white space and click Show Hidden Files. Navigate to ~/.wine/drive_c/Program\ Files/World\ of\ Warcraft/ - After the folder is selected, accept the license agreement. The rest should be self explanatory.
As with configuring your video performance, I recommend gradually adding AddOns. Make sure none cause issues.
Create a Terminal Alias for WoW
If for some reason a Desktop icon was not created, or you do not use a windows manager, you can create an alias to launch WoW via Terminal. If you use bash, add this to your ~/.bash_aliases file:
alias wow='wine ~/.wine/drive_c/Program\ Files/World\ of\ Warcraft/Wow.exe'
After changes are made to your aliases file, you will need to apply the changes by typing source ~/.bash_aliases in Terminal. From now on you will be able to type wow in Terminal and the game will execute.
Special Cases
Unless you were previously directed to read this section, skip it.
Using an existing WoW Install:
If you already have WoW installed on a Windows partition, you have two options to choose from:
- Running WoW directly from your Windows partition.
- Copying your WoW directory from your Windows partition to your Ubuntu parition.
I am assuming you do not have your Windows partition mounted. If this is the case you will first need to know the which partition your Windows is located:
$ sudo fdisk -l Device Boot Start End Blocks Id System /dev/sda1 * 1 13 102400 7 HPFS/NTFS Partition 1 does not end on cylinder boundary. /dev/sda2 13 31871 255897600 7 HPFS/NTFS /dev/sda3 31871 44648 102631425 5 Extended /dev/sda5 31871 44029 97654784 83 Linux /dev/sda6 44029 44527 3998720 82 Linux swap / Solaris /dev/sda7 44527 44648 975872 83 Linux
Issue the above command. it will display a list off all partitions on your hard drives. Look for the largest NTFS filesystem, this will most likely be your Windows partition. In my case, my Windows partition is located on /dev/sda2.
Now that you know which partition Windows is installed on, execute the following commands:
sudo mkdir -p /media/Windows #REPLACE /dev/sda2 with your Windows partition. sudo mount /dev/sda2 /media/Windows
This will create a directory for your Windows partition to reside in then mount the partition to the newly created folder. I recommend you copy your existing WoW install your Ubuntu partition. For consistency, we will move your WoW folder to Wine virtual directories. This is not necessary though, the WoW folder can be placed anywhere on your Ubuntu HD.
sudo cp -r /media/Windows/path/to/World\ of\ Warcraft/ ~/.wine/drive_c/Program\ Files/
This will take awhile to complete. I suggest starting the copy and walking away for an hour.
If you choose to use your Windows partition to run WoW instead of copying it to Ubuntu, you should automount your NTFS drive on boot. Look up how to by editing your fstab file. I will not cover this in my guide.
Conclusion
If you are at this point, chances are you have a working WoW install. Congratulations!
AWStats on Ubuntu 10.04 Server
Yesterday I finalized moving my websites to my new Linode. With all the base configuration done, it is time to start installing some monitoring and stats tools. AWStats in particular is one of my favorite tools for analyzing web traffic.
This guide assumes you are using Apache2, Ubuntu 10.04(though I would assume to process would be similar for Ubuntu 9.xx), and have root access to your box. Also I assume you have Apache properly setup with a working access.log file.
Installing AWStats
Ubuntu 10.04 has AWStats available in their repositories:
apt-get install awstats
The Ubuntu Repo. does not have the newest version of AWStats. The repo has 6.9 while the newest, stable, version is 6.95. The 6.9 install that Ubuntu provides should be enough for most people. If you wish, you can install the newest version manually and continue following afterwards.
Configuring AWStats
AWStats does offer some sort of automated configuration process. I have never used or tested this function. If you are not comfortable with manual configuration you may want to look up the automated configuration option.
I have multiple domains I wish to track. I needed to make a copy of the default awstats.conf file for each domain. I used the format awstats.mydomain.ext.conf for my configuration file name. In my case, mydomain.ext is kastang.com. You will have to create a copy of awstats.conf for each domain you want to monitor.
cp /etc/awstats/awstats.conf /etc/awstats/awstats.yourdomain.ext.conf
Open awstats.yourdomain.ext.conf, find and modify the following fields:
#Path to access.log for your domain LogFile="/var/log/apache2/access.log" #I recommend '1' for more detailed information LogFormat=1 SiteDomain="yourdomain.ext" HostAliases="localhost 127.0.0.1 yourdomain.ext"
Now we can generate the initial stats for AWStats based off of your existing access.log file. You need to run this command for every domain you have configured.
/usr/lib/cgi-bin/awstats.pl -config=yourdomain.ext -update
Check the output for any errors. If it successfully Finds/Parses your access.log file you should be good to continue. If you have any errors, double check your configuration file and make sure the path to the access.log is correct.
Configuring Apache
After configuring AWStats, we need to tell Apache where to point when the AWStats address is accessed.
Navigate to /etc/apache2/sites-available/. If you have no VirtualHosts setup, you will want to place the following code in 'default'. If you have VirtualHosts setup, add this code inside the VirtualHost tag for each domain you want to monitor.
Alias /awstatsclasses "/usr/share/awstats/lib/" Alias /awstats-icon/ "/usr/share/awstats/icon/" Alias /awstatscss "/usr/share/doc/awstats/examples/css" ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ ScriptAlias /awstats/ /usr/lib/cgi-bin/ Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Reload the Apache configuration:
/etc/init.d/apache2 reload
Check to make sure you do not have and errors or warnings. Depending how you originally setup your Apache config, the /cgi-bin/ ScriptAlias may already be implemented. In this case, just remove that line from the configuration file. (Don't forget to reload the configuration after all changes).
You should now be able to navigate to http://yourdomain.ext/awstats/awstats.pl and see the existing webstats from your access.log file.
Automating AWStats updates
AWStats will not automatically update by default. I cuggest using Cron to automate the process:
Add this to crontab and it will update stats once every three hours. You can adjust the timing to suit your needs. I have seen AWStats update on a weekly basis, daily basis, and even sometimes every couple minutes. You will need to add a separate crontab line for each domain AWStat is monitoring.
0 */3 * * * root /usr/lib/cgi-bin/awstats.pl -config=yourdomain.ext -update >/dev/null
Securing AWStats
If you are at this step, you should have a working AWStats. One issue is AWStats does not come secured by default. They do offer to enable Authentication in the configuration, but I think it is just easier to generate a simple .htaccess file. This method is a quick and dirty method for securing AWStats. If you require a more sophisticated method of securing AWStats, please consult the official documentation.
Navigate to /usr/lib/cgi-bin/ this is where awstats.pl is located.
Create a new .htpasswd file:
htpasswd -cb /path/to/.htpasswd username password
Create a new .htaccess file with the following inside:
AuthName "AWStats Authentication" AuthType Basic AuthUserFile /path/to/.htpasswd Require valid-user
Now if all goes well, when you refresh your browser you will be prompted to enter a username and password to access AWStats.
This should get you to a point where AWStats is usable and (reasonably) secure. From here you can add Plugins or further configure AWStats to fit your individual needs.
World of Warcraft Account Security
Recently there has been discussions in my Guild regarding World of Warcraft account security. I believe this is a perfect opportunity to give my opinion on measures that I believe must be taken to ensure increased general security of your computer along with your World of Warcraft account.
One thing I must make clear is there is no such thing as a completely secure networked computer. The suggestions listed below are simply extra precautions that must be taken to minimize the chance of your computer being compromised.
* - Applies to World of Warcraft only.
Get an Authenticator*
Having an Authenticator will virtually eliminate the chance of your account being compromised. The Blizzard Authenticator costs $6.50 from the Blizzard Store. If you are an iPhone/iTouch user, you can download the Mobile Authenticator for free. Having an Authenticator is no excuse not to do the remaining suggestions.
Web Browser
Use a secure browser. For the sake of speaking, that pretty much means anything besides Internet Explorer. My personal recommendation is Google Chrome or Firefox. For each, I highly recommend the WOT plugin.
WOT’s safe browsing tool warns you about risky sites that can’t be trusted: Online shops that cheat customers; download sites that deliver malware; sites that send spam; and those with inappropriate content for kids.
Web of Trust provides an additional layer of security when visiting websites. WOT is community managed, meaning if someone spots a phishing website, they can report it. The report is upload to WOT servers, if you try to access the website that has received a poor rating, WOT will block you from going to the website without your express permission. If you use Firefox, in addition to WOT, I also highly suggest NoScript. Currently, Google Chrome does not have a NoScript extension available.
Passwords
Your World of Warcraft password should be entirely different from any other service you use. Generally speaking, a password should be at least 8 characters long with upper/lower case letters, numbers, and symbols. Your World of Warcraft password (along with other sensitive passwords) should be changed at least once a month. It takes 2 minutes to do, don't be lazy. An example of a good password would be 'I3n&$VW49*'.
Anti-Virus, etc.
Windows users - Having AV software is not full proof. Consider it just another way to decrease the chances of having malicious software installed on your computer (for a long period of time). I personally recommend Avira or NOD32. Along with AV software, I also recommend Spybot and Malwarebytes (Free Edition is fine). Malwarebytes is specifically targeted to Malware, harmful software that is generally not picked up by AV software. AV software should be set to automatically update and run daily (Both NOD32 and Avira provide this option, as do many other AV's such as AVG and Avast). I would recommend running anti-malware software at minimum once a week.
For Mac(OSX)/Linux users, The options for security software is rather slim. I can recommend ClamXav(Mac) and Clamav(Linux) for virus scanning. I also recommend rkhunter for OSX/Linux systems. Generally speaking, there is not much more that can be done for OSX systems in terms of AV software. Sadly, Apple has spread false information on commercials by suggesting OSX is immune to viruses, until OSX suffers a mass attack, it is unlikely much further production of AV software will occur. As for Linux systems, there are other precautions that can be taken, but I will assume if you use Linux, you should know how to properly secure your system.
Note: Debian based distrobutions can run the follow command to download rkhunter and clamav:
sudo apt-get install clamav rkhunter #rkhunter -c to run #clamscan -r in '/' directory to run
Updates
Windows users - Automatic Updates should be turned on. Keep your system updated at all times. Microsoft is constantly releasing security patches to fix potential vulnerabilities in your system. If you are still using XP (or anything older) update to Windows 7 as soon as possible. When updates for your system become available, do not postpone restarting your computer to take effect, do it immediately when it asks.
OSX users - By Default, OSX will check for System Updates once a week (This setting can be changed in System Preferences -> Software Update). Install updates whenever they are available.
Linux users - If you are using a Debian based system, the following commands can be executed from a Terminal:
sudo apt-get update sudo apt-get upgrade
Other non-Debian based Distributions should consult the proper documentation.
Common Sense
Be smart when you use your computer.
- One precaution that should be taken is when reading email. Never click on links masked by anchor tags (HTML), especially World of Warcraft related emails. If you receive an email from Blizzard asking you to log in to your account, or a beta key, it is most likely a scam.
- When using your laptop on a public network, be very careful to use SSL connections while logging in/reading email or any other services. If you are on a public network, you should always assume that someone is watching and logging everything you do (this includes cleartext logins). For maximum security, I recommend always using hardwired connection wherever possible (this includes on a home network also).
- If at any point you find your computer acting strange, immediately stop what you are doing, update and run your protection software.
- If your World of Warcraft account is compromised, and virus scans show up nothing on your computer. Do not assume one is not there. Change the password for your email and WoW account on a different computer, then work on finding out what caused the security breach on your WoW computer.
Conclusion
Everything above may seem like a lot to take in at first, especially if you have little to no protection on your computer to begin with. The hour or two it will take to setup will be well worth it if your World of Warcraft account becomes compromised. Not only will following my suggestions increase the overall security of your system, it will also save you from possible embarrassment if your account becomes compromised. Once you get everything setup, it should not take more then a half hour of manual work per week to keep your system up to date and secure. I will repeat again, having this security software in place will not make your computer full proof against attack. The above software will only minimize the chances of your system becoming compromised.






