SlideShare uma empresa Scribd logo
1 de 20
The Dev Environment
LEE PELSER
Development Environment Stages
You are here
What Is This Development Environment?
• In computer programming and software development, the development
environment is the set of processes and programming tools used to
create the program or software product.
• This is where the software is developed. In some situations this could be
the developer’s desktop, in other situations this would be a server shared
by several developers working together on the same project.
• This environment is rapidly updated and contains the most recent
version of the application.
Why do we care about this?
• This environment should resemble the production environment as much as possible to prevent
issues were the software acts differently on production.
• New features can be developed without interfering with a live system.
• We want to avoid any development on live to prevent downtime. Once code is stable we can
push the changes live
• Mistakes happen :) One of the biggest advantages is when using virtual machines. Backups can
be made before major changes and be resorted at any time
• When using virtual machines it can be easily shared with another developer to continue
development on.
What Do I need to build my Web
Development Environment?
• An Idea (the hard part for some)
• The OS

- Linux, windows, Mac
• A Web server

- Apache, nginx, IIS, lighttd, nodeJS
• Scripting Language

- PHP, ASP, python, Ruby, Javascript
• Database

- MySql, PostgreSql, MSSQL
Setting Up a Dev Environment
(the easy way)
• XAMP, MAPP, LAMP and all the rest
• Ideal for beginners or very very lazy people :P
Select your Virtualisation software and OS
Now select your development stack
Setting Up a LAMP Dev Environment
• Make use of some virtualisation software

- Virtual box, VMWare

- https://www.virtualbox.org/wiki/Downloads
Setting Up a LAMP Dev Environment
• Install the OS 

- Should try and match your production setup

- Ubuntu Server (Debian), Centos or Fedora (Red Had)

- http://www.ubuntu.com/download/server
Setting Up a LAMP Dev Environment
• Install APACHE (web server)

- Ubuntu: sudo apt-get install apache2

- Centos: sudo yum install apache2
Setting Up a LAMP Dev Environment
• Install PHP (scripting language)

- Ubuntu: sudo apt-get install php5

- Centos: sudo yum install php5
Setting Up a LAMP Dev Environment
• Install MySQL (database)

- Ubuntu: sudo apt-get install mysql-server

- Centos: sudo yum install mysql-server
Some more goodies
• For PHP development you should have the following installed as well :)
• CURL
• Composer

- https://getcomposer.org/download/
• GIT

- sudo apt-get install git

- sudo yum install git
Configure and Test
• Viewing the default Apache Hello world page

- open localhost in browser to view default page
• How to find and edit the php.ini file

- on the command line “php -i | grep php.ini”
• Testing the PHP setup with a basic phpinfo()

- delete the existing index.html file and create a index.php file
IP vs FQDN
• Connecting via IP address or Localhost
• Web server can have multiple sites on same server (shared hosting)
• Apache config and hosts files
Using my code with my Dev Environment
• Learn how to use the CLI (command line]
• Stay away from FTP!
• Ssh / SCP is your friend
• Your IDE

- Use phpStorm
Some useful links
• http://www.tecmint.com/ubuntu-14-04-server-installation-guide-and-lamp-
setup/
“First, solve the problem. Then, write the code.”

Mais conteúdo relacionado

Mais procurados

Getting started with Octopus Deploy
Getting started with Octopus DeployGetting started with Octopus Deploy
Getting started with Octopus DeployKaroline Klever
 
Octopus Deploy @Erie Day of Code
Octopus Deploy @Erie Day of CodeOctopus Deploy @Erie Day of Code
Octopus Deploy @Erie Day of CodeCassey Lottman
 
No More “Cowboy Coding”: A Best Practices Guide to Local Development & Migration
No More “Cowboy Coding”: A Best Practices Guide to Local Development & MigrationNo More “Cowboy Coding”: A Best Practices Guide to Local Development & Migration
No More “Cowboy Coding”: A Best Practices Guide to Local Development & Migrationpodsframework
 
Visual Studio Release Management - New weltanschauung or natural evolution? @...
Visual Studio Release Management - New weltanschauung or natural evolution? @...Visual Studio Release Management - New weltanschauung or natural evolution? @...
Visual Studio Release Management - New weltanschauung or natural evolution? @...Giulio Vian
 
Building with Virtual Development Environments
Building with Virtual Development EnvironmentsBuilding with Virtual Development Environments
Building with Virtual Development EnvironmentsOscar Merida
 
See Hudson Run, Run Hudson, Run [SELF 2010]
See Hudson Run, Run Hudson, Run [SELF 2010]See Hudson Run, Run Hudson, Run [SELF 2010]
See Hudson Run, Run Hudson, Run [SELF 2010]Vincent Batts
 
Packing It In: Images, Containers, and Config Management
Packing It In: Images, Containers, and Config ManagementPacking It In: Images, Containers, and Config Management
Packing It In: Images, Containers, and Config ManagementMichael Goetz
 
TestingBot Introduction: Selenium Grid with Browsers and Mobile Devices
TestingBot Introduction: Selenium Grid with Browsers and Mobile DevicesTestingBot Introduction: Selenium Grid with Browsers and Mobile Devices
TestingBot Introduction: Selenium Grid with Browsers and Mobile Devicestestingbot
 
7 Ways to Optimize Hudson in Production
7 Ways to Optimize Hudson in Production7 Ways to Optimize Hudson in Production
7 Ways to Optimize Hudson in ProductionCloudBees
 
Drone your Ansible
Drone your AnsibleDrone your Ansible
Drone your AnsibleDennis Rowe
 
How to make a Personal Single Page Application with Cozy
How to make a Personal Single Page Application with CozyHow to make a Personal Single Page Application with Cozy
How to make a Personal Single Page Application with CozyFrank Rousseau
 
Puppet Camp Charlotte 2015: Manage Your Switches Like Servers
Puppet Camp Charlotte 2015: Manage Your Switches Like ServersPuppet Camp Charlotte 2015: Manage Your Switches Like Servers
Puppet Camp Charlotte 2015: Manage Your Switches Like ServersPuppet
 
Alfresco Boxes.pdf
Alfresco Boxes.pdfAlfresco Boxes.pdf
Alfresco Boxes.pdfedmsdelta
 
Vagrant-Overview
Vagrant-OverviewVagrant-Overview
Vagrant-OverviewCrifkin
 

Mais procurados (18)

Getting started with Octopus Deploy
Getting started with Octopus DeployGetting started with Octopus Deploy
Getting started with Octopus Deploy
 
Android SDK: How to Install
Android SDK: How to InstallAndroid SDK: How to Install
Android SDK: How to Install
 
Octopus Deploy @Erie Day of Code
Octopus Deploy @Erie Day of CodeOctopus Deploy @Erie Day of Code
Octopus Deploy @Erie Day of Code
 
No More “Cowboy Coding”: A Best Practices Guide to Local Development & Migration
No More “Cowboy Coding”: A Best Practices Guide to Local Development & MigrationNo More “Cowboy Coding”: A Best Practices Guide to Local Development & Migration
No More “Cowboy Coding”: A Best Practices Guide to Local Development & Migration
 
Visual Studio Release Management - New weltanschauung or natural evolution? @...
Visual Studio Release Management - New weltanschauung or natural evolution? @...Visual Studio Release Management - New weltanschauung or natural evolution? @...
Visual Studio Release Management - New weltanschauung or natural evolution? @...
 
Building with Virtual Development Environments
Building with Virtual Development EnvironmentsBuilding with Virtual Development Environments
Building with Virtual Development Environments
 
See Hudson Run, Run Hudson, Run [SELF 2010]
See Hudson Run, Run Hudson, Run [SELF 2010]See Hudson Run, Run Hudson, Run [SELF 2010]
See Hudson Run, Run Hudson, Run [SELF 2010]
 
Building appliances
Building appliancesBuilding appliances
Building appliances
 
Packing It In: Images, Containers, and Config Management
Packing It In: Images, Containers, and Config ManagementPacking It In: Images, Containers, and Config Management
Packing It In: Images, Containers, and Config Management
 
Ansible Playbook
Ansible PlaybookAnsible Playbook
Ansible Playbook
 
TestingBot Introduction: Selenium Grid with Browsers and Mobile Devices
TestingBot Introduction: Selenium Grid with Browsers and Mobile DevicesTestingBot Introduction: Selenium Grid with Browsers and Mobile Devices
TestingBot Introduction: Selenium Grid with Browsers and Mobile Devices
 
7 Ways to Optimize Hudson in Production
7 Ways to Optimize Hudson in Production7 Ways to Optimize Hudson in Production
7 Ways to Optimize Hudson in Production
 
Drone your Ansible
Drone your AnsibleDrone your Ansible
Drone your Ansible
 
How to make a Personal Single Page Application with Cozy
How to make a Personal Single Page Application with CozyHow to make a Personal Single Page Application with Cozy
How to make a Personal Single Page Application with Cozy
 
Kloud
KloudKloud
Kloud
 
Puppet Camp Charlotte 2015: Manage Your Switches Like Servers
Puppet Camp Charlotte 2015: Manage Your Switches Like ServersPuppet Camp Charlotte 2015: Manage Your Switches Like Servers
Puppet Camp Charlotte 2015: Manage Your Switches Like Servers
 
Alfresco Boxes.pdf
Alfresco Boxes.pdfAlfresco Boxes.pdf
Alfresco Boxes.pdf
 
Vagrant-Overview
Vagrant-OverviewVagrant-Overview
Vagrant-Overview
 

Semelhante a The development environment

Laravel Forge: Hello World to Hello Production
Laravel Forge: Hello World to Hello ProductionLaravel Forge: Hello World to Hello Production
Laravel Forge: Hello World to Hello ProductionJoe Ferguson
 
How bigtop leveraged docker for build automation and one click hadoop provis...
How bigtop leveraged docker for build automation and  one click hadoop provis...How bigtop leveraged docker for build automation and  one click hadoop provis...
How bigtop leveraged docker for build automation and one click hadoop provis...Evans Ye
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchHoward Greenberg
 
Dockerize your Symfony application - Symfony Live NYC 2014
Dockerize your Symfony application - Symfony Live NYC 2014Dockerize your Symfony application - Symfony Live NYC 2014
Dockerize your Symfony application - Symfony Live NYC 2014André Rømcke
 
Production ready word press
Production ready word pressProduction ready word press
Production ready word pressEdmund Turbin
 
ZendCon 2015 - Laravel Forge: Hello World to Hello Production
ZendCon 2015 - Laravel Forge: Hello World to Hello ProductionZendCon 2015 - Laravel Forge: Hello World to Hello Production
ZendCon 2015 - Laravel Forge: Hello World to Hello ProductionJoe Ferguson
 
FOSS_GNU/Linux
FOSS_GNU/LinuxFOSS_GNU/Linux
FOSS_GNU/LinuxYogesh Ks
 
미들웨어 엔지니어의 클라우드 탐방기
미들웨어 엔지니어의 클라우드 탐방기미들웨어 엔지니어의 클라우드 탐방기
미들웨어 엔지니어의 클라우드 탐방기jbugkorea
 
Aiming for automatic updates - Drupal Dev Days Lisbon 2018
Aiming for automatic updates - Drupal Dev Days Lisbon 2018Aiming for automatic updates - Drupal Dev Days Lisbon 2018
Aiming for automatic updates - Drupal Dev Days Lisbon 2018hernanibf
 
Connections install in 45 mins
Connections install in 45 minsConnections install in 45 mins
Connections install in 45 minsSharon James
 
LuisRodriguezLocalDevEnvironmentsDrupalOpenDays
LuisRodriguezLocalDevEnvironmentsDrupalOpenDaysLuisRodriguezLocalDevEnvironmentsDrupalOpenDays
LuisRodriguezLocalDevEnvironmentsDrupalOpenDaysLuis Rodríguez Castromil
 
How bigtop leveraged docker for build automation and one click hadoop provis...
How bigtop leveraged docker for build automation and  one click hadoop provis...How bigtop leveraged docker for build automation and  one click hadoop provis...
How bigtop leveraged docker for build automation and one click hadoop provis...Evans Ye
 
Habitat Overview
Habitat OverviewHabitat Overview
Habitat OverviewMandi Walls
 
Open Audit
Open AuditOpen Audit
Open Auditncspa
 
Software Distribution
Software DistributionSoftware Distribution
Software DistributionDell World
 
Deploying software at Scale
Deploying software at ScaleDeploying software at Scale
Deploying software at ScaleKris Buytaert
 
Rock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsRock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsPablo Godel
 
Production Ready WordPress - WC Utrecht 2017
Production Ready WordPress  - WC Utrecht 2017Production Ready WordPress  - WC Utrecht 2017
Production Ready WordPress - WC Utrecht 2017Edmund Turbin
 
Production Ready WordPress #WPLDN
Production Ready WordPress #WPLDNProduction Ready WordPress #WPLDN
Production Ready WordPress #WPLDNEdmund Turbin
 

Semelhante a The development environment (20)

Laravel Forge: Hello World to Hello Production
Laravel Forge: Hello World to Hello ProductionLaravel Forge: Hello World to Hello Production
Laravel Forge: Hello World to Hello Production
 
How bigtop leveraged docker for build automation and one click hadoop provis...
How bigtop leveraged docker for build automation and  one click hadoop provis...How bigtop leveraged docker for build automation and  one click hadoop provis...
How bigtop leveraged docker for build automation and one click hadoop provis...
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
 
Dockerize your Symfony application - Symfony Live NYC 2014
Dockerize your Symfony application - Symfony Live NYC 2014Dockerize your Symfony application - Symfony Live NYC 2014
Dockerize your Symfony application - Symfony Live NYC 2014
 
Production ready word press
Production ready word pressProduction ready word press
Production ready word press
 
ZendCon 2015 - Laravel Forge: Hello World to Hello Production
ZendCon 2015 - Laravel Forge: Hello World to Hello ProductionZendCon 2015 - Laravel Forge: Hello World to Hello Production
ZendCon 2015 - Laravel Forge: Hello World to Hello Production
 
FOSS_GNU/Linux
FOSS_GNU/LinuxFOSS_GNU/Linux
FOSS_GNU/Linux
 
미들웨어 엔지니어의 클라우드 탐방기
미들웨어 엔지니어의 클라우드 탐방기미들웨어 엔지니어의 클라우드 탐방기
미들웨어 엔지니어의 클라우드 탐방기
 
Aiming for automatic updates - Drupal Dev Days Lisbon 2018
Aiming for automatic updates - Drupal Dev Days Lisbon 2018Aiming for automatic updates - Drupal Dev Days Lisbon 2018
Aiming for automatic updates - Drupal Dev Days Lisbon 2018
 
Deep Dive into the AOSP
Deep Dive into the AOSPDeep Dive into the AOSP
Deep Dive into the AOSP
 
Connections install in 45 mins
Connections install in 45 minsConnections install in 45 mins
Connections install in 45 mins
 
LuisRodriguezLocalDevEnvironmentsDrupalOpenDays
LuisRodriguezLocalDevEnvironmentsDrupalOpenDaysLuisRodriguezLocalDevEnvironmentsDrupalOpenDays
LuisRodriguezLocalDevEnvironmentsDrupalOpenDays
 
How bigtop leveraged docker for build automation and one click hadoop provis...
How bigtop leveraged docker for build automation and  one click hadoop provis...How bigtop leveraged docker for build automation and  one click hadoop provis...
How bigtop leveraged docker for build automation and one click hadoop provis...
 
Habitat Overview
Habitat OverviewHabitat Overview
Habitat Overview
 
Open Audit
Open AuditOpen Audit
Open Audit
 
Software Distribution
Software DistributionSoftware Distribution
Software Distribution
 
Deploying software at Scale
Deploying software at ScaleDeploying software at Scale
Deploying software at Scale
 
Rock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsRock Solid Deployment of Web Applications
Rock Solid Deployment of Web Applications
 
Production Ready WordPress - WC Utrecht 2017
Production Ready WordPress  - WC Utrecht 2017Production Ready WordPress  - WC Utrecht 2017
Production Ready WordPress - WC Utrecht 2017
 
Production Ready WordPress #WPLDN
Production Ready WordPress #WPLDNProduction Ready WordPress #WPLDN
Production Ready WordPress #WPLDN
 

Último

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
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
 
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
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
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
 
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
 

Último (20)

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
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...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 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
 

The development environment

  • 3. What Is This Development Environment? • In computer programming and software development, the development environment is the set of processes and programming tools used to create the program or software product. • This is where the software is developed. In some situations this could be the developer’s desktop, in other situations this would be a server shared by several developers working together on the same project. • This environment is rapidly updated and contains the most recent version of the application.
  • 4. Why do we care about this? • This environment should resemble the production environment as much as possible to prevent issues were the software acts differently on production. • New features can be developed without interfering with a live system. • We want to avoid any development on live to prevent downtime. Once code is stable we can push the changes live • Mistakes happen :) One of the biggest advantages is when using virtual machines. Backups can be made before major changes and be resorted at any time • When using virtual machines it can be easily shared with another developer to continue development on.
  • 5. What Do I need to build my Web Development Environment? • An Idea (the hard part for some) • The OS
 - Linux, windows, Mac • A Web server
 - Apache, nginx, IIS, lighttd, nodeJS • Scripting Language
 - PHP, ASP, python, Ruby, Javascript • Database
 - MySql, PostgreSql, MSSQL
  • 6. Setting Up a Dev Environment (the easy way) • XAMP, MAPP, LAMP and all the rest • Ideal for beginners or very very lazy people :P
  • 7.
  • 8. Select your Virtualisation software and OS
  • 9. Now select your development stack
  • 10. Setting Up a LAMP Dev Environment • Make use of some virtualisation software
 - Virtual box, VMWare
 - https://www.virtualbox.org/wiki/Downloads
  • 11. Setting Up a LAMP Dev Environment • Install the OS 
 - Should try and match your production setup
 - Ubuntu Server (Debian), Centos or Fedora (Red Had)
 - http://www.ubuntu.com/download/server
  • 12. Setting Up a LAMP Dev Environment • Install APACHE (web server)
 - Ubuntu: sudo apt-get install apache2
 - Centos: sudo yum install apache2
  • 13. Setting Up a LAMP Dev Environment • Install PHP (scripting language)
 - Ubuntu: sudo apt-get install php5
 - Centos: sudo yum install php5
  • 14. Setting Up a LAMP Dev Environment • Install MySQL (database)
 - Ubuntu: sudo apt-get install mysql-server
 - Centos: sudo yum install mysql-server
  • 15. Some more goodies • For PHP development you should have the following installed as well :) • CURL • Composer
 - https://getcomposer.org/download/ • GIT
 - sudo apt-get install git
 - sudo yum install git
  • 16. Configure and Test • Viewing the default Apache Hello world page
 - open localhost in browser to view default page • How to find and edit the php.ini file
 - on the command line “php -i | grep php.ini” • Testing the PHP setup with a basic phpinfo()
 - delete the existing index.html file and create a index.php file
  • 17. IP vs FQDN • Connecting via IP address or Localhost • Web server can have multiple sites on same server (shared hosting) • Apache config and hosts files
  • 18. Using my code with my Dev Environment • Learn how to use the CLI (command line] • Stay away from FTP! • Ssh / SCP is your friend • Your IDE
 - Use phpStorm
  • 19. Some useful links • http://www.tecmint.com/ubuntu-14-04-server-installation-guide-and-lamp- setup/
  • 20. “First, solve the problem. Then, write the code.”