SlideShare una empresa de Scribd logo
1 de 46
Descargar para leer sin conexión
Jonathan Perlman
August 17, 2014
Montreal, Quebec
@jpurpleman
jonathan@purpleman.org
http://purpleman.org/wcmtl
@
 + 10 years as
a web developer
at Dawson College
 + 6 years teaching
the World Wide Web
and Microsoft Office
 + 4 years using and
learning WordPress
 I’m not a Linux network
administrator
 I’m not a security expert
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
Image credit: alexidagher.com
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
Image credit: office.com
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
Image credit: commons.wikimedia.org
Restrictions
Software limitations
Can’t modify
configurations
Resources
CPU intense
Noisy neighbors
Reliability
Downtime
Lack of support
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
Image credit: flickr (roger4336 )
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
UnmanagedManaged
Image credit: commons.wikimedia.org Image credit: flickr (retropc )
Managed
Shared hosting for
WordPress
Support knows
WordPress
Relevantly easy and
hands off
Costly in $$$
Unmanaged
Learning curve
Very DIY
“ Painful “
Costly in time
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
WPEngine http://wpengine.com
WebSynthesis http://websynthesis.com
Flywheel http://getflywheel.com
Page.ly https://pagely.com
Pressable http://pressable.com
SiteGround http://siteground.com
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
Digital Ocean http://www.digitalocean.com
Linode https://www.linode.com
Media Temple
http://mediatemple.net/webhosting/
vps/developer/
Site5 http://www.site5.com
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
Image credit: commons.wikimedia.org
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
RAM CPU
Disk
Space
Image credit: commons.wikimedia.org
purpleman.org
• Photo clients
• Personal use
• Ram: 1 Gig
• CPU: 1 Core
• Disk: 30 Gigs
snookercanada.ca
• Snooker players
• Media relations
• Ram: 2 Gigs
• CPU: 2 Cores
• Disk: 40 Gigs
dawsoncollege.qc.ca
• + 10,000 students
• + 1,000 faculty / staff
• Ram: 16 Gigs
• CPU: 4 Core
• Disk: 128 Gigs
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
DNS
Linux Web
PHP Db
 CloudFlare
 https://www.cloudflare.com
 Easydns
 https://www.easydns.com
 DNS with domain or hosting provider
 Local “Hosts” file
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
 Stable
 CentOS 7
Supported till 2024
 Bleeding edge
 Ubuntu 14.04 LTS
Supported till 2019
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
 cPanel
 www.cpanel.net
 Parallels Plesk
 sp.parallels.com/
products/plesk/
 ZPanel
 www.zpanelcp.com
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
 Text Editor
 vi / nano
 File System
 cd & ls
 cp & mv & rm
 mkdir
 Permissions
 chmod & chown
 Process Management
 ps & top
 Kill
 http://www.ee.surrey.ac.uk/
Teaching/Unix/
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
Stan Lee
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
Image credit: sapienstoonz.deviantart.com
 All powerful server administrator
 Terminal Root User = WordPress Admin User
 Constantly targeted and attacked
 New servers are under attack in hours
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
 Change it’s password
 Make it a super secure password!
 Deny Root from remote login
 Create a non-admin user account
 Assign admin rights with VISUDO
 https://www.digitalocean.com/community/tutorials/initial-server-setup-with-centos-6
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
 Generating keys
 http://kb.siteground.com/how_to_generate_an_ssh_key_on_windows_using_putty/
 http://coolestguidesontheplanet.com/make-passwordless-ssh-connection-osx-10-9-
mavericks-linux/
 Set up keys on the server Login via SSH keys
 https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys--2
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
 Block everything
 Allow specific ports from specific IPs
 22 – SSH
 80 – Web
 443 – Secure Web
 3306 – MySql
 Allowing for dynamic IPs
 Use hit count rules
 https://github.com/jpurpleman/linux
 http://cyberciti.biz/tips/linux-iptables-examples.html
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
Image credit: support.Microsoft.com
 yum update for CentOS
 apt-get update for Ubuntu
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
Image credit: commons.wikimedia.org
 Apache or Nginx
 Use virtual hosting for multiple domains
 Create development domains
 .htaccess is off by default in Apache
 Change “AllowOverride” to All
 https://www.digitalocean.com/community/
tutorials/how-to-set-up-apache-virtual-hosts-on-centos-6
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
php.ini
 allow_url_fopen
 session.gc_maxlifetime
 disable_functions
 display_errors
 post_max_size
 memory_limit
 max_execution_time
 upload_max_filesize
.htaccess
 php_value
upload_max_filesize
10M
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
http://php.net/manual/en/ini.list.php
 MySql or MariaDB
 Setup steps
 Set a secure root user
 Remove test database
 Create web user with limited access
 Create yourself a user with full access
 https://www.digitalocean.com/community/
tutorials/a-basic-mysql-tutorial
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
 Download and extract
 Create the database
and a user
 Set up wp-config.php
 Run the install script
 http://codex.wordpress.org/
Installing_WordPress
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
 http://codex.wordpress.org/
Hardening_WordPress
 http://codex.wordpress.org/
Changing_File_Permissions
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
 Home directory
 Root home directory
 Configuration directory
 Web files
 Database
 Automysqlbackup
http://sourceforge.net/projects/automysqlbackup/
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
Image credit: memofixdatarecovery.com
 http://aws.amazon.com/backup-storage
 http://mozy.com/product/solutions/
server-backup
 https://www.jungledisk.com/
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
 Google Apps for Business
 http://www.rackspace.com/email-hosting/
 https://www.fastmail.fm
 https://www.zoho.com/mail
 https://www.pobox.com/
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
 Uptime Robot
 Pingdom
 New Relic
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
Image credit: opmlink.com
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
 Get a virtual private server – call it professional development
 Set it up
 Play around – learn!
 Edit your hosts file and point your domain to the server
 Create a development WordPress site
 Setup your WordPress site
 Create a production WordPress site
 Change the DNS!
 You’re live!
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
 Setting up and configuring SSL
 2 Servers - Web & MySQL
 Varnish / Memcache for caching
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
 https://www.digitalocean.com/community/
 https://www.linode.com/docs
 http://www.youtube.com/user/TJsWebDev/
 http://www.cyberciti.biz
 http://www.rosehosting.com/blog
 http://www.servermom.org
 http://www.tecmint.com
 http://webchat.freenode.net/?channels=digitalocean&uio=d4
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
Mike Johnson.
http://gdargaud.net/Humor/QuotesHardwareSoftware.html
Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
August 17, 2014Jonathan Perlman - WordCamp Montreal 2014
Questions
Thank
you!
Jonathan Perlman
August 17, 2014
Montreal, Quebec
@jpurpleman
jonathan@purpleman.org
http://purpleman.org/wcmtl
@

Más contenido relacionado

La actualidad más candente

Resumable File Upload API using GridFS and TUS
Resumable File Upload API using GridFS and TUSResumable File Upload API using GridFS and TUS
Resumable File Upload API using GridFS and TUSkhangtoh
 
Polymer in the real life - Devoxx France - 2016 04-20
Polymer in the real life - Devoxx France - 2016 04-20Polymer in the real life - Devoxx France - 2016 04-20
Polymer in the real life - Devoxx France - 2016 04-20Horacio Gonzalez
 
Tus.io presentation for iOS devscout meetup
Tus.io presentation for  iOS devscout meetupTus.io presentation for  iOS devscout meetup
Tus.io presentation for iOS devscout meetupkhangtoh
 
tus.io – Resumable file uploads for web and mobile apps by Felix Geisendörfer
tus.io – Resumable file uploads for web and mobile apps by Felix Geisendörfertus.io – Resumable file uploads for web and mobile apps by Felix Geisendörfer
tus.io – Resumable file uploads for web and mobile apps by Felix GeisendörferCodemotion
 
Ripping web accessible .git files
Ripping web accessible .git filesRipping web accessible .git files
Ripping web accessible .git filesVlatko Kosturjak
 
Desktop Apps with PHP and Titanium (ZendCon 2010)
Desktop Apps with PHP and Titanium (ZendCon 2010)Desktop Apps with PHP and Titanium (ZendCon 2010)
Desktop Apps with PHP and Titanium (ZendCon 2010)Ben Ramsey
 
Virtual IETF meetings with WebRTC @ IETF 109 MOPS
Virtual IETF meetings with WebRTC @ IETF 109 MOPSVirtual IETF meetings with WebRTC @ IETF 109 MOPS
Virtual IETF meetings with WebRTC @ IETF 109 MOPSLorenzo Miniero
 
Internet Archive at Open Video Conference 2009
Internet Archive at Open Video Conference 2009Internet Archive at Open Video Conference 2009
Internet Archive at Open Video Conference 2009tracey jaquith
 
Desktop Apps with PHP and Titanium
Desktop Apps with PHP and TitaniumDesktop Apps with PHP and Titanium
Desktop Apps with PHP and TitaniumBen Ramsey
 
Local Community for Debian (2013 Taiwan miniDebConf)
Local Community for Debian (2013 Taiwan miniDebConf)Local Community for Debian (2013 Taiwan miniDebConf)
Local Community for Debian (2013 Taiwan miniDebConf)Hideki Yamane
 
Golang getting started
Golang getting startedGolang getting started
Golang getting startedHarshad Patil
 
Quick & Dirty Wordpress Customization
Quick & Dirty Wordpress CustomizationQuick & Dirty Wordpress Customization
Quick & Dirty Wordpress CustomizationMagnetic Ideas, LLC
 
FFMUC jitsi-report after first two weeks
FFMUC jitsi-report after first two weeks FFMUC jitsi-report after first two weeks
FFMUC jitsi-report after first two weeks Annika Wickert
 
Re-thinking Performance tuning with HTTP2
Re-thinking Performance tuning with HTTP2Re-thinking Performance tuning with HTTP2
Re-thinking Performance tuning with HTTP2Vinci Rufus
 
ITB2016 - ForgeBox 2 Package Management
ITB2016 - ForgeBox 2 Package ManagementITB2016 - ForgeBox 2 Package Management
ITB2016 - ForgeBox 2 Package ManagementOrtus Solutions, Corp
 
Cufon - Javascript Font Replacement
Cufon - Javascript Font ReplacementCufon - Javascript Font Replacement
Cufon - Javascript Font ReplacementDave Ross
 
Talk@JanusCon2019: Janus, WebRTC and ML - Fantastic technologies and how to m...
Talk@JanusCon2019: Janus, WebRTC and ML - Fantastic technologies and how to m...Talk@JanusCon2019: Janus, WebRTC and ML - Fantastic technologies and how to m...
Talk@JanusCon2019: Janus, WebRTC and ML - Fantastic technologies and how to m...Paolo Saviano
 
CPAN Workshop, Chicago 2014
CPAN Workshop, Chicago 2014CPAN Workshop, Chicago 2014
CPAN Workshop, Chicago 2014brian d foy
 
Implementing real time web applications with Django
Implementing real time web applications with DjangoImplementing real time web applications with Django
Implementing real time web applications with DjangoKristian Houlberg Øllegaard
 

La actualidad más candente (20)

Resumable File Upload API using GridFS and TUS
Resumable File Upload API using GridFS and TUSResumable File Upload API using GridFS and TUS
Resumable File Upload API using GridFS and TUS
 
Polymer in the real life - Devoxx France - 2016 04-20
Polymer in the real life - Devoxx France - 2016 04-20Polymer in the real life - Devoxx France - 2016 04-20
Polymer in the real life - Devoxx France - 2016 04-20
 
Tus.io presentation for iOS devscout meetup
Tus.io presentation for  iOS devscout meetupTus.io presentation for  iOS devscout meetup
Tus.io presentation for iOS devscout meetup
 
tus.io – Resumable file uploads for web and mobile apps by Felix Geisendörfer
tus.io – Resumable file uploads for web and mobile apps by Felix Geisendörfertus.io – Resumable file uploads for web and mobile apps by Felix Geisendörfer
tus.io – Resumable file uploads for web and mobile apps by Felix Geisendörfer
 
Ripping web accessible .git files
Ripping web accessible .git filesRipping web accessible .git files
Ripping web accessible .git files
 
Desktop Apps with PHP and Titanium (ZendCon 2010)
Desktop Apps with PHP and Titanium (ZendCon 2010)Desktop Apps with PHP and Titanium (ZendCon 2010)
Desktop Apps with PHP and Titanium (ZendCon 2010)
 
Virtual IETF meetings with WebRTC @ IETF 109 MOPS
Virtual IETF meetings with WebRTC @ IETF 109 MOPSVirtual IETF meetings with WebRTC @ IETF 109 MOPS
Virtual IETF meetings with WebRTC @ IETF 109 MOPS
 
Internet Archive at Open Video Conference 2009
Internet Archive at Open Video Conference 2009Internet Archive at Open Video Conference 2009
Internet Archive at Open Video Conference 2009
 
Desktop Apps with PHP and Titanium
Desktop Apps with PHP and TitaniumDesktop Apps with PHP and Titanium
Desktop Apps with PHP and Titanium
 
Ruxmon.2015-08.-.proxenet
Ruxmon.2015-08.-.proxenetRuxmon.2015-08.-.proxenet
Ruxmon.2015-08.-.proxenet
 
Local Community for Debian (2013 Taiwan miniDebConf)
Local Community for Debian (2013 Taiwan miniDebConf)Local Community for Debian (2013 Taiwan miniDebConf)
Local Community for Debian (2013 Taiwan miniDebConf)
 
Golang getting started
Golang getting startedGolang getting started
Golang getting started
 
Quick & Dirty Wordpress Customization
Quick & Dirty Wordpress CustomizationQuick & Dirty Wordpress Customization
Quick & Dirty Wordpress Customization
 
FFMUC jitsi-report after first two weeks
FFMUC jitsi-report after first two weeks FFMUC jitsi-report after first two weeks
FFMUC jitsi-report after first two weeks
 
Re-thinking Performance tuning with HTTP2
Re-thinking Performance tuning with HTTP2Re-thinking Performance tuning with HTTP2
Re-thinking Performance tuning with HTTP2
 
ITB2016 - ForgeBox 2 Package Management
ITB2016 - ForgeBox 2 Package ManagementITB2016 - ForgeBox 2 Package Management
ITB2016 - ForgeBox 2 Package Management
 
Cufon - Javascript Font Replacement
Cufon - Javascript Font ReplacementCufon - Javascript Font Replacement
Cufon - Javascript Font Replacement
 
Talk@JanusCon2019: Janus, WebRTC and ML - Fantastic technologies and how to m...
Talk@JanusCon2019: Janus, WebRTC and ML - Fantastic technologies and how to m...Talk@JanusCon2019: Janus, WebRTC and ML - Fantastic technologies and how to m...
Talk@JanusCon2019: Janus, WebRTC and ML - Fantastic technologies and how to m...
 
CPAN Workshop, Chicago 2014
CPAN Workshop, Chicago 2014CPAN Workshop, Chicago 2014
CPAN Workshop, Chicago 2014
 
Implementing real time web applications with Django
Implementing real time web applications with DjangoImplementing real time web applications with Django
Implementing real time web applications with Django
 

Similar a 10 things you need to know about leaving shared hosting

Docker Continuous Delivery Workshop
Docker Continuous Delivery WorkshopDocker Continuous Delivery Workshop
Docker Continuous Delivery WorkshopJirayut Nimsaeng
 
Frontend Performance: De débutant à Expert à Fou Furieux
Frontend Performance: De débutant à Expert à Fou FurieuxFrontend Performance: De débutant à Expert à Fou Furieux
Frontend Performance: De débutant à Expert à Fou FurieuxPhilip Tellis
 
Developing locally with virtual machines
Developing locally with virtual machinesDeveloping locally with virtual machines
Developing locally with virtual machineswhurleyf1
 
Netflix CDN and Open Source
Netflix CDN and Open SourceNetflix CDN and Open Source
Netflix CDN and Open SourceGleb Smirnoff
 
Frontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonFrontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonPhilip Tellis
 
Joomla Continuous Delivery with Docker
Joomla Continuous Delivery with DockerJoomla Continuous Delivery with Docker
Joomla Continuous Delivery with DockerJirayut Nimsaeng
 
Continuous delivery with jenkins, docker and exoscale
Continuous delivery with jenkins, docker and exoscaleContinuous delivery with jenkins, docker and exoscale
Continuous delivery with jenkins, docker and exoscaleJulia Mateo
 
PHP on Heroku: Deploying and Scaling Apps in the Cloud
PHP on Heroku: Deploying and Scaling Apps in the CloudPHP on Heroku: Deploying and Scaling Apps in the Cloud
PHP on Heroku: Deploying and Scaling Apps in the CloudSalesforce Developers
 
ELUNA2014: Developing and Testing an open source web application
ELUNA2014: Developing and Testing an open source web applicationELUNA2014: Developing and Testing an open source web application
ELUNA2014: Developing and Testing an open source web applicationMichael Cummings
 
DevOPS training - Day 1/2
DevOPS training - Day 1/2DevOPS training - Day 1/2
DevOPS training - Day 1/2Vincent Mercier
 
Frontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonFrontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonPhilip Tellis
 
Puppet getting started by Dirk Götz
Puppet getting started by Dirk GötzPuppet getting started by Dirk Götz
Puppet getting started by Dirk GötzNETWAYS
 
Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...
Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...
Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...Philip Tellis
 
Frontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonFrontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonPhilip Tellis
 
Capacity Planning Free Solution
Capacity Planning Free SolutionCapacity Planning Free Solution
Capacity Planning Free Solutionluanrjesus
 
"In love with Open Source : Past, Present and Future" : Keynote OSDConf 2014
"In love with Open Source : Past, Present and Future" : Keynote OSDConf 2014"In love with Open Source : Past, Present and Future" : Keynote OSDConf 2014
"In love with Open Source : Past, Present and Future" : Keynote OSDConf 2014Piyush Kumar
 
Building a data warehouse with Pentaho and Docker
Building a data warehouse with Pentaho and DockerBuilding a data warehouse with Pentaho and Docker
Building a data warehouse with Pentaho and DockerWellington Marinho
 

Similar a 10 things you need to know about leaving shared hosting (20)

Docker Continuous Delivery Workshop
Docker Continuous Delivery WorkshopDocker Continuous Delivery Workshop
Docker Continuous Delivery Workshop
 
Frontend Performance: De débutant à Expert à Fou Furieux
Frontend Performance: De débutant à Expert à Fou FurieuxFrontend Performance: De débutant à Expert à Fou Furieux
Frontend Performance: De débutant à Expert à Fou Furieux
 
Developing locally with virtual machines
Developing locally with virtual machinesDeveloping locally with virtual machines
Developing locally with virtual machines
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Netflix CDN and Open Source
Netflix CDN and Open SourceNetflix CDN and Open Source
Netflix CDN and Open Source
 
Frontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonFrontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy Person
 
Joomla Continuous Delivery with Docker
Joomla Continuous Delivery with DockerJoomla Continuous Delivery with Docker
Joomla Continuous Delivery with Docker
 
Continuous delivery with jenkins, docker and exoscale
Continuous delivery with jenkins, docker and exoscaleContinuous delivery with jenkins, docker and exoscale
Continuous delivery with jenkins, docker and exoscale
 
PHP on Heroku: Deploying and Scaling Apps in the Cloud
PHP on Heroku: Deploying and Scaling Apps in the CloudPHP on Heroku: Deploying and Scaling Apps in the Cloud
PHP on Heroku: Deploying and Scaling Apps in the Cloud
 
ELUNA2014: Developing and Testing an open source web application
ELUNA2014: Developing and Testing an open source web applicationELUNA2014: Developing and Testing an open source web application
ELUNA2014: Developing and Testing an open source web application
 
DevOPS training - Day 1/2
DevOPS training - Day 1/2DevOPS training - Day 1/2
DevOPS training - Day 1/2
 
Frontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonFrontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy Person
 
Puppet getting started by Dirk Götz
Puppet getting started by Dirk GötzPuppet getting started by Dirk Götz
Puppet getting started by Dirk Götz
 
Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...
Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...
Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...
 
Dpc
DpcDpc
Dpc
 
Frontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonFrontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy Person
 
Capacity Planning Free Solution
Capacity Planning Free SolutionCapacity Planning Free Solution
Capacity Planning Free Solution
 
"In love with Open Source : Past, Present and Future" : Keynote OSDConf 2014
"In love with Open Source : Past, Present and Future" : Keynote OSDConf 2014"In love with Open Source : Past, Present and Future" : Keynote OSDConf 2014
"In love with Open Source : Past, Present and Future" : Keynote OSDConf 2014
 
Latest CAS News 2014
Latest CAS News 2014Latest CAS News 2014
Latest CAS News 2014
 
Building a data warehouse with Pentaho and Docker
Building a data warehouse with Pentaho and DockerBuilding a data warehouse with Pentaho and Docker
Building a data warehouse with Pentaho and Docker
 

Más de Jonathan Perlman

Leveling Upon Building Forms.pdf
Leveling Upon Building Forms.pdfLeveling Upon Building Forms.pdf
Leveling Upon Building Forms.pdfJonathan Perlman
 
Leveling up on Building Forms
Leveling up on Building FormsLeveling up on Building Forms
Leveling up on Building FormsJonathan Perlman
 
The Dawson Way of Doing Things: A Study of Our Path Using WordPress
The Dawson Way of Doing Things: A Study of Our Path Using WordPressThe Dawson Way of Doing Things: A Study of Our Path Using WordPress
The Dawson Way of Doing Things: A Study of Our Path Using WordPressJonathan Perlman
 
The Dawson Way of Doing Things: A Study of Our Path Using WordPress
The Dawson Way of Doing Things: A Study of Our Path Using WordPressThe Dawson Way of Doing Things: A Study of Our Path Using WordPress
The Dawson Way of Doing Things: A Study of Our Path Using WordPressJonathan Perlman
 
On the Move, Website Migrations Debunked
On the Move, Website Migrations DebunkedOn the Move, Website Migrations Debunked
On the Move, Website Migrations DebunkedJonathan Perlman
 
On the Move, Website Migrations Debunked
On the Move, Website Migrations DebunkedOn the Move, Website Migrations Debunked
On the Move, Website Migrations DebunkedJonathan Perlman
 
On the Move, Migrations Made Simple
On the Move, Migrations Made SimpleOn the Move, Migrations Made Simple
On the Move, Migrations Made SimpleJonathan Perlman
 
The Dawson Way of Doing Things
The Dawson Way of Doing ThingsThe Dawson Way of Doing Things
The Dawson Way of Doing ThingsJonathan Perlman
 
On the Move - Migrations Made Simple
On the Move - Migrations Made SimpleOn the Move - Migrations Made Simple
On the Move - Migrations Made SimpleJonathan Perlman
 
WP-CLI - Super Admin Tips and Tricks
WP-CLI - Super Admin Tips and TricksWP-CLI - Super Admin Tips and Tricks
WP-CLI - Super Admin Tips and TricksJonathan Perlman
 

Más de Jonathan Perlman (12)

Leveling Upon Building Forms.pdf
Leveling Upon Building Forms.pdfLeveling Upon Building Forms.pdf
Leveling Upon Building Forms.pdf
 
WooCommerce Fundamentals
WooCommerce FundamentalsWooCommerce Fundamentals
WooCommerce Fundamentals
 
Leveling up on Building Forms
Leveling up on Building FormsLeveling up on Building Forms
Leveling up on Building Forms
 
The Dawson Way of Doing Things: A Study of Our Path Using WordPress
The Dawson Way of Doing Things: A Study of Our Path Using WordPressThe Dawson Way of Doing Things: A Study of Our Path Using WordPress
The Dawson Way of Doing Things: A Study of Our Path Using WordPress
 
WooCommerce Fundamentals
WooCommerce FundamentalsWooCommerce Fundamentals
WooCommerce Fundamentals
 
The Dawson Way of Doing Things: A Study of Our Path Using WordPress
The Dawson Way of Doing Things: A Study of Our Path Using WordPressThe Dawson Way of Doing Things: A Study of Our Path Using WordPress
The Dawson Way of Doing Things: A Study of Our Path Using WordPress
 
On the Move, Website Migrations Debunked
On the Move, Website Migrations DebunkedOn the Move, Website Migrations Debunked
On the Move, Website Migrations Debunked
 
On the Move, Website Migrations Debunked
On the Move, Website Migrations DebunkedOn the Move, Website Migrations Debunked
On the Move, Website Migrations Debunked
 
On the Move, Migrations Made Simple
On the Move, Migrations Made SimpleOn the Move, Migrations Made Simple
On the Move, Migrations Made Simple
 
The Dawson Way of Doing Things
The Dawson Way of Doing ThingsThe Dawson Way of Doing Things
The Dawson Way of Doing Things
 
On the Move - Migrations Made Simple
On the Move - Migrations Made SimpleOn the Move - Migrations Made Simple
On the Move - Migrations Made Simple
 
WP-CLI - Super Admin Tips and Tricks
WP-CLI - Super Admin Tips and TricksWP-CLI - Super Admin Tips and Tricks
WP-CLI - Super Admin Tips and Tricks
 

Último

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 

Último (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

10 things you need to know about leaving shared hosting

  • 1. Jonathan Perlman August 17, 2014 Montreal, Quebec @jpurpleman jonathan@purpleman.org http://purpleman.org/wcmtl @
  • 2.  + 10 years as a web developer at Dawson College  + 6 years teaching the World Wide Web and Microsoft Office  + 4 years using and learning WordPress  I’m not a Linux network administrator  I’m not a security expert Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014 Image credit: alexidagher.com
  • 3. Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014 Image credit: office.com
  • 4. Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
  • 5. Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014 Image credit: commons.wikimedia.org
  • 6. Restrictions Software limitations Can’t modify configurations Resources CPU intense Noisy neighbors Reliability Downtime Lack of support Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
  • 7. Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014 Image credit: flickr (roger4336 )
  • 8. Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014 UnmanagedManaged Image credit: commons.wikimedia.org Image credit: flickr (retropc )
  • 9. Managed Shared hosting for WordPress Support knows WordPress Relevantly easy and hands off Costly in $$$ Unmanaged Learning curve Very DIY “ Painful “ Costly in time Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
  • 10. WPEngine http://wpengine.com WebSynthesis http://websynthesis.com Flywheel http://getflywheel.com Page.ly https://pagely.com Pressable http://pressable.com SiteGround http://siteground.com Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
  • 11. Digital Ocean http://www.digitalocean.com Linode https://www.linode.com Media Temple http://mediatemple.net/webhosting/ vps/developer/ Site5 http://www.site5.com Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
  • 12. Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014 Image credit: commons.wikimedia.org
  • 13. Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014 RAM CPU Disk Space Image credit: commons.wikimedia.org
  • 14. purpleman.org • Photo clients • Personal use • Ram: 1 Gig • CPU: 1 Core • Disk: 30 Gigs snookercanada.ca • Snooker players • Media relations • Ram: 2 Gigs • CPU: 2 Cores • Disk: 40 Gigs dawsoncollege.qc.ca • + 10,000 students • + 1,000 faculty / staff • Ram: 16 Gigs • CPU: 4 Core • Disk: 128 Gigs Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
  • 15. Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
  • 16. Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014 DNS Linux Web PHP Db
  • 17.  CloudFlare  https://www.cloudflare.com  Easydns  https://www.easydns.com  DNS with domain or hosting provider  Local “Hosts” file Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
  • 18.  Stable  CentOS 7 Supported till 2024  Bleeding edge  Ubuntu 14.04 LTS Supported till 2019 Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
  • 19.  cPanel  www.cpanel.net  Parallels Plesk  sp.parallels.com/ products/plesk/  ZPanel  www.zpanelcp.com Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
  • 20.  Text Editor  vi / nano  File System  cd & ls  cp & mv & rm  mkdir  Permissions  chmod & chown  Process Management  ps & top  Kill  http://www.ee.surrey.ac.uk/ Teaching/Unix/ Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
  • 21. Stan Lee Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
  • 22. Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014 Image credit: sapienstoonz.deviantart.com
  • 23.  All powerful server administrator  Terminal Root User = WordPress Admin User  Constantly targeted and attacked  New servers are under attack in hours Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
  • 24.  Change it’s password  Make it a super secure password!  Deny Root from remote login  Create a non-admin user account  Assign admin rights with VISUDO  https://www.digitalocean.com/community/tutorials/initial-server-setup-with-centos-6 Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
  • 25.  Generating keys  http://kb.siteground.com/how_to_generate_an_ssh_key_on_windows_using_putty/  http://coolestguidesontheplanet.com/make-passwordless-ssh-connection-osx-10-9- mavericks-linux/  Set up keys on the server Login via SSH keys  https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys--2 Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
  • 26.  Block everything  Allow specific ports from specific IPs  22 – SSH  80 – Web  443 – Secure Web  3306 – MySql  Allowing for dynamic IPs  Use hit count rules  https://github.com/jpurpleman/linux  http://cyberciti.biz/tips/linux-iptables-examples.html Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
  • 27. Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014 Image credit: support.Microsoft.com  yum update for CentOS  apt-get update for Ubuntu
  • 28. Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
  • 29. Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014 Image credit: commons.wikimedia.org
  • 30.  Apache or Nginx  Use virtual hosting for multiple domains  Create development domains  .htaccess is off by default in Apache  Change “AllowOverride” to All  https://www.digitalocean.com/community/ tutorials/how-to-set-up-apache-virtual-hosts-on-centos-6 Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
  • 31. php.ini  allow_url_fopen  session.gc_maxlifetime  disable_functions  display_errors  post_max_size  memory_limit  max_execution_time  upload_max_filesize .htaccess  php_value upload_max_filesize 10M Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014 http://php.net/manual/en/ini.list.php
  • 32.  MySql or MariaDB  Setup steps  Set a secure root user  Remove test database  Create web user with limited access  Create yourself a user with full access  https://www.digitalocean.com/community/ tutorials/a-basic-mysql-tutorial Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
  • 33. Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
  • 34.  Download and extract  Create the database and a user  Set up wp-config.php  Run the install script  http://codex.wordpress.org/ Installing_WordPress Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
  • 36. Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
  • 37.  Home directory  Root home directory  Configuration directory  Web files  Database  Automysqlbackup http://sourceforge.net/projects/automysqlbackup/ Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014 Image credit: memofixdatarecovery.com
  • 38.  http://aws.amazon.com/backup-storage  http://mozy.com/product/solutions/ server-backup  https://www.jungledisk.com/ Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
  • 39.  Google Apps for Business  http://www.rackspace.com/email-hosting/  https://www.fastmail.fm  https://www.zoho.com/mail  https://www.pobox.com/ Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
  • 40.  Uptime Robot  Pingdom  New Relic Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014 Image credit: opmlink.com
  • 41. Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
  • 42.  Get a virtual private server – call it professional development  Set it up  Play around – learn!  Edit your hosts file and point your domain to the server  Create a development WordPress site  Setup your WordPress site  Create a production WordPress site  Change the DNS!  You’re live! Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
  • 43.  Setting up and configuring SSL  2 Servers - Web & MySQL  Varnish / Memcache for caching Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
  • 44.  https://www.digitalocean.com/community/  https://www.linode.com/docs  http://www.youtube.com/user/TJsWebDev/  http://www.cyberciti.biz  http://www.rosehosting.com/blog  http://www.servermom.org  http://www.tecmint.com  http://webchat.freenode.net/?channels=digitalocean&uio=d4 Jonathan Perlman - WordCamp Montreal 2014 August 17, 2014
  • 46. August 17, 2014Jonathan Perlman - WordCamp Montreal 2014 Questions Thank you! Jonathan Perlman August 17, 2014 Montreal, Quebec @jpurpleman jonathan@purpleman.org http://purpleman.org/wcmtl @