#!/usr/bin/env bash SS_HOSTNAME=${1:-"example.jp"} SS_USER=${2:-"$USER"} SS_DIR=/var/www/shirasagi ASDF_HOME=${HOME}/.asdf/shims PORT_COMPA=8001 PORT_CHILD=8002 PORT_OPEND=8003 PORT_LPSPL=8004 # selinux sudo sed -i "s/\(^SELINUX=\).*/\1disabled/" /etc/selinux/config sudo setenforce 0 sudo dnf -y upgrade almalinux-release sudo dnf -y groupinstall "Development tools" --setopt=group_package_types=mandatory,default,optional sudo dnf -y install epel-release sudo dnf config-manager --disable epel sudo dnf --enablerepo=epel -y update epel-release sudo dnf -y --enablerepo=epel,powertools install ImageMagick ImageMagick-devel git wget cat <>/dev/null . "${HOME}/.asdf/asdf.sh" . "${HOME}/.asdf/completions/asdf.bash" EOF source $HOME/.bashrc asdf plugin add ruby asdf install ruby 3.1.4 asdf global ruby 3.1.4 if [ ! $(which ruby) ]; then exit 1; fi asdf plugin add nodejs asdf install nodejs 20.5.0 asdf global nodejs 20.5.0 npm install -g yarn git clone -b stable https://github.com/shirasagi/shirasagi sudo mkdir -p /var/www sudo mv shirasagi $SS_DIR cd $SS_DIR cp -n config/samples/*.{rb,yml} config/ for i in $(seq 1 5); do bundle install --without development test --path vendor/bundle if [ $? -eq 0 ]; then break fi sleep 5s done # change secret sed -i "s/dbcae379.*$/$(bundle exec rake secret)/" config/secrets.yml # enable recommendation sed -e "s/disable: true$/disable: false/" config/defaults/recommend.yml >config/recommend.yml sudo systemctl enable firewalld.service --now sudo firewall-cmd --add-port=http/tcp --permanent #sudo firewall-cmd --add-port=https/tcp --permanent #sudo firewall-cmd --add-port=3000/tcp --permanent sudo firewall-cmd --add-port=${PORT_COMPA}/tcp --permanent sudo firewall-cmd --add-port=${PORT_CHILD}/tcp --permanent sudo firewall-cmd --add-port=${PORT_OPEND}/tcp --permanent sudo firewall-cmd --add-port=${PORT_LPSPL}/tcp --permanent sudo firewall-cmd --reload #### Furigana cd wget -O mecab-0.996.tar.gz "https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7cENtOXlicTFaRUE" wget -O mecab-ipadic-2.7.0-20070801.tar.gz "https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7MWVlSDBCSXZMTXM" wget -O mecab-ruby-0.996.tar.gz "https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7VUNlczBWVDZJbE0" wget https://raw.githubusercontent.com/shirasagi/shirasagi/stable/vendor/mecab/mecab-ipadic-2.7.0-20070801.patch cd tar xvzf mecab-0.996.tar.gz cd mecab-0.996 ./configure --enable-utf8-only make sudo make install #cd #sudo mv mecab-0.996 /usr/local/src cd tar xvzf mecab-ipadic-2.7.0-20070801.tar.gz cd mecab-ipadic-2.7.0-20070801 patch -p1 <../mecab-ipadic-2.7.0-20070801.patch ./configure --with-charset=UTF-8 make sudo make install #cd #sudo mv mecab-ipadic-2.7.0-20070801 /usr/local/src cd tar xvzf mecab-ruby-0.996.tar.gz cd mecab-ruby-0.996 ruby extconf.rb make make install #cd #sudo mv mecab-ruby-0.996 /usr/local/src echo "/usr/local/lib" | sudo tee -a /etc/ld.so.conf sudo ldconfig #### Voice cd wget http://downloads.sourceforge.net/hts-engine/hts_engine_API-1.08.tar.gz \ wget http://downloads.sourceforge.net/hts-engine/hts_engine_API-1.08.tar.gz \ http://downloads.sourceforge.net/open-jtalk/open_jtalk-1.07.tar.gz \ http://downloads.sourceforge.net/lame/lame-3.99.5.tar.gz \ http://downloads.sourceforge.net/sox/sox-14.4.1.tar.gz cd tar xvzf hts_engine_API-1.08.tar.gz cd hts_engine_API-1.08 ./configure make sudo make install #cd #sudo mv hts_engine_API-1.08 /usr/local/src cd tar xvzf open_jtalk-1.07.tar.gz cd open_jtalk-1.07 sed -i "s/#define MAXBUFLEN 1024/#define MAXBUFLEN 10240/" bin/open_jtalk.c sed -i "s/0x00D0 SPACE/0x000D SPACE/" mecab-naist-jdic/char.def ./configure --with-charset=UTF-8 make sudo make install #cd #sudo mv open_jtalk-1.07 /usr/local/src cd tar xvzf lame-3.99.5.tar.gz cd lame-3.99.5 ./configure make sudo make install #cd #sudo mv lame-3.99.5 /usr/local/src cd tar xvzf sox-14.4.1.tar.gz cd sox-14.4.1 ./configure make sudo make install #cd #sudo mv sox-14.4.1 /usr/local/src sudo ldconfig #### Nginx cat </dev/null bundle exec rake cms:generate_nodes bundle exec rake cms:generate_pages cat </dev/null 0 * * * * /bin/bash -l -c 'cd ${SS_DIR}; /usr/bin/flock -x -w 10 ${SS_DIR}/tmp/cms_generate_pages_lock bundle exec rake cms:generate_pages' >/dev/null EOF # modify ImageMagick policy to work with simple captcha # see: https://github.com/diaspora/diaspora/issues/6828 cd /etc/ImageMagick && cat < - + + + EOF cat <