경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.스팸 방지 검사입니다. 이것을 입력하지 마세요!== 서버(인스턴스) 설치 방식 == === 직접 설치해서 운영 === [https://docs.joinmastodon.org/admin/install/ 마스토돈 인스턴스 공식 설치 참조 문서(영문)] ==== 전제 조건 ==== * 루트 액세스 권한이 있는 [[Ubuntu]] 20.04 또는 [[Debian]] 11 을 실행하는 시스템 * 마스토돈 서버 의 도메인 이름 (또는 하위 도메인), 예:example.com * 이메일 배달 서비스 또는 기타 SMTP 서버 ==== 설치 ==== ===== 사전 준비 ===== ====== 시스템 저장소 ====== 먼저 curl, wget, gnupg, apt-transport-https, lsb-release 및 ca-certificates가 설치되어 있는지 확인한다. <code>apt install -y curl wget gnupg apt-transport-https lsb-release ca-certificates</code> ====== Node.js ====== <code>acurl -sL https://deb.nodesource.com/setup_16.x | bash -</code> ====== PostgreSQL ====== <code>wget -O /usr/share/keyrings/postgresql.asc https://www.postgresql.org/media/keys/ACCC4CF8.asc echo "deb [signed-by=/usr/share/keyrings/postgresql.asc] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/postgresql.list</code> ====== 시스템 패키지 ====== <code>apt update apt install -y \ imagemagick ffmpeg libpq-dev libxml2-dev libxslt1-dev file git-core \ g++ libprotobuf-dev protobuf-compiler pkg-config nodejs gcc autoconf \ bison build-essential libssl-dev libyaml-dev libreadline6-dev \ zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev \ nginx redis-server redis-tools postgresql postgresql-contrib \ certbot python3-certbot-nginx libidn11-dev libicu-dev libjemalloc-dev</code> ====== Yarn ====== <code>corepack enable yarn set version stable</code> ====== [[Ruby]] ====== rbenv를 사용하여 Ruby 버전을 관리한다. 왜냐하면 새로운 릴리스가 나오면 맞는 버전을 얻고 업데이트하는 것이 더 쉽기 때문이다. rbenv는 단일 [[리눅스]] 사용자용으로 설치되어야 하므로 먼저 마스토돈이 다음과 같이 실행될 사용자를 생성해야 합니다. <code>adduser --disabled-login mastodon</code> mastodon 사용자를 생성한 다음 mastodon 사용자로 전환한다. <code>su - mastodon</code> 그리고 rbenv 및 rbenv-build 설치를 진행한다. <code>git clone https://github.com/rbenv/rbenv.git ~/.rbenv cd ~/.rbenv && src/configure && make -C src echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc echo 'eval "$(rbenv init -)"' >> ~/.bashrc exec bash git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build</code> 이 작업이 완료되면 올바른 Ruby 버전을 설치할 수 있다. <code>RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 3.0.3 rbenv global 3.0.3</code> 그 다음 bundler도 설치한다. <code>gem install bundler --no-document</code> 그 다음 다시 root 사용자로 전환한다. <code>exit</code> ===== 본격적인 설치절차 ===== ====== PostgreSQL ====== 마스토돈이 사용할 수 있는 PostgreSQL 사용자를 생성해야 한다. 간단한 설정에서 "ident" 인증을 사용하는 것이 가장 쉽다. 즉, PostgreSQL 사용자는 별도의 암호가 없고 동일한 사용자 이름을 가진 리눅스 사용자가 사용할 수 있다. 우선, 프롬프트를 연다. <code>sudo -u postgres psql</code> <code>CREATE USER mastodon CREATEDB; \q</code> 그러면 DB 세팅은 완료된것이다. ====== 마스토돈 설정하기 ====== 마스토돈 사용자로 전환한다. <code>su - mastodon</code> 그 다음, git로 최신 안정 릴리스를 다운로드한다. <code>git clone https://github.com/tootsuite/mastodon.git live && cd live git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)</code> 그 다음 종속성을 설치한다. <code>bundle config deployment 'true' bundle config without 'development test' bundle install -j$(getconf _NPROCESSORS_ONLN) yarn install --pure-lockfile</code> 그 다음 구성 생성의 차례이다. 대화형 설정 마법사를 실행한다. <code>RAILS_ENV=production bundle exec rake mastodon:setup</code> 이 마법사를 실행할 시 * 구성 파일 만들기 * 사전 컴파일 실행 * 데이터베이스 스키마 생성 이 된다. 구성 파일은 <code>.env.production.</code>에서 원하는 대로 검토하고 편집할 수 있다. 마스토돈 사용자 작업은 마쳤다. 루트 사용자로 전환한다. <code>exit</code> ====== [[nginx]] 설정 ======= 마스토돈 디렉토리에서 nginx용 구성 템플릿을 복사한다. <code>cp /home/mastodon/live/dist/nginx.conf /etc/nginx/sites-available/mastodon ln -s /etc/nginx/sites-available/mastodon /etc/nginx/sites-enabled/mastodon</code> 그런 다음 <code>/etc/nginx/sites-available/mastodon</code>을 자신의 환경에 맞게 수정한다. 변경 사항을 적용하려면 nginx를 재시작한다. ====== SSL 인증서 발급 ====== 다음은 [[Let's Encrypt]]를 사용하여 무료 SSL 인증서를 얻는다. <code>certbot --nginx -d example.com</code> 이렇게 하면 인증서를 얻고 <code>/etc/nginx/sites-available/mastodon</code>에서 새 인증서를 사용하도록 자동으로 업데이트되며 변경 사항이 적용되도록 nginx를 재시작한다. ====== 시스템 서비스 설정 ====== Mastodon 디렉토리에서 systemd 서비스 템플릿을 복사한다. <code>cp /home/mastodon/live/dist/mastodon-*.service /etc/systemd/system/</code> 기본값에서 벗어난 경우 사용자 이름과 경로가 올바른지 확인한다. <code>$EDITOR /etc/systemd/system/mastodon-*.service</code> 마지막으로 새로운 systemd 서비스를 시작하고 활성화한다. <code>systemctl daemon-reload systemctl enable --now mastodon-web mastodon-sidekiq mastodon-streaming</code> 이제 부팅 시 자동으로 시작되며 지정된 도메인으로 접속한다. 요약: 이음위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 4.0 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는 이음위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요. 또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다. 저작권이 있는 내용을 허가 없이 저장하지 마세요! 취소 편집 도움말 (새 창에서 열림)