Servidor Next BP no Linux Debian 9 x64
Configurar o Timezone do sistema operacional
sudo timedatectl set-timezone America/Sao_Paulo
Atualizar repositórios do apt:
sudo apt-get update
MariaDB – MySQL Server
sudo apt-get install mariadb-server-10.1
Execute o procedimento de instalação segura do MySQL, removendo usuários anônimos, desabilitando login remoto do root, removendo bases de testes e recarregando os novos privilégios.
sudo mysql_secure_installation
Change the root password? N
Remove anonymous users? Y
Disallow root login remotely? Y
Remove test database and access to it? Y
Reload privilege tables now? Y
Acesse o MySQL
sudo mysql
Execute as instrução para criar o base de dados next_bp, o usuário next_bp e adicionar o privilégio total de acesso à base next_bp ao usuário next_bp:
CREATE SCHEMA next_bp DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'next_bp'@'localhost' IDENTIFIED BY 'senha_do_banco';
GRANT ALL PRIVILEGES ON next_bp.* TO 'next_bp'@'localhost' WITH GRANT OPTION;
Saia do MySQL
exit;
Apache + PHP
Instale o Apache2 e o PHP7
sudo apt-get install apache2
sudo apt-get install php libapache2-mod-php php-mcrypt php-json php-gd php-imap php-interbase php-ldap php-odbc php-xml php-xmlrpc php-mysql php-curl php-mbstring php-zip
Habilite o módulo rewrite do Apache:
sudo a2enmod rewrite
Configure o “Virtual Host” em:
nano /etc/apache2/sites-available/000-default.conf
Após a linha “DocumentRoot /var/www/html/”, adicione o bloco “Directory”:
DocumentRoot /var/www/html/
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Ative o site e reinicie o Apache.
sudo a2ensite 000-default
sudo service apache2 restart
Adicione no arquivo index.php a chamada da função phpinfo:
sudo rm /var/www/html/index.html
sudo nano /var/www/html/index.php
<?php phpinfo();
Acesse pelo navegador o IP do servidor e veja se carregou o PHP Info.
Localize o arquivo php.ini utilizado pelo apache e altere algumas configurações:
sudo nano /etc/php/7.0/apache2/php.ini
post_max_size=1024M
upload_max_filesize=100M
max_file_uploads=100
max_input_time = 3600
max_execution_time = 300
Caso necessário aumente os parâmetros da configuração sugerida acima.
IonCube
Realize o download dos loaders do IonCube
wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
sudo tar -zxvf ioncube_loaders_lin_x86-64.tar.gz -C /usr/lib/php/
Encontre qual é arquivo compativel com sua versão do PHP, acesse a paginal inicial através do IP e verifique qual é o número da versão do PHP se a versão Thread Safety ou não (se for utilizar arquivos com “_ts”), além da localização do arquivo php.ini para adicionar a nova extensão.
sudo ls /usr/lib/php/ioncube/ioncube_loader_lin_*
/usr/lib/php/ioncube/ioncube_loader_lin_7.0.so
/usr/lib/php/ioncube/ioncube_loader_lin_7.0_ts.so
/usr/lib/php/ioncube/ioncube_loader_lin_7.1.so
/usr/lib/php/ioncube/ioncube_loader_lin_7.1_ts.so
sudo nano /etc/php/7.0/apache2/php.ini
No final do arquivo, adicione:
[ionCube]
zend_extension=/usr/lib/php/ioncube/ioncube_loader_lin_[SUA VERSÃO DO PHP].so
Para testar, reinicie o apache e acesse novamente no navegador:
sudo service apache2 restart
No navegador, você deverá encontrar o texto “with the ionCube PHP Loader (enabled)”
ATENÇÃO!
Repetir o mesmo procedimento para o /etc/php/7.0/cli/php.ini
Este arquivo se refere ao PHP que é chamado na linha de comando.
Para testar digite no console:
php -v
No console, você deverá encontrar o texto “with the ionCube PHP Loader (enabled)”
Next BP
Através de seu computador, envio para o servidor remoto o arquivo de instalação do Next BP.
scp -P 22 bp_17_01_27_01.zip usuario@host_do_servidor:~
Ou faça o download utilizando o comando wget.
wget http://endereco_do_repositorio/bp_17_01_27_01.zip
Outra opção é utilizar o FileZilla para enviar o arquivo.
No servidor, mova o arquivo zip para a pasta /var/www/html/
sudo mv ~/bp_17_01_27_01.zip /var/www/html/
Instale a biblioteca zip para poder descompactar o Next BP.
sudo apt-get install zip
Acesse a pasta /var/www/html/ e descompacte o Next BP:
cd /var/www/html/
sudo unzip bp_17_01_27_01.zip
replace index.php? A
Crie a pasta data
sudo mkdir /var/www/data/
Defina permissões ao grupo www-data para os novos arquivos e diretório
sudo chown -R www-data:www-data /var/www/html/
sudo chown -R www-data:www-data /var/www/data/
sudo chmod -R 775 /var/www/html/
Configure o webservice
cd /var/www/html/webservice/config/
sudo cp System.config.php.sample System.config.php
sudo nano System.config.php
Alterar as constantes:
define('APP_FRONTEND', '/var/www/html/');
define('APP_DATA', '/var/www/data/');
define('DB_PASSWORD', 'senha_do_banco');
Atualize a base de dados do Next BP acessando pelo navegador:
http://ip_do_servidor/#admin
Configure o local de armazenamento para:
/var/www/data/
Configure os Job Scheduler corretamente, desativando scripts desnecessários.
Cron
sudo crontab -e
Adicione a linha:
*/5 * * * * php /var/www/html/webservice/job/Executar.php
Reinicie o serviço do cron para que ele carregue as novas configurações:
sudo service cron restart
Dicas para gerenciamento
Analisar arquivo de log do Apache e PHP em tempo real utilize o comando.
tail -f /var/log/apache2/error.log
Verificar consumo do processador e memória:
top
Status um serviço, exemplo apache:
sudo service apache2 status
Parar um serviço, exemplo apache:
sudo service apache2 stop
Iniciar um serviço, exemplo mysql:
sudo service mysql start
Reiniciar um serviço, exemplo cron:
sudo service cron restart