phpSchoolAdmin is a php package that permits a web-based management of some technical aspects of a school:
The package is the result of some experiments in my school and has not been tested elsewhere (as far as I know). I have some ideas on how to improve the code, and probably I'll do it in the future.
The source code comes with a lang directory which contains a file for each language supported (currenty, only Italian and English). Localization should be quite easy. Each user can choose the preferred language when logging in.
A setup script will be provided in the future. It will check that everything written in the config file is ok.
I'll shortly describe how my own school is organized. If this description matches more or less yours, you might find this package useful. Otherwise, let me know the differences, I might be able to integrate the code.
My school (Istituto Tecnico Commerciale "O. Mattiussi", Pordenone, Italy) has five different labs, each one with an average of 16 PCs. Each lab has its own hub, and the hubs are interconnected. The computers in the Administrative Offices are also interconnected. The network is connected to the Internet with an ADSL router.
Each lab has a different third byte in the IP address (lab 1 has 192.168.1.x addresses, lab 2 has 192.168.2.x, and so on). All the computers have a subnet mask of 255.255.0.0 (I know that we should have used 172.16.x.y addresses, but...). Computers use Windows 98 as OS (some of them have a partition with Linux, that we use for some special activities).
The computer in which phpSchoolAdmin runs is a GNU/Linux server (currently we run RedHat 7.3), with:
Each student, each teacher, and each technician of the school have (or at least should have) a Samba account on the GNU/Linux server. This means that they can access their computers in the lab only after having logged in (authenticated by the server). Users can not login through telnet or ssh because they have a /dev/null shell in /etc/passwd.
The login script maps a network drive (Y:) to the user's home directory on the server, and users are encouraged to save relevant data to that network drive, in order to facilitate back-up operations.
From the web pages of phpSchoolAdmin users can perform the tasks listed above.
Since the Server also runs Squid as a proxy server, teachers may, through a web interface, allow or disallow Internet access from the single PCs or the whole lab. This is obtained by changin on-the-fly the firewall rules of the machine (allowing or rejecting packets to the port on which Squid listens). This is not 100% sure, and we are planning to organize things in a different manner, through transparent proxying and an external firewall.
phpschooladmin.sourceforge.net
phpSchoolAdmin, copyright (c) Loris Tissino, 2001-2002.
This software is released under the terms of the GNU General Public Licence.
phpSchoolAdmin comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions.