Secure Your Self Hosted Wordpress
update 6/12/2024: this post predates letsencrypt, you should just use that instead: https://letsencrypt.org/
Self hosting WordPress rocks. Unsecured websites do not rock. It does not matter how long or complicated your password is if it is being transmitted in plain text over HTTP. Luckily, it is easy to create a Self Signed certificate and use it on your website. Keep in mind that browsers become very unhappy with Self Signed Certificates and tend to yell at the user. So, if you have a lot of traffic and want your users to feel safe purchase an SSL certificate from a real Certificate Authority. In any case, at the very least you should be using a self signed SSL for all of the admin portions of your site. Here’s how to do it on Debian 7.5 running a standard LAMP stack.
- Create your self signed Certificate by running the following commands sequentially.
mkdir /etc/apache2/ssl
openssl req -new -x509 -days 365 -nodes -out /etc/apache2/ssl/wp.pem -keyout /etc/apache2/ssl/wp.key
2. Create a Virtual Host for your website in /etc/apache2/conf.d/yoursite.conf
<VirtualHost 1.2.3.4:443>
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/wp.pem
SSLCertificateKeyFile /etc/apache2/ssl/wp.key
DocumentRoot /srv/www/yoursite.com/public_html
<Directory>
AllowOverride All
order allow,deny
Allow from all
</Directory>
</VirtualHost>
- Change yoursite.conf to something more meaningful
- Change 1.2.3.4 to the IP of your server, which you can obtain by running ifconfig in a terminal
- Change the document root to your actual document root.
sudo a2enmod ssl4. Restart apache
sudo service apache2 restart
All set! Now, you can navigate to https://yourwebsite.com, confirm the security exception, and administer and view your WordPress site securely.
Thank you for reading! Share your thoughts with me on bluesky, mastodon, or via email.
Check out some more stuff to read down below.
Most popular posts this month
- 2024
- Reinstalling Windows at 1am
- SQLite DB Migrations with PRAGMA user_version
- My Custom Miniflux CSS Theme
- How to Disable Wayland in Debian Testing
Recent Favorite Blog Posts
This is a collection of the last 8 posts that I bookmarked.
- Underused Techniques for Effective Emails from Refactoring English
- Death by a thousand slops from daniel.haxx.se
- The AGI economy is coming faster than you think from Freethink
- Rolling the ladder up behind us from Xe Iaso's blog
- In Praise of “Normal” Engineers from charity.wtf
- Reports of Bluesky's death have been greatly exaggerated from The Torment Nexus
- What Would a Kubernetes 2.0 Look Like from matduggan.com
- We Can Just Measure Things from Armin Ronacher's Thoughts and Writings
Articles from blogs I follow around the net
Occupation and Preoccupation
Here’s Jony Ive in his Stripe interview: What we make stands testament to who we are. What we make describes our values. It describes our preoccupations. It describes beautiful succinctly our preoccupation. I’d never really noticed the connection between th…
via Jim Nielsen’s Blog July 17, 2025What do we do when the facts don't matter?
As a journalist by training, I have what you might call an addiction to facts. I believe that there are things that are true and things that are not, and that we can determine one from the other through observation, rational thought, and meticulous resear…
via The Torment Nexus July 17, 2025Back to the Future
This past weekend, I decided to take a trip down memory lane and take a look at the evolution of this blog’s design over the years (with a little help from the Wayback Machine). While I’ve really enjoyed the challenge of making an obsessively backwards co…
via flower.codes July 17, 2025Generated by openring