Wiki再構築
DBサーバ
#MongoDB
## Install MongoDB
cat << 'EOF' | tee /etc/yum.repos.d/mongodb.repo
[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
EOF
yum -y install mongodb-org
## configure SELinux
yum install -y policycoreutils-python
semanage port -a -t mongod_port_t -p tcp 27017
systemctl start firewalld
systemctl enable firewalld
firewall-cmd --permanent --add-port=27017/tcp
firewall-cmd --reload
cp /etc/mongod.conf{,.org}
sed -i "s/127.0.0.1/0.0.0.0/" /etc/mongod.conf
systemctl start mongod
systemctl enable mongod
## create user
mongo
use admin
db.createUser({user: 'admin', pwd: 'password', roles: [{ role: 'userAdminAnyDatabase', db: 'admin'}]})
db.createUser({user: "root", pwd: "password", roles: [ "root" ]})
use growi
db.createUser({user: "growi", pwd: "aabbccddaabbccdd", roles: [{role: "readWrite", db: "growi"}]})
exit
sed -i "s/^#security:/security:\n authorization: enabled/" /etc/mongod.conf
diff /etc/mongod.conf{,.org}
systemctl restart mongod
# 動作確認
mongo -u "admin" -p "password" --authenticationDatabase "admin"
##Elasticsearch
### https://www.elastic.co/guide/en/elasticsearch/reference/current/rpm.html
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
cat << 'EOF' | tee /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-5.x]
name=Elasticsearch repository for 5.x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
yum install -y elasticsearch
yum install -y java-1.8.0-openjdk.x86_64
cd /usr/share/elasticsearch
bin/elasticsearch-plugin install analysis-kuromoji
bin/elasticsearch-plugin install analysis-icu
### configure memory limit
### https://qiita.com/uzresk/items/e0b10c14875b79c450f2
sed -i -e 's/-Xms2g/-Xms512m/g' /etc/elasticsearch/jvm.options
sed -i -e 's/-Xmx2g/-Xmx512m/g' /etc/elasticsearch/jvm.options
sed -i -e 's/#network.host: 192.168.0.1/network.host: 0.0.0.0/g' /etc/elasticsearch/elasticsearch.yml
sed -i -e 's/#node.name: node-1/node.name: node-1/g' /etc/elasticsearch/elasticsearch.yml
systemctl daemon-reload
systemctl enable elasticsearch.service
systemctl start elasticsearch.service
Appサーバ
#Growi
cd /opt/
curl -sL https://rpm.nodesource.com/setup_8.x | sudo bash -
yum install -y nodejs
npm install -g yarn
yum install -y git
git clone https://github.com/weseek/growi.git
cd growi
yarn
yarn add growi-plugin-lsx
yarn add growi-plugin-pukiwiki-like-linker
firewall-cmd --add-port=3000/tcp --permanent
firewall-cmd --reload
cat << 'EOF' | tee /etc/systemd/system/growi.service
[Unit]
Description=GROWI
After=network.target
[Service]
WorkingDirectory=/opt/growi
EnvironmentFile=/etc/systemd/system/growi.conf
ExecStart=/usr/bin/npm start
[Install]
WantedBy=multi-user.target
EOF
cat << 'EOF' | tee /etc/systemd/system/growi.conf
PORT=3000
MONGO_URI="mongodb://growi:aabbccddaabbccdd@localhost/growi"
ELASTICSEARCH_URI="http://localhost:9200"
EOF
systemctl daemon-reload
systemctl enable growi
systemctl start growi
watch -n 5 systemctl status growi