مدت دوره: معمولا ۴۸ ساعت.

پیش نیاز: طراحی و برنامه نویسی وب LAMP (سطح 1)

مدرس:  متخصص سیستم عامل Gnu/Linux و برنامه نویسی تحت وب

 

 مباحث دوره مقدماتی به اختصار شامل موارد زیر است:

 

Getting Started

Where should I be developing?

What is Linux, and why should I use it?

Introducing system virtual machines with VirtualBox

What's a LAMP, and why does it matter?

 

Creating a Virtual Machine

Preparing your workstation

Creating the virtual machine (VM)

Configuring the VM

Installing CentOS Server

 

Using the Server Command-Line Interface

Talking to yourself with local networking

Logging in using Secure Shell (SSH)

Using SSH with and without a password on Mac

Using SSH with and without a password on Windows

Introducing the command-line interface

 

Initial Server Configuration

Upgrading and installing packages

Installing VirtualBox Guest Additions

Configuring group permissions for access

Configuring the Apache web server

Configuring PHP for development

Configuring the MySQL database server

Installing the Exim email server

 

Building a Development Server Dashboard

Installing phpMyAdmin to manage databases

Creating databases and users

Creating a server dashboard

Installing Ajenti to monitor your server

 

Installing PHP Applications for Site Development

Installing Composer and PEAR for PHP dependency management

Installing community PHP extensions with PECL

Installing WordPress and WP-CLI

Installing Drupal and Drush

Installing Symfony

Installing CakePHP and DebugKit

Installing CodeIgniter

Best practices for installing PHP frameworks and applications

 

Source Code Management

Introducing Git

Hosting Git repositories with gitolite

Browsing your git repositories with gitweb

Adding the dashboard to Git using SourceTree

Automatically storing server config with etckeeper

 

Enhancing the Development Server

Installing Xdebug for debugging

Installing webgrind for profiling

Installing Memcached data and object caching

Installing the Redis key-value store

 

Advanced VirtualBox Techniques

Using snapshots to turn back time

Exporting a virtual appliance to use on another host

Automating dev environment creation with Vagrant

 

Troubleshooting

Troubleshooting SSH

Troubleshooting Apache

Troubleshooting MySQL

Troubleshooting PHP

Troubleshooting Exim

Conclusion

Lab1 : Running PHP Project

Lab2 : Running PHP Project 2