Categories
Email Server Configuration

DMARC Report Analyzers

Have you ever had people tell you your emails inexplicably went to their spam folder? Do you ever email yourself from your own domain, like say [email protected] to [email protected], but it goes to spam and that seems odd since it’s the same domain? Well, the problem is most likely related to DMARC. It stands for Domain-based Message Authentication, Reporting, and Conformance (DMARC) and is used by Google, Yahoo, and all other major email providers. It’s a …

Categories
PHP Server Configuration WordPress

Redirect all .php pages excluding WordPress /wp-admin directory files

I ended up having 100s of crawl errors in Google Search Console for URLs that were ending in /blah.php and macariojames.com/dir/subdir/subdir2/blah.php for some reason. Some even ended in .html, which was easy to resolve since WordPress doesn’t use .html files, but .php files. After failing to write my own .htaccess RewriteRule and RewriteCond code, i found some useful code that i was able to tailor to fit my needs. I’ve shared it below. This code …

Categories
CLI PHP Server Configuration WordPress

Fix Fatal error when installing a WP-CLI package

TL;DR Composer was using an outdated PHP, while my server was running the latest. Need to get them to use the same PHP version. Instructions below.

Categories
Server Configuration WordPress

Secure a WordPress site without using plugins — during your lunch break

Keeping a WordPress site secure is paramount. Without using plugins—we’re going DIY—here are ways to secure a WordPress site during your lunch break. The big, popular security plugins use many of these tactics and code, so why not implement them yourself? At least learn what they are. If nothing else, one less plugin running in the background frees resources, leading to faster site load times. Delete default admin user WordPress powers roughly 30% of the …

Categories
DNS Security Server Configuration Web Development

Add Let’s Encrypt SSL with manual TXT verification for GoDaddy DNS

I wanted to add SSL to a website i quickly spun up on a Lightsail instance. It was running on a subdomain. I ran into a hiccup with getting the domain verified via TXT entries in DNS when using Let’s Encrypt to setup SSL on a subdomain via GoDaddy DNS. In case you’re interested, here are the commands i used to manually add SSL with Let’s Encrypt with domain verification and prompts. Via CLI: mycli:~$ …

Categories
Server Configuration

Gzip compression – How to turn it on

Continuing with providing tips for website performance results — or just making sure we’re no longer getting a failing grade via performance reports from GTMetrix, Google’s PageSpeed Insights, or web.dev — here’s how to enable gzip compression on your Apache server. First, check if mod_deflate is installed and enabled. It should be installed and enabled since mod_deflate is a default module enabled out the box for Apache. Run apachectl -t -D DUMP_MODULES | grep deflate …

Categories
Server Configuration

Leverage Browser Caching – How to turn it on

So! If you’re a web developer like me, you unfortunately have to bow before performance reports from GTMetrix, Google’s PageSpeed Insights, and still-in-beta web.dev. Don’t get me wrong, the stuff they find are mostly good things, like making your site more accessible and noticeably speedier. But sometimes it can feel like you’re just running in circles to appease these almighty tests. Anyway, one if the issues that popped up on site after site over the …

Categories
CLI Security Server Configuration Web Development

Apache + LetsEncrypt file ‘/etc/letsencrypt/live/…/fullchain.pem’ does not exist or is empty. Action ‘configtest’ failed.

I had setup a new Apache server and needed an SSL certificate so i went with the tried and true, quick and easy LetsEncrypt/certbot route. While testing if gzip was installed, i received errors running apachectl configtest. First time receiving this error. It seemed to be caused by the LetsEncrypt install. I probably wouldn’t have noticed it for quite some time since the https:// version of the site i just put up on the new …

Categories
Server Configuration Web Development

Fonts blocked by CORS policy on localhost: How to fix that

I’m using MAMP Pro and have a separate Host setup for each of my website projects. This let’s me navigate to https://local.mydomain.com instead of https://localhost:8888/mywebsitedirectory. You can easily set up local.mydomain.com to be a.b.c if you wanted; this is my convention for projects. I like to separate local dev with production and sandbox/staging sites. Since i decided to serve fonts locally as web fonts instead of grabbing them from Google or TypeKit or wherever, i noticed this …

Categories
CLI PHP Server Configuration

Machform PHP mail / sendmail issues on Apache and nginx

So, i decided to give Machform a spin on a project i was working on. Figured it would be quick and easy to get up and running. It was — locally — but when deploying to my sandbox/staging server, i ran into issues with sending notification emails. It was maddening. Spent a couple of days getting everything working as needed and on the same page for all three differing environments. The first problem occurred when …

Categories
DNS Server Configuration

Firebase custom domain verification with Namecheap DNS

Out of the blue, i received a message that i still needed to verify my domain ownership — odd, because two weeks prior i thought i had covered my Firebase custom domain verification. I double-checked i followed the Google instructions verbatim, going so far as deleting and re-entering the records, yet after a few hours, still no luck. Enter doing the tried-and-true thing of Googling, but really hitting up good ol’ StackOverflow. It was suggested …

Categories
Server Configuration Web Development

MySQL Server Not Starting on MAMP for Mac

So if you’re like me, you do a lot of WordPress development locally and experience annoying issues. I use MAMP, personally, as do many others. One of these common headaches is the MySQL server not starting on MAMP for Mac; inexplicably stopping and whatever you try, it won’t start again. Here’s a fix that has worked all the time for me: Quit MAMP. In the Finder (or Terminal) go to Applications/MAMP/db/mysql56/ and delete the last log …