質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

npm

npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Q&A

解決済

2回答

729閲覧

CentOS6.9にRocket.Chatをインストールしたい

j-suzuki

総合スコア50

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

npm

npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

0グッド

0クリップ

投稿2017/09/20 12:57

編集2017/09/21 01:02

CentOS6.9にRocket.Chatをインストールしたいのですが、

http://qiita.com/nekonoprotocol/items/67c5ff7231da4e15017f

ここを見ながら、環境に合わせて操作しました。
その後nodebrewを使ってv8.5.0をインストールしました。

そのあとにnpmをyumでインストールしました。

mongoDBもインストールできました。
起動もしています。
RocketChat自体もダウンロードし、インストールしました。

sudo su - rocketchat
export MONGO_URL=mongodb://127.0.0.1:27017/rocketchat
export ROOT_URL=http://{ホスト名}
export PORT=3000
cd /opt/Rocket.Chat
node main.js

をやったところで、
[]# node main.js
module.js:491
throw err;
^
Error: Cannot find module '/root/main.js'
at Function.Module._resolveFilename (module.js:489:15)
at Function.Module._load (module.js:439:25)
at Function.Module.runMain (module.js:609:10)
at startup (bootstrap_node.js:158:16)
at bootstrap_node.js:598:3

というエラーが出て、先に進みません。
yum install nodejs
とやると、
file /usr/lib/node_modules/npm/node_modules/mkdirp/index.js from install of nodejs-2:8.5.0-1nodesource.x86_64 conflicts with file from package nodejs-mkdirp-0.3.5-3.el6.noarch
などと衝突のエラーが出ます。
<9/21追記>
一度nodejsを削除しました。yum -eで。
で、もう一度nodejsをインストールしたところ、エラーは出なくなりました。

だた、
[]# node main.js
module.js:491
throw err;
^
Error: Cannot find module '/root/main.js'
at Function.Module._resolveFilename (module.js:489:15)
at Function.Module._load (module.js:439:25)
at Function.Module.runMain (module.js:609:10)
at startup (bootstrap_node.js:158:16)
at bootstrap_node.js:598:3

というエラーが出て、先に進みません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

以前appサーバにて127.0.0.1のループバックが引けない現象があり

/etc/hostsのipv6をコメントアウトして正常に表示させることができました。

#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

あと気になるのが、port3000のファイアウォールが開いているか?です。

.confを
ProxyPass /rocketchat https://www.google.co.jp/
ProxyPassReverse /rocketchat https://www.google.co.jp/

とかでproxy自体が正常かどうかも確認したいですね。

投稿2017/09/25 04:31

編集2017/09/25 04:32
satena

総合スコア109

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

j-suzuki

2017/09/25 05:27 編集

ありがとうございます。 ipv6の::1はコメントアウトされていました。 ファイアーウォールですが、外部から確認するサイトで、ドメイン、ポート3000でアクセスできましたの結果が出ました。 それで、ProxyPassを変えてみましたが、結果404エラーでアクセスできませんでした。ですので、Proxyなのだと思いますが、どうしたらいいかわかりません。ご教授いただけると嬉しいです。
satena

2017/09/25 05:33

apacheのバージョンがわからないのですが、通常httpd.confの LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so これのコメントが外れていればproxyになるはずです。 コメントがあれば外して再起動です。
j-suzuki

2017/09/25 05:38

ありがとうございます。apacheのバージョンは2.2.15になります。 >LoadModule proxy_module modules/mod_proxy.so >LoadModule proxy_http_module modules/mod_proxy_http.so 2つともコメントは外れていました。
j-suzuki

2017/09/25 05:52

設定ファイルに間違いがあるのでしょうか? <VirtualHost *:80> ServerName Mydomain ProxyPreserveHost On ProxyPass /websocket ws://localhost:3000/websocket ProxyPassMatch ^/sockjs/(.*)/websocket ws://localhost:3000/sockjs/$1/websocket ProxyRequests Off ProxyPass /roketchat http://127.0.0.1:3000/ ProxyPassReverse /roketchat http://127.0.0.1:3000/ </VirtualHost> <Location /rocketchat > Options -Indexes </Location>
satena

2017/09/25 06:08

LocationはVirtualHostの中に書いて下さい。 ProxyPreserveHost Onは僕が間違えたかもしれません。offでもいいようです。 検証のために <VirtualHost *:80> ServerName Mydomain ProxyRequests Off ProxyPass /roketchat https://www.google.co.jp/ ProxyPassReverse /roketchat https://www.google.co.jp/ </VirtualHost> このシンプルな設定で再起動してみましょう! これでだめとなると、サイト全体にSSLの設定でリダイレクトがかかっていて何かおかしいのかもしれません。
j-suzuki

2017/09/25 09:11

遅くなりました。 確かめて見ましたところ、やはり404エラーになりました。
satena

2017/09/25 09:37

まっさらなVPSのcentOS6.9とcentOS7.2で実際にインストールして検証して 回答しているので、j-suzukiさんのサーバ環境に固有した問題かもしれません。 /vat/logを見る、あるいはhttpd.confをバックアップを取った後初期の状態に戻して apacheの初期画面が正常にでるか?そこから検証しないと原因がつかめません。 ブラウザのキャッシュも気をつけないといけないので、ブラウザで確認する前に curl -i http://{ipアドレス}/ で素のhtmlが出て404なのかapacheお初期画面なのか確認するのもいいかもしれません。 気休めですが、 setenforce 0 でSELinuxを一時的に無効化するのも解決のいとぐちになるかもしれません。
j-suzuki

2017/09/25 09:54

ありがとうございます。 うーん、困りました。実運用中なので、初期化はできないですね。 virtualbox,で試してみます。 あとログとかもみてみようと思います。
j-suzuki

2017/09/25 10:02

ssl_error_logを見たところ [Mon Sep 25 18:58:21 2017] [error] [client 192.168.11.2] File does not exist: /var/www/html/rocketchat と出ていました。
satena

2017/09/25 10:33

documentroot directoryのrocketchatのディレクトリーを見に行って404なのかな? chat.confが有効になっていないみたいですね。それでproxyが無視されているのかも。 他のサイトのconfはどこへ記述されてますか? そこへ <VirtualHost *:80> ServerName Mydomain ProxyRequests Off ProxyPass /roketchat https://www.google.co.jp/ ProxyPassReverse /roketchat https://www.google.co.jp/ </VirtualHost> でやるとどうでしょう?
j-suzuki

2017/09/25 10:40

ありがとうございます。 作成したconfは/etc/httpd/conf.d以下にあり、他のconfもそこにあります。
j-suzuki

2017/09/25 11:01

初歩的なことかもしれませんが、confの場所を指定してませんでした。 https://www.adminweb.jp/apache/ini/index2.html ここを見てインクルードしてみると、warnが出ました。 httpd を起動中: [Mon Sep 25 19:58:55 2017] [warn] _default_ VirtualHost overlap on port 80, the first has precedence
satena

2017/09/25 11:08

通常はデフォルトで*.conf というワイルドカードで全て自動的に読んでるはずですが、 インクルードでも間違いではないと思います。 動作確認の検証なので <VirtualHost *:8080> ServerName Mydomain ProxyRequests Off ProxyPass /roketchat https://www.google.co.jp/ ProxyPassReverse /roketchat https://www.google.co.jp/ </VirtualHost> 8080のポート使ってなければこれでやってみましょう。 apachectl configtest または apache2ctl configtest でconfファイルに問題がなければ再起動です。
j-suzuki

2017/09/25 11:25 編集

入れるポート番号全て、 httpd を起動中: [Mon Sep 25 19:58:55 2017] [warn] _default_ VirtualHost overlap on port 8080, the first has precedence で跳ね返されちゃいます。試したのは8080-8089,88ポート。 satena様のおっしゃる通り、*.confで設定されてました・・・
satena

2017/09/25 11:36

現在のエラーの回避策は httpd.confの中のNameVirtualHostを NameVirtualHost *:80 ワイルドカードで指定してみてください。
j-suzuki

2017/09/25 11:42 編集

NameVirtualHostがコメントアウトされてました。コメントを解除しましたところ、エラーは表示されませんが、ブラウザでアクセスすると404エラーでログを見ると [Mon Sep 25 20:39:20 2017] [error] [client 192.168.11.2] File does not exist: /var/www/html/rocketchat です。
satena

2017/09/25 12:05 編集

他のサイトは大丈夫ですか? 今、再現用にインストールしてます。
j-suzuki

2017/09/25 11:52

aipoというグループウェアをサブディレクトリで動かしてたのが、403で見れません。
j-suzuki

2017/09/25 11:55

aipoは別件で見れなくなってたようです。心配かけてすみません。
satena

2017/09/25 12:30 編集

一応まっさらなhttpd.confで気になるのが #ServerName www.example.com:80 //ここはコメントアウトでok IncludeOptional conf.d/*.conf //ここはコメントアウト
j-suzuki

2017/09/25 12:19

Include conf.d/*.confがあったので、コメントアウトしてみました。 すると、 httpd を起動中: [Mon Sep 25 21:17:16 2017] [warn] NameVirtualHost *:80 has no VirtualHosts と表示され、 ブラウザでアクセスすると、「ページ読み込みエラー」になりました。
guest

0

qiitaの記事で気になったのが、

/etc/init.d/mongod start

でmongoDBを起動させてないのですが、起動してますか?

僕も同じようにインストールして、

/etc/init.d/mongod start

とnodeのバージョンで引っかかりました。

公式ページを参考にしました。

投稿2017/09/20 14:00

satena

総合スコア109

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

j-suzuki

2017/09/20 14:17

ありがとうございます。 service mongod startで起動しています。
j-suzuki

2017/09/22 04:01

nodebrewを使ってv8.5.0を入れましたが、公式では、v4.5なので、v4.5.0を入れてみました。 しかし、 []# node main.js をすると、 module.js:491 throw err; ^ Error: Cannot find module '/root/main.js' at Function.Module._resolveFilename (module.js:489:15) at Function.Module._load (module.js:439:25) at Function.Module.runMain (module.js:609:10) at startup (bootstrap_node.js:158:16) at bootstrap_node.js:598:3 と出て先に進みません。
satena

2017/09/22 04:30

ubuntuは選択肢にありますか? apt install snapd snap install rocketchat-server この二行でインストール完了します。 現状の6.9で進めて行く場合、mongoのstatusの確認やnodeのバージョンがv4.5.0なのか一つ一つ確認しながら原因を突き止めないと前に進まないかもしれませんね。
j-suzuki

2017/09/22 08:28

ありがとうございます。 今の所サーバとしてUbuntuを選択するのは考えていません。 もちろんUbuntuがよくできたOSであるのは知っていますが。
j-suzuki

2017/09/22 11:23 編集

起動しました。ありがとうございます。パスが通ってませんでした。 しかしブラウザでアクセスできません。 ページの読み込み中に mydomain:3000 への接続が切断されました。 受信したデータの真正性を検証できなかったため、このページは表示できませんでした。 この問題をウェブサイトの管理者に連絡してください。 と表示されます。どうしたらいいでしょうか。 それとサブディレクトリの形で(https://mydomain/rocetchat)でアクセスしたいです。 この辺りの情報をお持ちの方教えてください
satena

2017/09/22 11:46

起動おめでとうございます。 通常はhttp://<server-ip>:3000でアクセスできるのですが、centosの場合はhttp://localhost:3000からしかアクセス出来ませんでした。 しかし、これが正常な状態なので、定石のNginx側でリバースプロキシの設定をすればお好きなドメインでアクセス可能です。(ApacheのリバースプロキシでもOK) 参考: https://qiita.com/bmf_san/items/c89d0aacd4410f76d9f8 proxy_pass http://127.0.0.1:3000; でOK SSL化はnginxで正常にアクセスできるようになってからがいいと思います。
j-suzuki

2017/09/22 12:51 編集

ProxyPass /rocketchat http://localhost:3000/ とhttpd.confに書き込んだところ, 画面が青くなりましたが、ログイン画面が出てきません。 ちなみにですが、サーバは既に別のアプリケーションがSSLで動いています。
satena

2017/09/22 13:01

apacheは書き方がちょっと違います。 参考: https://qiita.com/kobake@github/items/351eda569e0635c83a28 僕は/etc/httpd/conf.d/chat.confを新規作成 <VirtualHost *:80> ServerName www.yourdomain.tld ProxyPreserveHost On ProxyPass /websocket ws://localhost:3000/websocket ProxyPassMatch ^/sockjs/(.*)/websocket ws://localhost:3000/sockjs/$1/websocket ProxyRequests Off ProxyPass / http://127.0.0.1:3000/ ProxyPassReverse / http://127.0.0.1:3000/ </VirtualHost> ※www.yourdomain.tldはご自分のドメイン これで正常に動きました。 centos7だと公式のやりかたでrocketchatをsystemdでデーモン化できますが、 6.9の場合pm2などでnodeの永続化をしないとターミナルを閉じてしまうとrocketchatが 落ちてしまうのでご注意ください。
j-suzuki

2017/09/22 13:30

何度もお付き合いいただいて、ありがとうございます。 上記の設定ファイルをコピーし、rocketcaht.confを作りました。 ServerNameは自分のドメインにしました。 これだと404エラーが出てしまいます。 ここの部分を ProxyPass /rocketchat http://127.0.0.1:3000/ ProxyPassReverse /rocketchat http://127.0.0.1:3000/ としても404エラーが出てしまいます。
j-suzuki

2017/09/23 08:56

ありがとうございます。確かにあとちょっとのような気がします。 >http://{ドメイン}/rocketchat/ >になりすますが、これでも404なのでしょうか? はい404エラーになります。
j-suzuki

2017/09/25 00:20

少し補足 現在RocketChatを入れようとしているサーバには、すでに、apacheでサーバが起動しています。 ・index.html ・NetCommons3(2つサブディレクトリで) ・Radmine(サブディレクトリで) ・aipo(サブディレクトリで) ・roundcubemail(サブディレクトリで) ・NextCloud(サブディレクトリで) 全てSSL(https)でアクセスしています。 この状態で、RocketChatをサブディレクトリで運用したいです。
j-suzuki

2017/09/25 04:17

ありがとうございます。 結果は404エラーで Not Found The requested URL /rocketchat was not found on this server. と表示されました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問