さくらlink
パケットフィルタに最初は ssh しか設定されていないので http (80,443) を追加する。
これを追加しないといくら ufw や iptables を設定してもインターネット越しの通信が通らない。
$ sudo apt update
/etc/ssh/sshd_config
で鍵認証の追加とパスワード認証の disable を行う
- #PubkeyAuthentication yes
+ PubkeyAuthentication yes
- PasswordAuthentication yes
+ #PasswordAuthentication yes
- PermitRootLogin prohibit-password
+ PermitRootLogin no
Node.js のインストールlink
$ wget http://nodejs.org/dist/v12.5.0/node-v12.5.0-linux-x64.tar.gz
$ tar -C /usr/local --strip-components 1 -xaf node-v12.5.0-linux-x64.tar.gz
$ sudo tar -C /usr/local --strip-components 1 -xaf node-v12.5.0-linux-x64.tar.gz
$ sudo chown -R root:root /usr/local/bin/
nginx のインストールlink
apt 用の GPG key を取得する
$ wget https://nginx.org/keys/nginx_signing.key
$ sudo apt-key add nginx_signing.key
/etc/apt/sources.list
を編集して以下の 2 行を追加
deb http://nginx.org/packages/ubuntu/ bionic nginx
deb-src http://nginx.org/packages/ubuntu/ bionic nginx
更新を反映して nginx をインストール
そのままインストールしようとすると 1.16 をインストールしようとするが、依存パッケージが Ubuntu16 だと追いついていないのでバージョンを指定してインストール
$ sudo apt update
$ sudo apt install nginx=1.10.*
$ sudo systemctl status nginx
MongoDB のインストールlink
公式にチュートリアルがある
https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/
上記ドキュメントが常に正しいと思うが記録のためにコマンドを下記に記す。
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
$ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
$ sudo apt-get update
$ sudo apt-get install -y mongodb-org
# DB は apt-get の upgrade で勝手にバージョンアップされると怖いのでバージョンを固定しておく
$ echo "mongodb-org hold" | sudo dpkg --set-selections
$ echo "mongodb-org-server hold" | sudo dpkg --set-selections
$ echo "mongodb-org-shell hold" | sudo dpkg --set-selections
$ echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
$ echo "mongodb-org-tools hold" | sudo dpkg --set-selections
$ sudo service mongod start
Redis のインストールlink
https://redis.io/download#installation
make がなかったのでインストール
$ sudo apt-get install make
何故か make が失敗する
$ cd redis-5.0.5
$ sudo make
cd src && make all
make[1]: Entering directory '/tmp/redis-5.0.5/src'
CC adlist.o
/bin/sh: 1: cc: not found
Makefile:248: recipe for target 'adlist.o' failed
make[1]: *** [adlist.o] Error 127
make[1]: Leaving directory '/tmp/redis-5.0.5/src'
Makefile:6: recipe for target 'all' failed
make: *** [all] Error 2
そりゃビルドに足りないパッケージあるよな、ということで build-essential をインストール
$ sudo apt-get build-essential
まだ make に失敗するので、次の issue に従って distclean をしたら動くようになった https://github.com/antirez/redis/issues/722
$ make distclean
# 動いた
$ src/redis-server
# 動いたのでインストール
$ sudo make install
$ sudo mkdir -p /var/lib/redis
$ sudo mkdir -p /var/log/redis
$ sudo mkdir -p /etc/redis
$ sudo cp redis.conf /etc/redis
redis の config を公式サイトを参考に設定する
https://redis.io/topics/config
- dir ./
+ dir /var/lib/redis
- logfile ""
+ logfile /var/log/redis/redis.log
- supervised no
+ supervised systemd
systemd の設定
$ sudo vim /etc/systemd/system/redis.service
[Unit]
Description=Redis
[Service]
Type=notify
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli -p 6379 shutdown
User=root
Group=root
[Install]
WantedBy=multi-user.target
systemd 設定の反映と start
$ sudo systemctl daemon-reload
$ sudo systemctl start redis