Review & FAQ – How to Set Up a DigitalOcean VPS to host WordPress

A few unplanned and unannounced service outages with my VPS provider made me realize that it was time to jump ship, and take my business elsewhere.

Several friends of mine are using DigitalOcean for their VPS needs, and highly recommended their product. DigitalOcean offers VPS solutions from servers with 512MB of RAM, all the way up to servers with 96GB of RAM. All of their servers use extremely fast SSD drives.

DigitalOcean has a very clean and intuitive interface to get your VPS up and running very quickly. You can choose from various distributions of Linux, including Ubuntu, CentOS, Debian, Arch, and Fedora. Various applications can also be pre-installed on your VPS, including, LAMP, WordPress, Dokku, Docker, Ruby on Rails, Redmine, and GitLab.

I opted to set up a 1GB RAM VPS, running Ubuntu Server 12.04.3 LTS. The VPS “droplet” only took a minute to create, and I was very quickly on my way to get the new server up and running. Thankfully, I saved the web references that I used last time to set up my old VPS.

Webrich Software published this excellent article titled “LAMP Server and PHPMYADMIN installation” which details how to set up LAMP and phpMyAdmin. I followed these directions to the letter. The post makes reference to using gedit as text editor; obviously use whichever text editor you feel most comfortable using.

You will need mod_rewrite enabled on your Apache server if you want fancy SEO and user friendly page names with your WordPress installation. The mod_rewrite function is not usually enabled when Apache server is first installed. Fortunately, the very clueful staff at DigitalOcean has already written this excellent article “How To Set Up Mod_Rewrite” detailing how to enable mod_rewrite.

Next, you will need to install the WordPress files on your system for each site installation. Set up two separate directories for the files; one directory for the system files, and another directory for the log files. For example, WordPress files could be installed in:

/html/www/site.domain.name.com

and log files could be stored in:

/html/logs/site.domain.name.com

or whatever naming convention works for best for your configuration.

The Apache /etc/apache2/sites-available/default file must be configured properly to find your WordPress installation(s). DigitalOcean has this great article How To Set Up Multiple WordPress Sites on a Single Ubuntu VPS explaining how to set up your Apache config file. Linode also has a great article titled “Configure apache to use virtual hosts on ubuntu server” to help you get started on this configuration.

Below is a sample default file with virtual hosts for 3 separate websites; example.com, example.net, and example.org

<VirtualHost *:80>
	ServerAdmin webmaster@localhost

	DocumentRoot /var/www
	<Directory />
		Options FollowSymLinks
		AllowOverride None
	</Directory>
	<Directory /var/www/>
		Options Indexes FollowSymLinks MultiViews
		AllowOverride None
		Order allow,deny
		allow from all
	</Directory>

	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
	<Directory "/usr/lib/cgi-bin">
		AllowOverride None
		Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
		Order allow,deny
		Allow from all
	</Directory>

	ErrorLog /var/log/apache2/error.log

	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn

	CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

<VirtualHost *:80>
        ServerName example.com
        ServerAlias www.example.com

        DocumentRoot /html/www/example.com
        ServerAdmin webmaster@localhost
        LogLevel warn
        ErrorLog /html/logs/example.com/error_log
        CustomLog /html/logs/example.com/access_log combined
        ServerSignature Off

        <Directory />
                Options FollowSymLinks
                AllowOverride All
        </Directory>
        <Directory /html/www/example.com>
                Options -Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
</VirtualHost>

<VirtualHost *:80>
        ServerName example.net
        ServerAlias www.example.net

        DocumentRoot /html/www/example.net
        ServerAdmin webmaster@localhost
        LogLevel warn
        ErrorLog /html/logs/example.net/error_log
        CustomLog /html/logs/example.net/access_log combined
        ServerSignature Off

        <Directory />
                Options FollowSymLinks
                AllowOverride All
        </Directory>
        <Directory /html/www/example.net>
                Options -Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
</VirtualHost>

<VirtualHost *:80>
        ServerName example.org
        ServerAlias www.example.org

        DocumentRoot /html/www/example.org
        ServerAdmin webmaster@localhost
        LogLevel warn
        ErrorLog /html/logs/example.org/error_log
        CustomLog /html/logs/example.org/access_log combined
        ServerSignature Off

        <Directory />
                Options FollowSymLinks
                AllowOverride All
        </Directory>
        <Directory /html/www/example.org>
                Options -Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
</VirtualHost>

# notes for maintaining /etc/apache2/sites-available/default
#
# commands to check apache config and to reboot apache
# sudo apache2ctl configtest
# sudo /etc/init.d/apache2 restart
#
# be sure to specify log file location in
# /etc/logrotate.d/apache2 for proper log file rotation

You will also need to set up /etc/logrotate.d/apache2 to properly rotate the log files for each website. The DigitalOcean folks have done it again with this excellent article on “How To Configure Logging And Log Rotation In Apache On An Ubuntu VPS”.

I must admit that I have installed WordPress many times, however only recently have learned how to set proper file permissions and ownership so that WordPress can function properly. My previous installations always had issues with the system being able to create the proper file structure in /wp-content. This excellent article “Setting Proper WordPress Unix Permissions” spells it all out to get the file structure working properly.

Basically, you want your user account to own the WordPress installation directory, and all files in it as yourusername:yourusername with permissions 664, with just a few exceptions. The /wp-content directory and its contents needs to be owned by the web server account, which is either apache or www-data, with group ownership of either ‘yourusername’ or a special group created for admins.

The /wp-content directory and its entire contents will need permissions set to 775 to be able to add and remove files via your FTP login. You can set these permissions from the command line while in the docroot of your site by typing: sudo chmod -R 775 wp-content/

Ownership of .htaccess, .htpasswd (optional), and wp-config.php to should be set to root:root with permissions 664 to prevent anything bad happening to these important files!

Next, take a look at another excellent DigitalOcean article about “How To Install and Secure phpMyAdmin on Ubuntu 12.04″ to keep your phpMyAdmin installation safe from unauthorized access. Your phpMyAdmin login page should be protected with .htaccess and .htpasswd files to prevent brute force attacks on the root login password.

The Authentication and Authorization page for the official Apache documentation has everything that you need to know about how to set up .htaccess and .htpasswd

Take special note about the section on properly configuring the /etc/phpmyadmin/apache.conf file. The line AllowOverride All is very important, and is not always included in the default installation. My previous VPS had AllowOverride All included in the default configuration, but the DigitalOcean install did not. Needless to say, I spent a few days scratching my head trying to figure out why my .htaccess login would not work properly!

I hope that this article was useful. Bookmark this page, as it will be updated periodically with current information.

Sign up for your VPS cloud server from DigitalOcean today!

Have you been contacted to do business with REO PRO CORP?

UPDATE 4 – Thanks for all of the great comments and feedback about REO PRO CORP! Please be sure to read through all of the comments at the bottom of this article, as they clearly describe the lengths to which these people lie to cheat you out of your hard earned commissions.

UPDATE 3 – Check out Richard’s comment to this article, he said that REO PRO CORP tried to give him an actual REO assignment… which just happened to be Richard’s own listing that he closed the week prior!

UPDATE 2 – This video blog at Poncie.com titled REO PRO CORP: Legit or Scam? + Fannie Mae Application pretty much outs REO PRO CORP as the SCAM that they are!

UPDATE 1 – thanks for the comments so far! Feedback received indicates that these may be the same people behind BankerREO and FootprintsRE. Please see the following articles on LinkedIn, Ning, and ActiveRain.

Fellow Realtors: Have you received emails from REO PRO Corp, looking for experienced listing agents of REO, Short Sale, and Pre-Foreclosure properties?

REO PRO Corp contacted me back after I clicked on their link, and offered me 2 listings in my my area which were supposedly in preforeclosure.

They sent me a promotional PDF “Welcome Packet”, which was heavy on REO buzzwords and light on actual substance.

I was then pushed into a high pressure sales pitch for this program, which costs $400 up front for 6 months, and $300 for each additional 6 months. The sales rep did not call me back with a follow-up when I told him that I would have to think about their proposal.

Their published office “address” of 1000 N West Street, Suite 1200, Wilmington, DE 19801 is actually a Regus Virtual Office. Their published phone number of 302-570-0736 is serviced by Bandwidth.com, and is most likely a VoIP number. Their office numbers beginning in 302-394-9xxx are serviced by Peerless Network, and are most likely also VoIP numbers. In other words, they probably do not have an actual presence in Wilmington.

Their Facebook and Twitter feeds are simply set up on auto pilot to drip out the same articles fed from DSNews.com‘s RSS feed. Not much original content on their social media channels, save for the video testimonials without last names and contact information of the agents speaking the “praises” of REO PRO CORP.

A google search returns this REO PRO Corp review page at ModernComment.com. These reviews appear to be fairly worthless, given the lack of last names and any contact information for the reviewers. Some of the reviews are even left by anonymous commenters!

I have since placed all of REO PRO CORP’s listed phone numbers in my ‘DO NOT ANSWER’ contact, so they go right to voicemail. See my blog post Annoying phone numbers which real estate agents should ignore when they are called by them for more details.

Needless to say, I was not interested. Below are the emails which I have received. Please feel free to comment below if you have any positive or negative feedback about REO PRO CORP. Comments are held for moderation and are not immediately displayed.

Email 1

We are looking for an experienced listing agent for a property located in XXX, XX.

Please follow the link below for this assignment.

http://reopromlinfo.com/pages/xxxx/

Thanks

Eli Greene
302-394-9140

To be removed from this list please visit manage subscription to unsubscribe.

REO Pro
1000 N West Street Ste 1200 Wilmington, DE 19801

http://reoprocorp.com/

Email 2

Please find the attached file to this email.

Thanks,

John Harrison
Asset Manager
REOProCorp.com
302-394-9138
jharrison@reoprocorp.com

Email 3

ajames@reoprocorp.com

We currently have received an assignment in the coverage area of xxxxx. The status of this property is under pre-foreclosure and we expect to receive back as a listing. We have an opportunity to turn this into a short sale, so I am looking for agents who can help in both the Short Sale or the REO. If this sounds like you, please let me know and I will have an asset manager return your call.

Please indicate a good time to call you.

HP Officejet Pro 8600 Premium N911n firmware flash problem

I recently purchased an HP Officejet Pro 8600 Premium for my home office. This printer has some great features, like 2-sided duplex scanning and printing, legal-size scanning, and fax to email capability, but it seems to have mixed reviews online.

I unpacked the printer and connected it wirelessly on my home computer network, no problem at all. The printer was shipped with firmware version CLP1CN1150CR. A quick check on the HP website indicated that there was a newer firmware version, CLP1CN1322CR.

My problems began upon installing the new firmware version… it looked like the firmware flash update had corrupted some of the values being displayed in the embedded web server printer settings. Values for the fax function were changed, and there were a lot of nonsense jibberish in the menu display items. I tried to reflash the firmware to the printer, however HP’s firmware flash utility executable detected that the firmware version was already up-to-date and would not reflash the printer. argh!

Searching on Youtube found some HP printer firmware flash how-to videos which indicate that the flash process should NOT be done over a wireless connection… which is NOT indicated on the flash instructions for this printer on HP’s website. argh!

Totally frustrated, I played around with the embedded web server printer settings some more, and cycled the display from one language to another, out of the 20 some available languages. The corrupted menu display items were resolved upon cycling the settings thru all of the languages, and back to ‘English/USA’

Please comment below if you had similar issues, and if your problem was resolved by doing the same.

Charging paused. Battery temperature too high – Samsung Galaxy S2 Skyrocket

Okay, so my Samsung S2 Skyrocket SGH-I727 started burning through its battery life today, and keeps showing the following message: “Charging paused. Battery temperature too high”.

This problem persists with 2 different batteries, one of which is brand new. Relevant google searches make reference to a bad battery sensor in the phone.

The past few days on the East Coast have bee uber hot and humid, and my phone face has been been drenched in sweat after long phone calls. Perhaps some moisture has entered the phone? Time to put in into a bag of uncooked rice to see if this solves the problem.

Stay tuned.

UPDATE – I had to send this phone out for repair. The technician said that the Charging IC chip went bad and needed to be replaced. It took a little while to find the part, however the Charging IC was replaced and the phone is back in action. Many thanks to Josh and Kyle at MobileTechVideos.com

JavaScript Framebreaker vs. WP Frame Breaker plugin

I have been using the WP Frame Breaker plugin on my websites for quite some time to prevent being framed into any java script frames, such as Digg.com.

The catch? I was wondering why the theme previewer and customizer was not working for me. It appears that WP Frame Breaker is not compatible with the theme previewer; I turned off WP Frame Breaker and lo and behold, the theme previewer finally started working.

I found a new plugin called JavaScript Framebreaker which accomplishes the same task, and is compatible with the theme previewer. Try it out on your site today!

why Jetpack by WordPress.com is a MUST plugin to install

JetpackI just discovered Jetpack by WordPress.com, and it is simply a MUST HAVE plugin for any self hosted WordPress site!

I use a plethora of plugins to extend the functionality and security of my WordPress sites. WordPress plugins can do some really great things, but I am always mindful of plugin “bloat” and system resource usage.

Jetpack is an extremely well-rounded package of tools to take your website to the next level.

Don’t just take my word about Jetpack; check out the following reviews about Jetpack:

Two plugins which were must-haves on my WordPress sites, Cardoza Facebook Like Box, a utility to display the facebook page likes, and the WPtouch mobile theme for your website, have already been deactivated, and replaced by Jetpack. The functionality of the aforementioned plugins is either met or exceeded by the features of Jetpack. No need to have a whole bunch of plugins slowing down your site if Jetpack can do those features for you!

I am still learning about the features of Jetpack, and will post updates when more Jetpack features are implemented across my websites.

tired of junk mail from Comcast, Verizon FIOS, and Charter?

Does it seem that you get an endless stream of junk mail from the phone and cable companies, asking you to switch or sign up for their triple package product? Do you want the junk mail from Verizon FIOS, Comcast, and Charter to just stop already?

Here is how you opt-out and get on their do-not-mail list: Call your CURRENT television, phone, and/or broadband provider. Tell them that you want your address to be placed on their do-not-mail list. Their do-not-mail list is shared with the competing television, phone, and broadband companies which service your area, and the junk mail will stop automatically.

UPDATE: Comcast put the address on their do-not-mail list, however Verizon was still sending postal mail for their FiOS Interent & Phone package. Mail was being sent from whatever office exists at “PO Box 952 Marlton NJ 08053-0952″.

Verizon Customer Service at 800-837-4966 is able to look up property address, and place on the do-not-mail list.

make Google Voice ring your phone ONLY when people in My Contacts call

Google Voice is the perfect tool to screen your phone calls. You can set Google Voice up so it only rings your phone if people in your “My Contacts” list call you, and all other calls go directly to voice mail.

This is how do you set up a white list for Google Voice:

1. Log onto voice.google.com from your computer
2. Go to “Settings > Phones” and UNCHECK the boxes for “Forwards calls to:”
3. Go to “Settings > Groups & Circles > Callers > All Contacts” and CHECK the appropriate boxes for “When people in this group call you… Ring my:”

and that is it!

You can also set up separate rules for the various groups in your My Contacts. For example, calls from co-workers be directed to only ring your office phone, and calls from friends and family ring your mobile and home phones.

Check out this article at MacLife with 14 Great Tips and Tricks for Utilizing Google Voice for some really good lifehacking ideas to use with your Google Voice number.

Annoying phone numbers which real estate agents should ignore when they are called by them

Any real estate agent who is active in the industry no doubt gets solicited over the phone by all sorts of companies who say they can help them get more business. The solid, reputable, lead generation companies, like Estately.com, Movoto.com and AgentMachine.com, will honor a referral fee to be paid at the settlement table. These companies have built their business on a solid relationship of trust, whereas the shady companies ALWAYS want to be paid up front, even before you get the contact information for a lead.

I have quickly figured out, that if you are any good at what you do, then you have absolutely no need for whatever these shady companies are trying to sell to help you get more business. These people are scammers who prey on rookie or part-time real estate agents who are hungry for business.

My real estate license has been active for a couple of years, and I have have put together a list of phone numbers which I know to ignore when they call me.

Here is the best part: I created a google contact in my android phone named “DO NOT ANSWER”. I add all of these phone numbers under this contact. Whenever I add a new number to the contact, I update the contact in the android menu by selecting “More > Add to Blacklist”. I use gmail for all of my email communication, and sync the contacts between my gmail and my android phone. Thus, I can edit the “DO NOT ANSWER” contact from either my phone, or my gmail contact. Check out my post Annoying phone numbers which real estate agents should ignore when they are called by them with other good ideas to make Google Voice work efficiently for you. Pretty nifty, eh?

Whenever those phone numbers call again, my phone doesn’t even ring; it goes straight to voice mail.

Below is my list… message me, or comment below to add phone numbers to add to this list!

925-983-3400
925-736-8149
Reply Real Estate Inc.
ReplyRealEstate.com

858-200-9859
Homes.com – trying to sell leads

410-268-3310
US HUD aka Heavy Hammer
65 Old Solomons Island Rd
Annapolis, MD 21401
USHUD.com

858-623-5577
800-899-8148
Z57, Inc.
8445 Camino Santa Fe #215
San Diego, CA 92121
10045 Mesa Rim Road
San Diego, CA 92121
Z57.com

954-983-8668
RealEstateAgent.com

302-570-0736
302-394-9140
302-394-9138
REO PRO CORP

Grant Sasek
Real Estate Client Referrals
910 Brooks Street
Missoula, Montana 59801
406-532-3756
gsasek@recr.com

858-362-6181
Homes Media Solutions

561-393-3464
561-417-2407
561-672-1938
Country Club Scammer
read more at: 800notes.com/Phone.aspx/1-561-393-3464

309-517-1078
Scammer trying to sell advertising to a local gym
read more at: www.everycall.us/phone-number/1-309-517-1078

858-200-3574
518-530-1301
321-973-8947
609-357-0387
206-309-9426 some random scammer
203-242-7889 another random scammer
407-935-5621 Orlando vacation scammer
302-566-1079 insurance scammer
302-427-4513 card services
800-790-3520 Credit Repair Group scumbags aka Consumer Resource Group aka Consumer Research Group
714-622-5621 Credit Repair Group scumbags aka Consumer Resource Group aka Consumer Research Group
714-823-4540 Credit Repair Group scumbags aka Consumer Resource Group aka Consumer Research Group
855-241-4474 Credit Repair Group scumbags aka Consumer Resource Group aka Consumer Research Group
855-840-6041 Credit Repair Group scumbags aka Consumer Resource Group aka Consumer Research Group
800-000-0000 Verizon / Sprint / AT&T scammer

Free iPod – no gimmicks, purchases, or other b.s.

It is 2011, and I just got my first iPod. Okay, I am a little behind the times when compared to the rest of my friends, but I have never really felt the need to drink the Apple kool-aid.

Anyway, I finally got a new iPod nano 6G.  Totally free, and no gimmicks or hoops to jump through.  Yep, that’s right.  Free.

How did I do this, might you ask?  Simple.  I got it with points earned on my rewards credit card.

See, bank debit cards are a scam.  Sure, they might have a Visa or MasterCard logo on them, and you can use them just like an ordinary credit card, but what your bank won’t tell you, is that they are making money on YOU every time you use your bank debit card.

Why let your bank make money on you, when you can reap the benefits yourself?

I use my rewards credit card for all of my essential life expenses; food, gas, tolls, cable bill, cell phone bill, car repairs, etc.

Instead of using my bank debit card for these purchases, I use my rewards credit card.  I also set up frequent, automatic online bill payments from my checking account to my rewards credit card account, so I know that my bill is always paid off every month, and so I am not spending more than I have available.

The rewards points add up fast, and I am putting my life purchases to work for me; to get me a little extra purchasing power in my life.

Get your own rewards credit card today at http://www.zeropercentcards.com.  There all sorts of rewards credit cards, air travel cards, balance transfer cards.

Start accumulating your credit card rewards points today!