synology NASを使用して、サーバーを立てることができるのかを検証しました。
今回は、DS223jを使用して検証してみました。
大まかな手順
1.sshサービスを有効化する
2.sshでsynology NASにログインする
3.file stationのフォルダにアクセスしてnodeでhello world!を返すapiを立ててみる
sshサービスを有効化する
コントロールパネル>端末とSNMP>端末から「SSHサービスを有効化する」にチェックを入れます。
この時に、ポート番号を指定しますが、デフォルトの22番はセキュリティの面から脆弱なので、適当なポート番号を指定する。
今回は12354番を設定しておきました。
sshでsynology NASにログインする
macのターミナルから以下を実行します。
ssh [username]@[IPアドレス] -p [port番号]
username: synologyにログインするときのもの
IPアドレス:コントロールパネル>ネットワーク>ネットワークインターフェイスから確認できます(以下画像参照)
port番号:先ほど設定したもの(今回は12354と設定しました)
file stationのフォルダにアクセスしてnodeでhello world!を返すapiを立ててみる
ログイン後ルートのフォルダ構成を確認すると以下のようになっているかと思います。
bin etc lib lost+found proc sbin usr volume1
config etc.defaults lib32 mnt root sys var
dev initrd lib64 opt run tmp var.defaults
volume1
がfile stationのデータが格納されるフォルダです。
hello worldを返すjsファイルを動かしてみる
今回は以下のindex.jsを使用して、hello world!を返してみます。
const http = require("http");
const port = 3000;
const server = http.createServer((req, res) => {
if (req.url === "/") {
res.statusCode = 200;
res.setHeader("Content-Type", "text/plain");
res.end("Hello World!");
}
});
server.listen(port, () => {
console.log(`Server running at http://localhost:${port}/`);
});
このindex.jsをfile stationの任意のフォルダ(私は、コンテナを立てることを考えていたので、dockerフォルダの中にsynology-api-test/appフォルダを作成して、その中にindex.jsを入れておきました。)に格納してください。
再度ターミナルに戻って以下を実行
cd /volume1/docker/synology-api-test/app
appフォルダ内で以下を実行
node index.js
http://[IPアドレス]:3000
にアクセスすれば「hello world!」が確認できると思います。
(完)