In this lesson, we'll discuss back-end web technology, how to install back-end tools, and how they apply to servers and other systems in the web back-end. There are two ways of thinking of back-end web technologies, and one is the programming languages and the other are the systems. So, in order to be a little less ambiguous for this conversation, we're going to discuss each of those in a way that really points out their strengths and their uses. First, we'll talk about the languages: PHP, Ruby, Python, and several more. If you've thought about being a back-end web programmer or a back-end web developer, then you'll be working with several programming languages like PHP, Python, Ruby on Rails, et cetera, on the back-end of systems. You can think about it like these applications allow you to connect to a database on the back-end or files on the back-end, or provide functions, for instance, logic, for-loops, and other functions on the server. The front-end web technology is what the user sees, is what your clients see. When they come to the website, a front-end developer is the person who creates a nice, aesthetic, good-looking webpage; something that's easy to navigate, gives a good user experience. Part of that user experience is having the Submit buttons and forms in the right places, and having them easy to fill out. Well, a back-end web developer... And this is the difference between front-end, back-end, and full stack. A back-end web developer works with the software that takes the calls or takes the input from the front-end, and then processes that input into the database or into the back-end. Now, there are too many languages to talk about in this session for back-end web development. So we'll start first with server back-ends, and then in the next section, we'll actually work with programming languages connecting to those back-ends. Let's get started with server back-ends. The first one we want us to talk about is a SQL Server or SQL Server. Now, this is beyond a regular Apache Web Server. On this server on the page, we already have the Apache Server configured. So if we wanted to restart or stop the Apache Server, we could just simply type apache2 restart. Now, MySQL or MySQL is not on this system right now. So it says, "Hey, do you want to install this right now?" And the way we would do that is an apt-get install, and we could use MySQL to grab the MySQL system, or we could use a MariaDB and grab the MariaDB system. In this case, to be a little unusual, we're gonna choose the MariaDB system. Now, the MariaDB system is fully compatible with MySQL. MySQL has made some very recent security changes that make it a little less compatible. Of course, over time, systems will catch up with those changes, and it'll become just as compatible and even more so than it was right now. But we're gonna use MariaDB and see if we can use a drop-in replacement for the client, common, and the server. Now, this is giving us a basic installation of the command-line client and the server. This is not a full package that you would see inside of a website. We're actually going to build that full package right here in front of you so that you can see what it's like to build a back-end SQL Server. In this case, the system is actually installing all of the required components for the back-end SQL Server. Now, sometimes I'll say SQL as Structured Query Language, and other times, I'll just say SQL. Most commonly you'll hear me refer to it as SQL. If I do say SQL, I'm not referring to a commercial product, I'm referring to Structured Query Language. It says that it's installed. Let's see if MariaDB is on the system. And it looks like we're missing some of the server files. Let's try this another way. Excellent. So at this point, you can see that MariaDB is actually running. So if we type mysql, which MariaDB is a port from MySQL. So it remaintains that compatibility. So if I type mysql, which is the client, it takes me directly into the database. And if I type show databases, you can see that it only has the built-in databases there. Now, what we'll do is we'll actually create a database in this class and we will populate the database with some basic information. We don't have enough time to create anything complex, but everything follows the same general process. So in this case, we could use a create database and we could say, "Test." And that way, we've now created database named Test. So if we type show databases, we now see Test listed. If we wanna get rid of that, we can type drop test. There. Now, if I type show databases again, we'll see that Test is now gone. That was as easy as it is to create a database and remove it. Once again, I can run right back up the commands and create this database Test, quit, and then we can actually look at the database inside of the library folder. So in the /var/lib/mysql/ folder, we'll see that we actually now have a new folder called Test. And if we go into Test, we'll see that there's nothing in Test. That's our blank database. Now, I'm gonna go back over to /var/www/html/ because that's where we'll be spending most of our time. Let me go ahead and go into MySQL, and drop the database Test. There. Now, we've gotten rid of that database again. That's a back-end system known as MariaDB or MySQL, MySQL. The other back-end technology that you already know about is Apache. Now, that's the web server that we're using. The front-end web developer doesn't really care what the back-end web server is. Their goal is to make an easy-to-use, very functional website. The back-end web developer does need to be familiar with what web technology is being used on the server. To look at Apache, we can go to /etc/apache2/ and look at the directories. You can see configurations and mods, and sites.