#!/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 yum -y groupinstall "Development tools" --setopt=group_package_types=mandatory,default,optional sudo yum -y install scl-utils centos-release-scl sudo yum -y install \ devtoolset-11 \ openssl-devel readline libyaml-devel readline-devel zlib zlib-devel \ wget git ImageMagick ImageMagick-devel 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.3 asdf global ruby 3.1.3 if [ ! `which ruby` ]; then exit 1; fi asdf plugin add nodejs asdf install nodejs 16.19.0 asdf global nodejs 16.19.0 npm install -g yarn # use devtoolset-11 source /opt/rh/devtoolset-11/enable 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 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 sudo 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 \ 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 << EOF | sudo tee /etc/yum.repos.d/nginx.repo [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/\$releasever/\$basearch/ gpgcheck=0 enabled=0 EOF sudo yum -y --enablerepo=nginx install nginx #sudo nginx -t sudo systemctl enable nginx.service --now 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 && ${ASDF_HOME}/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 | sudo patch --- policy.xml.orig 2016-12-08 13:50:47.344009000 +0900 +++ policy.xml 2016-12-08 13:15:22.529009000 +0900 @@ -67,6 +67,8 @@ - + + + EOF cat <