# Instalação do Servidor Standalone com Alma Linux 8

# Processo de Instalação

O processo de instalação do Alma Linux 8 é mais interativo que nas outras distribuições e versões, abaixo irei guiar para uma melhor configuração.

Iniciamos a instalação entrando com um pen drive bootavél com o instalador.

Esta tela é da seleção do idioma do servidor, no campo de pesquisa digite português clique em Português na lista do lado esquerdo e em Português (Brasil) na lista do lado direito e clique em **Continuar**.

[![idioma.png](https://kb.illimitar.pro/uploads/images/gallery/2025-05/scaled-1680-/idioma.png)](https://kb.illimitar.pro/uploads/images/gallery/2025-05/idioma.png)

Na tela principal, clique em **REDE &amp; NOME DO HOST**.

[![Idioma nome do host.png](https://kb.illimitar.pro/uploads/images/gallery/2025-05/scaled-1680-/idioma-nome-do-host.png)](https://kb.illimitar.pro/uploads/images/gallery/2025-05/idioma-nome-do-host.png)

No campo Nome do host digite o **hostname** e clique em **Aplicar**. Em seguida, ative a interface deseja, selecionando a interface na lista do lado esquerdo e no switch localizado no lado direito do nome (até ficar azul, conforme na imagem) e clica em **Pronto**.

[![Host.png](https://kb.illimitar.pro/uploads/images/gallery/2025-05/scaled-1680-/host.png)](https://kb.illimitar.pro/uploads/images/gallery/2025-05/host.png)

Voltando para tela principal, clique em **DESTINO DE INSTALAÇÃO**.

[![Destino de instalaçaao.png](https://kb.illimitar.pro/uploads/images/gallery/2025-05/scaled-1680-/destino-de-instalacaao.png)](https://kb.illimitar.pro/uploads/images/gallery/2025-05/destino-de-instalacaao.png)

Clique no disco desejado até ele ficar com um símbolo de marcado (uma bola preta, com um V em branco). Na sessão de particionamento, marque a opção personalizada em **Configuração de armazenamento**.

[![Disco.png](https://kb.illimitar.pro/uploads/images/gallery/2025-05/scaled-1680-/disco.png)](https://kb.illimitar.pro/uploads/images/gallery/2025-05/disco.png)

Remova todas as partições existentes, se existirem, e clique em **"Clique aqui para criá-las automaticamente"**.

[![Auto.png](https://kb.illimitar.pro/uploads/images/gallery/2025-05/scaled-1680-/auto.png)](https://kb.illimitar.pro/uploads/images/gallery/2025-05/auto.png)

Selecione a partição **/home** e no botão de remover identificado com o símbolo de **menos \[ - \]**.

[![home.png](https://kb.illimitar.pro/uploads/images/gallery/2025-05/scaled-1680-/home.png)](https://kb.illimitar.pro/uploads/images/gallery/2025-05/home.png)

Selecione a partição **/** e no campo **Capacidade desejada** informa o total disponível (some o valor atual com o valor do espaço alocado anteriormente para partição **/home**) e clique fora do campo digitado.

- No caso da imagem colocamos um valor maior do que o espaço livre no disco, porém, o sistema irá recalcular e preencher o campo de acordo com o espaço livre no disco.

Clique em **Pronto**.

[![dis.png](https://kb.illimitar.pro/uploads/images/gallery/2025-05/scaled-1680-/dis.png)](https://kb.illimitar.pro/uploads/images/gallery/2025-05/dis.png)

Nessa tela o sistema apenas informa as alterações feitas. Clique em **Aceitar Alterações**.

[![mudanças.png](https://kb.illimitar.pro/uploads/images/gallery/2025-05/scaled-1680-/mudancas.png)](https://kb.illimitar.pro/uploads/images/gallery/2025-05/mudancas.png)

Voltando para tela principal, clique em **"Iniciar a instalação"** até abrir a tela acima.

[![Iniciar.png](https://kb.illimitar.pro/uploads/images/gallery/2025-05/scaled-1680-/iniciar.png)](https://kb.illimitar.pro/uploads/images/gallery/2025-05/iniciar.png)

A instalação será iniciada e ao finalizar o processo o botão **"Reiniciar sistema"** irá habilitar, clique.

[![2025_05_22_0sw_Kleki.png](https://kb.illimitar.pro/uploads/images/gallery/2025-05/scaled-1680-/2025-05-22-0sw-kleki.png)](https://kb.illimitar.pro/uploads/images/gallery/2025-05/2025-05-22-0sw-kleki.png)

# Instalação Básica

Execute as seguintes instruções disponíveis no bloco abaixo:

```bash
dnf install -y net-tools && \
dnf install -y langpacks-pt_BR glibc-all-langpacks && \
dnf update -y && \
dnf remove -y httpd php* mysql* maria* epel* && \
dnf install -y cronie wget && \
dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm && \
dnf install -y nano postfix crudini htop mlocate iperf logrotate bmon mtr screen chrony tar rsync zip unzip bind-utils python39 && \
echo "export VISUAL=\"nano\"" >> ~/.bash_profile && \
echo "export EDITOR=\"nano\"" >> ~/.bash_profile && \
crudini --set /etc/yum.repos.d/epel.repo epel priority 10 && \
timedatectl set-timezone America/Sao_Paulo && \
localectl set-locale LANG=pt_BR.UTF-8 && \
sed -i -e "s/.*SELINUX=enforcing.*/SELINUX=disabled/" /etc/sysconfig/selinux && \
sed -i -e "s/.*SELINUX=enforcing.*/SELINUX=disabled/" /etc/selinux/config && \
systemctl disable firewalld && \
systemctl stop firewalld && \
reboot
```

O servidor irá reiniciar.

# Instalação do DWService

Execute as seguintes instruções disponível no bloco abaixo:

```bash
wget https://www.dwservice.net/download/dwagent.sh &&\
chmod +x dwagent.sh &&\
./dwagent.sh
```

Responsa o seguinte questionário:

- \[...\] 1. Instalar / 2. Executar / 3. Eu não aceito / Opção (3): **1**
- Caminho (/usr/share/dwagent): **pressione ENTER**
- Você deseja instalar o DWAgent em '/usr/share/dwagent'? 1. Sim / 2. Não / Opção (2): **1**
- Configurar o agente? 1. Insira o código de instalação / 2. Criar um novo agente / Opção (1): **1**
- Inserir o código de instalação / Código: **digite o código de instalação disponível na licença**

# Instalação do MySQL

Execute as seguintes instruções disponível no bloco abaixo:

```bash
cd ~ && \
dnf module disable mysql -y && \
dnf install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm && \
percona-release setup ps-80 && \
dnf install -y percona-server-client
```

Continue com a execução:

```bash
dnf install -y percona-server-client percona-server-server percona-xtrabackup-80 qpress && \
systemctl start mysql.service
```

Será necessário capturar a senha gerada automaticamente na instalação do serviço de MySQL, através do seguinte comando:

```bash
cat /var/log/mysqld.log  | grep "temporary password is generated"
```

Com a senha temporária gerada que foi exibida pelo comando anterior, continue executando o seguinte comando abaixo:

```bash
/usr/bin/mysql_secure_installation
```

Responsa o seguinte questionário:

- Enter password for user root: **digitar a senha temporária informada**
- New password: **digite a nova senha**
- Re-enter new password: **repita a nova senha**
- Change the password for root? ((Press y|Y for Yes, any other key for No): **Y**
- New password: **digite a nova senha novamente**
- Re-enter new password: **repita a nova senha novamente**
- Do you wish to continue with the password provided? (Press y|Y for Yes, any other key for No): **Y**
- Remove anonymous users? (Press y|Y for Yes, any other key for No): **Y**
- Disallow root login remotely? (Press y|Y for Yes, any other key for No): **No**
- Remove test database and access to it? (Press y|Y for Yes, any other key for No): **Y**
- Reload privilege tables now? (Press y|Y for Yes, any other key for No): **Y**

É necessário executar as seguintes instruções por determinação do **Percona** (será solicitado a senha do usuário **root** do **MySQL** nos três comandos):

```bash
mysql -u root -p -e "CREATE FUNCTION fnv1a_64 RETURNS INTEGER SONAME 'libfnv1a_udf.so'" && \
mysql -u root -p -e "CREATE FUNCTION fnv_64 RETURNS INTEGER SONAME 'libfnv_udf.so'" && \
mysql -u root -p -e "CREATE FUNCTION murmur_hash RETURNS INTEGER SONAME 'libmurmur_udf.so'"
```

Continue executando as seguintes instruções disponível no bloco abaixo:

```bash
crudini --set /etc/my.cnf mysqld sql_mode STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION && \
crudini --set /etc/my.cnf mysqld max_allowed_packet 64M && \
crudini --set /etc/my.cnf mysqld bind-address 0.0.0.0 && \
crudini --set /etc/my.cnf mysqld binlog_expire_logs_seconds 21600 && \
crudini --set /etc/my.cnf mysqld max_binlog_size 500M && \
crudini --set /etc/my.cnf mysqld skip-external-locking 1 && \
crudini --set /etc/my.cnf mysqld skip-host-cache 1 && \
crudini --set /etc/my.cnf mysqld skip-name-resolve 1 && \
crudini --set /etc/my.cnf mysqld performance_schema 1 && \
crudini --set /etc/my.cnf xtrabackup open-files-limit 2000000 && \
crudini --set /etc/systemd/system/mysql.service Service LimitNOFILE 650000 && \
crudini --set /etc/my.cnf mysqldump max-allowed-packet 128M && \
crudini --set /etc/my.cnf mysqldump quick 1 && \
crudini --set /etc/my.cnf mysqldump quote-names 1 && \
sed -i -e "s/.*skip-external-locking.*/skip-external-locking/" /etc/my.cnf && \
sed -i -e "s/.*skip-host-cache.*/skip-host-cache/" /etc/my.cnf && \
sed -i -e "s/.*skip-name-resolve.*/skip-name-resolve/" /etc/my.cnf && \
sed -i -e "s/.*performance_schema.*/performance_schema/" /etc/my.cnf && \
sed -i -e "s/.*quick.*/quick/" /etc/my.cnf && \
sed -i -e "s/.*quote-names.*/quote-names/" /etc/my.cnf
echo "fs.file-max=5000000" >> /etc/sysctl.d/99-sysctl.conf && \
echo "fs.nr_open=2000000" >> /etc/sysctl.d/99-sysctl.conf && \
echo "mysql hard nofile 2000000" >> /etc/security/limits.conf && \
echo "mysql soft nofile 2000000" >> /etc/security/limits.conf && \
sysctl -w fs.file-max=5000000 && \
sysctl -w fs.nr_open=2000000 && \
systemctl daemon-reload
```

Precisamos corrigir o acesso do usuário root do MySQL, com as seguintes instruções (deve ser executada individualmente):

```bash
mysql -h localhost -u root -p mysql -e "SET GLOBAL validate_password.policy = 0;"
```

```bash
mysql -h localhost -u root -p mysql -e "UPDATE user SET Host = '%' WHERE user.Host  = 'localhost' AND user.User  = 'root' LIMIT 1;"
```

Continue executando o seguinte comando abaixo para definir a senha do **root** (a mesma definida no **MySQL Secure Installation**):

> Se houver uma exclamação ( **!senha** ), deverá colocar o contra barra antes ( **\\!senha** ).

```bash
mysql -h localhost -u root -p mysql -e "ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'SENHA';"
```

> Observe que este comando poderá retornar um erro, e você deverá executar novamente para confirmar a operação, aonde retornará mensagem de sucesso.

Finaliza a instalação do MySQL reiniciando o serviço:

```bash
systemctl stop mysql.service && \
systemctl start mysql.service
```

# Instalação do NGINX e PHP

Inicie executando as seguintes instruções disponível no bloco abaixo:

```
dnf -y install http://rpms.remirepo.net/enterprise/remi-release-8.rpm && \
dnf makecache -y && \
dnf module install php:remi-7.3
```

> Será solicitado uma confirmação, aceite.

```bash
dnf install -y nginx git && \
dnf install -y php-fpm php-cli php-mysqlnd php-gd php-curl php-imap php-zip php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-pdo-dblib php-snmp php-soap php-tidy php-sqlite3 php-opcache && \
dnf install -y php-apcu php-mcrypt && \
sysctl -w net.ipv6.conf.all.disable_ipv6=1 && \
sysctl -w net.ipv6.conf.default.disable_ipv6=1 && \
pecl channel-update pecl.php.net && \
systemctl enable nginx.service && \
systemctl enable php-fpm && \
systemctl start nginx.service && \
systemctl start php-fpm.service
```

Agora, vamos preparar pasta do serviço para receber o ILLI e definir as configurações.

Execute as seguintes instruções disponível no bloco abaixo:

```bash
mv /var/www /var/www.old && \
ln -s /usr/share/nginx/html /var/www && \
echo ":)" > /usr/share/nginx/html/index.html && \
cp -f /etc/php.ini /etc/php.ini.sample && \
cp -f /etc/php-fpm.conf /etc/php-fpm.conf.sample && \
sed -i -e "s/.*cgi.fix_pathinfo =.*/cgi.fix_pathinfo = 0/" /etc/php.ini && \
sed -i -e "s/.*date.timezone =.*/date.timezone = America\/Sao_Paulo/" /etc/php.ini && \
sed -i -e "s/.*upload_max_filesize =.*/upload_max_filesize = 500M/" /etc/php.ini && \
sed -i -e "s/.*post_max_size =.*/post_max_size = 500M/" /etc/php.ini && \
sed -i -e "s/.*memory_limit =.*/memory_limit = 1024M/" /etc/php.ini && \
sed -i -e "s/.*max_execution_time =.*/max_execution_time = 1800/" /etc/php.ini && \
sed -i -e "s/.*max_input_time =.*/max_input_time = 1800/" /etc/php.ini && \
sed -i -e "s/.*emergency_restart_threshold =.*/emergency_restart_threshold = 3/" /etc/php-fpm.conf && \
sed -i -e "s/.*emergency_restart_interval =.*/emergency_restart_interval = 1m/" /etc/php-fpm.conf && \
sed -i -e "s/.*process_control_timeout =.*/process_control_timeout = 5s/" /etc/php-fpm.conf && \
cd ~ && \
dnf install -y xorg-x11-server-Xvfb && \
dnf install -y https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox-0.12.5-1.centos8.x86_64.rpm && \
echo 'exec xvfb-run -a -s "-screen 0 1280x1024x16" wkhtmltopdf "$@"' | tee /usr/local/bin/wkhtmltopdf.sh >/dev/null && \
chmod a+x /usr/local/bin/wkhtmltopdf.sh && \
sed -i -e "s/.*opcache.enable=.*/opcache.enable=1/" /etc/php.d/10-opcache.ini && \
sed -i -e "s/.*opcache.interned_strings_buffer=.*/opcache.interned_strings_buffer=8/" /etc/php.d/10-opcache.ini && \
sed -i -e "s/.*opcache.max_accelerated_files=.*/opcache.max_accelerated_files=10000/" /etc/php.d/10-opcache.ini && \
sed -i -e "s/.*opcache.memory_consumption=.*/opcache.memory_consumption=128/" /etc/php.d/10-opcache.ini && \
sed -i -e "s/.*opcache.save_comments=.*/opcache.save_comments=1/" /etc/php.d/10-opcache.ini && \
sed -i -e "s/.*opcache.revalidate_freq=.*/opcache.revalidate_freq=1/" /etc/php.d/10-opcache.ini && \
git config --global --add safe.directory '*'
```

Para configurar o NGINX, precisamos substituir o arquivo de configuração principal, através do comando:

```bash
echo "" > /etc/nginx/nginx.conf && \
nano /etc/nginx/nginx.conf
```

Inserindo o seguinte conteúdo:

```nginx
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;

include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
    multi_accept on;
}

http {

    log_format main '"$remote_addr" $host [$time_local] '
                    '"$request" $status $body_bytes_sent '
                    '$request_length $bytes_sent "$http_referer" '
                    '"$http_user_agent" $request_time "$gzip_ratio"';

    access_log off;

    sendfile on;
    tcp_nopush off;
    tcp_nodelay on;
    keepalive_requests 100;
    keepalive_timeout 65;
    types_hash_max_size 2048;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    gzip off;

    open_file_cache max=2000 inactive=20s;
    open_file_cache_valid 60s;
    open_file_cache_min_uses 5;
    open_file_cache_errors off;
    client_max_body_size 500M;
    large_client_header_buffers 4 64k;
    server_tokens off;

    include /etc/nginx/conf.d/*.conf;
}
```

Criar o arquivo **/etc/nginx/fastcgi\_params.conf** com os comandos abaixo:

```bash
nano /etc/nginx/fastcgi_params.conf
```

Insira o conteúdo conforme abaixo:

```nginx
try_files $uri =404;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_connect_timeout 1800s;
fastcgi_send_timeout 1800s;
fastcgi_read_timeout 1800s;
fastcgi_buffer_size 4096k;
fastcgi_buffers 128 4096k;
fastcgi_busy_buffers_size 4096k;
include fastcgi_params;
```

Criar o arquivo **/etc/nginx/default.d/proxy.conf** com os comandos abaixo:

```bash
nano /etc/nginx/default.d/proxy.conf
```

Insira o conteúdo conforme abaixo:

```nginx
proxy_redirect off;
proxy_http_version 1.1;

proxy_buffering on;
proxy_buffer_size 4096k;
proxy_buffers 128 4096k;
proxy_busy_buffers_size 4096k;
proxy_connect_timeout 1800s;
proxy_send_timeout 1800s;
proxy_read_timeout 1800s;
send_timeout 1800s;

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

Criar o arquivo **/etc/nginx/default.d/default.conf** com os comandos abaixo:

```bash
nano /etc/nginx/default.d/default.conf
```

Insira o conteúdo conforme abaixo:

```nginx
location / {
    index  index.php index.html index.htm;
    rewrite ^/gestor/(.*)$ /gestor/index.php?u=$1 last;
    try_files $uri $uri/ /index.php?$args;
    proxy_buffering on;
    proxy_buffer_size 4096k;
    proxy_buffers 128 4096k;
    proxy_busy_buffers_size 4096k;
    proxy_connect_timeout 1800s;
    proxy_send_timeout 1800s;
    proxy_read_timeout 1800s;
    send_timeout 1800s;
}

location ^~ /frontend/ {
    gzip on;
    gzip_http_version 1.1;
    gzip_comp_level 5;
    gzip_min_length 256;
    gzip_proxied any;
    gzip_vary on;
    gzip_types
      application/atom+xml
      application/javascript
      application/json
      application/rss+xml
      application/vnd.ms-fontobject
      application/x-font-ttf
      application/x-web-app-manifest+json
      application/xhtml+xml
      application/xml
      font/opentype
      image/svg+xml
      image/x-icon
      text/css
      text/plain
      text/x-component;
}

location ^~ /database {
    deny all;
    return 404;
}

location ~ \.cnf$ {
    deny all;
    return 404;
}

location ~ \.log$ {
    deny all;
    return 404;
}

location ~ \.sh$ {
    deny all;
    return 404;
}

location ~ cookie_(.*)$ {
    deny all;
    return 404;
}

location ~ config_local_(.*)$ {
    deny all;
    return 404;
}

location ^~ /.git/ {
    deny all;
    return 404;
}

location ^~ /backend/ {
    deny all;
    return 404;
}

location ^~ /documentacao/ {
    deny all;
    return 404;
}

location ^~ /migrations/ {
    deny all;
    return 404;
}

location ^~ /extras/nfe/ {
    deny all;
    return 404;
}

location ^~ /extras/nfephp/ {
    deny all;
    return 404;
}

error_page 404 /404.html;
    location = /40x.html {
    root   /usr/share/nginx/html;
}

error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    root   /usr/share/nginx/html;
}
```

Criar o arquivo **/etc/nginx/default.d/php.conf** com os comandos abaixo:

```bash
echo "" > /etc/nginx/default.d/php.conf && \
nano /etc/nginx/default.d/php.conf
```

Insira o conteúdo conforme abaixo:

```nginx
location ~ \.php$ {
    fastcgi_pass unix:/var/lib/php/php-fpm-illi.sock;
    include fastcgi_params.conf;
}
```

Criar o arquivo **/etc/nginx/default.d/php-sincronismo.conf** com os comandos abaixo:

```bash
nano /etc/nginx/default.d/php-sincronismo.conf
```

Insira o conteúdo conforme abaixo:

```nginx
location ~ \.php$ {
    fastcgi_pass unix:/var/lib/php/php-fpm-illi-sincronismo.sock;
    include fastcgi_params.conf;
}
```

E finalizamos com a preparação das pastas de trabalho, com os seguintes comandos:

```bash
mkdir -p /var/lib/php/sessions && \
mkdir -p /var/lib/php/operacional && \
mkdir -p /var/lib/php/sincronismo && \
mkdir -p /var/lib/php/relatorios && \
chown root:apache /var/lib/php/session && \
chown root:apache /var/lib/php/sessions && \
chmod 777 /var/lib/php/session && \
chmod 777 /var/lib/php/sessions
```

# Instalação do ILLI

Primeiro, vamos precisar clonar o repositório do ILLI, através das instruções:

```
cd /var/www && \
git clone https://git.pdv.moda/publico/standalone.git illi && \
chmod +x illi/*.sh && \
chown -Rf apache:apache .
```

Agora vamos criar a instância do ILLI dentro do NGINX, com o seguinte comando:

```bash
echo "" > /etc/nginx/conf.d/illi.conf && \
nano /etc/nginx/conf.d/illi.conf
```

Insira o conteúdo conforme abaixo:

```nginx
upstream ws-illi {
    ip_hash;
    server 127.0.0.1:7088;
}

server {
    listen 8088;
    server_name  _;

    error_log /var/log/nginx/illi-error.log error;

    location / {
        root   /usr/share/nginx/html/illi;
        include /etc/nginx/default.d/default.conf;
    }

    location ~ \.php$ {
        root   /usr/share/nginx/html/illi;
        include /etc/nginx/default.d/php.conf;
    }

    location /sincronismo {
        include /etc/nginx/default.d/proxy.conf;
        proxy_pass http://127.0.0.1:9088;
    }

    location /ws {
      proxy_redirect off;
      proxy_http_version 1.1;

      proxy_connect_timeout 1800s;
      proxy_send_timeout 1800s;
      proxy_read_timeout 1800s;
      send_timeout 1800s;

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

      proxy_pass http://ws-illi;
    
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
    }
}

server {
    listen  9088;
    server_name  _;
  
    error_log /var/log/nginx/illi-error.log error;
  
    location / {
        root   /usr/share/nginx/html/illi;
        include /etc/nginx/default.d/default.conf;
    }
  
    location ~ \.php$ {
        root   /usr/share/nginx/html/illi;
        include /etc/nginx/default.d/php-sincronismo.conf;
    }
}
```

Em seguida, vamos criar a instância do ILLI dentro do PHP-FPM, com o seguinte comando:

```bash
echo "" > /etc/php-fpm.d/www.conf && \
nano /etc/php-fpm.d/illi.conf
```

Insira o conteúdo conforme abaixo:

```ini
[illi]
listen = /var/lib/php/php-fpm-illi.sock
listen.allowed_clients = 127.0.0.1
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
user = apache
group = apache
pm = ondemand
pm.max_children = 24
pm.max_requests = 200
pm.process_idle_timeout = 10s
security.limit_extensions = .php
php_admin_value[error_log] = /var/log/php-fpm/illi-error.log
php_admin_flag[log_errors] = on
php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/sessions
env[PATH] = '/usr/local/bin:/usr/bin:/bin'

[illi-sincronismo]
listen = /var/lib/php/php-fpm-illi-sincronismo.sock
listen.allowed_clients = 127.0.0.1
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
user = apache
group = apache
pm = ondemand
pm.max_children = 5
pm.max_requests = 50
pm.process_idle_timeout = 10s
security.limit_extensions = .php
php_admin_value[error_log] = /var/log/php-fpm/illi-error.log
php_admin_flag[log_errors] = on
php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/sessions
env[PATH] = '/usr/local/bin:/usr/bin:/bin'

```

E reiniciamos os serviços o ambiente através dos seguintes comandos, para levantarmos o ambiente:

```bash
systemctl stop nginx.service && \
systemctl stop php-fpm.service && \
systemctl start php-fpm.service && \
systemctl start nginx.service
```

# Instalação do Agendador de Tarefas e Criação do Sync

Abra o editor do **CRONTAB** com o comando abaixo:

```bash
crontab -e
```

Insira a seguinte instrução abaixo na última linha:

```ini
* * * * * /usr/bin/sudo -u apache /usr/bin/php /var/www/illi/index.php cron executar;
```

Saia do editor com a sequência **CTRL + X**, e execute o comando abaixo:

```bash
systemctl restart crond.service
```

Com o **agendador de tarefas criado**, podemos seguir para a **criação do Sync.**

Primeiro pegamos o **ip do servidor**, jogamos no **navegador** e no final adicionamos a porta **:8088**<sup class="superscript"></sup>. No navegador irá abrir a seguinte tela:

[![image.png](https://kb.illimitar.pro/uploads/images/gallery/2025-05/scaled-1680-/WwCimage.png)](https://kb.illimitar.pro/uploads/images/gallery/2025-05/WwCimage.png)

**Preencha** de acordo com as informações que possui:

Servidor (hostname): **localhost**

Usuário: **root**

Alias da senha: **!@A7v400mx**

Banco de dados: **illi**

Base de instalação: **/usr**

Por fim clique em C**onfigurar** e a tela irá mudar para essa solicitando a **Licença** criada pro cliente, coloque e **Registre**.

[![Captura de tela 2025-05-28 164834.png](https://kb.illimitar.pro/uploads/images/gallery/2025-05/scaled-1680-/captura-de-tela-2025-05-28-164834.png)](https://kb.illimitar.pro/uploads/images/gallery/2025-05/captura-de-tela-2025-05-28-164834.png)