I recently installed WordPress on a Ubuntu 18.04 system using LAMP. Bye the way LAMP stands for Linux, Apache, MySql and PHP.
Several years ago I had installed Drupal on a Windows XP system. Drupal as many of you know has steep learning curve but I was able to accomplish a basic web site for my company. Drupal has a current reputation for being the more secure of the two.
In researching choices WordPress and Drupal were the two that were the more popular in the marketplace. WordPress has the reputation of being the easiest to configure and build. I have experienced Drupal and it was not a particularly pleasant experience. The learning curve was far steeper than I wanted to experience again.
I picked WordPress and began installing and configuring it. It turned out to be almost as difficult to install as Drupal. There were many sites that I used to help get Drupal to do what I needed it to do. As any time you use Google to find help you get many help sites but they always seem to leave out important details, key steps that impede your progress. The same has been true with WordPress. Many tutorials are out of date and working through and piecing things together has been challenging.
I understand why consumers hire someone to build their site for them. I want to learn the skill so I have stuck with the process and am learning a lot from my mistakes and trying to follow the incomplete or out of date tutorials. Even following the wrong advice has taught me a lot about building a website, that is what not to do. Not only figuring out what was incorrect advice but I have tried to figure out why it was incorrect or incomplete. That analysis has proved to be productive in the long run. In the process I have learned a lot about components making up a WordPress site.
I had a career in teaching technology. I want to understand what I learn to the level I could teach someone else how to accomplish the same tasks.
I will do an update in future posts or possibly add to this post.
2020-06-29 Update
I read numerous places that it is better to use https for secure connections to your website. Google in 2018 started evaluating sites that were not secure and downgrading them in their evaluations if the site did not use https. That’s motivation enough to switch to https.
I thought I was following the instructions but when I converted to https in the general settings I locked myself out. My website was still up but I could not longer log in. I couldn’t switch back to http. I tried going into MySql to change the URLs but that didn’t work. After spending several days researching the problem, I bit the bullet and reinstalled WordPress. It turns out that was a blessing in disguise. I had made some changes in my first attempt that needed to be cleaned up.
After making sure I had a good backup using Updraft Plus plugin, I move my WordPress files to a backup location and proceeded to reinstall. I used a site I found using Google and followed their instructions for installation. I like WP Beginner site for many things but their information is often too outdated to be safe to use for a beginner like myself. I must admit I have found some very helpful things on that site and I go their first usually.
I have apache 2 installed on a Ubuntu 18.04 Linux stand alone system. Most sites with installation tutorials expect you to be on hosted site that you pay for. It was challenging finding a site that walked me through installing on my own Linux server.
Ok. I’m back now. I have reinstalled WordPress and reinstalled Updraft Plus plugin so I can restore my backup. All is going well so far. Now I want to restore my backup. Oops. Updraft can’t find the backups. I have to do a backup first and then I can search for recent backups. This whole process took several hours before i could finally restore a backup. I understand that I needed to define where the backups were located but that took some doing and the process is far from intuitive.
So far I like Updraft Plus but the restoration process should be made more intuitive. A backup, I have found, is useless unless you can restore it. This I found out years ago the hard way. I was fearful at first that I had made my backups in vain.
I have now restored my system to the point that I can now focus on my SSL project.
I love Google and have learned a lot about a lot of things using Google. The problem is that there are hundreds of experts with instructions for doing what you need to do, however too many make assumptions that leave us beginners in the dark. Steps are assumed and skipped that are key steps and I spend my days reading all these tutorials and helps to try to find all the steps need to accomplish my task. But as frustrating as it can be, I find in all that research I have picked up little tidbits that will help later. It isn’t all in vain.
I finally determined that I need to buy an SSL Certificate. I used NO-IP for my domain name when I used Drupal in the past. They provide a utility called UDC that runs frequently to determine if your IP address has changed and if so will update the DNS server automatically. Since I already have an account with them I chose them to provide the SSL certificate. I could get a two year certificate for the price of a one year certificate at other vendors. It took a couple of tries to get a certificate but finally I was able to get one via email.
It took a few more days to figure out where to find complete instructions to download the certificates. Most of the instructions for installing the certificates required downloading some files with the keys in them. I received my keys (certificates) in an email.
It turns out one of the links on the certificate email took me to a good procedure for installing the certificates. It required cutting and pasting the keys into the appropriate files. Once I found the instructions, creating the files was easy. The problem was it had me install the certificates correctly but had me edit the wrong apache file to let apache know where to find the appropriate files.
I thought my certificates were installed OK but apache couldn’t find them so I remained unsecure.
I stumbled onto Stack Overflow site and found a reference to Ubuntu Web Server documentation. That cleared up a lot. I wish I had found it sooner. My biggest challenge, I think, is finding all the accurate documentation I need to manage my Ubuntu and the Apache Web Server.
It has been a fun journey but not without its frustrations.
If I had to choose again to self host, I would do it a heart beat. It has been a rewarding learning experience for sure.
My next project is to further tighten security on my site to make it less vulnerable to attacks.
I learned years ago that security isn’t just trying to keep hackers out but how to protect things when they do break in. It’s not a matter of if they break in but what to do when they break in. They will succeed at some point.
More to come.