Teaching Web Dev
I have been tasked with setting up some of the classrooms for teaching web development, HTML, CSS and a bit of PHP. My idea is to have a apache server running on the teachers station, and then some how locking down the clients to publish to this 'server' over ftp. Any ideas how I can lock down to block all FTP traffic except this server and is it possible to use windows authentication over FTP?
I was thinking of a firewall rule for 1st problem, do you have better ideas? And what software do you use/suggest for web development (Dreamweaver, Expression Web, CoffeCup, File Zilla, Cute FTP, Apache, IIS ...) , and why?
Why not just run a copy of something like XAMPP or WAMP locally on each machine?, that is what we did when i was in school.
Or, create a LAMP server within a VM and make it available (browsable) to everyone. Then add an FTP server for kids to upload their stuff (or possible even an SMB server share).
EDIT: Or if you are adamant on using the teaching machine, share the folder that the WAMP server uses and map this to the kids. Then control access to everyones folders using NTFS permissions as usual - this should do the trick. Then kids can just copy their files across to the mapped drive.
You might want to take a look at this - Configuring FTP 7.5 User Isolation : FTP 7 for IIS 7 : Publishing Content to Web Sites : The Official Microsoft IIS Site
Would allow you to host a IIS site on one of your servers and then provide each user with their own FTP account.
The charm of it all is that it uses AD details to authenticate the users and all you need do is bulk create a set of folders with your students usernames.
And for the love of all that is good teach them to understand well written, validated, semantic code. wysiwyg editors are good to learn how HTML changes the way things look but not for coding!
Thanks guys, I have setup an IIS server, and have decided to just use SAMBA shares instead of FTP. Just Seems like an easier way of doing things.
@thepineapplehead - I don't teach the kids, I just setup so that the teachers can.
A couple of thoughts for you regarding development tools, browsers and resources:
- development tools can be good in that they speed up development drawing attention to potential errors and so on BUT they also do a lot for you and as a result may reduce the learning experience. I suspect that your needs are linked to how knowledgeable the teachers are and the content of the course but it may be that a good text editor is all you need.
- browsers, in a production environment knowing how to create pages that work across the range of current browsers is a valuable skill. Now I'm not suggesting that you would want to go into detail in the classroom but students may benefit from being able to view their pages in different browsers so that they are aware that there are differences, that there are standards and so on.
- resources, the web is filled with information of varying quality and it's a useful skill in its own right being able to find and use the best of it. It might be helpful to have picked out some resources in advance. I think that the examples that come to my mind are likely to be too technical for students starting out but you could do worse than having a look at, for example, MSDN to get an idea of what's out there.
Hope this helps!