1 00:00:00,000 --> 00:00:03,670 Have you ever thought about like all the stuff that happens when you click a link 2 00:00:03,670 --> 00:00:04,680 or you open an app? 3 00:00:04,680 --> 00:00:08,080 I mean like all the stuff that's going on behind the scenes. Yeah, it's amazing how 4 00:00:08,080 --> 00:00:10,200 it just works. Yeah, it's like magic 5 00:00:10,200 --> 00:00:11,880 It is yeah, but it's not magic 6 00:00:11,880 --> 00:00:15,400 No a technology and a lot of that comes down to something that's actually pretty 7 00:00:15,400 --> 00:00:15,760 straightforward 8 00:00:15,760 --> 00:00:19,240 Right, and we're gonna take a deep dive into that today. Absolutely. We're gonna 9 00:00:19,240 --> 00:00:20,900 demystify one of the big ones 10 00:00:20,900 --> 00:00:26,260 Yes, the LAMP stack the LAMP stack. It's a it's kind of like a secret recipe behind 11 00:00:26,260 --> 00:00:27,360 a lot of the internet 12 00:00:27,360 --> 00:00:31,320 Yeah. Yeah, and the term LMP might sound a little bit technical 13 00:00:31,320 --> 00:00:36,060 But it's basically just a way to describe four essential open source tools that 14 00:00:36,060 --> 00:00:39,720 work together to build and run websites and web applications 15 00:00:39,720 --> 00:00:39,920 Yes 16 00:00:39,920 --> 00:00:44,000 So our mission is to break it down and make it clear why it's such a foundational 17 00:00:44,000 --> 00:00:46,040 piece of the web make it nice and simple 18 00:00:46,040 --> 00:00:51,040 Yeah, and before we dive in yes a big thank you to safe server 19 00:00:51,040 --> 00:00:55,730 Yes, our supporter for this deep dive. They are the experts in hosting this kind of 20 00:00:55,730 --> 00:00:57,760 software that we're talking about 21 00:00:57,760 --> 00:00:58,240 Yeah 22 00:00:58,240 --> 00:01:02,110 And if you are trying to get your head around digital transformation, they can help 23 00:01:02,110 --> 00:01:02,840 you with that, too 24 00:01:02,840 --> 00:01:05,920 Absolutely, if you want to find out more about safe server head over to 25 00:01:05,920 --> 00:01:08,440 www.safeserver.de 26 00:01:08,440 --> 00:01:10,000 All right 27 00:01:10,000 --> 00:01:14,070 So for this deep dive we've looked at a couple of helpful sources the wikipedia 28 00:01:14,070 --> 00:01:17,020 page on LMP and some really user-friendly 29 00:01:17,020 --> 00:01:19,000 documentation from cloud gen 30 00:01:19,000 --> 00:01:23,160 Yeah cloud gen is a platform that's designed to make it much easier to manage web 31 00:01:23,160 --> 00:01:23,820 applications 32 00:01:23,820 --> 00:01:27,600 Okay, so we've got LMP and we've said it stands for a few things, right? 33 00:01:27,600 --> 00:01:32,520 And so our goal is to give you a clear picture of what the LMP stack is and why it's 34 00:01:32,520 --> 00:01:33,480 so important 35 00:01:33,480 --> 00:01:38,320 It's everywhere these days. Yes. So LMP is an acronym, which basically means 36 00:01:38,320 --> 00:01:43,080 It's a word made up of the first letters of other words, right? And so each letter 37 00:01:43,880 --> 00:01:47,990 Represents a key piece of open-source software that all works together. So they're 38 00:01:47,990 --> 00:01:51,600 four main ingredients or ingredients and they all work together kind of seamlessly 39 00:01:51,600 --> 00:01:53,600 so the L stands for Linux and 40 00:01:53,600 --> 00:01:59,280 You can think of Linux as the bedrock the underlying operating system. Everything 41 00:01:59,280 --> 00:02:01,420 sits on Linux everything runs from Linux 42 00:02:01,420 --> 00:02:04,630 So it's like the foundation of a house. Yeah, exactly like the foundation of a 43 00:02:04,630 --> 00:02:05,280 house. Okay 44 00:02:05,280 --> 00:02:08,880 What's interesting is most Linux distributions and by that? 45 00:02:08,880 --> 00:02:15,070 I mean different versions of Linux can be set up to run a complete LMP stack. Okay. 46 00:02:15,070 --> 00:02:15,200 Yeah 47 00:02:15,200 --> 00:02:20,690 historically certain versions of Linux like Debian and Ubuntu became really popular 48 00:02:20,690 --> 00:02:23,040 choices for web servers and back in 49 00:02:23,040 --> 00:02:27,820 2013 they had a significant chunk of the market along with other versions like RHEL 50 00:02:27,820 --> 00:02:29,480 fedora and sent to us 51 00:02:29,480 --> 00:02:32,600 Okay, got it. So Linux is the operating system. That's the L 52 00:02:32,600 --> 00:02:37,540 What about the a the a is for Apache and Apache is the web server. Its job is to 53 00:02:37,540 --> 00:02:39,360 take requests from users 54 00:02:39,360 --> 00:02:43,350 You know when you type a website address into your browser and deliver the web 55 00:02:43,350 --> 00:02:45,640 pages the images and other content back to you 56 00:02:45,640 --> 00:02:49,290 Okay, so it's kind of like the delivery guy. Yeah, it's developed and looked after 57 00:02:49,290 --> 00:02:50,720 by the Apache software foundation 58 00:02:50,720 --> 00:02:54,890 Okay, and just like Linux it's open source meaning it's free to use and can be 59 00:02:54,890 --> 00:02:57,260 modified by anyone. Exactly 60 00:02:57,260 --> 00:03:00,840 Yeah, open source software fosters a huge community of developers who are 61 00:03:00,840 --> 00:03:03,740 constantly improving and contributing to the technology 62 00:03:03,740 --> 00:03:07,670 Yeah, and that's a really powerful thing. What's really neat about Apache is that 63 00:03:07,670 --> 00:03:09,820 it's modular so you can think of it like 64 00:03:09,820 --> 00:03:14,630 Building with Lego bricks. You can add different components or modules to give it 65 00:03:14,630 --> 00:03:15,640 extra abilities 66 00:03:15,640 --> 00:03:19,560 Okay, like supporting different programming languages or handling secure 67 00:03:19,560 --> 00:03:20,140 connections 68 00:03:20,140 --> 00:03:25,540 And while Apache is the traditional a in Lampi, it's worth knowing that other web 69 00:03:25,540 --> 00:03:27,000 servers like in jinx 70 00:03:27,200 --> 00:03:32,320 Pronounce engine X. Yeah can also do this job, which leads us to some variations 71 00:03:32,320 --> 00:03:34,200 that we'll discuss later on 72 00:03:34,200 --> 00:03:40,100 Okay, so L is for Linux the foundation a is for Apache the delivery guy for web 73 00:03:40,100 --> 00:03:40,640 pages 74 00:03:40,640 --> 00:03:45,270 What's next next up is the M which stands for my sequel my sequel and this is the 75 00:03:45,270 --> 00:03:47,840 relational database management system 76 00:03:47,840 --> 00:03:49,680 It might sound a little bit complicated 77 00:03:49,680 --> 00:03:50,000 Yeah 78 00:03:50,000 --> 00:03:54,310 But think of it as a super organized filing cabinet where all of the important data 79 00:03:54,310 --> 00:03:56,480 for a website or application is stored 80 00:03:56,560 --> 00:04:00,730 So if you have a blog all your posts and comments would be stored in my sequel 81 00:04:00,730 --> 00:04:01,320 exactly 82 00:04:01,320 --> 00:04:05,830 Yeah, my sequel lets you structure your data and tables a bit like spreadsheets, 83 00:04:05,830 --> 00:04:07,320 and you can link those tables together 84 00:04:07,320 --> 00:04:11,640 Okay, this makes it really efficient to search for retrieve and update information 85 00:04:11,640 --> 00:04:17,520 Now while my sequel is the original M in lamb air there are other popular database 86 00:04:17,520 --> 00:04:18,040 systems 87 00:04:18,040 --> 00:04:22,360 Murray DB for example was created by the original developers of my sequel 88 00:04:22,800 --> 00:04:26,680 And then you've got post dress school another strong relational database, okay 89 00:04:26,680 --> 00:04:31,260 And even different types of databases like MongoDB which handle data in a more 90 00:04:31,260 --> 00:04:32,160 flexible way 91 00:04:32,160 --> 00:04:35,650 It's interesting to note that my sequel has been owned by a couple of different 92 00:04:35,650 --> 00:04:37,160 companies over the years, right? 93 00:04:37,160 --> 00:04:41,770 And that's influenced its development. Okay, and then we are on to the final letter 94 00:04:41,770 --> 00:04:41,880 P 95 00:04:41,880 --> 00:04:47,680 The P what does that stand for so the P and lamb P traditionally stands for php? 96 00:04:47,680 --> 00:04:50,760 Okay, and this is a programming language that adds a dynamic and interactive 97 00:04:50,760 --> 00:04:52,400 elements to websites 98 00:04:52,400 --> 00:04:55,160 Okay, so instead of just static text and images 99 00:04:55,160 --> 00:05:00,680 Php allows for things like user logins contact forms shopping carts all the things 100 00:05:00,680 --> 00:05:02,580 that make the modern web interactive 101 00:05:02,580 --> 00:05:08,000 So php is what makes the website do things rather than just show things exactly php 102 00:05:08,000 --> 00:05:10,000 is a server-side scripting language 103 00:05:10,000 --> 00:05:14,790 Which means the code runs on the web server itself and it generates the HTML that 104 00:05:14,790 --> 00:05:16,360 your browser then displays 105 00:05:16,360 --> 00:05:19,280 It's often embedded directly within the HTML code 106 00:05:20,200 --> 00:05:24,060 Historically pearl was really popular for this kind of web development, and it's 107 00:05:24,060 --> 00:05:26,960 known for its strong abilities and working with text 108 00:05:26,960 --> 00:05:30,730 Python is another very versatile language that can be used for many different 109 00:05:30,730 --> 00:05:33,280 things including web development, okay? 110 00:05:33,280 --> 00:05:39,240 So how did this particular combination of Linux apache my sequel and php? 111 00:05:39,240 --> 00:05:43,390 How did it become so popular in the first place right so the term LMP itself was 112 00:05:43,390 --> 00:05:44,920 coined back in 1998? 113 00:05:45,120 --> 00:05:49,530 Okay, by a guy called Michael Coons in a German computer magazine and he put it 114 00:05:49,530 --> 00:05:51,880 forward as a way to highlight a powerful set 115 00:05:51,880 --> 00:05:55,600 Of free and open source tools that could be a real alternative to the expensive 116 00:05:55,600 --> 00:05:57,880 commercial software that was available at the time 117 00:05:57,880 --> 00:06:01,600 So it was about having a cost-effective and open solution exactly yeah 118 00:06:01,600 --> 00:06:03,320 And the idea really took off 119 00:06:03,320 --> 00:06:07,770 Thanks in part to the promotion by companies like O'Reilly media and the developers 120 00:06:07,770 --> 00:06:10,720 of my circle LMP became one of the first really 121 00:06:10,920 --> 00:06:15,970 Successful open source stacks for building websites. Yeah, and it's ease of use and 122 00:06:15,970 --> 00:06:17,400 the fact that it was free 123 00:06:17,400 --> 00:06:22,230 Made it incredibly attractive to developers even today lots and popular web 124 00:06:22,230 --> 00:06:24,540 applications like WordPress and Drupal 125 00:06:24,540 --> 00:06:27,100 Can be easily hosted on a LMP stack 126 00:06:27,100 --> 00:06:31,540 So it's amazing how these core technologies have stuck around for so long well 127 00:06:31,540 --> 00:06:35,590 Yeah, the underlying principles are still very relevant serving web content 128 00:06:35,590 --> 00:06:39,040 managing data and making websites interactive, right? 129 00:06:39,040 --> 00:06:41,960 It's fundamental stuff and because Lampy is open source 130 00:06:41,960 --> 00:06:46,900 It's constantly being updated and improved by a huge community of developers 131 00:06:46,900 --> 00:06:51,450 Yeah, this adaptability has also led to some interesting variations of the original 132 00:06:51,450 --> 00:06:52,920 Lampy stack variations 133 00:06:52,920 --> 00:06:56,880 So like swapping out one component for another exactly because the core idea of Lampy 134 00:06:56,880 --> 00:06:59,280 is about having interchangeable components that work 135 00:06:59,280 --> 00:07:03,020 Well together. Yeah people started mixing and matching based on their specific 136 00:07:03,020 --> 00:07:03,280 needs 137 00:07:03,360 --> 00:07:07,900 Okay, for example, if you're using a Windows computer as your server you might use 138 00:07:07,900 --> 00:07:09,800 WAMP, which is the same as Lampy 139 00:07:09,800 --> 00:07:12,680 But with Windows instead of Linux that makes perfect sense 140 00:07:12,680 --> 00:07:16,960 Then you have Limp which we touched on earlier which replaces Apache with Nginx 141 00:07:16,960 --> 00:07:20,850 Which is a web server often praised for its speed and efficiency, especially when 142 00:07:20,850 --> 00:07:22,160 handling lots of traffic 143 00:07:22,160 --> 00:07:27,450 You might also see LAPP sometimes still called Lampy where MySQL is swapped out for 144 00:07:27,450 --> 00:07:28,560 Postgresql as a database 145 00:07:28,560 --> 00:07:33,880 And there's even WIMP which uses Windows, Microsoft's web server called ICE, 146 00:07:33,880 --> 00:07:35,200 Internet information services 147 00:07:35,200 --> 00:07:40,440 Yeah, MySQL and then PHP, Perl or Python and for those using Macos 148 00:07:40,440 --> 00:07:44,860 There's DAMP with Darwin as the operating system. So it's all about picking the 149 00:07:44,860 --> 00:07:45,760 right tools for the job 150 00:07:45,760 --> 00:07:50,950 Exactly, but the fundamental concepts remain the same. Okay. Now to really see how 151 00:07:50,950 --> 00:07:52,680 Lampy works in the real world 152 00:07:52,680 --> 00:07:55,600 It's helpful to look at how it's managed in a hosting environment 153 00:07:55,600 --> 00:08:00,220 And this is where a platform like Cloudran comes in. Their documentation shows how 154 00:08:00,220 --> 00:08:02,260 they simplify running Lampy applications 155 00:08:02,260 --> 00:08:04,400 Especially if you're just starting out 156 00:08:04,400 --> 00:08:08,500 So if someone's new to this and wants to get a website or a web app up and running 157 00:08:08,500 --> 00:08:10,000 using Lampy 158 00:08:10,000 --> 00:08:12,520 How does a platform like Cloudran make it easier? 159 00:08:12,520 --> 00:08:17,000 Well, the initial setup can often be the trickiest part for beginners and Cloudran 160 00:08:17,000 --> 00:08:18,860 automates a lot of the technical details 161 00:08:18,860 --> 00:08:24,000 okay, for example, it takes care of configuring your domain name with the right DNS 162 00:08:24,000 --> 00:08:24,600 settings and 163 00:08:25,240 --> 00:08:29,950 Automatically sets up and renews those all important SSL certificates using let's 164 00:08:29,950 --> 00:08:31,080 encrypt. Okay 165 00:08:31,080 --> 00:08:35,710 So your website can use that secure HTTPS protocol. That sounds like a huge weight 166 00:08:35,710 --> 00:08:36,520 off your shoulders 167 00:08:36,520 --> 00:08:40,580 If you're not a tech expert, absolutely and Cloudran also gives you easy access to 168 00:08:40,580 --> 00:08:43,600 essential services like MySQL a 169 00:08:43,600 --> 00:08:48,480 Caching system called Redis and the ability to send emails directly, right? 170 00:08:48,480 --> 00:08:51,600 You don't have to install and configure each of these separately 171 00:08:51,880 --> 00:08:55,320 Plus things like creating backups of your apps and your server 172 00:08:55,320 --> 00:08:59,560 Restoring them if something goes wrong and keeping the software up-to-date are all 173 00:08:59,560 --> 00:09:01,620 managed by the Cloudran platform 174 00:09:01,620 --> 00:09:05,630 So you can focus on building your website rather than the nitty-gritty server admin 175 00:09:05,630 --> 00:09:06,880 stuff. Exactly 176 00:09:06,880 --> 00:09:07,200 Yeah 177 00:09:07,200 --> 00:09:10,480 And if you want to run multiple websites or applications Cloudran makes it simple 178 00:09:10,480 --> 00:09:12,680 to host them separately on the same server 179 00:09:12,680 --> 00:09:14,320 So they don't interfere with each other 180 00:09:14,320 --> 00:09:18,410 It even supports different versions of PHP and you can switch between them easily 181 00:09:18,410 --> 00:09:20,680 if your different apps have different requirements 182 00:09:20,680 --> 00:09:23,920 That's really convenient. What about getting your website files onto the server? 183 00:09:23,920 --> 00:09:28,640 Yeah, Cloudran gives you a couple of options. You can use SFTP, which is a secure 184 00:09:28,640 --> 00:09:28,920 way to 185 00:09:28,920 --> 00:09:31,920 Transfer files from your computer to the server 186 00:09:31,920 --> 00:09:32,440 Okay 187 00:09:32,440 --> 00:09:35,960 Or you can even use their built-in file manager right through your web browser 188 00:09:35,960 --> 00:09:41,300 And what if you need to make some specific tweaks to how PHP or Apache are working? 189 00:09:41,300 --> 00:09:43,960 Cloudran allows for some customization 190 00:09:44,120 --> 00:09:49,240 You can often use a file called .htaccess in your website's directory to adjust 191 00:09:49,240 --> 00:09:50,820 certain Apache settings 192 00:09:50,820 --> 00:09:51,320 Okay 193 00:09:51,320 --> 00:09:55,820 For more in-depth changes to PHP or Apache, you can usually find specific 194 00:09:55,820 --> 00:09:59,200 configuration files within the app settings on Cloudran 195 00:09:59,200 --> 00:10:04,240 Okay, so what about those extra bits of PHP code called extensions that some 196 00:10:04,240 --> 00:10:05,080 websites need? 197 00:10:05,080 --> 00:10:09,840 Right, Cloudran's LMP app comes with lots of commonly used PHP extensions already 198 00:10:09,840 --> 00:10:10,360 installed 199 00:10:10,680 --> 00:10:15,060 Covering most needs like connecting to databases or working with images and if your 200 00:10:15,060 --> 00:10:18,080 application needs something specific that's not included 201 00:10:18,080 --> 00:10:22,320 You can often install it yourself. Got it. What about managing the MySQL database? 202 00:10:22,320 --> 00:10:27,320 Is there an easy way to do that? Yes, Cloudran includes a tool called phpmyadmin 203 00:10:27,320 --> 00:10:31,460 It's a web-based interface that makes it much easier to work with your MySQL 204 00:10:31,460 --> 00:10:32,080 databases 205 00:10:32,080 --> 00:10:35,240 Okay, you can access it through a specific link for your app 206 00:10:35,240 --> 00:10:39,510 But for security reasons, it's generally a good idea to disable it when you're not 207 00:10:39,510 --> 00:10:40,360 actively using it 208 00:10:40,360 --> 00:10:42,360 Security first. Absolutely 209 00:10:42,360 --> 00:10:47,210 Cloudran also handles your database and email login details securely, providing 210 00:10:47,210 --> 00:10:49,900 them to your application as environment variables 211 00:10:49,900 --> 00:10:53,670 This makes things more secure and also easier if you ever need to move your app to 212 00:10:53,670 --> 00:10:54,680 a different server 213 00:10:54,680 --> 00:10:59,380 One thing to keep in mind with Cloudran is that the standard PHP function for 214 00:10:59,380 --> 00:11:02,540 sending emails mail isn't automatically set up 215 00:11:02,540 --> 00:11:07,380 So they recommend using a library like phpmailer instead, which is a really common 216 00:11:07,380 --> 00:11:09,480 solution for sending emails through PHP 217 00:11:09,480 --> 00:11:13,400 Are there any other helpful tools that come with Cloudran's LMP setup? 218 00:11:13,400 --> 00:11:18,850 Yeah, it also includes tools like Composer for managing PHP libraries and NPM for 219 00:11:18,850 --> 00:11:20,520 managing JavaScript packages 220 00:11:20,520 --> 00:11:23,560 Which can be really useful if you're doing more advanced web development 221 00:11:23,560 --> 00:11:28,610 Finally if you're running applications like WordPress behind Cloudran's reverse 222 00:11:28,610 --> 00:11:31,400 proxy, which is a security and performance feature 223 00:11:31,400 --> 00:11:35,390 You might need to make a few small adjustments in your WordPress settings to make 224 00:11:35,390 --> 00:11:36,620 sure everything works correctly 225 00:11:36,620 --> 00:11:42,400 so to bring it all together the LMP stack is this incredibly powerful and popular 226 00:11:42,400 --> 00:11:43,600 combination of 227 00:11:43,600 --> 00:11:48,200 Linux Apache MySQL and PHP or similar languages 228 00:11:48,200 --> 00:11:52,400 And it's the engine behind so many websites and apps that we use every day exactly 229 00:11:52,400 --> 00:11:56,440 And by understanding what each component does and how they all work together 230 00:11:56,440 --> 00:12:01,090 You gain a really fundamental insight into how the internet actually functions, 231 00:12:01,090 --> 00:12:02,720 right? It's fascinating 232 00:12:02,720 --> 00:12:06,220 It's pretty amazing that these open source technologies which started as this kind 233 00:12:06,220 --> 00:12:09,440 of alternative have become such a dominant force on the web 234 00:12:09,440 --> 00:12:13,180 Absolutely, and they continue to evolve it makes you wonder what the next big 235 00:12:13,180 --> 00:12:15,440 shifts in this foundational technology might be 236 00:12:15,440 --> 00:12:18,910 That's a great thought for the listeners to consider as open source technology 237 00:12:18,910 --> 00:12:20,440 continues to advance 238 00:12:20,440 --> 00:12:26,490 How might stacks like LMP adapt and what new possibilities could emerge from these 239 00:12:26,490 --> 00:12:28,840 essential building blocks of the internet? 240 00:12:28,840 --> 00:12:33,070 Yeah, it's definitely something to think about and that brings us to the end of our 241 00:12:33,070 --> 00:12:34,480 deep dive into the LMP stack 242 00:12:34,480 --> 00:12:37,240 I hope that was useful. Yes big 243 00:12:37,240 --> 00:12:40,280 Thank you once again to safe server for their support in bringing this explanation 244 00:12:40,280 --> 00:12:41,020 to you 245 00:12:41,020 --> 00:12:44,760 If you're interested in learning more about their hosting solutions and how they 246 00:12:44,760 --> 00:12:46,920 can help with your digital transformation 247 00:12:46,920 --> 00:12:52,720 Be sure to visit them at www.safeserver.de. Yeah, check them out. Thanks for 248 00:12:52,720 --> 00:12:54,000 joining us. Thanks for having me