CentOS8でmastodonの構築を試みました。
CentOSを選んだ理由は「仕事とかで使い慣れているから」で、Ver,8を選んだのは最新OSのコマンドとかを覚えるため。
手順をまとめているblog等の情報である程度のところまでは構築できました。
しかしながらMastodonのセットアップで失敗しています。
具体的には「bundle exec rails db:setup」コマンドがうまくいかない。
まだ原因究明できていないです。
初めはident認証失敗でしたがOSアカウント作成→PostgreSQLアカウント作成でident認証はOKになりました。
次はよく理解できない状況です。
ここまでの手順だけはまとめたのでメモとして残しておきます。
暇見てまた構築しなおしするかubuntuで作るかなぁ。。。。
# Mastodonをインストールに必要なレポジトリとかを追加
dnf install epel-release
dnf localinstall –nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm
dnf install http://rpmfind.net/linux/epel/7/x86_64/Packages/s/SDL2-2.0.10-1.el7.x86_64.rpm
dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sed -i -e s/enabled=0/enabled=1/g /etc/yum.repos.d/CentOS-PowerTools.repo
# nigixのrepo設定
cat << “_EOF_” > /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
_EOF_
# nodejs v12インストール用設定(2020/6/15時点ではv14はNG)
curl -sL https://rpm.nodesource.com/setup_12.x | bash
# Yarnインストール用設定
curl -sL https://dl.yarnpkg.com/rpm/yarn.repo -o /etc/yum.repos.d/yarn.repo
# 標準PostgreSQLを無効化
dnf -qy module disable postgresql
# パッケージを追加
dnf install make ImageMagick ffmpeg redis postgresql12 postgresql12-server postgresql12-contrib postgresql12-devel nginx nodejs yarn bzip2 gcc-c++ git openssl-devel readline-devel zlib-devel pkgconfig protobuf-devel protobuf-compiler libidn-devel
#Redis起動&自動起動
systemctl start redis
systemctl enable redis
# PostgreSQLの初期化&起動&自動起動
ln -s /usr/pgsql-12/bin/* /usr/local/bin/
/usr/pgsql-12/bin/postgresql-12-setup initdb
systemctl enable postgresql-12
systemctl start postgresql-12.service
# mastodonユーザ追加
useradd mastodon
# DBユーザ作成
sudo su – postgres -c ‘psql -c “CREATE USER mastodon CREATEDB;”‘
# pg_stat_statements の有効化
sed -i.org ‘/shared_preload_libraries/ s/^#//’ /var/lib/pgsql/12/data/postgresql.conf
sed -i “/shared_preload_libraries/ s/”/’pg_stat_statements’/” /var/lib/pgsql/12/data/postgresql.conf
sed -i “/shared_preload_libraries/a pg_stat_statements.track = all” /var/lib/pgsql/12/data/postgresql.conf
systemctl restart postgresql-12
# mastodonユーザへ切り替え
su – mastodon
# Ruby設定(2020/6/15時点でMastodonは2.6.6を要求する模様)
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
cd ~/.rbenv && src/configure && make -C src && cd ~
echo ‘export PATH=”$HOME/.rbenv/bin:$PATH”‘ >> ~/.bash_profile
echo ‘eval “$(rbenv init -)”‘ >> ~/.bash_profile && source ~/.bash_profile
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
rbenv install 2.6.6 && rbenv global $_ && rbenv rehash
# gem系の準備
gem install bundler
gem install cld3 -v ‘3.3.0’ –source ‘https://rubygems.org/’
gem install idn-ruby -v ‘0.1.0’ –source ‘https://rubygems.org/’
gem uninstall rake -v 12.3.3
gem install rake -v 13.0.1
# rake用環境変数を追加
vi ~/.bashrc
export RAILS_ENV=production
# Mastodonインストール
cd ~
git clone https://github.com/tootsuite/mastodon.git live
cd live
git checkout $(git tag | tail -n 1)
bundle install –deployment –without development test
yarn cache clean –force
yarn install
※yarn installで失敗する場合には「yarn cache clean –force」を実施後再実施