Continuamos a expandir nosso mercado. Recentemente, conversamos sobre como fez uma imagem do Gitlab, e esta semana o Drupal apareceu em nosso marketplace.
Contamos porque a escolhemos e como a imagem foi criada.
Drupal é uma plataforma conveniente e poderosa para criar qualquer tipo de site: de microsites e blogs a grandes projetos sociais, que também é usado como base para aplicativos da web, escritos em PHP e usando bancos de dados relacionais como armazenamento de dados.
O Drupal 9 inclui todos os recursos introduzidos na versão 8.9. A principal diferença entre a versão 9 e a versão 8 é que a plataforma continuará recebendo atualizações e correções de segurança após novembro de 2021. Também na versão 9, o processo de atualização foi simplificado, tornando o processo de atualização da versão 8 ainda mais fácil.
Requisitos do servidor
Para usar o Drupal, é recomendável usar 2 GB de RAM e 2 núcleos de CPU.
Os arquivos principais do Drupal tem cerca de 100 MB, além disso você vai precisar de espaço para armazenar imagens, banco de dados, temas, add-ons e backups, que vai depender do tamanho do seu site.
Drupal 9 requer PHP 7.4 ou superior com um limite mínimo (memory_limit) para 64 MB de memória, no caso de usar módulos adicionais, é recomendável instalar 128 MB.
Drupal pode usar Apache ou Nginx como servidor web e MySQL, PostgreSQL ou SQLite como banco de dados.
Vamos instalar o Drupal usando Nginx e MySQL.
Instalação
Atualize os pacotes instalados para a versão mais recente:
sudo dnf update -y
Vamos adicionar uma permissão permanente para o tráfego de entrada nas portas http/80 e https/443:
Como o PHP 7.2 é usado atualmente no repositório principal do Centos, vamos adicionar o repositório REMI com PHP 7.4 (a versão mínima para Drupal 9).
Para fazer isso, adicione o repositório EPEL (exigido pelo repositório REMI):
Como estamos fazendo um modelo para VDS, e eles podem ser lentos, vamos adicionar um atraso de início do mysqld de 30 segundos, caso contrário, pode haver problemas ao iniciar o servidor durante a inicialização do sistema:
sudo sed -i '/Group=mysql/a
ExecStartPre=/bin/sleep 30
' /usr/lib/systemd/system/mysqld.service
Vamos alterar o grupo e o usuário sob os quais o nginx será executado fazendo alterações em /etc/php-fpm.d/www.conf:
sudo sed -i --follow-symlinks 's/user = apache/user = nginx/g' /etc/php-fpm.d/www.conf
sudo sed -i --follow-symlinks 's/group = apache/group = nginx/g' /etc/php-fpm.d/www.conf
Altere o proprietário do diretório de sessão do PHP para nginx de acordo:
sudo chown -R nginx. /var/lib/php/session
Vamos remover as linhas de comentário do arquivo de configuração /etc/nginx/nginx.conf (para que não haja ocorrências duplas para sed):
sudo sed -i -e '/^[ t]*#/d' /etc/nginx/nginx.conf
Adicione configurações de compactação gzip a /etc/nginx/nginx.conf
Vamos adicionar as configurações do arquivo de índice index.php em /etc/nginx/nginx.conf:
sudo sed -i '/ root /usr/share/nginx/html;/a
index index.php index.html index.htm;
' /etc/nginx/nginx.conf
Vamos adicionar configurações para o servidor padrão que processa php por meio do soquete php-fpm, desabilitar o log para arquivos estáticos, aumentar o tempo de expiração, desabilitar o log de acesso e erro para favicon.ico e robots.txt e negar acesso a arquivos .ht para todos:
Nesta fase, desligaremos o servidor e tiraremos um instantâneo:
shutdown -h now
Após iniciar o VDS a partir do snapshot, realizaremos a configuração inicial do servidor MySQL executando o script:
mysql_secure_installation
Habilite o validador de senha:
Would you like to setup VALIDATE PASSWORD component? : y
Defina a senha do usuário root do MySQL:
New password:
Re-enter new password:
Remover usuários anônimos:
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Vamos evitar que o root se conecte remotamente:
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Vamos remover o banco de dados de teste:
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
Recarregue as tabelas de privilégios:
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Depois disso, para concluir a instalação, podemos ir para vps_ip_address
Neste endereço veremos uma página com a instalação do Drupal.
Selecione o idioma a ser usado. Por exemplo: russo. Clique em "Salvar e continuar"
Vamos escolher um perfil de instalação (o demo é usado apenas para familiarização com o sistema). No nosso caso, que seja "padrão".
Na próxima página, dê um nome ao banco de dados, como "drupal". Especifique o nome de usuário root do banco de dados e a senha fornecida a ele ao iniciar mysql_secure_installation. Clique em "Salvar e continuar".
Vamos aguardar a conclusão da instalação e atualização das traduções (o processo pode levar alguns minutos).
Especifique o nome do site, defina o e-mail do site (em nome do qual as notificações do site virão), login, senha e e-mail da conta de administrador do Drupal. Também definiremos o país e o fuso horário nas configurações regionais. E conclua a instalação clicando em "Salvar e continuar".
Depois disso, você pode ir para o painel de controle com o login e a senha de administrador do Drupal criados.
Configuração HTTPS (opcional)
Para configurar HTTPS, o VDS deve ter um nome DNS válido, especifique em
/etc/nginx/nginx.conf
na seção do servidor o nome do servidor (por exemplo):
server_name domainname.ru;
Reinicie o nginx:
service nginx restart
Vamos iniciar o certbot:
sudo /usr/local/bin/certbot-auto --nginx
Digite seu e-mail, concorde com os termos de serviço (A), Assine a newsletter (opcional) (N), selecione os nomes de domínio para os quais deseja emitir um certificado (Enter para todos).
Se tudo ocorreu sem erros, veremos uma mensagem sobre a emissão bem-sucedida de certificados e configuração do servidor:
Congratulations! You have successfully enabled ...
Depois disso, as conexões na porta 80 serão redirecionadas para 443 (https).
Adicione a /etc/crontab para renovar automaticamente os certificados:
Configurando a segurança de host confiável (recomendado)
Essa configuração é uma solução para o problema de detecção dinâmica de base_url e tem como objetivo evitar ataques de cabeçalho HTTP HOST (quando seu site pensa que é outra pessoa).
Para fazer isso, você precisa especificar os nomes de domínio confiáveis do site no arquivo de configurações.
No arquivo
/usr/share/nginx/html/sites/default/settings.php descomente ou adicione uma configuração com padrões de nomes de sites reais, por exemplo:
Drupal suporta APCu - Alternative PHP User Cache, as versões 8 e 9 usam APCu mais intensamente como um cache local de curto prazo do que as versões anteriores. O tamanho padrão do cache (32 MB) é adequado para a maioria dos sites e não pode exceder 512 MB.
Para ativar, instale o módulo PHP APCu:
dnf -y install php-pecl-apcu
Reinicie o nginx e o php-fpm:
service nginx restart
service php-fpm restart
No caso de usar o idioma russo e APCu com o tamanho de memória cache recomendado, você pode ver um aviso no painel de controle de que o tamanho da memória cache alocada é diferente do recomendado, mas na verdade tudo funciona corretamente e o incorreto aviso provavelmente será corrigido nas próximas atualizações.
Queremos lembrar que você também pode fazer uma imagem para nós
São três opções de como participar.
Prepare você mesmo a imagem e obtenha 3000 rublos em seu saldo
Se você está pronto para correr imediatamente para a batalha e criar a imagem que lhe falta, creditaremos 3000 rublos em seu saldo interno - você pode gastá-lo em servidores.
Diga ao suporte que você vai criar e testar imagens
Nós creditaremos a você 3000 rublos e habilitaremos a capacidade de criar instantâneos
Solicite um servidor virtual com um sistema operacional limpo
Instale o software neste VPS e configure-o
Escrever instruções ou script para implantação de software
Crie um instantâneo para o servidor configurado
Solicite um novo servidor virtual selecionando o instantâneo criado anteriormente na lista suspensa "Modelo de servidor"
Em caso de criação bem-sucedida do servidor, transfira os materiais recebidos na etapa 6 para o suporte técnico
Em caso de erro, você pode verificar com o suporte o motivo e repetir a configuração
Para proprietários de empresas: ofereça seu software
Se você é um desenvolvedor de software implantado e usado em um VPS, podemos incluí-lo no mercado. É assim que podemos ajudá-lo a atrair novos clientes, tráfego e visibilidade. Escreva para nós
Deixe-nos saber nos comentários que imagem você sente falta?