Skip to content

Instantly share code, notes, and snippets.

@Samorai
Last active September 14, 2017 10:15
Show Gist options
  • Select an option

  • Save Samorai/14de11d1554933cc80db8bca3f55ecb2 to your computer and use it in GitHub Desktop.

Select an option

Save Samorai/14de11d1554933cc80db8bca3f55ecb2 to your computer and use it in GitHub Desktop.

Revisions

  1. Samorai revised this gist Dec 6, 2016. 1 changed file with 5 additions and 7 deletions.
    12 changes: 5 additions & 7 deletions gistfile1.md
    Original file line number Diff line number Diff line change
    @@ -152,10 +152,8 @@ server {
    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=#
    @@ -176,7 +174,7 @@ server {
    MOLDCELL_PROVIDER_ID=212b4401-3932-4c36-b114-4f67696e30d5
    MOLDCELL_DEFAULT_LANGUAGE=ro
    ```
    - Сконфигурируйте nginx
    ```
    @@ -219,7 +217,7 @@ sudo -Hu www-data crontab -e
    sudo -Hu www-data nano .env
    ```
    ```
    APP_ENV=local
    APP_DEBUG=true
    APP_KEY=zSYd65N1YhcHCEUdm+J=Ig0=
    @@ -244,7 +242,7 @@ sudo -Hu www-data crontab -e
    PASSWORD_ADMIN=On.7-R_g
    PASSWORD_FAKTURA=jLpRz4eHstm~
    PASSWORD_VICTORIA=xtaB@uHZignu
    ```
    - Сконфигурируйте nginx
    ```
  2. Samorai revised this gist Dec 6, 2016. 1 changed file with 55 additions and 1 deletion.
    56 changes: 55 additions & 1 deletion gistfile1.md
    Original file line number Diff line number Diff line change
    @@ -205,4 +205,58 @@ 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"}}
    ```
  3. Samorai renamed this gist Dec 5, 2016. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  4. Samorai created this gist Dec 5, 2016.
    208 changes: 208 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,208 @@
    #Пошаговая установка и настройка 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
    ```