入手Anki也有半年了,一直觉得挺好用的,但是也只是简单记一下英语,古诗词之类的东西。
但是一直苦于anki服务器在日本的问题,同步特别慢。二来是自己也有自己的一些小九九不希望存在别人的服务器上。而且最近Anki的知乎专栏出了在windows上搭建Anki服务器的教程。
可是伦家有一个树莓派,吃灰好几个月了。想搭建在linux上。查了查文档,鼓捣了一晚上,还问了Anki群里的大家,谢谢大家的帮助。
ANkI服务器端配置
1.首先安装ankiserver的服务器套件,用easy_install安装就好了,自动处理依赖关系。不要用pip,不知道为什么,会有莫名其妙的问题
$ easy_install Ankiserver
2.在自己的用户目录下创建一个目录Anki
$ mkdir Anki
3.进入这个目录
$ cd Anki
4.复制一个example.ini 到当前目录,修改为production.ini。这个文件我也没从官方给的路径里面找到。自己去 AnkiServer 2.0.6 下载一个source包就好了。里面有两个重要的配置文件,一个是production.ini 一个是supervisor-anki-server.conf。
5.编辑production.ini,修改基本参数,我修改了以下参数
host = 192.168.0.100 #服务器的地址
allowed_hosts = 192.168.0.30,192.168.0.40 #允许同步的客户端ip地址,你也可以写0.0.0.0 允许任何ip地址连接
6.添加用户名密码
$ ankiserverctl.py addser anki #添加一个anki用户,而后输入密码
7.测试运行
$ ankiserverctl.py debug
没有什么特殊的问题,这个时候就可以运行了
ANKI桌面版设定
开启插件文件夹
新增一个txt挡案,檔名修改为mysyncserver.py。
文件内容如下
import anki.sync
anki.sync.SYNC_BASE = 'http://192.168.0.100:27701/'
anki.sync.SYNC_MEDIA_BASE = 'http://192.168.0.100:27701/msync/'
IP自行修改为本机区网IP
保存后,重启anki即可测试同步。
android版anki(AnkiDroid)设定,IOS目前无法自定义server IP。
网址要注意ankiserver预设是使用http而不是https
服务器建立开机启动和服务器监视
官方给了个建议,建议可以用supervisor 来监视和管理ankiserver,ankiserver出现问题会被自动重启
1.安装supervisor
$ sudo apt-get install supervisor
2.复制配置文件到目录
$ sudo cp supervisor-anki-server.conf /etc/supervisor/conf.d/anki-server.conf
3.修改配置文件
directory=/home/pi/Anki#把这个参数改成Anki的数据目录
user=pi#树莓派我就直接用这个用户了
4.重新载入supervisor
$ sudo supervisorctl reload
5.进行管理
$ sudo supervisorctl stop anki-server
$ sudo supervisorctl start anki-server
$ sudo supervisorctl restart anki-server
PS:如果有任何问题重启一下树莓派就好啦
参考资料:
自建ANKI-Server,server运行环境windows,手机是IOS就不用看了。
图片内容来自 Joy Jiang - 知乎