https://github.com/jeedom/core
Raw File
Tip revision: 4db3f6cd2ab678e723bdd2bab012f5a4243ef638 authored by Loïc on 18 January 2015, 13:06:08 UTC
Update jeeApi.php
Tip revision: 4db3f6c
README.md
# Jeedom by Loïc Gevrey #

Website (English): [https://jeedom.fr/index-en.php](https://jeedom.fr/index-en.php)

Website (French):  [https://jeedom.fr/](https://jeedom.fr/)

(Readme en français [ci-dessous](#french).)

# Automatic install #
```bash
sudo apt-get update
sudo apt-get dist-upgrade
wget -q https://raw.githubusercontent.com/jeedom/core/stable/install/install.sh
sudo chmod 777 install.sh
sudo ./install.sh
```
# Manual install #
## Prerequisites ##

* PHP 5.3
* MySQL
* PHP cURL
* nodeJS

To retrieve necessary packages:
```bash
apt-get update
apt-get install nginx-common  nginx-full
apt-get install mysql-client mysql-common mysql-server mysql-server-core
apt-get install nodejs php5-common php5-fpm php5-cli php5-curl php5-json
```
        
If you need LDAP:
```bash
apt-get install php5-ldap
```



## Installation ##

* Configure `core/config/common.config.sample.php` and rename it to `core/config/common.config.php`;
  * Set up database (DB) access
* Run `php install/install.php`
       
## Configuring nginx ##

### Simple ###

```bash
location / {
  try_files $uri $uri/ /index.html /index.php;
}

location /nodeJS/ {
  proxy_set_header X-NginX-Proxy true;
  proxy_pass http://127.0.0.1:8070/;
  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "upgrade";
  proxy_set_header Host $host;
  proxy_redirect off;
}

location /socket.io/ {
  proxy_pass http://127.0.0.1:8070/socket.io/;
  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "upgrade";
  proxy_set_header Host $host;
  proxy_redirect off;
}

location ~ \.php$ {
  try_files $uri =404;
  fastcgi_pass unix:/var/run/php5-fpm.sock;
  fastcgi_index index.php;
  include fastcgi_params;
}
```

### Vhosts with SSL ###

```bash
server {
  listen       443;
  server_name  my.domain.fr;
  ssl          on;
  ssl_certificate      /etc/nginx/certs/jeedom.crt;
  ssl_certificate_key  /etc/nginx/certs/jeedom.key;

  client_max_body_size 20M;

  error_page  497  https://$host$request_uri;

  proxy_set_header   Host $http_host;
  proxy_set_header   X-Real-IP $remote_addr;
  proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header   X-Forwarded-Proto $scheme;

  location /nodeJS/ {
    proxy_set_header X-NginX-Proxy true;
    proxy_pass http://serverIP:NodeJsPort/;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $host;
    proxy_redirect off;
  }

  location /socket.io/ {
    proxy_pass http://serverIP:NodeJsPort/socket.io/;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $host;
    proxy_redirect off;
  }


  location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
  }
  
}

# Re-routing http requests as https.
server {
  listen 80;
  server_name my.domain.bla www.my.domain.bla;
  rewrite     ^(.*)   https://$server_name$1 permanent;
}
```

## Configuring jeedom ##


* Go to `Admin` and retrieve the api key
* Add this line to the crontab :

```bash
* * * * * * su --shell=/bin/bash - www-data -c "/usr/bin/php /usr/share/nginx/www/jeedom/core/php/jeeCron.php" > /dev/null
```



# French #

# Installation automatic #
```bash
sudo apt-get update
sudo apt-get dist-upgrade
wget -q https://raw.githubusercontent.com/jeedom/core/stable/install/install.sh
sudo chmod 777 install.sh
sudo ./install.sh
```
# Installation manuel #

## Pre-requis ##

* PHP 5.3
* MySQL
* PHP cURL
* nodeJS


Si vous n'avez pas encore installé les dépendances :
```bash
apt-get update
apt-get install nginx-common  nginx-full
apt-get install mysql-client mysql-common mysql-server mysql-server-core
apt-get install nodejs php5-common php5-fpm php5-cli php5-curl php5-json
```
        
Si vous avez besoin du LDAP :
```bash
apt-get install php5-ldap
```



## Installation ##

* Configurer `core/config/common.config.sample.php` et le renommer en `core/config/common.config.php`
  * Configurer l'accès à la BDD
* En ligne de commandes exécuter `php install/install.php`
       
## Configuration nginx ##

### Simple ###

```bash
location / {
  try_files $uri $uri/ /index.html /index.php;
}

location /nodeJS/ {
  proxy_set_header X-NginX-Proxy true;
  proxy_pass http://127.0.0.1:8070/;
  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "upgrade";
  proxy_set_header Host $host;
  proxy_redirect off;
}

location /socket.io/ {
  proxy_pass http://127.0.0.1:8070/socket.io/;
  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "upgrade";
  proxy_set_header Host $host;
  proxy_redirect off;
}

location ~ \.php$ {
  try_files $uri =404;
  fastcgi_pass unix:/var/run/php5-fpm.sock;
  fastcgi_index index.php;
  include fastcgi_params;
}
```

### Vhosts avec SSL ###

```bash
server {
  listen       443;
  server_name mon.domain.fr;
  ssl          on;
  ssl_certificate      /etc/nginx/certs/jeedom.crt;
  ssl_certificate_key  /etc/nginx/certs/jeedom.key;

  client_max_body_size 20M;

  error_page  497  https://$host$request_uri;

  proxy_set_header   Host $http_host;
  proxy_set_header   X-Real-IP $remote_addr;
  proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header   X-Forwarded-Proto $scheme;

  location /nodeJS/ {
    proxy_set_header X-NginX-Proxy true;
    proxy_pass http://serverIP:NodeJsPort/;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $host;
    proxy_redirect off;
  }

  location /socket.io/ {
    proxy_pass http://serverIP:NodeJsPort/socket.io/;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $host;
    proxy_redirect off;
  }


  location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
  }
  
}

# Redirection des requêtes http en https
server {
  listen 80;
  server_name mon.domaine.fr www.mon.domaine.fr;
  rewrite     ^(.*)   https://$server_name$1 permanent;
}
```

## Configuration de jeedom ##
* Aller dans `Admin` puis récupérer la clef api
* Ajouter cette ligne à crontab :

  ```bash
  * * * * * * su --shell=/bin/bash - www-data -c "/usr/bin/php /usr/share/nginx/www/jeedom/core/php/jeeCron.php" > /dev/null
  ```
back to top