2. Thanks | Evening | Future● @PMStudioUK● @iamdanw Next Skillswap: @garybristow Progressive●● @spyou● @amias Enhancement● @jmoverley Drinks in the Watershed afterwards
3. Linux for web developersDev environment: Historical/Architectural:● Everything apart from PS ● 60% websites, 25% mobile● Wine, GIMP ● Google, Facebook, etc● Java apps: Aptana/Netbeans ● Linux descended from UNIX,● Better LAMP computer science, ARPANET,● General daily usage etc. More of a direct lineage● Philosophical reasons than Windows.
4. Computing Eden ● 1960s America, UNIX, C, ARPANET ● MIT, Bell Labs. ● Dennis Ritchie, Brian Kernighan, Ken Thompson.
5. The UNIX Way“Write programs that do one thing and do it well.Write programs to work together. Write programsto handle text streams, because that is a universal interface.”● The human dimension.● Command Line Interface - CLI.● Analogy to modern web standards; REST, W3C, etc.
6. Richard Stallman ● Early 1980s ● GNU: GNUs Not Unix! ● Almost made a kernel ● The GPL ● Free as in speech, not free as in beer. ● Free to do whatever you want as long as that doesnt restrict someone else doing the same. (eg; Red Hat)
7. Compulsory XKCD
8. Linus Torvalds ● 1991, doing a masters in Computer Science at Helsinki. ● MINIX but better license. ● The Linux Kernel.
9. LAMP Hello World● Youve got a server out there somewhere.● SSH and SSH keys.● `ssh firstname.lastname@example.org● `aptitude update Compare with Windows● `aptitude install apache2 mysql5-server php5 apache2-mod-php php5-mysql● `curl localhost “It Works!”
10. Apaches VhostsQuick way in a local environment: Just Proper way in production environment: Lotsshive loads of definitions in the same of files that you can individually turn on and off.file. `nano /etc/apache2/sites-available/website`nano /etc/apache2/conf.d/vhosts NameVirtualHost *:80 <VirtualHost *:80><VirtualHost *:80> ServerName myserver.com ServerName myserver.com DocumentRoot /var/www/website DocumentRoot /var/www/website </VirtualHost></VirtualHost> `sudo a2ensite website Creates a symbolic link from;`sudo service apache2 restart /etc/apache2/sites-enabled/website `sudo service apache2 restart
11. Uploading your project without FTP!● `scp -r myproject/* email@example.com:/var/www/website● `rsync -rv myproject/* firstname.lastname@example.org:/var/www/website● `git push