versions for Hosting Companies Xander Lammertink System & - - PowerPoint PPT Presentation

versions for hosting companies
SMART_READER_LITE
LIVE PREVIEW

versions for Hosting Companies Xander Lammertink System & - - PowerPoint PPT Presentation

Fin ine-grained control of LAMP component versions for Hosting Companies Xander Lammertink System & Network Engineering: RP1 Research question How to migrate customers from LAMP hosting providers to a new type of LAMP hosting where


slide-1
SLIDE 1

Fin ine-grained control of LAMP component versions for Hosting Companies

Xander Lammertink System & Network Engineering: RP1

slide-2
SLIDE 2

Research question

How to migrate customers from LAMP hosting providers to a new type

  • f LAMP hosting where versions of every component can be chosen?
  • What is the current situation?
  • What should be the situation?
  • Up- or downgrading components?
  • How can this be migrated?
slide-3
SLIDE 3

What is is the current sit ituation?

  • Types of hosting
  • Shared hosting
  • Managed hosting
  • Unmanaged hosting
  • Resources
  • Updates
slide-4
SLIDE 4

What soft ftware is is currently used?

  • LAMP-stack
  • Linux
  • Apache
  • MySQL
  • PHP
slide-5
SLIDE 5

What should be the sit ituation?

  • Control version of components
  • Centralized authentication
slide-6
SLIDE 6

Lin inux - Authentication

  • Current situation
  • /etc/passwd
  • /etc/shadow
  • New situation
  • Centralized
  • Service that handles authentication
  • Kerberos & PAM
slide-7
SLIDE 7

Apache

  • Current situation
  • One instance per service
  • New situation
  • Multiple instances per server
  • One instance per version
  • One instance as proxy
slide-8
SLIDE 8

MySQL

  • Current situation
  • One instance per server
  • New situation
  • Multiple instances per server
  • One instance per version
  • Every instance running on different ports
slide-9
SLIDE 9

PHP

  • Current situation
  • One instance per server
  • New situation
  • Multiple instances per server
  • One instance per version
  • MIME-type to decide version
  • CGI handles communication with PHP
  • .htaccess overwrites global configuration
slide-10
SLIDE 10

So tell me… How to do that?

In a shared hosting environment

slide-11
SLIDE 11

Authentication

  • Use PAM module
  • pam_krb5_migrate.so
  • Copy usernames from /etc/shadow
slide-12
SLIDE 12

Apache

  • “Setup-instance” script copies current installation
  • Setup proxy
  • mod_proxy
  • Setup instance

<VirtualHost *:80> # Setup proxy instance ServerName www.example.com ProxyPreserveHost On ProxyPass / http://127.0.0.1:81/ ProxyPassReverse / http://127.0.0.1:81/ </VirtualHost> <VirtualHost example.com:81> # Setup normal instance ServerName www.example.com DocumentRoot /www/example </VirtualHost>

slide-13
SLIDE 13

MySQL

  • Install from source
  • Install directory
  • Port number
  • Database is not migrated
  • MySQL Schema Transfer
  • MySQL Dump

./configure --prefix=[directory] –with-tcp-port=[port] make make install

slide-14
SLIDE 14

PHP

  • Apache
  • Create MIME-type
  • Associate MIME-type with CGI
  • .htaccess
  • Associate file extension with other MIME-type

<Directory “/srv/www”> # Create MIME-type AddType application/x-httpd-php56 .php56 .php AddType application/x-httpd-php55 .php55 # Associate MIME-type Action application/x-httpd-php56 /cgi-bin/php56.cgi Action application/x-httpd-php56 /cgi-bin/php55.cgi </Directory> AddType application/x-httpd-php55 .php

slide-15
SLIDE 15

Conclusion

  • All components can run multiple versions
  • Usage depends on hosting type
  • Authentication
  • Kerberos & PAM
  • Apache
  • Proxy for redirection
  • MySQL
  • Using different ports
  • PHP
  • Via CGI
slide-16
SLIDE 16

Sugg ggestions for fu future work

  • Performance
  • LAMP using Windows, MariaDB, Pearl, Python, etc.
  • Management panels (cPanel, DirectAdmin, etc.)
slide-17
SLIDE 17

Questions?!