阿里云安装Learning Locker

简介: 阿里云安装Learning Locker的经验

近期,在阿里云ECs上安装了Learning Locker系统,整个安装过程并非一帆风顺,主要遇到了安装脚本出错及无法访问Github等问题,在此将其进行整理和记录。


一、基本环境

硬件:双核,4G,60G硬盘的虚拟主机

软件:因为以前用CentOS成功安装过,所以这次一开始使用的是CentOS7。不过由于当前官方首推Ubunutu,所以就更换成Ubuntu 20。


二、软件介绍

Learning Locker是一个开源的学习行为数据记录数据库,官方网站是:learninglocker.net。大致介绍如下:

Learning Locker is a conformant open source Learning Record Store (LRS) started in 2013 by HT2 Labs (now Learning Pool); a type of data repository designed to store learning activity statements generated by xAPI (Tin Can) compliant learning activities. This website provides technical documentation for Learning Locker, for anything else please see the main website.


三、安装方法

安装方法有两种:一是借助官方提供的安装脚本(http://docs.learninglocker.net/guides-installing/),二是手工定制安装(http://docs.learninglocker.net/guides-custom-installation/)。由于安装所需的安装包比较多,而且有些安装包还需要指定初始用户配置,所以最安全、最快捷的方式就是第一种。


四、安装过程

(一)登录服务器,切换成root身份,然后执行:

curl -o- -L https://raw.githubusercontent.com/LearningLocker/deploy/master/deployll.sh > deployll.sh && bash deployll.sh

或者

wget -qO deployll.sh https://raw.githubusercontent.com/LearningLocker/deploy/master/deployll.sh && bash deployll.sh

此时,会在当前目录下执行deployll.sh这个安装脚本文件。


(二)在安装过程中,首先要安装一系列软件包,此时选择y或默认使用回车即可确认。一路回车下来,会发现在有些软件包哪里将由于下载慢而导致putty连接超时而中断。因此,需要设置putty的connection设置里的(0 to turn off)的值为30。以及服务端SSH配置里加入:ServerAliveInterval=30


(三)接下来,就会遭遇到一个技术问题:deployll.sh: line 740: nodejs: command not found。详细信息如下:

deployll.sh: line 269: netstat: command not found
[LL] We require a path to install to and a path to symlink to. The reason for this is that the script can be re-run in order to update
cleanly. The path we'll ask you for is a base path for the releases to be installed to so if you select the default of:/usr/local/learninglocker/releasesthen we will create a sub-directory under here for every release and symlink the latest install to the final install path (whichthe nginx config points at. This is so that roll-backs can be done easier and we can perform a complete install before finallyswitching the nginx config over which'll minimise downtime on upgrades
[LL] What base directory do you want to install to? (Press 'enter'for the default of /usr/local/learninglocker/releases)
[LL] Directory '/usr/local/learninglocker/releases' doesn't exist - should we create it? [y|n] (Press enter for default of 'y')[LL] What path should the release be symlinked to? (Press enter for the default of /usr/local/learninglocker/current)[LL] I need a user to install the code under - what user would you like me to use? (press enter for the default of 'learninglocker')[LL] User 'learninglocker' doesn't exist -do you want me to create them? [y|n] (enter for default of 'y')
[LL] Creating user 'learninglocker'....done!
[LL] MongoDB isn't installed - do you want to install it? [y|n] (press 'enter' for default of 'y')[LL] Redis isn't installed -do you want to install it? [y|n] (press 'enter'for default of 'y')
[LL] Learning Locker ideally works best with ClamAV (anti virus software) installed but it is not an absolute requirement. Do you want to install it? [y|n] (press 'enter'for the default of 'y')
[LL] Installing node version: 10.x
deployll.sh: line 740: nodejs: command not found
[LL] Something went wrong in installing/updating nodejs. This is likely a fault in your apt config. Can't continue# 

国内对此讨论很少,国外也不多,最终在Github的Learning Locker的论坛上找到一个:“https://github.com/LearningLocker/learninglocker/issues/1564”。里面涉及到可能的解决方法,以及在解决问题过程中出现的新问题,实际上看上去着实麻烦。但我这里还算幸运,此时需要编辑脚本文件代码。用vi编辑deployll.sh,定位到740行,可以看到附近有几处“nodejs --version”。问题就在于:“if-statement assumes nodejs executable to be named nodejs - latest installed version v10.23.0 has only executable node”。所以,需要将第一处无法识别的nodejs --version换成node --version即可。


(四)然后,继续做下来又会遇到一个“难问题”——“ fatal: unable to access ‘https://github.com/...’”,即Github无法访问。解决的方法有很多种,比如:https://blog.csdn.net/weixin_45317091/article/details/113409909。我是ping了Github,确认没有连接后,选择添加特定的IP到hosts文件中解决的。需要添加哪些IP以及基本操作过程与下述文章基本相同,在此便不赘述了:https://blog.csdn.net/u013302168/article/details/120572007


(五)接下来,就能顺利渡过难关,安装完毕:

微信图片编辑_20220225131310.jpg

相关文章
|
机器学习/深度学习 人工智能 边缘计算
人工智能语音转文字(Automatic Speech Recognition, ASR)
人工智能语音转文字(Automatic Speech Recognition, ASR)
682 1
|
NoSQL 数据可视化 MongoDB
mongoDB入门教程二:推荐一款好用的mongoDB可视化工具Robo 3T
mongoDB入门教程二:推荐一款好用的mongoDB可视化工具Robo 3T
656 1
mongoDB入门教程二:推荐一款好用的mongoDB可视化工具Robo 3T
|
6月前
|
XML JSON API
如何在 Postman 中上传文件和 JSON 数据
如果你想在 Postman 中同时上传文件和 JSON 数据,本文将带你一步一步地了解整个过程,包括最佳实践和技巧,让你的工作更轻松。
|
存储 Java 程序员
Java面试题:方法区在JVM中存储什么内容?它与堆内存有何不同?
Java面试题:方法区在JVM中存储什么内容?它与堆内存有何不同?
263 10
|
9月前
|
文字识别
统一多模态Embedding, 通义实验室开源GME系列模型
随着多媒体应用的迅猛发展,用户产生的数据类型日益多样化,不再局限于文本,还包含大量图像、音频和视频等多模态信息。这为信息检索带来了前所未有的挑战与机遇。传统的信息检索模型多关注单一模态,如仅对文本或图像进行分析和搜索。
1557 6
|
SQL 自然语言处理 安全
2024 年 8 月暨 ACL 2024 57篇代码大模型论文精选
2024年8月中旬,国际计算语言学大会ACL在泰国曼谷举行,展示了48篇代码大模型相关论文,包括24篇主会论文和24篇findings论文。主会论文涵盖XFT、WaveCoder、DolphCoder等创新方法,findings论文则探讨了代码注释增强、自动化程序修复等主题。此外,还额外整理了9篇8月最新代码大模型论文,涉及数据集合成、安全代码生成等多个前沿方向。欲了解更多,请访问我们的综述和GitHub项目。
1246 4
|
11月前
|
安全 前端开发 JavaScript
利用HTTP协议进行文件上传和下载的常见方法
【10月更文挑战第25天】可以利用HTTP协议方便地实现文件的上传和下载功能,满足不同应用场景下的需求。在实际应用中,还可以根据具体的业务需求和安全要求,对文件上传和下载的过程进行进一步的优化和安全处理。
|
存储 关系型数据库 MySQL
再探PolarDB —— PolarDB MySQL 四大场景下的全方位评测
本文全面评测了阿里云PolarDB MySQL在四大关键场景下的表现:Serverless极致弹性、列存索引(IMCI)、弹性并行查询(ePQ)以及无感秒切高可用。通过官方提供的免费体验资源,我们深入了解了PolarDB MySQL的核心能力和性能。Serverless极致弹性列存索引(IMCI弹性并行查询(ePQ)无感秒切高可用此外,文章还介绍了PolarDB MySQL在数据备份和HTAP(混合事务/分析处理)场景下的优势,包括灵活的备份策略、高效的全量和库表恢复方式,以及通过IMCI支持的HTAP能力。这些特性共同构成了PolarDB MySQL作为一款先进的云数据库服务的强大竞争力。
|
Web App开发 JavaScript 前端开发
解决DevTools failed to load SourceMap Could not load content for .js.map HTTP error code 404 问题
解决DevTools failed to load SourceMap Could not load content for .js.map HTTP error code 404 问题
1658 0
|
Java
什么是Java内部类,为什么使用它?
【4月更文挑战第13天】
438 1