2022年11月26日土曜日

ConohaVPSを借りてサーバセットアップ

 


今作っている音ゲーのWebsocketの実現の為、VPSを借りるか迷っていたけど、Slackのフリープランのログが3ヵ月経つと見えなくなる現象でdiscordを仮に使っていて、それがどうしても性格に合わず、何か無いかと探していたMattermostに出会う。

そういえばVPS借りようとしていた、これは丁度いいぞ!という事で遂にえいやとVPSをレンタル開始。

使ってみてビックリ!何故もっと早くコレを使っていなかったのか・・と後悔する位!

最近Mattermostも運用が上手くいきだしたし、サーバも動き出したので、何をやったのかをメモしていく事にするわよ!

もう10日以上経ってるので、色々と忘れている事だらけだけど、そんな事関係無い!やるしかない!


何故ConohaVPSにしたのか?

→記憶を探ってみると、WebscoketやMattermostで検索すると良く見るVPSだったのでココかなーという感触もあり、でももっと安い所もあり、色々と迷う事があったけど、やはり、使っている人が多いというのがポイントになった気がする。

申し込みから使えるまで、すぐ!あっという間だった。メモリ1Gのプランで契約。後で感じるのだが、もう半分くらい使ってる感じある。怖い。


OSはubuntu

その流れで、OSはubuntuにする事に。UNIX系のOSは数十年前に使っていたFreeBSD以来で、FreeBSDという選択肢もあったけど、やはり初心者はubuntuが良いという記事に納得性が高かったのでコレで。


何からやるべきかわからん

Webからコンソールが使えるものの、何からやるべきかわからない。

色々調べてみると、まずはターミナルソフトが必要との事。

いつものPuttyを使って接続してみる。繋がる。

rootで繋げて、ユーザーを作ってrootアクセスを禁止するのがセキュリティ的に良いらしい。

早速ユーザを作ってroot権限を与え、rootアクセス禁止に。

その後はsudoを使って何やかやする事に。sudoってその後めっちゃ使うのよね。


いきなりMattermostインストール

discordにもう限界が来ていたので、とにかくすぐにでもMattermostを使いたい気分が高まり、インストール。昔は古いPCにFreeBSDを入れるのに、ディスクイメージなどを作ってやっていた記憶があるけど、そんな事はVPSでは全く必要無くて、どんなソフトもさらっとネットからインストールできるのね。

しかも!前ってビルドとかをする必要があった気がするんだけど、パッケージがそのままダウンできて、aptみたいなのを使うとすぐ入ってすぐに動く!!時代は変わったぜ・・


Webサービスだから、という訳でまずはapacheをインストール。すぐできた。PHPもインストール。あっちゅー間。/var/www/htmlにあるhtmlがブラウザからすぐに表示された。はやっ!!

今こんなに環境が整ってるのね・・。

ファイアーウォールも標準で入っているので、80番開けて、とかしなくて良し。でも一応儀式的にコツコツとファイアーウォールを開けていく。


同時にドメインも取得

ブラウザにIPアドレス直書きはサービスとしてしんどいので、それっぽいドメインをゲット。なぜか0円でした。やすっ!!

ドメインはconohaVPSのブラウザで入力していく。ここで一つわかりずらかったのが、www.uto-soso.comとwww無しのuto-soso.comの登録の仕方。

DNSにドメインを追加して、A(通常)にwwwを入れるのと、@だけのと二つにIPアドレスを入れる、というのがわからんかった。後になってそういう記事も見つけたけど、この辺の感じ難しい。

メール関連は後でやる事にするので後回し。

設定したら間もなくしてドメインでアクセスできた。簡単。



MySQLをインストール

MariaDBというのがMySQLの本体なの?調べたら、MySQLを元にできたのがMariaDBみたいね。知らんかった・・。とにかく調査結果通りにMariaDBをインストール。MattermostのDBとユーザーを作る。この辺で詰まったのは、調査結果によってユーザー名がバラバラで、MMuserだったりMattermostだったりで、初心者にはその文字が何の意味なのか分かりずらいよね・・。

今となっては何となくどういう事がわかるんだけどね。まずはとにかく言われた通りやるしかない。


やっとMattermost本体をインストール

Mattermost本体はあっけなくインストールできた。ただ、バチっと動くまでなかなか上手くいかない、という事が何度もあり、もうあきらめるか・・みたいな瞬間が何回かあった。

何に詰まったのかもう10日も経つと覚えていない!!すぐにメモしろよな~全く・・

ポートだったり、MySQL関連だったり、設定だったり、色々あった気がする・・

詰まって、解決したらすぐにメモ!これ大事よね。

とにかく、httpアクセス、80番はいけた。


Mattermostを使ってみて

使ってみて、コレはいいぞ!という感覚ある。discordに比べてかなりslack感あって、スレッドがちゃんと使えたりするのが最高かもしれん。とても良い。

しかし、英語表示がなかなか日本語に切り替わらない!

これはとにかくかなり時間がかかったけど、結局何で解決したかというと、

システムコンソール→言語の所で、

デフォルトのサーバー言語:日本語

デフォルトのクライアント言語:日本語


までは普通にできて、その次の

利用可能な言語:
に、日本語を入れたらダメ!という事で解決した。これ気づくのにむっちゃ時間かかった・・
ココから日本語を外したら、チャンネルの設定→表示で日本語が選べるようになった。
ココは激しく詰まった箇所でした。今でも覚えてるので。


次はSSL対応だ!
今まではhttpでのアクセスだったので安全じゃないって言われるのよね。これが凄く嫌で。
httpsでアクセスしたいじゃない。で、それももの凄い時間かかった!!

調べたら、Let's encryptというサービスがあって、そこから証明書をゲットすれば正しいサイトしてhttps通信でできるみたい。

調査したら、まずはhttpとしてアクセスしている状態になって、それで証明書クレ!ってやるとサイトを見に来て、大丈夫そうだったら証明書がもらえるという段取りみたい。そんな事ちゃんと書いてないのよね。いきなりもらえるのかなと思っちゃって、サイトを準備せずに四苦八苦。

流れ的には、まずMattermostじゃない普通のwebページを作る
そのページが大丈夫だと、という事でSSL発行してもらう
でいけた。

リパースプロクシって何!?
でも、Mattermostは標準では8065ポートでやり取りするので、ドメイン名の横に「:8065」みたいのが要るし、会社のプロクシは通らないのでアクセスできないし、で80番でアクセスする必要があり、更にhttpsでアクセスとなると、更に無理だった。

そこで、apacheのバーチャルサーバ&リバースプロクシを駆使する必要がある事がわかった。
これの設定で何日もかかった!!
すっごい大変だった!!

順番としては、まずドメインに80や403でアクセスするとapacheが拾い、それを8065に振り分けるという流れ。

二つ以上のドメインを一つのサーバで使う場合はバーチャルサーバというのを使い、ドメインがコッチだったらこっちのフォルダで動きますよ、みたいのを作り、更にその先で8065へ振り分けるというわけ。

とにかく試行錯誤して動かない原因を見つけては潰し、何とか動く事に。
基本的にはググって書いてある事をそのままやればいいのだけど、最後までひっかかったのは

 mod_rewrite , mod_proxymod_proxy_http, and mod_proxy_wstunnel 

をapacheのモジュールとしてインストールしておく事が大事だという事。これに気づかず、なかなか進まないまましばらく経って、これを入れたらバッと動いたので。まあこれらもちゃんと書いてあるんだけどね。見落としがちという事で。

この辺の設定をちゃんとできたら、ようやく、httpsでアクセスできるようになった。
会社からもアクセス確認!良かった!!


Mattermost使ってもらう時の落とし穴
自分でチームを作って、そのままドメインのURLを渡しても、皆さんは入ってこられない事が判明。招待リンクというのが必要で、そのリンクを踏んでもらってユーザーを作ってもらう感じ。そんなのわかるかい!

メール通知サービスの為に、サーバにメールサービスをインストール。その為に後回しにしてたドメインの残りの情報を入力する事に。わかりずらいけど、少しづつ進め、Postfixをインストールして何とかMattermostからメールを出す事ができるようになった。受取はまだ設定してないので出来ない。

そしてようやくMattermostが運用スタート。長かった・・


次はWebサーバ
いよいよWebサーバは簡単にいくかな、と思いながらロリポで動いていたデータをコピーして動かしてみる。動かない!!

調べていくと、sqliteは普通にインストールが必要だったみたい。aptを使ってインストール。

sqliteをインストールしても動かない!これは困ったけど、何をしたら動くようになったか忘れてしまった・・むっちゃ大事だとおもったのに・・
問題が解決したらすぐにメモが必須やな・・思い出したらココに書き込む事にしよう・・

そうこうしているウチにようやく動くようになりました。

読み返してみると歯抜け情報で後で役に立ちそうもないな・・

0 件のコメント:

コメントを投稿