MLADEN ĐURIĆ @MacMladen 1
THANKS! 2
TIME SPACE CONTINUUM THE EXISTENCE OF GOD AND OBJECT ORIENTED PHP IN DRUPAL 8 Mladen Đurić @macmladen 3
BOA BARRACUDA OCTOPUS ÆGIR ~ HOW TO RUN A WEB SERVER LIKE A PRO ON CHEAP ~ Mladen Đurić @macmladen 4
MLADEN ĐURIĆ a.k.a MacMladen in IT since the time of mainframes, 8th year in UNIX epoch (that s 1978). started with Z80 assembly, went over 6502 to 8086 (1978-1990) somewhere in between, there was an episode with BASIC but really enjoyed hard core C was knee deep in DTP 1990-2000 gone to Mac in 1995 and never looked back 2005 started playing with web technologies 2007 landed on Drupal :D 5
TIMETABLE: Shared hosting: ~10 min Ægir: ~30 min Q & A: 15 min or more 6
7
THE SURVIVAL OF THE FITTEST 8
Chapter 1. SHARED HOSTING 9
NOT ALL HOSTINGS ARE THE SAME Requirements: some Linux Apache PHP MySQL FTP SSH access Unlimited everything Disk Transfer Domains Databases Users 10
HITTING THE WALL The limits CPU Memory Database Caching (APC, opcache) Extra PHP stuff (uploadprogress, xdebug) Tweaks 11
DREAMHOST: LOVE & HATE Tuned: Users: unlimited! Memory:.htaccess raised! Database: horor, hell. Caching (APC, opcache) added! Extra PHP stuff added! (uploadprogress, xdebug) Tweaks totally customized :D 12
Chapter 2. EVALUATING DRUPAL HOSTING OPTIONS 13
ASSUME NOTHING My favourite 8086 assembler directive 14
IMPORTANT QUESTIONS Who you are? Service or VPS? Who your clients are? Service or VPS? System skill level Will you be able to cope with system maintaining Resources needed Service or VPS? Sites Memory CPU Disk Transfer SSL IP Budget Client expectations, sensitivity Security, maintenance, performance World region Proximity to client market 15
Chapter 3. TESTING FOR VPS 16
AWS FREE TIER MICRO INSTANCE EC2 t2.micro: 1 CPU 1 GB 30 GB of EBS World region Spot vs Reserved Load balancing http://aws.amazon.com/ec2/pricing/ 17
Chapter 4. BUILDING THE VPS 18
$10 = 1 CPU, 1GB, 30GB Cheaper plan is just too small. 1GB is enough for moderate use but will not allow Solr and memory use will be ~700-800MB active 2GB would raise MySQL cache, allow for Solr (~200MB) and leave some room for more performance. 4GB is expensive -> Dedicated 19
INSTANCE BUILD: DEBIAN 7 32BIT Debian: 6 or 7 Ubuntu CentOS FreeBSD Darwin/Mac? some exotic? 32 bit No need for less than 4GB 64 bit Imperative if you have more than 4GB 20
SUPPORTED LTS OS 32/64BIT MINIMAL ON SERVER OR DESKTOP ON LOCALHOST Debian 7 Wheezy (recommended) Debian 6 Squeeze (fully supported with automatic upgrade to Wheezy available) Ubuntu Trusty 14.04 (limited support) Ubuntu Precise 12.04 (limited support) Ubuntu Lucid 10.04 (limited support) 21
Chapter 5. UNDERSTANDING AEGIR 22
23
Chapter 6. BUILDING THE BOA 24
REQUIREMENTS FOR BOA wget must be installed. The git standard port 9418 must be open. SMTP standard port 25 (or SMTP relay) must be open for outgoing connections. Minimum 1 GB of RAM Locales with UTF-8 support, otherwise en_us.utf-8 (default) is forced. Basic sysadmin skills and experience. Willingness to accept BOA PI (paranoid idiosyncrasies). 25
BOA INSTALLATION IMPORTANT! Don't run any installer via sudo. You must be logged in as root or `sudo -i` first. Don't run any system updates before running Barracuda installer. You should use vanilla system. # cd # wget -q -U icab http://files.aegir.cc/boa.sh.txt # bash BOA.sh.txt You are prepared now. But before starting installation, you have to configure it first. 26
BARRACUDA IMPORTANT! Don't run any installer via sudo. You must be logged in as root or `sudo -i` first. Don't run any system updates before running Barracuda installer. You should use vanilla system. # cd # wget -q -U icab http://files.aegir.cc/boa.sh.txt # bash BOA.sh.txt # { make changes in.barracuda.cnf and.octopus.cnf } # boa in-stable public server.mydomain.org my@email o1 # boa in-stable public server2.mydomain2.org my2@email o2 mini 27
Chapter 7. MIGRATING SITES 28
Chapter 8. MAINTAING SITES 29
Q & A BARRACUDA ON AEGIR ~ MY FIRST YEAR ~ Mladen Đurić @macmladen 30
THANKS! BARRACUDA ON AEGIR ~ MY FIRST YEAR ~ Mladen Đurić @macmladen 31