Xử lý lỗi cài đặt open edx

Chào mọi người !
Như trong bài viết https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/open-release-hawthorn.master/installation/install_devstack.html
Mình thực hiện cài đặt open edx trên ubuntu 18.04, mọi bước đều ổn, cho đến dòng lệnh cuối cùng

make dev.provision

Ở đây xuất hiện hàng loạt lỗi, mình đã search trên google nhưng thông tin về open edx không được nhiều.
Ai đã có kinh nghiệm làm việc open edx, thì có thể cho mình xin ít kinh nghiệm khắc phục lỗi trên đc không ?

1 Like

1 điều cực kỳ quan trọng là bạn phải show lỗi ra cho người ta xem, đây là 1 điều mà rất, rất nhiều người mới hỏi trên các forum quên. Nên là bạn hãy show hết tất cả các error message mà bạn gặp để người ta hỗ trợ bạn (nhớ không bỏ sót cái nào luôn nhé)

7 Likes

File log
Ai có kinh nghiệm có thể cho mình một vài gợi ý để khắc phục đc kh ạ !!

Tớ có 1 vài câu hỏi:

  1. Cậu dùng nhánh nào thế @sun3000? Tớ thấy trong Makefile của nhánh master không có chỗ nào check python cả.
  2. Cậu có thể cho tớ biết version python của cậu hiện tại được không?
  3. Cậu có thể cung cấp log của tất cả các step cậu đã làm không? Tớ chỉ muốn chắc tất cả các bước đó được hoàn thành.

Ngoài ra, đừng dùng sudo make nhé cậu, trong hướng dẫn không đề cập tới việc dùng sudo mà :sweat_smile:

4 Likes

Hi @sun3000,

Tớ có nhận được file log của cậu qua inbox. Có lẽ sẽ tốt hơn nếu chúng ta thảo luận thêm ở đây :smiley:

Tớ có đọc qua file log cậu cung cấp, và hiểu được:

  • Cậu sử dụng nhánh 'open-release/hawthorn.master'. Tiếc là nhánh này đã bị outdated, đồng thời hướng dẫn ở file README.md và hướng dẫn trên official document không khớp nhau.
  • Cậu vẫn dùng sudo make :stuck_out_tongue: Bỏ sudo nhé cậu! :smiley:
  • Cậu bị lỗi ở dòng này.
  • Có vẻ vấn đề của cậu liên quan tới MySQL container. Duới đây là stack trace:
WARNINGS:
?: (mysql.W002) MySQL Strict Mode is not set for database connection 'default'
    HINT: MySQL's Strict Mode fixes many data integrity problems in MySQL, such as data truncation upon insertion, by escalating warnings into errors. It is strongly recommended you activate it. See: https://docs.djangoproject.com/en/2.2/ref/databases/#mysql-sql-mode
?: (mysql.W002) MySQL Strict Mode is not set for database connection 'read_replica'
    HINT: MySQL's Strict Mode fixes many data integrity problems in MySQL, such as data truncation upon insertion, by escalating warnings into errors. It is strongly recommended you activate it. See: https://docs.djangoproject.com/en/2.2/ref/databases/#mysql-sql-mode
?: (mysql.W002) MySQL Strict Mode is not set for database connection 'student_module_history'
    HINT: MySQL's Strict Mode fixes many data integrity problems in MySQL, such as data truncation upon insertion, by escalating warnings into errors. It is strongly recommended you activate it. See: https://docs.djangoproject.com/en/2.2/ref/databases/#mysql-sql-mode
2020-09-28 06:11:58,947 WARNING 82 [py.warnings] [user None] [ip None] __init__.py:2 - /edx/app/edxapp/venvs/edxapp/lib/python3.5/importlib/__init__.py:126: UserWarning: Importing mailing.management instead of lms.djangoapps.mailing.management is deprecated
  return _bootstrap._gcd_import(name[level:], package, level)

Traceback (most recent call last):
  File "manage.py", line 123, in <module>
	execute_from_command_line([sys.argv[0]] + django_args)
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.5/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
	utility.execute()
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.5/site-packages/django/core/management/__init__.py", line 375, in execute
	self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.5/site-packages/django/core/management/base.py", line 323, in run_from_argv
	self.execute(*args, **cmd_options)
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.5/site-packages/django/core/management/base.py", line 364, in execute
	output = self.handle(*args, **options)
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.5/site-packages/django/core/management/base.py", line 83, in wrapped
	res = handle_func(*args, **kwargs)
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.5/site-packages/django/core/management/commands/migrate.py", line 90, in handle
	executor.loader.check_consistent_history(connection)
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.5/site-packages/django/db/migrations/loader.py", line 299, in check_consistent_history
	connection.alias,
django.db.migrations.exceptions.InconsistentMigrationHistory: Migration commerce.0001_data__add_ecommerce_service_user is applied before its dependency user_api.0002_retirementstate_userretirementstatus on database 'default'.

Tớ không thể nói rõ vấn đề của cậu, trừ khi tớ chui được vào mysql container trên máy cậu :sweat_smile: Tuy nhiên, vấn đề này xảy ra, tức là component mysql của cậu bị configure sai (phần config này thường ở file docker-compose).

  • Cậu có cả vấn đề với python ở local machine của cậu:
/bin/sh: 1: python: not found
/bin/sh: 1: [: -lt: unexpected operator

Giờ, cậu có 1 vài hướng giải quyết:

  • Tớ khuyên cậu nên sử dụng nhánh master để cài. Đó luôn là nhánh up to date nhất.
    Cậu có thể follow hướng dẫn ở README.md ở nhánh master.
  • Cậu có thể cân nhắc đưa vấn đề của cậu lên trang này:
    https://discuss.openedx.org/
    Nhớ cung cấp full log cho họ nhé! :smile:

Trước mắt, cậu thử chạy sử dụng nhánh master xem. Nhớ cleanup hết docker container trước nhé (Chỉ cần gọi make down trong thư mục code của cậu thôi).

4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?