Temos uma nova imagem no mercado: VPS com Joomla 3.9 em Centos 8





Joomla é o terceiro sistema de gerenciamento de conteúdo mais popular (depois do Wordpress e Shopify) escrito em PHP e usando bancos de dados relacionais como armazenamento de dados.



Como muitos outros CMSs, o Joomla é totalmente gratuito e de código aberto. O sistema de templates permite que você mude facilmente a aparência do site, e um enorme catálogo de extensões torna tão fácil complementar a funcionalidade do site com os módulos necessários.



Por que amamos Joomla



Aqui estão 10 fatos pelos quais nós a amamos.



  1. Grátis

    A principal coisa pela qual amamos o Joomla e o que o ajudou a se tornar tão popular
  2. Código aberto

    Como um produto de código aberto, qualquer pessoa pode pegar seu código e alterá-lo se necessário. Isso levou muitos desenvolvedores a trabalharem especificamente com o Joomla.

  3. SEO Friendly

    Joomla . apache-, , . , - - . .



  4. -, . CMS «Joomla Security Strike Team», . , , . Joomla , .



  5. Joomla . , , .



  6. , ,



  7. Joomla , : . : , .



  8. : , .



  9. Joomla - . , , CMS.

  10. Excelente Documentação Documentação

    detalhada para designers, desenvolvedores e administradores de sites. Existe um canal no youtube, onde os iniciantes são ensinados a implantar um site rapidamente.



Com tanto amor, certamente não poderíamos deixar nosso mercado sem o Joomla e criar uma nova imagem com ele.







Como construímos esta imagem: Requisitos do servidor



Para usar o Joomla, é recomendado o uso de 2 GB de RAM e 2 núcleos de CPU.



Os arquivos principais do Joomla têm cerca de 40 MB, além disso você vai precisar de espaço para armazenar imagens, banco de dados, temas, módulos adicionais e backups, que dependerão do tamanho do seu site.



Joomla 3.9 requer uma versão mínima do PHP 5.3.10, mas 7.3 ou superior é recomendado.



Joomla pode usar Apache, Nginx ou IIS como um servidor web e MySQL, MSSQL ou PostgreSQL como banco de dados.



Estaremos instalando o Joomla usando Nginx e MySQL.



Instalação



Vamos atualizar 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 http/80e https/443portas:



sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https


Vamos aplicar as novas regras de firewall:



sudo systemctl reload firewalld


Vamos começar e habilitar o servidor Nginx:



sudo systemctl start nginx
sudo systemctl enable nginx


Instale PHP, PHP-FPM e os módulos PHP necessários:



sudo dnf install php-fpm php-cli php-mysqlnd php-json php-gd php-ldap php-odbc php-pdo php-opcache php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap php-zip -y


Instale o servidor MySQL:



sudo dnf install mysql-server -y


Vamos ligar e iniciar o servidor MySQL:



sudo systemctl start mysqld
sudo systemctl enable mysqld


Como estamos fazendo um modelo para VDS, e eles podem ser lentos, adicionaremos um atraso para iniciar o mysqld de 30 segundos, caso contrário, pode haver problemas ao iniciar o servidor na inicialização do sistema:



sudo sed -i '/Group=mysql/a \
ExecStartPre=/bin/sleep 30
' /usr/lib/systemd/system/mysqld.service


Altere o grupo e o usuário sob o qual o nginx funcionará, 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


Vamos alterar o proprietário do diretório de sessões PHP para nginx de acordo:



sudo chown -R nginx. /var/lib/php/session


Remova as linhas com comentários do arquivo de configuração /etc/nginx/nginx.conf (para que não haja duplos positivos para sed):



sudo sed -i -e '/^[ \t]*#/d'  /etc/nginx/nginx.conf


Adicionar /etc/nginx/nginx.confgzip às configurações de compressão



sudo sed -i '/types_hash_max_size 2048;/a \
\
    gzip on;\
    gzip_static on;\
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript image/x-icon image/svg+xml application/x-font-ttf;\
    gzip_comp_level 9;\
    gzip_proxied any;\
    gzip_min_length 1000;\
    gzip_disable "msie6";\
    gzip_vary on; \
' /etc/nginx/nginx.conf


Adicione as configurações do arquivo index.php a /etc/nginx/nginx.conf:



sudo sed -i '/        root         \/usr\/share\/nginx\/html;/a \
        index index.php index.html index.htm;\
' /etc/nginx/nginx.conf




Adicione configurações para o servidor padrão que processa php através do soquete php-fpm, desabilite o log para arquivos estáticos, aumente o tempo de expiração, desabilite o acesso e log de erros para favicon.ico e robots.txt e negue o acesso a arquivos .ht para todos:



sudo sed -i '/        location \/ {/a \
		try_files $uri $uri/ /index.php?q=$uri&$args;\
        }\
    \
        location ~* ^.+.(js|css|png|jpg|jpeg|gif|ico|woff)$ {\
        access_log off;\
        expires max;\
        }\
    \
        location ~ \.php$ {\
        try_files  $uri =404;\
        fastcgi_pass   unix:/run/php-fpm/www.sock;\
        fastcgi_index index.php;\
        include fastcgi_params;\
        fastcgi_intercept_errors on;\
        fastcgi_ignore_client_abort off;\
        fastcgi_connect_timeout 60;\
        fastcgi_send_timeout 180;\
        fastcgi_read_timeout 180;\
        fastcgi_buffer_size 128k;\
        fastcgi_buffers 4 256k;\
        fastcgi_busy_buffers_size 256k;\
        fastcgi_temp_file_write_size 256k;\
        }\
    \
        location = /favicon.ico {\
        log_not_found off;\
        access_log off;\
        }\
    \
        location = /robots.txt {\
        allow all;\
        log_not_found off;\
        access_log off;\
        }\
    \
        location ~ /\.ht {\
        deny all;' /etc/nginx/nginx.conf


Instale o wget necessário para instalar o certbot:



sudo dnf install wget -y


Baixe o arquivo executável certbot de fora do local:



cd ~
wget https://dl.eff.org/certbot-auto


Mova o certbot para / usr / local / bin /:



mv certbot-auto /usr/local/bin/certbot-auto


E atribuir direitos e proprietário para fazer root:



chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto


Vamos instalar as dependências do certbot e nesta fase iremos interromper seu trabalho (Respostas: Y, c):



certbot-auto


Baixe o arquivo com Joomla_3-9-22-Stable-Full_Package de offsite



cd ~
wget https://downloads.joomla.org/cms/joomla3/3-9-22/Joomla_3-9-22-Stable-Full_Package.tar.gz?format=gz


Instale o tar para descompactar o arquivo



sudo dnf install tar -y


Descompacte os arquivos para o diretório do servidor web



tar xf Joomla_3-9-22-Stable-Full_Package.tar.gz\?format\=gz -C /usr/share/nginx/html/


Apague o arquivo



rm -f Joomla_3-9-22-Stable-Full_Package.tar.gz\?format\=gz


Definir o proprietário dos arquivos nginx



sudo chown -R nginx. /usr/share/nginx/html


Desative o buffer de saída de acordo com a recomendação do Joomla



sudo sed -i --follow-symlinks 's/output_buffering = 4096/output_buffering = Off/g' /etc/php.ini


Nesta fase, desligaremos o servidor e tiraremos um instantâneo:



shutdown -h now


Depois de iniciar o VDS a partir de um instantâneo, realizaremos a configuração inicial do servidor MySQL executando o script:



mysql_secure_installation


Vamos ligar o validador de senha:



Would you like to setup VALIDATE PASSWORD component? : y


Vamos definir a senha raiz do MySQL:



New password:
Re-enter new password:


Vamos remover usuários anônimos:



Remove anonymous users? (Press y|Y for Yes, any other key for No) : y


Negar conexão root remotamente:



Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y


Vamos excluir 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 completar a instalação, podemos ir para o endereço vps_ip_address

Neste endereço veremos a página com a instalação do Joomla.



Indicaremos o nome do site, definiremos o e-mail, login e senha do administrador do Joomla. Clique em "Avançar".



Na segunda página, especificaremos o nome de usuário do banco de dados raiz e a senha que definimos ao iniciar mysql_secure_installation.

Vamos definir um nome para o banco de dados, por exemplo joomla. Clique em " Avançar ".



Na terceira página, podemos optar por instalar os dados de demonstração para nos familiarizarmos com as capacidades do CMS ou escolher um site vazio por padrão, após a escolha, clicaremos em " Instalar ".



Para instalar o idioma russo, você precisa clicar em " Instalar pacotes de idiomas"- Russo, e após a instalação, defina o idioma padrão.



Para concluir a instalação, clique em" Excluir diretório "para excluir os arquivos usados ​​para a instalação.



Depois disso, você pode ir para o painel de controle com o nome de usuário e senha criados para o administrador do Joomla.



CONFIGURAR HTTPS (OPCIONAL)



Para configurar HTTPS, o VDS deve ter um nome DNS válido, especifique

o nome do servidor em /etc/nginx/nginx.conf na seção do servidor (por exemplo):



server_name  domainname.ru;


Reinicie o nginx:



service nginx restart


Vamos executar o certbot:



sudo /usr/local/bin/certbot-auto --nginx


Digite seu e-mail, concorde com os termos de serviço ( A ), Assine o boletim informativo (opcional) ( N ), selecione os nomes de domínio para os quais você precisa emitir um certificado ( Digite para todos).



Se tudo correr bem, 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 certificados automaticamente:



# Cert Renewal
30 2 * * * root /usr/local/bin/certbot-auto renew --post-hook "nginx -s reload"




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 reconhecimento. Escreva para nós



Basta nos oferecer uma imagem nos comentários



Escreva, com qual software você gostaria de poder implantar máquinas virtuais em um clique?



O que você está perdendo no mercado RUVDS?



O que toda hospedagem que se preze deve definitivamente incluir em seu mercado?










All Articles