我一直在尝试为我的yesod网站设置keter,但是我遇到了以下问题:
Welcome to Keter
The hostname you have provided, 127.0.0.1:3000, is not recognized.
从我收集的内容来看,它与某些设置文件中的host
值有关。
所以,我的问题是,它是在keter的配置文件中,还是应用程序特定的? (我正在使用yesod框架),它究竟应该设置为什么?
感谢snoyberg指出ip错了(完全忽略了它),现在已经改变了。
我检查了应用的错误日志文件,并说:
HsCMS: user error (SQLite3 returned ErrorCan'tOpen while attempting to perform open "HsCMS_production.sqlite3".)
这似乎与权限有关。当使用sudo启动keter时会发生这种情况(甚至尝试以root身份启动),但如果我进入/ opt / keter / temp并从那里执行./dist/build/HsCMS/HsCMS
则不会发生这种情况。那么,这是一个带有keter的错误(我怀疑)还是我做错了什么? sudo不应该足以授予keter权限吗?
感谢snoyberg帮助我将问题缩小到权限问题。在我的情况下的问题是,我愚蠢地将配置中的setuid
设置为用户,因此它没有文件夹中的权限。我接受snoybergs的回答,因为这是导致这个解决方案的原因。
答案 0 :(得分:1)
127.0.01
不是有效的IP地址。也许你的意思是127.0.0.1
?
问题是无法识别虚拟主机名。每个Keter应用程序都必须指定它侦听的虚拟主机名。这是由应用程序本身的host
属性给出的。如果查看the README example,主机名将为www.yesodweb.com
。