Skip to main content

Posts

Showing posts with the label apache

Debugging a DOS

I'm not a sysadmin, but I end up doing my best now and then when one of my sites gets into trouble. This is a sort of "after action report" of an incident that I just resolved (hopefully). I woke up and happened to check email on my phone (don't always do this, will now) and was greeted with a uptime robot email that one of my sites was down, and had been for about 4 hours. I quickly checked the site on my phone and yup, it wasn't loading. Ran to the office and hopped on my laptop. SSH to the server, and everything seems fine. Very little load on the server (AWS instance). Did a restart of apache/php/mysql and the site is still down. Weird. Running the site's index.php file on the command line works as expected and fast. Ask a few other people to check, and it's down for them. Then I logged into the AWS console and checked on status there - everything is up and running.... WTF? This is a lightsail instance, and then I noticed the outgoing network traffic h...

Multiple domain SSL certificates on AWS lightsail...

This one caused some confusion today! I have an AWS lightsail server set up. It handles multiple different domains - essentially the same codebase, but does different things depending on the hostname (domain) being used to access it. I needed to add a new letsencrypt certificate to the system. This would be the second one I've added. After generating the certificate, I found that the new site (called it domain2) was trying to use the certificat of the first site (domain1) ... I thought I'd generated a certificate that supported both domains, but apparently not. After some poking around (lightsail has its own way of setting up the apache configuration files) I finally figured it out. To fix it, I needed to have two different virtual host (port 443) directives. They were essentially alike, except that that I had to add ServerName and ServerAlias settings appropriate for domain1 and domain2, and set the SSLCertificateFile and SSLCertificateKeyFile settings appropriately. Now I j...

WSL and Windows Terminal

I've been back on Windows now for awhile, and WSL has made it quite an easy adjustment. You still get the occasional "WTF Windows" moment, especially after a big update - but I'm pretty happy with it. At the time I just couldn't justify splashing out for a pricy macbook with no escape key and a stupid "hotbar" thing... Anyways, if you're used to working in the LAMP stack and haven't tried out the combo of WSL and windows terminal, give it a try! Or at least try WSL if you don't use command line much. WSL (Windows Subsystem for Linux) basically lets you run linux inside windows. I use it to then run MySQL and Apache/PHP - and I'm good to go. Most of my work happens inside a Windows Terminal window, which has become a pretty slick, configurable terminal. I have a 'projects' directory set up, in which each of my various projects reside. When I want to work on one, all I have to do is edit the apache config to use that particular ...

Setting up SEO-friendly URLs in htaccess/PHP

This is something I feel like I've done dozens of times over the years, and always have to waste some time googling before I figure it out. Maybe next time I'll remember to look here? So, you're writing a custom site, and you need to be able to handle SEO-friendly URLs. You know, the kind where instead of something like "category=my_category&page=233" you the URLs to look more like "/my_category/my_page" Those are called SEO Friendly URLs and really they're also just plain friendlier for people too. They're really kind of a leftover from when a lot static HTML sites were really organized with subdirectories full of HTML files - and Apache will still work like that "out of the box" My usual approach to this has two parts. First, there's a custom .htaccess file in the main site directory, that redirects all requests (that are not for actual files/directories) to index.php Then, in the index.php there's a bit of code ...