Stacking LAMPs. Tom Ryder

Similar documents
Apache Manual Install Ubuntu Php Mysql. Phpmyadmin No >>>CLICK HERE<<<

Install Apache Manually Win7 7 Php Mysql Phpmyadmin Ubuntu Server

How To Start Mysql Use Linux Command Line Client In Xampp

Mysql Tutorial Create Database Username Password Through Phpmyadmin

Let's Play... Try to name the databases described on the following slides...

Global Servers. The new masters

Phpmyadmin Ubuntu 10.04

How To Start Mysql Using Linux Command Line Client In Ubuntu

Installing LAMP on Ubuntu and (Lucid Lynx, Maverick Meerkat)

Phpmyadmin Ubuntu Server

Real Life Web Development. Joseph Paul Cohen

Alongside Windows 8.1

How To Start Mysql Use Linux Command Line Client In Ubuntu

Apache Install Instructions Win7 7 Php Mysql. Phpmyadmin Linux >>>CLICK HERE<<<

If you re the administrator on any network,

Apache Manual Install Ubuntu Php Mysql >>>CLICK HERE<<<

The Wonderful World of Services. By: Stefanja

Phpmyadmin Windows Xp

Manually Password Protect Directories Apache Ubuntu

The first command should show your short hostname, and the second should show your fully qualified domain name (FQDN).

Ubuntu Install Partition Lamp One. Command >>>CLICK HERE<<<

Topics. What is a RaspberryPi? Why should I want one? What is Raspbian? What is SSH? What is FTP? What is LAMP? Making a LAMP Stack!

I'm Andy Glover and this is the Java Technical Series of. the developerworks podcasts. My guest is Brian Jakovich. He is the

Upload to your web space (e.g., UCSC) Due this Thursday 4/8 in class Deliverable: Send me an with the URL Grading:

UK SSD Business Class Web Hosting package that lets you host your websites under one account.

Install Apache, PHP And MySQL On CentOS 7 (LAMP)

Mysql Server 4.1 Manually Windows 7 Start Service

Ubuntu Practice and Configuration Post Installation Exercises interlab at AIT Bangkok, Thailand

Scaling DreamFactory

Offloading MySQL to Remote Server

EASYLAMP REDHAT V1.0 DOCUMENT OWNER: OUDHUIS, JONATHAN INGRAM MICRO CLOUD EUROPE

Hosting and Web Apps The Obscurity of Security

Manual Install Php Applications On Iis 7.5 For Windows Server 2008

How To Install Modules Joomla 2.5 On Wamp Server 2.1

Distributed Architectures & Microservices. CS 475, Spring 2018 Concurrent & Distributed Systems

L.A.M.P. Stack Part I

WEBSITE & CLOUD PERFORMANCE ANALYSIS. Evaluating Cloud Performance for Web Site Hosting Requirements

Introduction to UNIX/LINUX Security. Hu Weiwei

Linked Lists. What is a Linked List?

In today s video I'm going show you how you can set up your own online business using marketing and affiliate marketing.

How to Get a Website Up and Running

CSCI 1320 Creating Modern Web Applications. Content Management Systems

Flatpak and your distribution. Simon McVittie

We want to install putty, an ssh client on the laptops. In the web browser goto:

Installer Apache Manually Win7 7 Php Mysql Survey

FileWave 10 Webinar Q&A

Apache Manually Install Ubuntu On Windows 8 Themes

Why You Should Not Use Arch

Http Error Code 403 Forbidden Dreamweaver Mysql

IT STARTED WITH A KICKSTARTER CAMPAIGN

Setup Error Code 404 Spotify Won't

Installing Joomla

Apache Manually Install Ubuntu On Windows 7 From Usb

Prepared By: PATEL DHARMESH M.( ) (C.E.)

Installing MediaWiki using VirtualBox

ModSecurity2 Installation, and Configuration

Nextcloud 13: How to Get Started and Why You Should

Working With Ruby Threads. Copyright (C) 2013 Jesse Storimer. This book is dedicated to Sara, Inara, and Ora, who make it all worthwhile.

Installing Oxwall completely in Amazon Cloud

The failure of Operating Systems,

How To Manually Install Driver Ubuntu Server On Virtualbox

Ftp Get Command Line Linux Proxy Settings

sqlite wordpress 06C6817F2E58AF4319AB84EE Sqlite Wordpress 1 / 6

Windows 7 Will Not Load On My Computer Says Its

How to install webmin on ubuntu (Precise) server

Inside Hatena Bookmark's Backend

MariaDB: Community Driven SQL Server. Kristian Nielsen MariaDB developer Monty Program AB

Module - P7 Lecture - 15 Practical: Interacting with a DBMS

CTEC1863/2017F Lab #11, Part 1 Page 1 of 11. In this lab, we will be installing a popular solution for database-driven web sites.

Best Practices for Developing & Deploying Java Applications with Docker

System Administration. NFS & Web Servers

PHP & MySQL In Easy Steps Ebooks Free

A Seminar report On LAMP Technology

Manual Install Php Iis Windows Server 2008 >>>CLICK HERE<<<

Lecture 3: O/S Organization. plan: O/S organization processes isolation

P1_L3 Operating Systems Security Page 1

I've installed Wampserver 2.1d on Windows 8.1 as it is the nearest in php mysql the rewrite_module option on Apache and uncommented the LoadModule.

Who am I? I m a python developer who has been working on OpenStack since I currently work for Aptira, who do OpenStack, SDN, and orchestration

Web Hosting Features. 1 P a g e

Apache Manually Install Ubuntu Alongside Windows 8

Phpmyadmin Install Guide Ubuntu Server 13.04

In this tutorial we are going to take a look at the CentovaCast 3 control panel running ShoutCast 2 and explain some of the basic features.

Sshuttle, the unilateral VPN

The following content is provided under a Creative Commons license. Your support

Introduction to Operating Systems. Note Packet # 1. CSN 115 Operating Systems. Genesee Community College. CSN Lab Overview

Remote Exploit. compass-security.com 1

MySQL. The Right Database for GIS Sometimes

Is this a known issue? Seems to affect only recurring events. I have some of them and all are shifted. Non-recurring events show properly.

Manual Linux Ubuntu Lts Server Install Webmin

[This link is no longer available because the program has changed.] II. Security Overview

How To Create A Blog In 7 Minutes - Easy Step By Step Tutorial

Course Wiki. Today s Topics. Web Resources. Amazon EC2. Linux. Apache PHP. Workflow and Tools. Extensible Networking Platform 1

Install Apache Manually Win7 7 Php Mysql Phpmyadmin Windows Xp

Read Source Code the HTML Way

Setting up VPS on Ovh public cloud and installing lamp server on Ubuntu instance

Installing WordPress CMS

Memory Management: The process by which memory is shared, allocated, and released. Not applicable to cache memory.

CIS 086 : Week 1. Web Development with PHP and MySQL

CSC 443: Web Programming

EASYLAMP UBUNTU V1.0 DOCUMENT OWNER: OUDHUIS, JONATHAN INGRAM MICRO CLOUD EUROPE

Transcription:

Stacking LAMPs Tom Ryder tom@sanctum.geek.nz https://sanctum.geek.nz/

What is the LAMP stack? A web service stack: Linux Apache HTTPD MySQL (or MariaDB) PHP Very mature In web years, anyway...the late 90s, even Making a web page change dynamically was a really big deal back then Very popular (especially for Content Management Systems) WordPress, Joomla!, Drupal, WooCommerce, SilverStripe, Magento, October...

What are the pieces? Linux: The operating system and kernel at the bottom of the stack Apache HTTPD: The venerable Hypertext Text Transport Protocol daemon: read and route requests, send the formed responses MySQL/MariaDB: The database server: store and retrieve persistent data in tables PHP: Run programs using data in the requests with reference to data in RAM/on disk, build responses to send to Apache HTTPD Sometimes people will try to tell you that the "P" can stand for Perl. It almost never actually does...not since the mid-90s, anyway. But if you run a LAMP(erl) stack, Tom would love to know about that. Python is a bit more common an alternative (Django, mostly).

Why LAMP? Three really big reasons that feed into each other: It's easy, so the amount of code written for it and documentation on it is huge. It's everywhere, in operating system repositories and on third-party webhosts, dirt cheap. It's mature, as people have people been using it since the late nineties. Note that none of those reasons have much to do with pure technical virtues. If you're just beginning web programming, or if you're just a ruthless pragmatist, even in 2018 LAMP is still a reasonable place to start. Bonus reason: WordPress. Love it or hate it, it's friggin everywhere, and it runs on a LAMP stack.

Why not LAMP? You're a programming purist, and can't abide PHP. And, well, fair enough... You have very specific programming requirements. Maybe you need to do things with the JVM, or with.net. You really do need to scale. LAMP scales only to a point. PHP's runtime is big, partly because so much stuff is built into its core. Forking many times a second can be painful.

LAMP Example: Installation We'll install a LAMP stack suitable for use on a trusted LAN in a few lines, on an internet-connected Debian GNU/Linux stable server. Virtual machine, headless, connected over SSH. # apt install apache2 libapache2-mod-php php7.0 php7.0-mysql mariadb-server This is about as close to "it just works" as web programming gets. Versions: Apache HTTPD 2.4 PHP 7.0 MariaDB 10 All from packages. We'll take a quick look around how it's structured.

LAMP Example: WordPress Installing the WordPress content management system by unpacking a tarball. There's a package as well, but it makes running multiple sites awkward. MariaDB> create user 'wordpress'@'localhost' identified by 'WXAK2ZWY26wC2yAN'; MariaDB> create database wordpress; MariaDB> grant all on wordpress.* to 'wordpress'@'localhost';

LAMP Example: phpmyadmin Installing the phpmyadmin MariaDB management system by installing another package. Lock it down to only specified hosts...

Architecture: Apache (MPM) Prefork: Default. Keep a certain number of processes running. One request per process. Still required for classic mod_php, due to lack of thread safety in some libraries (and maybe even the core, depending on whom you ask) Definitely good enough for your home webserver Worker: Keep a certain number of processes running. Multiple requests per process, using threads. Kinder on system resources and can serve more requests Breaks anything that wasn't designed with threads in mind There's event too, but that's essentially a more elegant worker, and there's not much difference if all your connections in production are HTTPS....all your connections in production are HTTPS, right?

Architecture: PHP CGI: Old school, Perlish way. Figure out the type of script file at request time, and exec() the whole runtime for it. Sloooooooow, but hey, it worked in the 90s mod_php: What we've done. Each Apache HTTPD server thread loads up the entire PHP runtime. All the server processes have PHP resident, ready and waiting. Simple, quick, good for servers that run tons of PHP Big resident size for each process, though FastCGI: Best of both worlds. PHP spawns processes in the background to wait for Apache to call on them. Recommended method if the server only runs your sites, and you're keen for something a bit more advanced

Security: Server side Separate users for separate sites For mod_php, use apache_mpm_itk For FastCGI, it's probably built-in chroot to defeat elementary automated attacks? For mod_php, use mod_chroot (or reconsider entirely) For FastCGI, it's probably built-in This won't stop a determined attacker Might cause pain for dynamically loading libraries A trade-off...!

Security: Client side A bit out of scope here, except: Deploy HTTPS for anything that has to go over an untrusted network! Not a panacea, but given that it's free-as-in-beer now, thanks to Let's Encrypt, we're running out of excuses Google cares, especially if your website has forms on it Especially if they're username and password forms SNI saved us, you don't need unique IPs anymore

Monitoring Nagios Icinga After all, some poor jerk needs to get woken up at 3:00am when the whole thing crashes thanks to some kiddie carder in Bulgaria who got a new WordPress spl0it harrassing your customer's beanie baby history website admin login page with malformed Python urllib requests No, I'm not bitter

Questions? Email: tom@sanctum.geek.nz Web: https://sanctum.geek.nz/ Tom had a past life as a web developer, and now suffers for his sins, by running webservers for his former brethren. Any other sysadmin topics in which people would be interested?