Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This tutorial requires advanced knowledge. We recommend you get professionals to do this if you are not at an advanced level.

Requires: phpFox version >= 4.5.2

 

 

The IM app requires NodeJS and Redis. In this article, we will go over how to setup NodeJS and Redis on the Linux Flavor, Ubuntu. We recommend that you separate your NodeJS, Redis and HTTP server from each other. Your HTTP server is the main web server that has your phpFox source code.

NodeJS Installation

You can choose one of 2 following solutions:

Use Hosting Services

There are cloud-based services where you can host your NodeJS code and Redis database without having to setup anything on a server.:

...

By using these services, you don't need to install NodeJS and Redis as they are installed on servers by default. You can move to "Configure NodeJS and Redis" step

Install NodeJS and Redis on Your Own Servers

If you decide to setup NodeJS and Redis on your own web environments, let's first set up NodeJS.

Node JS

Connect to your NodeJS server via SSH and run the command

Code Block
bash
bash
sudo apt-get install nodejs
sudo ln -s /usr/bin/nodejs /usr/bin/node
sudo apt-get install npm


Next, we need to install Redis.

Code Block
bash
bash
sudo apt-get install redis-server

Configure NodeJS and Redis

At this point your NodeJS is setup. and Redis are installed on your server. We now continue setting up them.

Connect FTP/SSH to the server and upload the folder /PF.Site/Apps/core-im/server/ to a secure directory on your server that does not have HTTP access to it. You can find this folder in the phpFox ZIP package you get when you downloaded our product.

Via SSH, navigate to the folder you just uploaded. You can use the CD command to do this. Example:

...

Code Block
bash
bash
module.exports = {
    port: 3000,
    chat_server_key: "your-chat-server-key",
    secure: false, // use ssl ?
    privateKey: "./private_key.key", // path to private key ?
    cert: "./cert.crt",  // path to cert key ?
    redis: {
        host: '127.0.0.1',
        port: 6379,
        password: ''
    }
};

Redis

Next, we need to install Redis.

...

sudo apt-get install redis-server

SSL Configurations

Please skip this step if your phpFox site doesn't support SSL.
It requires your Chat supports SSL also if you want to use IM app on an SSL site. So, make sure that you have enabled SSL before doing below step:
Open the file config.js, set true for a secure property, you also need to provide the path of private key file and cert key file, an example of the change:

...

Code Block
bash
bash
# your SSL configuration
#ssl on;
#ssl_certificate /path/to/ssl_cert.crt;
#ssl_certificate_key /path/to/ssl_private_key.key;

location /socket.io/ {
    # switch off logging
    access_log off;

    # redirect all HTTP traffic to 127.0.0.1:3000
    proxy_pass http://127.0.0.1:3000;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    # WebSocket support (nginx 1.4)
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
}

Complete Setup of NodeJS and Redis 

Congratulation! Chat server has been set up completely, run below command to start it:

...