개발용 Ubuntu 또는 Debian에 Discourse 설치하기

@merefield 이것 때문에 걱정해야 하나요?

1개의 좋아요

네, 그래야 합니다.

redis-cli ping의 출력은 무엇인가요?

내일 다시 알려드릴게요 (오늘 좀 바빠서)

출력값이 PONG입니다.
@merefield 이거 아무 문제없다는 뜻이겠죠? 그럼 왜 타임아웃이 나는 걸까요?

1개의 좋아요

말씀하신 버전으로 Docker를 다운그레이드하라는 건가요?

음… 알겠습니다. 다만 문제가 하나 있습니다. 저는 Docker를 사용하지 않고 있어요. 그럼 결국 이 가이드를 따라야겠네요…

그럼 그렇지! :facepalm: 그건 잘못된 조언이었어요. 삭제했습니다.

응답을 보면 Redis가 응답을 주고 실행 중인 것 같습니다.

Redis가 Discourse가 기대하는 클래식 포트 번호로 실행되고 있나요?

lsof -wni | grep redis를 시도해 보세요.

포트 6379여야 한다고 생각합니다.

2개의 좋아요

실행하면 아무 일도 일어나지 않습니다.

natedhaliwal@raspberrypi:~ $ lsof -wni | grep redis                                                                     
natedhaliwal@raspberrypi:~ $ cd discourse-f                                                                             
natedhaliwal@raspberrypi:~/discourse-f $ lsof -wni | grep redis                                                         
natedhaliwal@raspberrypi:~/discourse-f $ 

디렉토리에 의존하지 않습니다.

다음 명령어를 시도해 보세요:

sudo lsof -wni | grep redis

이 명령어는 redis 서비스를 반환해야 합니다. 그렇지 않다면, 어떤 이유로든 서비스가 실행되지 않는 것이므로 원인을 조사해야 합니다.

1개의 좋아요

이것을 실행한 후에도 여전히 타임아웃 오류가 발생합니다. 매우 이상하네요. 제 ISP가 이를 차단하고 있는 걸까요?

해결책이 아니라 진단입니다. 해당 명령어의 결과는 무엇이었나요?

다음과 같은 형태로 보일 것입니다:

robert@raspberrypi:~/discourse $ sudo lsof -wni | grep redis
redis-ser  890    redis    6u  IPv4   4052      0t0  TCP 127.0.0.1:redis (LISTEN)

또는 이것도 시도해 보세요:

robert@raspberrypi:~/discourse $ ps -A | grep redis
    890 ?        00:00:05 redis-server
2개의 좋아요

@merefield 이렇게 확인했습니다:

natedhaliwal@raspberrypi:~/discourse-f $ sudo lsof -wni | grep redis                          
redis-ser  750        redis    8u  IPv4  16886      0t0  TCP 127.0.0.1:redis (LISTEN)         
natedhaliwal@raspberrypi:~/discourse-f $ ps -A | grep redis                                       
750 ?        00:00:01 redis-server                                                           
9449 ?       00:00:00 redis-server

그렇게 보이면 안 되는데 - redis 프로세스가 두 개 실행되고 있군요?

두 번째 프로세스를 종료하는 것이 좋겠습니다.

1개의 좋아요

redis-cli에서 shutdown 명령을 사용하고, 다시 데이터베이스를 생성하고 마이그레이션하는 건가요?
아니면 client kill을 사용하는 건가요?

아니요, 두 번째 프로세스만 종료하세요

kill -9 <process-id>

이 경우 프로세스 ID는 9449일 것 같습니다.

음…

-bash: kill: (9449) - 작업이 허용되지 않음 

sudo를 사용하세요 …

1개의 좋아요

이것은 오류일까요?

natedhaliwal@raspberrypi:~/discourse-f $ RAILS_ENV=test bin/rails db:create db:migrate                                                                                                                     
Database 'discourse_test' already exists                                                                                                                                                                   
Database 'discourse_test_multisite' already exists                                                                                                                                                         
/home/natedhaliwal/discourse-f/app/models/post_action_type.rb:16:in `expire_cache'                                                                                                                         
/home/natedhaliwal/discourse-f/app/models/post_action_type.rb:42:in `reload_types'                                                                                                                         
/home/natedhaliwal/discourse-f/app/models/flag.rb:37:in `reset_flag_settings!'                                                                                                                             
(eval):78:in `block (2 levels) in run_file'                                                                                                                                                                
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/discourse-seed-fu-2.3.12/lib/seed-fu/runner.rb:46:in `eval'                                                                              
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/discourse-seed-fu-2.3.12/lib/seed-fu/runner.rb:46:in `block (2 levels) in run_file'                                                      
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/discourse-seed-fu-2.3.12/lib/seed-fu/runner.rb:58:in `block in open'                                                                     
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/discourse-seed-fu-2.3.12/lib/seed-fu/runner.rb:57:in `open'                                                                              
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/discourse-seed-fu-2.3.12/lib/seed-fu/runner.rb:57:in `open'                                                                              
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/discourse-seed-fu-2.3.12/lib/seed-fu/runner.rb:36:in `block in run_file'                                                                 
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/activerecord-7.1.4.1/lib/active_record/connection_adapters/abstract/transaction.rb:535:in `block in within_new_transaction'              
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/activesupport-7.1.4.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'                                                     
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/activerecord-7.1.4.1/lib/active_record/connection_adapters/abstract/transaction.rb:532:in `within_new_transaction'                       
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/activerecord-7.1.4.1/lib/active_record/connection_adapters/abstract/database_statements.rb:344:in `transaction'                          
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/activerecord-7.1.4.1/lib/active_record/transactions.rb:212:in `transaction'                                                              
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/discourse-seed-fu-2.3.12/lib/seed-fu/runner.rb:35:in `run_file'                                                                          
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/discourse-seed-fu-2.3.12/lib/seed-fu/runner.rb:26:in `block in run'                                                                      
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/discourse-seed-fu-2.3.12/lib/seed-fu/runner.rb:25:in `each'                                                                              
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/discourse-seed-fu-2.3.12/lib/seed-fu/runner.rb:25:in `run'                                                                               
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/discourse-seed-fu-2.3.12/lib/discourse-seed-fu.rb:29:in `seed'                                                                           
/home/natedhaliwal/discourse-f/lib/tasks/db.rake:264:in `block (2 levels) in <main>'                                                                                                                       
/home/natedhaliwal/discourse-f/lib/distributed_mutex.rb:53:in `block in synchronize'                                                                                                                       
/home/natedhaliwal/discourse-f/lib/distributed_mutex.rb:49:in `synchronize'                                                                                                                                
/home/natedhaliwal/discourse-f/lib/distributed_mutex.rb:49:in `synchronize'                                                                                                                                
/home/natedhaliwal/discourse-f/lib/distributed_mutex.rb:34:in `synchronize'                                                                                                                                
/home/natedhaliwal/discourse-f/lib/tasks/db.rake:234:in `block in <main>'                                                                                                                                  
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:281:in `block in execute'                                                                                   
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:281:in `each'                                                                                               
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:281:in `execute'                                                                                            
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:219:in `block in invoke_with_call_chain'                                                                    
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `synchronize'                                                                                        
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `invoke_with_call_chain'                                                                             
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:188:in `invoke'                                                                                             
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:188:in `invoke_task'                                                                                 
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:138:in `block (2 levels) in top_level'                                                               
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:138:in `each'                                                                                        
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:138:in `block in top_level'                                                                          
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:147:in `run_with_threads'                                                                            
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:132:in `top_level'                                                                                   
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/railties-7.1.4.1/lib/rails/commands/rake/rake_command.rb:27:in `block (2 levels) in perform'                                             
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:214:in `standard_exception_handling'                                                                 
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/railties-7.1.4.1/lib/rails/commands/rake/rake_command.rb:27:in `block in perform'                                                        
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/railties-7.1.4.1/lib/rails/commands/rake/rake_command.rb:44:in `block in with_rake'                                                      
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/rake_module.rb:59:in `with_application'                                                                             
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/railties-7.1.4.1/lib/rails/commands/rake/rake_command.rb:41:in `with_rake'                                                               
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/railties-7.1.4.1/lib/rails/commands/rake/rake_command.rb:20:in `perform'                                                                 
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/railties-7.1.4.1/lib/rails/command.rb:156:in `invoke_rake'                                                                               
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/railties-7.1.4.1/lib/rails/command.rb:73:in `block in invoke'                                                                            
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/railties-7.1.4.1/lib/rails/command.rb:149:in `with_argv'                                                                                 
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/railties-7.1.4.1/lib/rails/command.rb:69:in `invoke'                                                                                     
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/railties-7.1.4.1/lib/rails/commands.rb:18:in `<main>'                                                                                    
<internal:/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37:in `require'                                                                           
<internal:/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37:in `require'                                                                           
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'                                                  
bin/rails:18:in `<main>' 

왜 디스코urs 디렉터리 이름이 discourse-f인가요?

이미 discourse라는 이름의 폴더가 존재하고, 그 안에 이미 가득 차서 클론할 수 없다는 메시지가 표시되는 postgres 폴더가 포함되어 있었습니다. 그래서 새 폴더로 클론을 진행했습니다.
방금 해당 폴더를 sudo rm -rf로 삭제했습니다(rm -rf를 시도했지만 권한이 거부되었다는 메시지가 떴기 때문에, 여기에서 사용한 것과 동일한 방법으로 sudo를 적용했습니다).
이것이 설치에 영향을 미치나요?