SlideShare une entreprise Scribd logo
1  sur  46
Télécharger pour lire hors ligne
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
@

Contenu connexe

Tendances

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
 

Tendances (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
 

Similaire à 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
 

Similaire à 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
 

Plus 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
 

Plus 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
 

Dernier

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
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
 
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
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
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
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
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
 

Dernier (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
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
 
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?
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
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
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
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
 

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 @