putty와 같은 SSH 클라이언트를 사용하거나, Linux Subsystem for Windows(Linux용 Windows 하위 시스템)의 일부라고 생각되는 새로운 셸을 사용할 수 있습니다. 제가 마지막으로 사용했던 Windows 버전은 연도가 버전 설명으로 사용되었기 때문에 이 부분은 도움을 드리기 어렵습니다. Mac을 사용 중이라면 터미널을 열고 ssh를 사용하면 됩니다.
데이터베이스가 크다면 로딩에 시간이 걸리며, 완료될 때까지 새로운 프롬프트가 표시되는 것을 제외하고는 출력이 없습니다. 제 추측으로는 제대로 작동하고 있었던 것 같습니다.
Pups::ExecError: if [ -z "$LETSENCRYPT_ACCOUNT_EMAIL" ]; then echo "LETSENCRYPT_ACCOUNT_EMAIL ENV variable is required and has not been set."; exit 1; fi failed with return #<Process::Status: pid 1187 exit 1>
letsencrypt가 설치되어 있지 않아서 설치했습니다.
“Discourse 호스트와 컨테이너 가져오기 준비” 단계에서 누락된 부분은 LETSENCRYPT_ACCOUNT_EMAIL 환경 변수 줄의 주석을 해제하고 이메일 주소를 입력해야 한다는 것입니다. 이렇게 하니 해당 오류를 해결할 수 있었습니다.
수정:
이상한 오류가 발생했는데, 잘못된 IP를 가리키는 것 같았습니다. Settings.php 파일에 비밀번호가 잘못 입력되어 있었습니다. 이제 수정했습니다.
이제 다음 문제를 해결 중입니다:
Traceback (most recent call last):
7: from script/import_scripts/smf2.rb:627:in `<main>'
6: from script/import_scripts/smf2.rb:28:in `run'
5: from script/import_scripts/smf2.rb:28:in `new'
4: from script/import_scripts/smf2.rb:62:in `initialize'
3: from script/import_scripts/smf2.rb:274:in `create_db_connection'
2: from script/import_scripts/smf2.rb:274:in `new'
1: from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/mysql2-0.5.2/lib/mysql2/client.rb:90:in `initialize'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/mysql2-0.5.2/lib/mysql2/client.rb:90:in `connect': Plugin caching_sha2_password could not be loaded: /usr/lib/x86_64-linux-gnu/mariadb19/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory (Mysql2::Error::ConnectionError)
스크립트 튜닝 파일의 이 줄이 이 문제를 해결하기 위한 것이라고 추측합니다:
ALTER USER 'user'@'%' IDENTIFIED WITH mysql_native_password BY 'pass';
자, 위에서 언급한 문제를 해결했습니다. 이는 최신 버전의 MySQL에서 발생하는 문제입니다. 더 이상 이전 버전의 네이티브 비밀번호를 지원하지 않기 때문입니다. 이 문제를 해결하는 가장 쉬운 방법은 MySQL 5.7을 사용하여 이 프로세스를 실행하는 것입니다. 3단계를 다음 내용으로 변경하세요:
docker run -d -e MYSQL_ROOT_PASSWORD=pass -e MYSQL_USER=user -e MYSQL_PASSWORD=pass -e MYSQL_DATABASE=db -v ~/smf2:/backup --name=mysql mysql