我会尽量说得清楚。在我运行 ubuntu 14 的服务器上,我安装了mutlicraft
(minecraft 控制面板)。上传服务器后,我注意到服务器无法运行。这是因为每个服务器都需要自己的用户。在我的情况下,我必须将所有权从root
用户更改为mc1
。我不小心输入了chown -R mc1 *
是的!我输入了-R
有关用户的所有内容并承担了它们的所有权mc1
。
目录:
Multicraft 服务器目录:/home/minecraft/servers/server1
Multicraft 网络面板:/var/www/multicraft
实际问题
执行此操作后,面板无法访问。为什么?因为:
2014/10/10 16:19:07 [error] 1368#0: *15 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught exception 'CException' with message 'Application runtime path "/var/www/multicraft/protected/runtime" is not valid. Please make sure it is a directory writable by the Web server process.' in /var/www/multicraft/protected/yii/base/CApplication.php:271
Stack trace:
#0 /var/www/multicraft/protected/yii/base/CApplication.php(258): CApplication- >setRuntimePath('/var/www/multic...')
#1 /var/www/multicraft/protected/yii/base/CStatePersister.php(67): CApplication->getRuntimePath()
#2 /var/www/multicraft/protected/yii/base/CModule.php(388): CStatePersister->init()
#3 /var/www/multicraft/protected/yii/base/CApplication.php(458): CModule->getComponent('statePersister')
#4 /var/www/multicraft/protected/yii/base/CApplication.php(651): CApplication->getStatePersister()
#5 /var/www/multicraft/protected/yii/base/CApplication.php(592): CApplication->loadGlobalState()
#6 /var/www/multicraft/protected/yii/base/CSecurityManager.php(101): CApplication->getGlobalState('Yii.CSecurityMa" while reading response header from upstream, client: 85.74.3.56, server: localhost, request: "GET /multicraft/ HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "37.59.112.131"
完成此操作后,我点击chown -R mc1 *
以反转操作,它起作用了,除了www
可以修复这个问题吗?
答案1
从您粘贴的内容来看,问题似乎在于 Web 服务器用户在此文件夹“/var/www/multicraft/protected/runtime”中没有写权限
这可能与您的所有权变更有关。您可以保留您想要的用户,但请确保您的 Web 服务器用户可以写入目录。您可以使用组来实现这一点(创建一个包含您的用户、minecraft 用户和 Web 服务器使用的组,并授予该组对 www 文件夹的写入权限,执行 chown mc1:group /var/www/)或者您可以为 webpanel 文件夹设置 777 权限(如果您的机器有除您之外的普通用户,则不安全)
我希望我没有误解你的问题。