1

我已经在虚拟环境中安装了评论板,并使用带有 mod_wsgi 的 apache2 在 ubuntu 13.10 上创建了站点评论板。当我击中

http://localhost

我被要求升级网站

运行的 Review Board 版本与站点上次升级到的版本不匹配。您正在运行 1.7.20,并且该站点上次升级到 1.7.21。

请通过运行升级您的站点以解决此问题:

并在升级

$ rb-site upgrade /home/naveen/venv-review/reviewboard

得到

我收到以下消息:

更新数据库。可能还要等一下。

除非升级失败,否则可以忽略下面的日志输出,包括警告和错误。

------------------ ------------------ 创建表...安装自定义SQL ...安装索引。 .. 从 0 个固定装置中安装了 0 个对象 不需要进化。-------------------- --------

重置数据库内缓存。回溯(最近一次调用):
文件“/home/naveen/venv-review/bin/rb-site”,第 9 行,在 load_entry_point('ReviewBoard==1.7.21', 'console_scripts', 'rb-site' )() 文件“/home/naveen/venv-review/local/lib/python2.7/site-packages/ReviewBoard-1.7.21-py2.7.egg/reviewboard/cmdline/rbsite.py”,第 2027 行,在主 command.run() 文件“/home/naveen/venv-review/local/lib/python2.7/site-packages/ReviewBoard-1.7.21-py2.7.egg/reviewboard/cmdline/rbsite.py” ,第 1860 行,在运行 site.run_manage_command("fixreviewcounts") 文件“/home/naveen/venv-review/local/lib/python2.7/site-packages/ReviewBoard-1.7.21-py2.7.egg/reviewboard /cmdline/rbsite.py",第 562 行,在 run_manage_command execute_manager(reviewboard., cmd] + 参数)文件“ /home/naveen/venv-review/local/lib/python2.7/site-packages/Django-1.4.10-py2.7.egg/django/core/management/init.py ”,第 459 行,在 execute_manager utility.execute() 文件中“/home/naveen/venv-review/local/lib/python2.7/site-packages/Django-1.4.10-py2.7.egg/django/core /management/ init .py”,第 382 行,在执行 self.fetch_command(subcommand).run_from_argv(self.argv) 文件“/home/naveen/venv-review/local/lib/python2.7/site-packages/Django -1.4.10-py2.7.egg/django/core/management/base.py",第 196 行,在 run_from_argv self.execute(*args, ** options.dict)文件“/home/naveen/venv-review/local/lib/python2.7/site-packages/Django-1.4.10-py2.7.egg/django/core/management/base.py”,第232行,在执行输出 = self.handle(*args, **options) 文件“/home/naveen/venv-review/local/lib/python2.7/site-packages/Django-1.4.10-py2.7.egg/ django/core/management/base.py”,第 371 行,在句柄中返回 self.handle_noargs(**options) 文件“/home/naveen/venv-review/local/lib/python2.7/site-packages/ReviewBoard- 1.7.21-py2.7.egg/reviewboard/reviews/management/commands/fixreviewcounts.py”,第 16 行,在 handle_noargs starred_public_request_count=None) 文件“/home/naveen/venv-review/local/lib/python2.7 /site-packages/Django-1.4.10-py2.7.egg/django/db/models/manager.py”,第 185 行,更新返回 self.get_query_set().update(*args,**kwargs)文件“/home/naveen/venv-review/local/lib/python2.7/site-packages/Django-1.4.10-py2.7.egg/django/db/models/query.py”,第 536 行,在更新行 = query.get_compiler(self.db).execute_sql(None) File "/home/naveen/venv-review/local/lib/python2.7/site-packages/Django-1.4.10-py2 .7.egg/django/db/models/sql/compiler.py”,第 988 行,在 execute_sql cursor = super(SQLUpdateCompiler, self).execute_sql(result_type) 文件“/home/naveen/venv-review/local/lib /python2.7/site-packages/Django-1.4.10-py2.7.egg/django/db/models/sql/compiler.py”,第 818 行,在 execute_sql cursor.execute(sql, params) 文件中“/ home/naveen/venv-review/local/lib/python2.7/site-packages/Django-1.4.10-py2.7.egg/django/db/backends/sqlite3/base.py”,第 344 行,在执行中返回 Database.Cursor.execute(self,查询,参数)django.db.utils.DatabaseError:尝试写入只读数据库

sqlite 数据库目录已被授予访问服务器(www-data)的权限,例如:sudo chown www-data /home/naveen/venv-review/reviewboard/data

如果是这种情况,www-data 是否应该具有站点、评论板的读/写访问权限?

更新*

检查 apache2 用户

ps aux | grep apache2

root      1146  0.0  0.0  84208  3928 ?        Ss   11:19   0:00 /usr/sbin/apache2 -k start
www-data  3632  0.1  0.6 698464 51056 ?        Sl   11:34   0:01 /usr/sbin/apache2 -k start
www-data  3742  0.1  0.6 698480 51032 ?        Sl   11:34   0:01 /usr/sbin/apache2 -k start
naveen    7162  0.0  0.0  13652   940 pts/1    S+   11:53   0:00 grep apache2
4

1 回答 1

0

sqlite3 文件,不仅是目录,还必须由运行 Web 服务器的用户拥有并且必须是可写的。

因此您可以尝试从终端外壳运行:

sudo chown -R www-data /home/naveen/venv-review/reviewboard/data
sudo chmod -R u+w /home/naveen/venv-review/reviewboard/data/*

第一个命令递归地更改文件夹内文件的所有者,第二个命令确保用户对这些文件具有写入权限。

于 2014-01-21T14:49:33.270 回答