2014-01-21 47 views
1

我在虛擬環境中安裝了評論板,並在ubuntu 13.10上使用帶有mod_wsgi的apache2創建了網站評論板。 當我打的升級網站時出現數據庫錯誤

http://localhost 

有人問我upgarde網站

The version of Review Board running does not match the version the site was last upgraded to. You are running 1.7.20 and the site was last upgraded to 1.7.21.

Please upgrade your site to fix this by running:

和升級

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

我得到了以下信息:

Updating database. This may take a while.

The log output below, including warnings and errors, can be ignored unless upgrade fails.

------------------ ------------------ Creating tables ... Installing custom SQL ... Installing indexes ... Installed 0 object(s) from 0 fixture(s) No evolution required. ------------------- -------------------

Resetting in-database caches. Traceback (most recent call last):
File "/home/naveen/venv-review/bin/rb-site", line 9, in load_entry_point('ReviewBoard==1.7.21', 'console_scripts', 'rb-site')() File "/home/naveen/venv-review/local/lib/python2.7/site-packages/ReviewBoard-1.7.21-py2.7.egg/reviewboard/cmdline/rbsite.py", line 2027, in main command.run() File "/home/naveen/venv-review/local/lib/python2.7/site-packages/ReviewBoard-1.7.21-py2.7.egg/reviewboard/cmdline/rbsite.py", line 1860, in run site.run_manage_command("fixreviewcounts") File "/home/naveen/venv-review/local/lib/python2.7/site-packages/ReviewBoard-1.7.21-py2.7.egg/reviewboard/cmdline/rbsite.py", line 562, in run_manage_command execute_manager(reviewboard.settings, [file, cmd] + params) File "/home/naveen/venv-review/local/lib/python2.7/site-packages/Django-1.4.10-py2.7.egg/django/core/management/init.py", line 459, in execute_manager utility.execute() File "/home/naveen/venv-review/local/lib/python2.7/site-packages/Django-1.4.10-py2.7.egg/django/core/management/init.py", line 382, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/home/naveen/venv-review/local/lib/python2.7/site-packages/Django-1.4.10-py2.7.egg/django/core/management/base.py", line 196, in run_from_argv self.execute(*args, **options.dict) File "/home/naveen/venv-review/local/lib/python2.7/site-packages/Django-1.4.10-py2.7.egg/django/core/management/base.py", line 232, in execute output = self.handle(*args, **options) File "/home/naveen/venv-review/local/lib/python2.7/site-packages/Django-1.4.10-py2.7.egg/django/core/management/base.py", line 371, in handle return self.handle_noargs(**options) File "/home/naveen/venv-review/local/lib/python2.7/site-packages/ReviewBoard-1.7.21-py2.7.egg/reviewboard/reviews/management/commands/fixreviewcounts.py", line 16, in handle_noargs starred_public_request_count=None) File "/home/naveen/venv-review/local/lib/python2.7/site-packages/Django-1.4.10-py2.7.egg/django/db/models/manager.py", line 185, in update return self.get_query_set().update(*args, **kwargs) File "/home/naveen/venv-review/local/lib/python2.7/site-packages/Django-1.4.10-py2.7.egg/django/db/models/query.py", line 536, in update rows = 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", line 988, in execute_sql cursor = super(SQLUpdateCompiler, self).execute_sql(result_type) File "/home/naveen/venv-review/local/lib/python2.7/site-packages/Django-1.4.10-py2.7.egg/django/db/models/sql/compiler.py", line 818, in execute_sql cursor.execute(sql, params) File "/home/naveen/venv-review/local/lib/python2.7/site-packages/Django-1.4.10-py2.7.egg/django/db/backends/sqlite3/base.py", line 344, in execute return Database.Cursor.execute(self, query, params) django.db.utils.DatabaseError: attempt to write a readonly database

SQLite數據庫目錄中已被賦予像訪問服務器(WWW的數據): 須藤CHOWN www數據/家/納文/ VENV審查/ reviewboard /數據

是否www數據應該已經閱讀/寫訪問網站,評論板,如果是這樣的話?

更新*

檢查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 

回答

0

的sqlite3的文件,而不是隻有目錄等,都必須擁有,必須通過運行網站的用戶可寫服務器。

所以你可能嘗試運行,從終端外殼:

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

的第一個命令遞歸更改文件夾裏面的文件的擁有者,第二個確保用戶對這些文件的寫權限。

+0

嘗試過但沒有工作 – navyad

+0

...並且您收到了相同的錯誤和追溯?你確定apache是​​作爲www-data用戶運行嗎? – furins

+0

更新我的帖子查詢apache2用戶 – navyad