For about the last twenty years, I’ve been professionally building websites using what used to be called the LAMP stack. That’s Linux, Apache, MySQL and PHP. Of course things have evolved a bit since that term was first coined. Yes, I still rent and manage Linux (CentOS) servers. But that also entails a lot more moving parts than Apache these days to host websites.
You first have to register and manage the domain names. Then you have to pick the level of DNS service to provide. (For my high-traffic clients, I use DNSmadeeasy.com for that. For the others, I’ve found that the DNS service provided by the registrar is usually adequate.) For every domain there is usually both email and website to consider. For email, I have a variety solutions depending on the level of service required. For the high-end accounts, I use atmail. For low-volume accounts I rely on DreamHost. Mid-range clients get JunkEmailFilter. All are fine systems that provide spam filtering, which is a must these days.
Hosting is also an important decision point. In total I utilize six separate servers at two different hosting providers. For my high-traffic accounts, I use servers provisioned at Digital Ocean. At Digital Ocean I can use load balancers to distribute traffic, MySQL database clusters to improve database performance and Amazon S3 (or a plug-compatible service) for storage images and backups. Websites that use WordPress I tend to host together on a VPS at DreamHost because they scan for vulnerabilities frequently. (WordPress is nice but there are so many outdated plug-ins that create attack surfaces one must be careful.)
For those websites that aren’t WordPress, they are usually some kind of eCommerce type of site. (The days of simple HTML sites with CSS stylesheets are pretty much over.) Many of my customers sell merchandise online and also have customer contact forms. I’ve written many shopping cart systems for clients as well as other types of forms. To keep the spam problem down, I use geo-fencing. That means that I look at the incoming IP address, and if it’s not coming from a place that’s local (like Russia, for example), then it is quietly rejected.
Looking backward, my working experience encompasses data management using VAX BASIC on OpenVMS with Rdb (a relational database). I’ve done computer programming in a variety of languages, from Macro-11 (assembly language) on the PDP-11 to COBOL for student projects to obscure languages like TPU, TECO, RPG and Datatrieve. The bottom line is that once you “get it,” all computer languages do basically the same thing: express the logic and rules for data operations. The syntax is just the means to express it based on the tool at hand.