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

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

ただいまの
回答率

90.61%

  • CentOS

    2644questions

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

  • Node.js

    1805questions

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

  • npm

    264questions

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

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

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,162

j-suzuki

score 18

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

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

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

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 14:25 編集

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

    キャンセル

  • 2017/09/25 14:33

    apacheのバージョンがわからないのですが、通常httpd.confの

    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_http_module modules/mod_proxy_http.so

    これのコメントが外れていればproxyになるはずです。
    コメントがあれば外して再起動です。

    キャンセル

  • 2017/09/25 14:38

    ありがとうございます。apacheのバージョンは2.2.15になります。

    >LoadModule proxy_module modules/mod_proxy.so
    >LoadModule proxy_http_module modules/mod_proxy_http.so

    2つともコメントは外れていました。

    キャンセル

  • 2017/09/25 14: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>

    キャンセル

  • 2017/09/25 15: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の設定でリダイレクトがかかっていて何かおかしいのかもしれません。

    キャンセル

  • 2017/09/25 18:11

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

    キャンセル

  • 2017/09/25 18:37

    まっさらなVPSのcentOS6.9とcentOS7.2で実際にインストールして検証して
    回答しているので、j-suzukiさんのサーバ環境に固有した問題かもしれません。

    /vat/logを見る、あるいはhttpd.confをバックアップを取った後初期の状態に戻して
    apacheの初期画面が正常にでるか?そこから検証しないと原因がつかめません。

    ブラウザのキャッシュも気をつけないといけないので、ブラウザで確認する前に

    curl -i http://{ipアドレス}/

    で素のhtmlが出て404なのかapacheお初期画面なのか確認するのもいいかもしれません。

    気休めですが、

    setenforce 0

    でSELinuxを一時的に無効化するのも解決のいとぐちになるかもしれません。

    キャンセル

  • 2017/09/25 18:54

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

    キャンセル

  • 2017/09/25 19: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
    と出ていました。

    キャンセル

  • 2017/09/25 19: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>

    でやるとどうでしょう?

    キャンセル

  • 2017/09/25 19:40

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

    キャンセル

  • 2017/09/25 20: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

    キャンセル

  • 2017/09/25 20: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ファイルに問題がなければ再起動です。

    キャンセル

  • 2017/09/25 20:22 編集

    入れるポート番号全て、
    httpd を起動中: [Mon Sep 25 19:58:55 2017] [warn] _default_ VirtualHost overlap on port 8080, the first has precedence

    で跳ね返されちゃいます。試したのは8080-8089,88ポート。

    satena様のおっしゃる通り、*.confで設定されてました・・・

    キャンセル

  • 2017/09/25 20:36

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

    キャンセル

  • 2017/09/25 20:42 編集

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

    キャンセル

  • 2017/09/25 20:46 編集

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

    キャンセル

  • 2017/09/25 20:52

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

    キャンセル

  • 2017/09/25 20:55

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

    キャンセル

  • 2017/09/25 21:11 編集

    一応まっさらなhttpd.confで気になるのが

    #ServerName www.example.com:80 //ここはコメントアウトでok

    IncludeOptional conf.d/*.conf //ここはコメントアウト

    キャンセル

  • 2017/09/25 21:19

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

    キャンセル

0

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

/etc/init.d/mongod start

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

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

/etc/init.d/mongod start

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

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/09/20 23:17

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

    キャンセル

  • 2017/09/22 13: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
    と出て先に進みません。

    キャンセル

  • 2017/09/22 13:30

    ubuntuは選択肢にありますか?
    apt install snapd
    snap install rocketchat-server

    この二行でインストール完了します。

    現状の6.9で進めて行く場合、mongoのstatusの確認やnodeのバージョンがv4.5.0なのか一つ一つ確認しながら原因を突き止めないと前に進まないかもしれませんね。

    キャンセル

  • 2017/09/22 17:28

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

    キャンセル

  • 2017/09/22 20:15 編集

    起動しました。ありがとうございます。パスが通ってませんでした。
    しかしブラウザでアクセスできません。

    ページの読み込み中に mydomain:3000 への接続が切断されました。

    受信したデータの真正性を検証できなかったため、このページは表示できませんでした。
    この問題をウェブサイトの管理者に連絡してください。

    と表示されます。どうしたらいいでしょうか。

    それとサブディレクトリの形で(https://mydomain/rocetchat)でアクセスしたいです。
    この辺りの情報をお持ちの方教えてください

    キャンセル

  • 2017/09/22 20: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で正常にアクセスできるようになってからがいいと思います。


    キャンセル

  • 2017/09/22 21:10 編集

    ProxyPass /rocketchat http://localhost:3000/
    とhttpd.confに書き込んだところ,
    画面が青くなりましたが、ログイン画面が出てきません。

    ちなみにですが、サーバは既に別のアプリケーションがSSLで動いています。

    キャンセル

  • 2017/09/22 22: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が
    落ちてしまうのでご注意ください。



    キャンセル

  • 2017/09/22 22:30

    何度もお付き合いいただいて、ありがとうございます。
    上記の設定ファイルをコピーし、rocketcaht.confを作りました。
    ServerNameは自分のドメインにしました。

    これだと404エラーが出てしまいます。
    ここの部分を
    ProxyPass /rocketchat http://127.0.0.1:3000/
    ProxyPassReverse /rocketchat http://127.0.0.1:3000/
    としても404エラーが出てしまいます。

    キャンセル

  • 2017/09/23 06:30

    もう少しで完全に動きそうですね。

    DNSの設定やapacheのproxy周りの設定も確認してみたいですね。

    ProxyPass /rocketchat http://127.0.0.1:3000/
    ProxyPassReverse /rocketchat http://127.0.0.1:3000/

    だと
    http://{ドメイン}/rocketchat/
    になりすますが、これでも404なのでしょうか?

    一度、ここにも目を通してみてください。
    https://qiita.com/gingi99/items/83c1fb07644cd232d91e

    キャンセル

  • 2017/09/23 17:56

    ありがとうございます。確かにあとちょっとのような気がします。

    >http://{ドメイン}/rocketchat/
    >になりすますが、これでも404なのでしょうか?

    はい404エラーになります。

    キャンセル

  • 2017/09/25 09:20

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

    キャンセル

  • 2017/09/25 11:43

    こちらは参考になりますか?
    https://qiita.com/kobake@github/items/351eda569e0635c83a28

    前回の.confへ
    <Location /rocketchat >
    Options -Indexes
    </Location>
    を追加するとどうなるでしょうか?

    キャンセル

  • 2017/09/25 13:17

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

    キャンセル

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

  • ただいまの回答率 90.61%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • CentOS

    2644questions

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

  • Node.js

    1805questions

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

  • npm

    264questions

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