#Пошаговая установка и настройка gandalf.api + gandalf.web + serega на одном сервере ##Gandalf.api
- Необходимо включить автоапдейт пакетов
- apt-get install unattended-upgrades
- содержание файла /etc/apt/apt.conf.d/10periodic должно быть следующим:
APT::Periodic::Unattended-Upgrade "1";
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
- содержание файла /etc/apt/apt.conf.d/20auto-upgrades
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}-security";
};
- Меняем ssh порт для входа с 22 на 2020
- nano /etc/ssh/sshd_config
- замените Pоrt 22 на Port 2020
- service ssh restart
- На сервере должны быть эти папки: "/www", "/var/www", "/var/www/.ssh", "/var/log", "/var/log/www", пользователь и группа у них www-data
- Установите nginx
sudo apt-get install nginx
- Установите mongodb следуя этим инструкциям https://docs.mongodb.com/v3.2/tutorial/install-mongodb-on-ubuntu/
- Установите php56 и сопутствующие пакеты
sudo apt-get install php5-fpm php5-cli php5-curl php5-mongo
- Скачайте и установите глобально composer следуя этой инструкции https://getcomposer.org/doc/00-intro.md#globally
- Скачайте и настройте исходный код gandalf.api
cd /www sudo -Hu www-data git clone -b forza_prod_version https://github.com/Nebo15/gandalf.api.git cd /www/gandalf.api sudo -Hu www-data composer install sudo -Hu www-data cp .env.example .env
- Установите нужные значения в .env - из имен переменных понятно к чему каждая относится
- Конфигурация nginx для gandalf.api исходя из вышеизложенных настроек и с учетом того, что фронтенд будет находиться на том-же сервере, что и api
server {
listen 81;
add_header 'Access-Control-Allow-Origin' *;
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE';
add_header 'Access-Control-Allow-Headers' 'Authorization,Content-Type,Accept,Origin,User-Agent,DNT,Cache-Control,Keep-Alive,If-Modified-Since,X-Project-ID,X-Date,X-Accept-Charset,X-Application-ID,X-Device-Information,X-Application-Secret-Hash,X-Device-Push-Token,X-Application';
add_header 'X-Frame-Options' 'DENY';
if ($request_method = OPTIONS ) {
return 200;
}
root /www/gandalf.api/public;
location / {
index index.php;
try_files $uri $uri/ /index.php?$query_string;
}
location ~ ^\/index\.php$ {
include fastcgi_params;
try_files $fastcgi_script_name =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_param HTTP_X_REAL_IP $http_x_real_ip;
fastcgi_param HTTP_X_FORWARDED_FOR $http_x_forwarded_for;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
}
}
- После перезапуска nginx - проверьте корректность настройки выполнив команду: curl -X GET 127.0.0.1:81 - ответ должен быть: ok
##gandalf.web
в данном описании настройки сервера будут опущены, так как они все должны быть выполнены для установки gandlf.api пункты 1 - 4
- Устанавливаем npm
apt-get install npm
- Устанавливаем необходимые npm пакеты глобально
npm install -g n bower gulp
- Ставим нужную версию node при помощи n пакета
/usr/local/bin/n v5.10.1
- Устанавливаем compass
apt-get install ruby-dev gem install compass --pre
- В папку www скачайте и соберите код
sudo -Hu www-data git clone -b master-forza https://github.com/Nebo15/gandalf.web.git cd /www/gandalf.web sudo -Hu www-data npm install sudo -Hu www-data bower install
- Сконфигурируйте файл settings/config.json - указав endpoint - Ваш ИП + порт 82
sudo -Hu www-data gulp build
- Конфигурация nginx для gandalf.web с учетом того, что gandalf.api сконфигурировано полностью по вышеописаным рекомендациям
server {
listen 82;
server_name scoring.forza.md;
gzip on;
gzip_types text/css text/plain application/javascript application/json;
location / {
root /www/gandalf.web/www;
index index.html;
charset utf-8;
}
location ~ ^/api/(?<api_path>.*)$ {
set $proxy_host_name "127.0.0.1";
set $proxy_api_path "/api/";
set $proxy_host_scheme "http";
set $proxy_host_port ":81";
resolver 8.8.8.8;
proxy_set_header Host $proxy_host_name;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass $proxy_host_scheme://$proxy_host_name$proxy_host_port$proxy_api_path$api_path?$query_string;
proxy_redirect off;
}
}
- Перезапустите nginx и проверьте корректность настройки. Перейдите по адресу: ИП:82, в форме введите admin:admin - должен появиться внутренний интерфейс gandalf.
##serega #####в данном описании настройки сервера будут опущены, так как они все должны быть выполнены для установки gandlf.api пункты 1-7
-
Скачайте и настройте исходный код serega
cd /www sudo -Hu www-data git clone https://github.com/Nebo15/mbank.api.serega cd /www/mbank.api.serega sudo -Hu www-data composer install sudo -Hu www-data nano .env
APP_ENV=local APP_DEBUG=false APP_KEY=f9g&Y5o-n>&e2~&(^i_orBDWgx=# APP_TIMEZONE=UTC APP_LOCALE=en APP_FALLBACK_LOCALE=en DB_NAME=serega CACHE_DRIVER=array SESSION_DRIVER=cookie API_MONITORING_SECRET=ZidgJjnqu6CUTRCX76sNj2f7 API_FORZA_SECRET=S-e-P7b_-W1@9zL@SEmdP1 API_FORZA_SENDER_NAME=FORZA API_FORZA_TWILIO_ACCOUNT_SID=AC0be53de0fc56264ddf0536f52aa27e32 API_FORZA_TWILIO_TOKEN=710a4d43611dbe229136d5600fda5bac MOLDCELL_PROVIDER_ID=212b4401-3932-4c36-b114-4f67696e30d5 MOLDCELL_DEFAULT_LANGUAGE=ro
-
Сконфигурируйте nginx
server{
listen 80 default_server;
server_name sms.forza.md;
set $php 127.0.0.1:9000;
set $root_path /www/mbank.api.serega;
access_log /var/log/sandbox.sms.access.log;
error_log /var/log/sandbox.sms.error.log;
include /www/mbank.api.serega/nginx.conf;
}
- Перезапустите nginx, при выполнении curl -X GET 127.0.0.1:80 вы должны получить:
<h1>Serega</h1><a href="https://github.com/Nebo15/mbank.api.serega">Documentation GitHub</a>
- Установите для пользователя www-data два крона:
sudo -Hu www-data crontab -e
* * * * * /www/mbank.api.serega/vendor/bin/drunken --config="/www/mbank.api.serega/drunken.config.php" do
0,15,30,45 * * * * /www/mbank.api.serega/vendor/bin/drunken --config="/www/mbank.api.serega/drunken.config.php" clear
##faktura #####в данном описании настройки сервера будут опущены, так как они все должны быть выполнены для установки gandlf.api пункты 1-7
-
Скачайте и настройте исходный код serega
cd /www sudo -Hu www-data git clone https://github.com/Nebo15/faktura.api.git cd /www/faktura.api sudo -Hu www-data composer install sudo -Hu www-data nano .env
APP_ENV=local APP_DEBUG=true APP_KEY=zSYd65N1YhcHCEUdm+J=Ig0= APP_LOCALE=en APP_FALLBACK_LOCALE=en DB_CONNECTION=mongodb DB_HOST=localhost DB_PORT=27017 DB_DATABASE=faktura DB_USERNAME= DB_PASSWORD= CACHE_DRIVER=array SESSION_DRIVER=array QUEUE_DRIVER=array MAMBU_API_URL=https://credits2all.sandbox.mambu.com/api/ MAMBU_API_USER=api_disbursement MAMBU_API_PWD=91gchOOGsM PASSWORD_ADMIN=On.7-R_g PASSWORD_FAKTURA=jLpRz4eHstm~ PASSWORD_VICTORIA=xtaB@uHZignu
-
Сконфигурируйте nginx
server {
listen 85;
root /www/faktura.api/public;
include /www/faktura.api/config/nginx/nginx.conf;
}
- Перезапустите nginx, при выполнении curl -X GET 127.0.0.1:85 вы должны получить:
{"meta":{"code":401,"msg":"ERR_UNAUTHORIZED"}}