
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.
- Grátis
A principal coisa pela qual amamos o Joomla e o que o ajudou a se tornar tão popular - 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.
- SEO Friendly
Joomla . apache-, , . , - - . .
-
-, . CMS «Joomla Security Strike Team», . , , . Joomla , .
-
Joomla . , , .
-
, ,
-
Joomla , : . : , .
-
: , .
-
Joomla - . , , CMS.
- 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/80
e https/443
portas:
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.conf
gzip à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?

