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.
- workflows for ai coding from /* 🤖🛠️ */
- Reinvent the Wheel from Matthias Endler
- CAPTCHAs are over (in ticketing) from pretix – behind the scenes
- You Can Choose Tools That Make You Happy from Fernando Borretti
- Using Git as S3 from Kris Tun
- Future Fonts from Blog – Brad Frost
- 21st Century C++ from Communications of the ACM
- Submarines DevCon 2025 Keynote Speech from JoshHaines.com
Articles from blogs I follow around the net
The New Separation of Concerns
In our new comprehensive online course, Subatomic: The Complete Guide To Design Tokens, we discuss the need to revisit the powerful concept of separation of concerns. Separation of concerns is a computer science principle introduced in the mid 1970s that …
via Blog – Brad Frost June 18, 2025Israeli-linked hackers steal and destroy $90 million from Iranian Nobitex exchange
The Iran-based Nobitex cryptocurrency exchange suffered a $90 million hack, and the attacker has also promised to imminently release data and source code from the platform. The hacking group appears to have burned the crypto assets, …
via Web3 is Going Just Great June 18, 2025Pluralistic: The Immortal Choir Holds Every Voice (18 Jun 2025)
Today's links The Immortal Choir Holds Every Voice: Anarchists, cryptids and haints (oh my). Hey look at this: Delights to delectate. Object permanence: 2010, 2015, 2020, 2024 Upcoming appearances: Where to find me. Recent appearances: Where I've …
via Pluralistic: Daily links from Cory Doctorow June 18, 2025Generated by openring