![我可以使用什么来为学生提供托管的 Web 开发环境?](https://linux22.com/image/561427/%E6%88%91%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E4%BB%80%E4%B9%88%E6%9D%A5%E4%B8%BA%E5%AD%A6%E7%94%9F%E6%8F%90%E4%BE%9B%E6%89%98%E7%AE%A1%E7%9A%84%20Web%20%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%EF%BC%9F.png)
我们希望能够为任何感兴趣的学生提供一个基本的网络开发环境,但我很难找到这样的好的解决方案。
我们目前有一台旧的 Windows Server 计算机,上面托管着过时的 PHP 和 MySQL 版本,但希望提供更高级别的服务。我想理想情况下,我希望系统能够:
- 运行 PHP(更多?)。
- 提供 MySQL 数据库。
- FTP(和/或 SFTP)访问。
- 包括自动账户创建/管理功能(SSO、API)。
此外,最好:
- 在场外托管和管理。
- 无需维护。
- 最新版本始终可用。
我们最近改用了 Google Apps,感觉我们更喜欢“GoDaddy Apps”之类的模式。不过,我可能错了。其他学院/大学正在做什么来满足这一需求?
答案1
其他学院/大学正在采取什么措施来满足这一需求?
我们已经部署了私有云环境来解决此类用例。它既不是异地托管也不是异地管理,但实际上,部署后我们基本上就不用管它了。
我们使用 CentOS 作为底层操作系统,并依靠本机包管理系统来保持所有内容的更新。我们维护自己的本地存储库,用于存放 CentOS 或 EPEL 无法提供的内容。
我们使用 Puppet 来定义不同的配置文件(例如“Web 服务器”、“数据库服务器”、“软件开发主机”等)。
我们使用 OpenNebula 作为我们的云管理工具,并使用一组薄薄的 shell 脚本包装本机工具,以便学生使用我们定义的配置文件轻松部署和销毁虚拟机实例。
在大多数情况下,我们不会为“帐户”这样的问题烦恼。我们在虚拟机实例上配置一个静态用户(用户名为“local”),并在部署虚拟机实例时将 ssh 密钥推送到虚拟机实例。所有学生访问系统都通过这些 ssh 密钥进行。在必要的情况下,我们通过 sudo 授予特权访问权限。
答案2
我觉得帽子尺寸人们提供您正在寻找的东西。不确定您的所有要求(或预算)。
答案3
虽然不适用于学生,但我们有一个 HostGator 经销商帐户,它允许我们在 IT 服务客户之间分配我们的顶级配额(带宽和磁盘空间)。
由于这些客户的每个站点都非常小,只需要一个 MySQL 数据库和 PHP 来编写脚本,因此我创建了一个“基本计划”,其中包含一个 MySQL 数据库和 1 GB 的存储空间,并且我们能够为每个客户设置大约 25 个具有完整 CPanel 访问权限的子帐户;我们每月使用的带宽/存储空间约为分配的 60%。最棒的是,我们每月的 HostGator 账单约为 45 美元。
有了 CPanel,创建帐户就变得非常简单:FTP 帐户和 PHPMySQLAdmin 默认使用相同的用户名和密码,这些都是学生学习使用非常常见(且有用)的东西,因为大多数共享主机都提供这些功能。需要额外付费才能访问 shell;SSL 证书也是如此。DNS 管理是内置的,因此如果学生需要管理他们的 DNS 区域(或者如果您想设置通配符域并自行管理,即 *.myschool.com,然后为每个学生设置 somestudent.myschool.com)。
虽然不是性能最好的服务器(与大多数共享主机一样),但我从未听到过客户抱怨,而且我假设这些学生也不会在你的学校建立下一个 Twitter,所以应该没问题。