
如何快速部署Submitty从安装到运行的完整教程【免费下载链接】SubmittyHomework Submission, Automated Grading, and TA grading system.项目地址: https://gitcode.com/gh_mirrors/su/SubmittySubmitty是一款功能强大的开源作业提交、自动评分和助教评分系统。无论您是教育机构的系统管理员还是课程教师这篇完整指南将帮助您快速完成Submitty的部署。通过本教程您将掌握从环境准备到系统运行的完整部署流程让您的教学管理系统快速上线运行 系统环境要求在开始部署Submitty之前请确保您的服务器满足以下基本要求操作系统Ubuntu 22.04 LTS推荐或 Ubuntu 20.04 LTS内存至少 4GB RAM生产环境建议8GB以上存储空间至少 20GB 可用空间网络稳定的网络连接能够访问外部资源权限需要root或sudo权限进行安装 一键快速安装方法方法一使用官方引导脚本最简单对于大多数用户我们推荐使用官方的一键安装脚本。这个脚本会自动处理所有依赖项的安装和配置# 下载并运行引导脚本 curl -sSL https://raw.githubusercontent.com/Submitty/Submitty/main/.setup/bootstrap.sh | sudo bash这个脚本会自动完成以下工作安装必要的系统依赖克隆Submitty代码库运行系统安装脚本配置所有必要的服务和权限方法二手动分步安装如果您希望更精细地控制安装过程可以按照以下步骤手动安装步骤1克隆代码库首先将Submitty代码库克隆到本地# 创建安装目录 sudo mkdir -p /usr/local/submitty/GIT_CHECKOUT cd /usr/local/submitty/GIT_CHECKOUT # 克隆Submitty项目 sudo git clone https://gitcode.com/gh_mirrors/su/Submitty步骤2运行系统安装脚本进入项目目录并运行系统安装脚本cd Submitty/.setup sudo bash install_system.sh这个脚本会安装所有系统依赖包PHP、PostgreSQL、Python等配置必要的系统用户和组设置数据库和Web服务步骤3配置Submitty运行配置脚本来自定义您的安装cd /usr/local/submitty/GIT_CHECKOUT/Submitty/.setup sudo python3 CONFIGURE_SUBMITTY.py配置过程中您需要提供以下信息安装目录默认/usr/local/submitty数据目录默认/var/local/submittyWebSocket端口默认8443是否启用调试模式生产环境不建议启用 详细配置指南数据库配置Submitty使用PostgreSQL作为后端数据库。安装脚本会自动创建数据库和用户但您可能需要根据实际情况调整配置# 查看数据库状态 sudo systemctl status postgresql # 如果需要手动创建数据库用户 sudo -u postgres createuser submitty sudo -u postgres createdb submittyWeb服务器配置安装脚本会自动配置Apache或Nginx作为Web服务器。您可以在以下位置找到配置文件Apache配置.setup/apache/submitty.confNginx配置.setup/nginx/submitty.conf用户和权限配置Submitty创建了多个专用用户来确保系统安全submitty_daemon运行后台任务的守护进程用户submitty_php运行PHP脚本的用户submitty_cgi运行CGI脚本的用户这些用户的权限在安装过程中自动配置通常不需要手动调整。 使用Vagrant进行开发环境部署如果您需要在本地开发或测试环境部署Submitty可以使用Vagrant快速搭建环境步骤1安装Vagrant和VirtualBox# 在Ubuntu上安装Vagrant和VirtualBox sudo apt-get update sudo apt-get install -y virtualbox vagrant步骤2配置Vagrant环境在Submitty项目根目录中已经包含了预配置的Vagrantfile# 启动Vagrant虚拟机 vagrant up # 如果需要更多资源可以指定内存和CPU VM_MEMORY4096 VM_CPUS4 vagrant up步骤3访问开发环境Vagrant启动后您可以通过以下方式访问Submitty在浏览器中访问http://localhost:1511使用默认管理员账户登录️ 常见问题与解决方案问题1安装过程中出现依赖错误解决方案确保系统已更新然后重新运行安装脚本sudo apt-get update sudo apt-get upgrade sudo bash /usr/local/submitty/GIT_CHECKOUT/Submitty/.setup/install_system.sh问题2Web服务无法启动解决方案检查Web服务器配置和权限# 检查Apache/Nginx状态 sudo systemctl status apache2 sudo systemctl status nginx # 查看错误日志 sudo tail -f /var/log/apache2/error.log sudo tail -f /var/log/nginx/error.log问题3数据库连接失败解决方案验证PostgreSQL服务和连接配置# 重启PostgreSQL服务 sudo systemctl restart postgresql # 测试数据库连接 sudo -u postgres psql -d submitty 部署后的配置优化性能调优建议内存优化根据学生数量和课程规模调整PHP内存限制缓存配置启用OPcache提升PHP性能数据库优化定期清理旧数据和优化索引文件存储确保/var/local/submitty有足够的存储空间安全配置建议SSL证书为生产环境配置HTTPS防火墙规则限制对管理端口的访问定期备份设置数据库和文件的自动备份日志监控启用系统日志监控和告警 快速验证部署部署完成后运行以下命令验证安装是否成功# 验证系统服务状态 sudo systemctl status submitty_autograding_shipper sudo systemctl status submitty_daemon_jobs_handler # 访问Web界面 curl -I http://localhost如果一切正常您应该能看到Submitty的登录页面。使用默认的管理员凭据登录后您可以开始创建课程、添加学生和设置作业了 系统维护与升级定期维护任务清理旧数据定期清理过期的作业提交和日志文件更新系统定期运行系统更新和安全补丁监控资源监控磁盘空间、内存和CPU使用情况升级Submitty版本当有新版本发布时可以使用以下步骤升级# 进入Submitty目录 cd /usr/local/submitty/GIT_CHECKOUT/Submitty # 拉取最新代码 sudo git pull origin main # 运行升级脚本 sudo bash .setup/update_system.sh 扩展功能配置配置自动评分工作器如果需要处理大量作业评分可以配置额外的自动评分工作器# 在独立服务器上安装工作器 sudo bash .setup/install_worker.sh集成外部工具Submitty支持与多种外部工具集成版本控制系统Git、SVN代码质量工具静态分析、代码风格检查测试框架JUnit、pytest等 开始使用Submitty恭喜您已经成功部署了Submitty系统。现在您可以创建课程在管理界面中添加新课程添加用户导入学生和教师账户设置作业创建作业并配置自动评分规则管理评分使用内置的助教评分工具记住Submitty是一个功能强大的教学管理系统支持从简单作业提交到复杂自动评分的各种教学场景。如果您在部署或使用过程中遇到任何问题可以参考项目文档或寻求社区支持。提示建议在生产环境部署前先在测试环境中充分验证所有功能。祝您使用愉快【免费下载链接】SubmittyHomework Submission, Automated Grading, and TA grading system.项目地址: https://gitcode.com/gh_mirrors/su/Submitty创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考