여러분 안녕하세요,
Windows 11 / WSL2 환경에서 동작하는 개발 환경을 설정하기 위해 시간을 보낸 끝에, 제가 따랐던 단계를 공유하고자 합니다.
여기서 처음 글을 남기는 것이므로 누군가에게 도움이 되길 바랍니다
저는 Windows 환경에서 작업하는 데 익숙한 시스템 관리자라, Linux / Ruby / Discourse 등을 배우는 과정이 흥미로운 여정이었습니다.
Windows 10 가이드가 작성된 이후 몇 가지 사항이 변경된 것 같았고, 진행 중 몇 가지 문제에 부딪혔습니다(댓글을 읽어보니 저만이 아니었네요!)
다음 지침이 제 Windows 11 Pro 22H2 설치 환경과, 곧 출시될 Windows 11 23H2 Release Preview의 Windows Insider 빌드에서도 정상적으로 작동함을 확인했습니다.
지침을 최대한 간결하고 직관적으로 유지하겠습니다 ![]()
초기 준비
- WSL 업데이트가 있는지 확인하고 해당되는 경우 설치합니다. Windows Powershell 창에서 다음 명령을 사용합니다:
wsl.exe --update
- 다음 명령을 사용하여 WSL2에 Ubuntu를 설치합니다:
wsl.exe --install -d Ubuntu
-
화면의 안내에 따라 사용자 이름과 비밀번호를 생성합니다.
-
Ubuntu 터미널에 진입한 후, 모든 업데이트를 확인하고 설치합니다.
sudo apt update && sudo apt upgrade -y
- 이제 모든 것이 업데이트되었으므로 진행할 수 있습니다

WSL 수정 사항
- Discourse를 클론하기 전에, /etc/wsl.conf 파일을 열기 위해 다음 명령을 실행합니다:
sudo nano /etc/wsl.conf
- 기존 파일의 하단에 다음 내용을 추가하고, 변경 사항을 저장하려면 Ctrl + X를 누른 후, 프롬프트가 표시되면 "Y"를 누릅니다.
[automount]
enabled = true
root = /mnt/
options = "metadata,umask=22,fmask=11"
-
이러한 변경 사항이 올바르게 적용되도록 WSL 터미널을 완전히 종료하고 다시 시작합니다.
-
이제 개발 환경을 설정하기 위해 다음 한 줄 설치 스크립트를 복사하여 붙여넣습니다. 컴퓨터 속도 및/또는 인터넷 연결 속도에 따라 완료되는 데 시간이 좀 걸릴 수 있으므로, 커피나 음료를 하나 준비해 보세요!
bash <(wget -qO- https://raw.githubusercontent.com/discourse/install-rails/master/linux)
- PostgreSQL 서비스를 시작합니다:
sudo service postgresql start
- WSL2에서 실행 중이므로 VM의 메모리가 부족하다는 경고 메시지가 표시되었는데, 이는 다음을 실행하여 해결할 수 있습니다.
sudo sysctl vm.overcommit_memory=1
- redis-server가 자동으로 재시작되도록 다음을 실행합니다:
redis-server --daemonize yes
- Discourse를 홈 폴더로 클론합니다:
git clone https://github.com/discourse/discourse.git ~/discourse
- 새로 생성된 Discourse 폴더로 이동합니다:
cd ~/discourse
- 다음 명령을 실행합니다(한 줄씩 실행했습니다)(이것이 필수인지, 아니면 한 번에 복사하여 붙여넣어도 되는지 확실하지 않습니다)
source ~/.bashrc
bundle install
yarn install
- 환경을 설정합니다:
RAILS_ENV=development bundle exec rake db:create db:migrate
- Discourse를 시작합니다
DISCOURSE_HOSTNAME=localhost UNICORN_LISTENER=localhost:3000 bin/ember-cli -u
-
별도의 터미널을 열고, cd ~/discourse를 사용하여 Discourse 디렉터리로 이동한 후 rails admin:create를 실행합니다 - 지침을 따라 관리자 사용자 계정을 설정합니다.
-
웹 브라우저에서 http://localhost:4200으로 이동하면 Discourse가 모두 정상적으로 실행되고 있을 것입니다

