Setting Up Your Local Dev Environment

46
Setting Up Your Local Dev Environment September 11, 2015 Rick Umali @rickumali http://bit.ly/setupdev0911

Transcript of Setting Up Your Local Dev Environment

Page 1: Setting Up Your Local Dev Environment

Setting Up Your

Local DevEnvironment

September 11, 2015Rick Umali@rickumali

http://bit.ly/setupdev0911

Page 2: Setting Up Your Local Dev Environment

bit.ly/gitmol (code: lgmolcf)

Page 3: Setting Up Your Local Dev Environment

PRODUCTION

DEVELOPMENT

Page 4: Setting Up Your Local Dev Environment
Page 5: Setting Up Your Local Dev Environment

Linux

Apache HTTP

MySQL

PHP

Page 6: Setting Up Your Local Dev Environment

Learn from Primary Sources

Page 7: Setting Up Your Local Dev Environment
Page 8: Setting Up Your Local Dev Environment

Know Your Versions

Page 9: Setting Up Your Local Dev Environment
Page 10: Setting Up Your Local Dev Environment
Page 11: Setting Up Your Local Dev Environment

Get a Good Base

Page 12: Setting Up Your Local Dev Environment

Linux

Apache HTTP

MySQL

PHP

Page 13: Setting Up Your Local Dev Environment

Linux

MySQL

ApachePHP

Page 14: Setting Up Your Local Dev Environment

Linux

MySQL

ApachePHP

3306

80

Page 15: Setting Up Your Local Dev Environment

Linux

MySQL

ApachePHP

3306

80

mail25 23

sshd22

ftp21

Page 16: Setting Up Your Local Dev Environment

If conditions permit, go for Unix

Page 17: Setting Up Your Local Dev Environment

Levels of Difficulty

1-4Point and click installationLight editing (configuration files)

5-6Medium level editingSome concepts beyond LAMP

7-8Much more editingMore concepts beyond LAMP

9-10You enjoy hours of tinkering

Page 18: Setting Up Your Local Dev Environment

Unix Options

MacGood news! You’re already on Unix!But you do have to install things on your own.

brew v MacPortsPreciousness syndrome

Level of Difficulty: 4

Page 19: Setting Up Your Local Dev Environment

Unix Options

Unix on a Windows Machine or MacVagrant (Linux in a Box, aka “virtual machine”)A little ‘removed’ from the desktop

Level of Difficulty: 6

Page 20: Setting Up Your Local Dev Environment

https://www.vagrantup.com/

Page 21: Setting Up Your Local Dev Environment

https://atlas.hashicorp.com/boxes/search

Page 22: Setting Up Your Local Dev Environment

https://www.virtualbox.org/

Page 23: Setting Up Your Local Dev Environment

Unix Options

Keep your OS, and go to the Cloud (AWS)Free-tier is compelling

Watch your costsLike Vagrant, but transferring files can be complicated

Level of Difficulty: 7

Page 24: Setting Up Your Local Dev Environment

http://aws.amazon.com/

Page 25: Setting Up Your Local Dev Environment
Page 26: Setting Up Your Local Dev Environment
Page 27: Setting Up Your Local Dev Environment

Unix Options

Wipe the OS, and go for Unix standaloneForever tinkeringPreciousness syndrome

Level of Difficulty: 9

Page 28: Setting Up Your Local Dev Environment

If constrained, go for all-in-one

Page 29: Setting Up Your Local Dev Environment

If constrained, go for all-in-one

Page 30: Setting Up Your Local Dev Environment

WAMP

Run Apache/MySQL directly in WindowsPackaged installation takes care of

configuration

Level of Difficulty: 6

Page 31: Setting Up Your Local Dev Environment

http://www.wampserver.com/en/

Page 32: Setting Up Your Local Dev Environment
Page 33: Setting Up Your Local Dev Environment
Page 34: Setting Up Your Local Dev Environment

Linux

MySQL

Apache

3306

80

Page 35: Setting Up Your Local Dev Environment

Do-it-yourself

Install and Run Apache/MySQL directly in Windows

Configuration all by yourself

Level of Difficulty: 8

Page 36: Setting Up Your Local Dev Environment
Page 37: Setting Up Your Local Dev Environment

Configuration and Logging

Page 38: Setting Up Your Local Dev Environment

Configuration Files (YMMV)

Linux/etc/rc*

Apacheapache2.conf File (and various subdirectories)

MySQLConfigured in /etc/my.cnf

PHPConfigured in /etc/php5/apache2

Page 39: Setting Up Your Local Dev Environment

Log Files, Log Files, Log Files

Linux/var/log

ApacheEnable /server-info, /server-status/var/log/apache2

MySQLEnable general_logging for detailed information/var/log/mysql

PHP/var/log/syslog

Page 40: Setting Up Your Local Dev Environment

Setting Up VirtualHosts

Page 41: Setting Up Your Local Dev Environment
Page 42: Setting Up Your Local Dev Environment

# Larry Ullman code (2/10/2015) 127.0.0.1 phpmysql4.dev

/etc/hosts

Page 43: Setting Up Your Local Dev Environment

/etc/hosts

<VirtualHost *:80> ServerName phpmysql4.dev DocumentRoot /home/rick/phpmysql4/www

# Larry Ullman code (2/10/2015) 127.0.0.1 phpmysql4.dev

Page 44: Setting Up Your Local Dev Environment

DNS

<VirtualHost *:80> ServerName tech.ricktest.com DocumentRoot /var/ricktest.dev

Page 45: Setting Up Your Local Dev Environment

Summary

Learn from Primary SourcesKnow Your VersionsGet a Good Base

If conditions permit, go for UnixIf constrained, go for all-in-one

Configuration and LoggingSetting Up VirtualHosts

Page 46: Setting Up Your Local Dev Environment

Thank You!

September 11, 2015Rick Umali@rickumali