12
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ConoHaAdvent Calendar 2018

Day 17

ConoHaWING もしかしたら色々と凄いかもしれないのでMisskey入れようとしてみた

Last updated at Posted at 2018-12-16
1 / 5

TL;DR

ConoHa WING でWordpressでのCRM構築やPHPプログラミング以外にも
RubyとかPython出来るって言っている人いたので
こいつヤベェじゃないのか結構色々出来ちゃうんじゃないかひょっとしたらこんなこともできるんじゃないのか
よしっそれなら、Node.js を入れて Misskeyをインストールできるのか?って疑問に思ったので
実際に試してみた

結果としては
無理やりとも言える方法でConoHa WINGにnode.jsとMongoDB入れれたけどやっぱり通信で躓いた
でも外に出なければ色々できそう感ある。

Misskeyとは

種別的にはMastodonと同じの分散マイクロブログSNSです。 言語はNode.js
image.png


環境構築

(バージョン書き忘れました)

ConoHa WING
https://www.conoha.jp/wing/

portable-node
https://github.com/dmrub/portable-node

Misskey
https://joinmisskey.github.io/ja/


ConoHa WING を立ち上げる

ちゃちゃっとConoHaWINGを立ち上げちゃいます。
まずはサーバを追加して...
1.PNG

好きなドメインを入れて...
2.PNG

はい完成!! 本当にたった3ステップで出来ちゃいます。
3.PNG

今までのレンタルサーバーとは違い、建てた時間だけ請求ですのでちょっとした調査や
2週間だけ建てたい!!っていう時に使えるのでクラウドとレンタルサーバーの゚いい所をぶつけた感じが良いですね。

私は一応独自ドメインを持っていたのでWINGにDNSを通してSSL設定も自動でやろうと思いましたが
4.PNG
ネームサーバーがConoHa宛じゃないとダメみたいですね(まぁ当たり前なんだけどね)

後はSSH設定をすることで外部からサーバコンソールへ接続することができます。
image.png

設定項目だけはSSH-key 作成のみですので誰でも簡単にSSH接続することができます。
11.PNG

Node.js をインストールする。

サーバにはNode.jsがインストールされていません。
ですのでインストールを行う必要がありますが通常の方法ですとsudo権限が必要となります。

ですがsudo権限はないので、portable-nodeというものを使用します。

まずは下記のコマンドでNode.js用のディレクトリを作り実行権限を与えて
Node.js v10.0.0 をインストールします。

mkdir ~/nodejs && cd ~/nodejs
wget https://raw.github.com/dmrub/portable-node/master/bin/install-node.sh
chmod +x ./install-node.sh
sh install-node.sh --version=10.0.0

これで binフォルダの中にNodeとnpm がインストールされます。
ですがこのままだとパスが割り当てられていないのでコマンド使用することはできません。
ですので次は
nodeとnpm のパスを割り当てます。

cd /home/$USER/nodejs/share/nodejs/node-v10.0.0-linux-x64/bin
chmod +x *
export PATH="$PATH:/home/$USER/nodejs/share/nodejs/node-v10.0.0-linux-x64/bin"

バージョン出力してちゃんと出てこればOK
image.png

MongoDBをインストール

これも先程のNode.jsと同じようにMongoDB Server をPortableインストールします。

MongoDB用フォルダとデータフォルダを作成

mkdir ~/mongodb && mkdir ~/mongodb/data && mkdir ~/mongodb/bin
cd ~/mongodb

作成し終わったら ~/mongodb/bin の中にMongoとMongodを入れます。
その後さっきと同じくパッチを当て、データフォルダはさっき作ったディレクトリを指定します。

MongoとMongodは他のCentOSでMongoDBをインストールし、/usr/bin/mongo/usr/bin/mongod を取り出してください。

その後権限とパス設定を行う

cd /home/$USER/mongodb/bin
chmod +x *
export PATH="$PATH:/home/$USER/mongodb/bin"

最後に mongod --dbpath ~/mongodb/data/ &でサーバを立ち上げます。

image.png

終了は top コマンドでmongod のプロセスを調べて殺してください。

これで最低限の環境構築は終わりです

Misskey インストール

Misskeyインストールは基本的にDocに従えばできると思います。

DBあれこいれできたら
image.png

Homeディレクトリに移動し...
image.png
ドキュメントどおりに勧めていけば

image.png

コケました

どうやらgypがPython 3.6.6 には対応していないみたいです
https://sutaba-mac.site/gyp-not-accept-python3/

ですので明示的にPython 2.7 を指定してインストールします。

npm install --python=/opt/alt/python27/bin/python2.7

image.png

インストールが成功したら、

cp .config/example.yml .config/default.yml で .config/example.ymlをコピーし、
default.yml を自分の環境に編集します。

(だいたいイジらなくてはいけない場所はMongoとURLぐらいです。)

そして最後に

npm run build

でビルドをし最後に Finished 'build' が出れば成功です。

image.png

もし環境不足とかでインストール出来ない場合は下記のコマンドを実行してください。

npm install -g node-gyp
node-gyp configure --python=/opt/alt/python27/bin/python2.7
node-gyp build --python=/opt/alt/python27/bin/python2.7
npm run build

さてこれで後は
npm start をするだけ!

image.png
image.png

無理でした。

やっぱり権限や制限的な問題でMongoDBと繋げられることはできない見たいですね。

まぁもしできたとしても次に
基本的に外部との80,443以外のポート番号通信できない&リバースプロキシできない、という壁があるのでどっちにしろMisskeyを立ち上げられても外部から見れないという問題があります。

ですがnode.js や Python3.6.6 と 2.7 が使えるということがわかったので
バックグラウンドでPHP以外のプログラムに処理させるという使い方はできそうです。(例えば:jwt認証やAPI取得整形など)

後はPort問題で直接デバッグはできないと思いますが、Node.js製フレームワークをインストールし、
distで静的ページにすることによって簡易的な管理ページが作れると思います。

https://github.com/akveo/ngx-admin
image.png

image.png

ですがそこまでして無理に他の言語のフレームワークや危ない橋をわたる必要はないと思います。
メインはWordpressですので、管理ページやブログなどは素直にWordpressを使いましょう

それでもほかのを使いたい場合はVPSを使いましょう。(常識的に考えて普通の使い方したほうが一番良い)

結論

buildまで出来たけどMongoDBに接続することが出来なかった、
最後にNodejs製ダッシュボードフレームワーク ngx-adminを試してみると行けたので大きな収穫ができたかなと、

後他の言語で色々するよりやっぱりWordpressやphp製サイトを作ったほうが良い、
他の言語でいろいろするならVPS使ったほうがいいという超当たり前結果に

みんな聴こう!!!!
https://conoha.mikumo.com/music/
キャプチャ.PNG

削除もワンクリックでできました。(最初から削除保護ついていたほうがいいのではっていう気がする。あとせめて確認が1クッションぐらい欲しい)
image.png

12
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?