ISPConfig: mudanças entre as edições

De Wiki Projeto Root
Ir para navegação Ir para pesquisar
Sem resumo de edição
Linha 460: Linha 460:
   ServerTokens ProductOnly
   ServerTokens ProductOnly
   ServerSignature Off
   ServerSignature Off
== FTP Passivo ==
* FTP-Passivo CentoS 7
  nano /etc/pure-ftpd/pure-ftpd.conf
 
  PassivePortRange 35000 50000
  ForcePassiveIP                X.X.X.X
 
  systemctl restart pure-ftpd.service
* FTP-Passivo Debian 9
  nano /etc/pure-ftpd/conf/ForcePassiveIP
  X.X.X.X
 
  nano /etc/pure-ftpd/conf/PassivePortRange
  35000 50000
 
  systemctl restart pure-ftpd-mysql.service
* Habilitar Passivo no ISPConfig
 
  System > Firewall > ADD
 
  TCP:,35000:50000
  UDP:,35000:50000

Edição das 23h58min de 30 de outubro de 2019

Sobre

Olá! Visitante, reunimos aqui, informações sobre a ferramenta ISPConfig que é um painel de controle para Linux e seu código fonte é licenciado sob a licença BSD. O ISPConfig simplifica a configuração de DNS, múltiplos websites com um único nome (domínio) em um servidor físico, contas de correio eletrônico para vários usuários nesses sites, bases de dados e realiza Backup de toda a estrutura. Com o ISPConfig o profissional pode criar um ambiente para hospedar qualquer site de maneira muito rápida via web, sem precisar recorrer a linha de comando no Linux, crie o ambiente para suas aplicações desenvolvida em PHP, HTML, Python, Java, Ruby e Perl, com uma interface web simples e eficiente do ISPConfig você vai conseguir criar esses ambientes com muita facilidade e sem conhecimento avançados em Linux, tudo isso pelo seu navegador.


Vídeo 1

https://youtu.be/fK5zAh4ULHM


Projeto

  • Escopo Inicial do Projeto
  ------------------------------------------------------------------------------------------
   Montar um Servidor para Hospedar vários sites/sistemas ;
   Este sistema tem que possuir controle de usuarios/clientes ;
   Os sites/sistemas hospedados tem que ter suporte a SSL, E-mail, Backup,Banco de dados;
   Ser um sistema leve e de fácil administração;
   Poder executar configurações adicionais definidas para cada site/sistema;
  ------------------------------------------------------------------------------------------

Preparação do Server

  • Remover do Server o Source CD
 nano /etc/apt/sources.list
  • Atualizar o Sistema
 apt-get update && apt-get upgrade && apt-get dist-upgrade
  • Ajustar os arquivos Hostname e hosts
  nano /etc/hostname
  • Para máquina virtual
 isp
  • Para VPS
server
 nano /etc/hosts
 Para máquina virtual
 192.168.XX.XX isp.local isp
 
 Para VPS
 XXX.XXX.XXX.XXX server.dominio.com.br server


Instalar o unzip e configurar a região (Locales para PT_BR UTF8)

  apt-get install unzip 
  dpkg-reconfigure locales

Download do ISPConfig

 cd /tmp/
 wget --no-check-certificate https://github.com/servisys/ispconfig_setup/archive/master.zip
 unzip master.zip 
 cd ispconfig_setup-master/

Instalação do ISPConfig

 ./install.sh 
 
 Configurações solicitadas via instalação por script:
 Banco: mariadb
 Password: https://www.random.org/passwords/
 Apache (*)
 HHVM (Yes)
 Xcache (Yes)
 PhpMyadmin (Yes)
 MailServer (dovecot)
 Antivirus (Yes)
 Setup User Quota (Yes)
 IspConfig (Standard)
 JailKit (Yes)
 RoundCube (*)
 SSL Conf - (BR)/(RS)/(Cidade)/meusite/TI


Ajustando

Vídeo 2

https://youtu.be/6LNp8DoCXiY


  • Se for máquina virtual
 nano /etc/amavis/conf.d/05-node_id 
 
 #Comenta a linha
 #chomp($myhostname = `hostname --fqdn`);
 
 #Descomenta a linha e coloca o nome do host.local
 $myhostname = "isp.local";
 
  • Se for VPS ignore etapa acima

Instalando o PHP 7.1 e 7.2 (Compilando/Instalando)

  • Instalação Opcional - Apenas para quem precisa utilizar as ultimas versões do PHP
  apt-get install insserv libcurl4-gnutls-dev build-essential autoconf libfcgi-dev libicu-dev libfcgi0ldbl libjpeg62-turbo-dev libmcrypt-dev libssl-dev libc-client2007e libc-client2007e-dev libxml2-dev libbz2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libfreetype6-dev libkrb5-dev libpq-dev libxml2-dev libxslt1-dev 
  • Criando link simbólico para as lib e curl
 ln -s /usr/lib/libc-client.a /usr/lib/x86_64-linux-gnu/libc-client.a
 ln -s /usr/include/x86_64-linux-gnu/curl /usr/include/

Instalando o PHP 7.1

  mkdir -p /opt/php-7.1
  mkdir /usr/local/src/php7-build
  cd /usr/local/src/php7-build
  wget http://br2.php.net/get/php-7.1.26.tar.bz2/from/this/mirror -O php-7.1.26.tar.bz2
  tar jxf php-7.1.26.tar.bz2 
  cd php-7.1.26
  ./configure --prefix=/opt/php-7.1 --with-pdo-pgsql --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml-dir=/usr --enable-soap --enable-calendar --with-curl --with-mcrypt --with-zlib --with-gd --with-pgsql --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip --with-pcre-regex --with-pdo-mysql --with-mysqli --with-mysql-sock=/var/run/mysqld/mysqld.sock --with-jpeg-dir=/usr --with-png-dir=/usr --enable-gd-native-ttf --with-openssl --with-fpm-user=www-data --with-fpm-group=www-data --with-libdir=/lib/x86_64-linux-gnu --enable-ftp --with-imap --with-imap-ssl --with-kerberos --with-gettext --with-xmlrpc --with-xsl --enable-opcache --enable-fpm --enable-intl
  
  make && make install
  
  cp /usr/local/src/php7-build/php-7.1.26/php.ini-production /opt/php-7.1/lib/php.ini
  cp /opt/php-7.1/etc/php-fpm.conf.default /opt/php-7.1/etc/php-fpm.conf
  cp /opt/php-7.1/etc/php-fpm.d/www.conf.default /opt/php-7.1/etc/php-fpm.d/www.conf
  
  • Editar o arquivo abaixo removendo o “;” na linha onde diz pid = run/php-fpm.pid
 nano /opt/php-7.1/etc/php-fpm.conf
  • Editar o arquivo abaixo alterando onde diz listen = 127.0.0.1:9000 para 8998
 nano /opt/php-7.1/etc/php-fpm.d/www.conf
  • Criando script para inicialização
 cd /etc/init.d/
 wget https://www.dropbox.com/s/95q649ip85wfa9t/php-7.1-fpm
 chmod 755 php-7.1-fpm 
 insserv php-7.1-fpm
 /etc/init.d/php-7.1-fpm start
 
 cd  /lib/systemd/system/
 wget https://www.dropbox.com/s/cobv3afhqtj0k0a/php-7.1-fpm.service
 chmod 755 php-7.1-fpm.service 
 systemctl enable php-7.1-fpm.service
 systemctl start php-7.1-fpm.service

Instalando o PHP 7.2

  mkdir -p /opt/php-7.2
  cd /usr/local/src/php7-build
  wget http://br2.php.net/get/php-7.2.15.tar.bz2/from/this/mirror -O php-7.2.15.tar.bz2
  tar jxf php-7.2.15.tar.bz2 
  cd php-7.2.15
  ./configure --prefix=/opt/php-7.2 --with-pdo-pgsql --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml-dir=/usr --enable-soap --enable-calendar --with-curl --with-mcrypt --with-zlib --with-gd --with-pgsql --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip --with-pcre-regex --with-pdo-mysql --with-mysqli --with-mysql-sock=/var/run/mysqld/mysqld.sock --with-jpeg-dir=/usr --with-png-dir=/usr --enable-gd-native-ttf --with-openssl --with-fpm-user=www-data --with-fpm-group=www-data --with-libdir=/lib/x86_64-linux-gnu --enable-ftp --with-imap --with-imap-ssl --with-kerberos --with-gettext --with-xmlrpc --with-xsl --enable-opcache --enable-fpm --enable-intl
  
  make && make install
  
  cp /usr/local/src/php7-build/php-7.2.15/php.ini-production /opt/php-7.2/lib/php.ini
  cp /opt/php-7.2/etc/php-fpm.conf.default /opt/php-7.2/etc/php-fpm.conf
  cp /opt/php-7.2/etc/php-fpm.d/www.conf.default /opt/php-7.2/etc/php-fpm.d/www.conf
  • Editar o arquivo abaixo removendo o “;” na linha onde diz pid = run/php-fpm.pid
 nano /opt/php-7.2/etc/php-fpm.conf
  • Editar o arquivo abaixo alterando onde diz listen = 127.0.0.1:9000 para 8999
 nano /opt/php-7.2/etc/php-fpm.d/www.conf
  • Criando script para inicialização
 cd /etc/init.d/
 wget https://www.dropbox.com/s/103gdw92hxhniy9/php-7.2-fpm
 chmod 755 php-7.2-fpm 
 insserv php-7.2-fpm
 /etc/init.d/php-7.2-fpm start
 
 cd  /lib/systemd/system/
 wget https://www.dropbox.com/s/dttbfvqg6qhgs96/php-7.2-fpm.service
 chmod 755 php-7.2-fpm.service 
 systemctl enable php-7.2-fpm.service
 systemctl start php-7.2-fpm.service

Habilitar no ISP Config 7.1

 * Ir em System > Additional PHP Versions
 * Adicionar Nova Versão 
 * Server: Selecionar o Servidor
 * Client: Deixar em  branco, isso para todos os clientes terem a versão disponível
 * PHP Name: PHP 7.1
 
 * Ir na aba FastCGI Settings:
 * Path to the PHP FastCGI binary: /opt/php-7.1/bin/php-cgi
 * Path to the php.ini directory: /opt/php-7.1/lib
 
 * Ir na aba PHP-FPM Settings:
 * Path to the PHP-FPM init script: /etc/init.d/php-7.1-fpm
 * Path to the php.ini directory: /opt/php-7.1/lib
 * Path to the PHP-FPM pool directory: /opt/php-7.1/etc/php-fpm.d


Habilitar no ISP Config 7.2

 * Ir em System > Additional PHP Versions
 * Adicionar Nova Versão 
 * Server: Selecionar o Servidor
 * Client: Deixar em  branco, isso para todos os clientes terem a versão disponível
 * PHP Name: PHP 7.2
 
 * Ir na aba FastCGI Settings:
 * Path to the PHP FastCGI binary: /opt/php-7.2/bin/php-cgi
 * Path to the php.ini directory: /opt/php-7.2/lib
 
 * Ir na aba PHP-FPM Settings:
 * Path to the PHP-FPM init script: /etc/init.d/php-7.2-fpm
 * Path to the php.ini directory: /opt/php-7.2/lib
 * Path to the PHP-FPM pool directory: /opt/php-7.2/etc/php-fpm.d

Vídeo 3

https://youtu.be/70duw-Q01Go


Sobre os Menus

 Home/Início: Menu/Dashbord inicial
 
 Opção onde exibe uma dashboard/painel de controle com informações de clientes, serviços, sistema, informações administrativas.
   
 Client/Clientes: Menu onde será feito o cadastro de clientes, estes podem ser revendedores do ISP, ao adicionar um cliente novo é possível preencher o cadastro com todos os dados do cliente, como usuário e senha de acesso ao ISPConfig se preciso.
 
 Sites: Menu onde será criado um novo site para um cliente já cadastrado, neste menu alem de fazer o cadastro de sites é possível ativar outros serviços para o cliente, entre eles: FTP, Banco de dados e Softwares adicionais.
 
 Email: Menu onde será criado domínio para o servidor de e-mail para cada site cadastrado, assim é possível ter um webmail diferente para cada cliente. Neste menu também é possível criar contas de e-mail assim como configurações adicionais.
 
 DNS: Menu onde é possível fazer a criação de Zonas de DNS, sendo um primário e outro secundário,ainda que o cliente tenha registro em outro dns é possível ter uma zona configurada aqui.
 
 Monitor: Menu onde é possível acompanhar os status do servidor, identificando possíveis problemas, assim como acesso as informações de hardware e arquivos de logs.
 
 Help/Ajuda: Menu onde é possível encontrar algumas informações ou dicas de utilização, não é muito amplo, porem pode ajudar em determinada situação,além de permitir obter informações sobre a versão do ISPConfig.
 
 Tools/Extras: Menu onde será configurado usuário e senha de acesso ao ispconfig, assim como language/linguagem, interface e ferramentas de sincronia.
  
 System/Sistema: Menu onde será realizada a configuração do ISPConfig, nesta opção será encontrado informações sobre o servidor, como nome, endereço IP, serviços ativos ou inativos, firewall, editor de linguagem, pacotes adicionais etc.. Permitindo a edição de configurações.


Cadastrar Clientes

 * Menu Clientes;
 * Adicionar Novo;
 * Preencher Informações/Limites;
 * Salvar.


Vídeo 4

https://youtu.be/HmCT5k8sZcg

Cadastrar Sites

 * Menu Sites;
 * Adicionar Novo;
 * Configurar|
     Servidor:
     Cliente:
     IPV4 e IPV6:
     Domínio:
     Cota de Disco: -1 (sem cota)
     Tecnologias permitidas: X = Habilitado
     Subdomínio Automático: = www. / *. ou desabilitado
     SSL: X = Habilitado
     Let's Encrypt: X = Habilitado
     PHP: Versão do PHP
     Ativo: X = Habilitado

Configurações Adicionais

     |Redirecionamento|
         Reescrever HTTP para HTTPS: X Habilitado
     |SSL|
         Se utilizar outro Certificado que não o Let's Encrypt
     |Estatísticas|
         Configurar Relatórios de acesso
     |Backup|
         Configuração de Backup do Site (/var/backup)
     |Opções|
         Configurações Avançadas do Apache/PHP

Vídeo 5

https://youtu.be/Gf-E_dT4wi8

Cadastrar Banco de Dados

 * Menu Sites;
 * Banco de Dados;
 * Usuários;
 * Adicionar novo usuário;
 * Cliente | Usuário | Senha
 * Adicionar Banco de dados
 * Selecionar 
     Servidor | Site | Tipo
 * Preencher
     Nome do Banco: *nome do banco fica com a ID do usuario na frente 
     Cota: -1 sem cota
     Usuário: Informar o usuário criado anteriormente
     Usuário somente leitura: Apenas se necessário
     Charset: UTF-8
     Acesso remoto: X = Habilitado (Permite acesso externo ao banco)
     Endereço ips remotos: Apenas os endereços cadastrados tem acesso externo ao banco
     Ativo: X = Habilitado    

Cadastrar E-mail

 * Menu e-mails;
 * Adicionar novo domínio;
 * Cliente:
 * Domínio:
 * Filtro antispam:
 * DomainKeys;
 * Salvar.

Cadastrar contas de E-mail

 * Menu e-mails;
 * Contas de e-mail;
 * Adicionar novo e-mail;
 * Preencher os dados de conta
 * Selecionar Domínio após @

Configurações Adicionais

     |Resposta Automática|
         Configuração conforme o necessário
     |Filtros|
         Configuração de filtros de e-mails *Spam
     |Regras personalizadas|
         Fórmula de filtro de e-mail
     |Backup|
         Configuração de Backup dos e-mails (/var/backup/mail)


Vídeo 6

Vide página Domínios Grátis em https://wiki.projetoroot.com.br/index.php?title=Dom%C3%ADnios_Gr%C3%A1tis

Vídeo 7

https://youtu.be/Udld2kOAJnw


Resetar Senha do Mysql/MariaDB no Linux

  • 1 - Parar o MySQL
  /etc/init.d/mysql stop 
  
  ou ainda
  killall mysqld 
  • 2 - Iniciar o serviço com o comando:
  mysqld_safe --skip-grant-tables & 
  
  • 3 - Acessar o banco
  mysql -u root 
  

Executar os comando abaixo

  mysql> use mysql;
  mysql> update user set password=PASSWORD("NOVASENHA") where User='root';
  mysql> flush privileges; 
  mysql> quit;


  • 4 - Parar novamente o MySQL
 /etc/init.d/mysql stop
 
 ou ainda 
 killall mysqld 
  • 5 - Inicializar e testar acesso
 /etc/init.d/mysql start 
 
 mysql -u root -pNOVASENHA

Senha admin do ISPConfig

  • Caso tenha perdido acesso ao ISPConfig por troca/perda de senha, pode ser alterada diretamente no Banco de dados, para isso faça:
 mysql -u root -p
 use dbispconfig;
 UPDATE sys_user SET passwort = md5('admin') WHERE username = 'admin';
 quit;
  • Estes comando acima, deixaram o seu ISPConfig com o usuário admin e senha admin, por isso, assim que tiver acesso ao painel de administração do ISPConfig, altere para uma senha segura.

Vídeo 8

https://youtu.be/OoMxti7YJM0

Atualizar IspConfig

  • 1 - Fazer Backup Manual como garantia

Criar pasta para armazenar o Backup

 mkdir /home/backup
 

Ajustar permissão apenas para o root

 chmod 700 /home/backup

Entrar na Pasta para executar o backup

 cd /home/backup

Realizar o Backup do banco de dados, pasta do ispconfig e etc

 mysqldump -u root -p dbispconfig > dbispconfig.sql
 tar pcfz ispconfig_software.tar.gz /usr/local/ispconfig
 tar pcfz etc.tar.gz /etc


  • 2 - Executar Script de Update do Ispconfig (*respondendo as perguntas conforme a necessidade)
 ispconfig_update.sh


Aumentar a Segurança

Ativar SSL (Lets Encrypt/certbot) no ISPconfig

  • Parar o Apache
  service apache2 stop
  • Gerar Certificado
  certbot certonly --webroot -w /usr/local/ispconfig/interface/web -d painel.dominio.com.br
  • Backup Arquivos originais
  mkdir /usr/local/ispconfig/interface/ssl/originals
  mv /usr/local/ispconfig/interface/ssl/isp* /usr/local/ispconfig/interface/ssl/originals/
  • Criar Link
 ln -s /etc/letsencrypt/live/painel.dominio.com.br/fullchain.pem /usr/local/ispconfig/interface/ssl/ispserver.crt
 ln -s /etc/letsencrypt/live/painel.dominio.com.br/privkey.pem /usr/local/ispconfig/interface/ssl/ispserver.key
  • Iniciar o Apache
 service apache2 start
  • Remover index.html
Página Padrão do Apache Debian


 rm -rf /var/www/html/index.html
  • Remover Informações do Apache
Informações de Versão do Apache


 nano /etc/apache2/apache2.conf

Add:

 ServerTokens ProductOnly
 ServerSignature Off


FTP Passivo

  • FTP-Passivo CentoS 7
 nano /etc/pure-ftpd/pure-ftpd.conf
 
 PassivePortRange 35000 50000
 ForcePassiveIP                X.X.X.X
 
 systemctl restart pure-ftpd.service
  • FTP-Passivo Debian 9
 nano /etc/pure-ftpd/conf/ForcePassiveIP
 X.X.X.X
 
 nano /etc/pure-ftpd/conf/PassivePortRange
 35000 50000
 
 systemctl restart pure-ftpd-mysql.service
  • Habilitar Passivo no ISPConfig
 System > Firewall > ADD
 
 TCP:,35000:50000
 UDP:,35000:50000