O CENTMIN MOD a princípio é um conjunto de programas e ferramentas para construir seu WebServer.
Alguns softwares do CentMin MOD
- Nginx
- MariaDB
- Memcached
- Redis
- CSF Firewall
- e vários outros….
Mas não se engane, o Centmin MOD não é apenas mais um projeto compilado com várias ferramentas, ele vai muito além disso.
Possui um código muito bem escrito e trata questões profundas do servidor como otimização do MariaDB , configuração de módulos do kernel através do sysctl.conf, alterações no arquivo de configuração do SSH, excelente otimização do NGINX , PHP-FPM e por aí vai…
Para mim, é sem duvida um projeto de excelência, voltado a otimização de desempenho e inclui um instalador avançado do WordPress.
Tudo isso é organizado em um menu no shell do servidor, fácil de utilizar.
Existem duas formas de instalar.
A primeira instalaríamos o básico e não conheceríamos como adicionar alguma das dezenas de recursos disponíveis.
A segunda é a que vamos utilizar, através de um arquivo custom_config.inc vamos adicionar recursos importantes.
Para referência, o arquivo completo com todas as funções pode ser encontrado clicando aqui .
Dica: O Centmin MOD analisa o servidor que está sendo instalado e procura otimizar o máximo possível. Sugiro que antes de começar atualize o Kernel conforme abordado no post Como atualizar o Kernel do CentOS
Apontando domínio para o servidor
Para este artigo é necessário um domínio e acesso a criação de entradas DNS .
- Crie uma entrada DNS do tipo A apontando o domínio para o ip do servidor
- Crie uma entrada DNS do tipo CNAME apontando www para o nome do seu domínio
Instalando Centmin MOD
Acesse o ssh do seu servidor como root e utilize seu editor predileto. Neste post vamos instalar e utilizar o nano
yum install nano -y
Armazene em uma variável seu email, a seguir crie o local que iremos salvar o arquivo de configuração e edite o novo arquivo custom_config.inc
EMAIL=seuemail@helpsysadmin.ml mkdir -p /etc/centminmod nano /etc/centminmod/custom_config.inc
Copie e cole o conteúdo abaixo em seu arquivo custom_config.inc.
# Otimiza dinamicamente nginx ssl_session_cache em /usr/local/nginx/conf/ssl_include.conf com base na memória detectada pelo sistema # https://community.centminmod.com/posts/76615/ NGINX_SSLCACHE_ALLOWOVERRIDE='y' # Substitui o tempo de atualização do cache de resposta OCSP padrão do Nginx de 1h (3600 segundos) a 24h (86400 segundos) # https://community.centminmod.com/threads/19515/ NGINX_STAPLE_CACHE_OVERRIDE='y' NGINX_STAPLE_CACHE_TTL='86400' # Muda o MySQLCHARSET para 'utf8mb4' # conjunto de caracteres padrão e agrupamento de utf8 padrão para utf8mb4 # https://community.centminmod.com/threads/17949/ SET_DEFAULT_MYSQLCHARSET='utf8mb4' # Ativa a substituição do backlog do nginx https://community.centminmod.com/threads/17620/ AUTOHARDTUNE_NGINXBACKLOG='y' # Habilita logrotation compactado zstd para nginx & php-fpm https://community.centminmod.com/threads/16374/ ZSTD_LOGROTATE_NGINX='y' ZSTD_LOGROTATE_PHPFPM='y' # Habilita certificado SSL letsencrypt + certificados SSL RSA + ECDSA duplos https://centminmod.com/acmetool/ LETSENCRYPT_DETECT='y' DUALCERTS='y' # Habilita geração de certificado SSL autoassinado ECC 256bit ECDSA https://community.centminmod.com/posts/82177/ SELFSIGNEDSSL_ECDSA='y' # habilitado nginx zero tempo de inatividade em tempo real atualizações binárias nginx https://community.centminmod.com/threads/8000/ NGINX_ZERODT='y' # habilita compressão brotli https://community.centminmod.com/threads/10688/ NGINX_LIBBROTLI='y' NGXDYNAMIC_BROTLI='y' #Aumenta o desempenho do PHP 7 ativando a sinalização de otimização guiada por perfil # https://centminmod.com/perf/ # aumentará drasticamente os tempos de compilação/instalação do PHP-FPM, mas resultará em # 5-20% mais rápido de desempenho do PHP 7 PHP_PGO = 'y' só funciona com servidores com # 2+ ou mais threads de CPU. No entanto, você pode forçar otimizações PHP PGO com # 1 servidores de thread de CPU via PHP_PGO_ALWAYS = 'y' PHP_PGO_ALWAYS='y' PHP_PGO='y' # extensões de compressão php https://community.centminmod.com/posts/70777/ PHP_BROTLI='y' PHP_LZFOUR='y' PHP_LZF='y' PHP_ZSTD='y' # Informação do arquivo PHP PHPFINFO='y' # habilitado na opção do menu centmin.sh 22 . Inclusões de string de consulta do WordPress Cache Enabler # https://community.centminmod.com/posts/85927/ WPCLI_CE_QUERYSTRING_INCLUDED='y'
Instalando Centmin MOD com php 7.4
yum -y update; wget https://centminmod.com/betainstaller74.sh chmod +x betainstaller74.sh sh betainstaller74.sh
Note que ao final da instalação, serão exibidas informações importantes que você deverá guardar.
Exemplos:
Páginas protegidas com senha com informações:
Memcached Server Admin Login:
PHP Info
Opcache Server Admin Login:
Além da senha de root do MariaDB.
A seguir, vamos pré-criar o arquivo dhparam do site HTTPS Nginx para acelerar as rotinas de criação de vhost Nginx subsequentes. Em sistemas lentos, este comando levará alguns minutos para ser concluído.
openssl dhparam -out /usr/local/nginx/conf/ssl/dhparam.pem 2048
Executando o menu do Centmin MOD e criando um vhost WordPress otimizado.
Para visualizar o Menu do Centmin MOD digite centmin. Na primeira vez ele irá solicitar que você informe um email principal e outro secundário.
Aguarde até o final das configurações.
Digite o numero 22 para criarmos nossa conta com o WordPress
Digite Y para a pergunta
Do you want to continue with Nginx vhost site creation ? [y/n]
Digite o nome do seu domínio que já utiliza o IP do servidor como vimos no princípio
Enter vhost domain name you want to add (without www. prefix): helpsysadmin.ml
Digite N para a pergunta abaixo
Create a self-signed SSL certificate Nginx vhost? [y/n]:
Digite Y para a próxima pergunta
Get Letsencrypt SSL certificate Nginx vhost? [y/n]:
Na próxima pergunta digite 4
You have 4 options:
- issue staging test cert with HTTP + HTTPS (untrusted)
- issue staging test cert with HTTPS default (untrusted)
- issue live cert with HTTP + HTTPS (trusted)
- issue live cert with HTTPS default (trusted)
Digite N para
Install CyberChimps Responsive Theme (cyberchimps.com/responsive-theme/) [y/n]:
Digite N para
Not a fan of Gutenberg Editor ? You can switch to Classic Editor
If you run into Gutenberg Editor issues, you can later switch to
the Classic Editor https://wordpress.org/plugins/classic-editor/
Install Classic Editor WordPress Plugin ? [y/n]:
Digite Y para
Autoptimize WP Plugin is installed by default. Do you want to install
companion Autoptimize Gzip Plugin to precompresses js/css optimized files
details at https://community.centminmod.com/threads/15314/
Install Autoptimize Gzip Companion WordPress Plugin ? [y/n]:
Digite Y para
Google Native LazyLoad Plugin https://wordpress.org/plugins/native-lazyload/
Install Google Native LazyLoad Plugin ? [y/n]:
Digite N para
Set custom WP Admin Display Name ? [y/n]:
Digite N para
Install WordPress in subdirectory /blog ? [y/n]:
A próxima fica a sua escolha. Se digitar Y, você poderá criar o usuário e senha do usuário admin WordPress. Se digitar N, será criado um usuário e senha bastante seguro.
Disable Auto Generated WP Admin Username / Password ? [y/n]:
Se digitar N , além da senha do admin do wordpress será criado um usuário e senha para acessar wp-login.php . Para efeito didático vamos optar por desabilitar este recurso, responda Y
Disable wp-login.php password protection ? (less security) [y/n]:
Será solicitado que crie o usuário e senha e um email para o WordPress
Enter desired WP Admin Username: helpsysadmin
Enter desired WP Admin Password: minhasenhasegura
Enter email address for Admin User for WordPress Installation: seuemail@helpsysadmin.ml
A seguir será solicitado que escolha qual plugin para cache deseja instalado em seu servidor. Neste post vamos utilizar o “KeyCDN Cache Enabler”, digite 1
WordPress Caching
1) KeyCDN Cache Enabler
2) Redis Nginx Level Caching
3) WordPress Super Cache
Crie seu usuário ftp
Create FTP username for vhost domain (enter username):
Se optar por Y será gerado uma senha segura para seu usuário ftp
Do you want to auto generate FTP password (recommended) [y/n]:
Setup WordPress + Cache Enabler for helpsysadmin.ml
Será feita a seguinte pergunta
Utilizar o cache de página estática completo pode causar problemas para dispositivos móveis e tablets visitantes, dependendo do tema WP que utiliza, então você pode querer excluí-los.
Digite Y
Pronto, o WordPress foi instalado e se tudo correu bem ele já está acessível com https. Observe no terminal um pouco antes de terminar a configuração que foi informado seus usuários e senhas.
Para terminar o setup é solicitado que faça algumas configurações na administração do WordPress.
Para facilitar vou traduzir aqui o que é necessário configurar.
O WP está em inglês, mas podemos mudar isso em Menu >> Settings . Em Site Language altere para Português do Brasil e ao final da página clique no botão Save.
Para completar o setup:
1 – Em Configurações >> Ative os links permanentes (NÃO use links com extensões .html por motivos de desempenho) Exemplo: /%post_id%/%postname%/
Sugiro que utilize algo como o exemplo: https://helpsysadmin.ml/post-exemplo/
2 – Acesse Configurações >> Cache Enabler . Na minha opinião não é necessário nenhuma modificação.
3 – Acesse Configurações >> Autoptimize . Sugiro que habilite as opções e teste se isso irá afetar o seu tema.
O ganho em desempenho ao otimizar o Javascript e CSS é bastante significativo porém em alguns casos pode afetar o tema instalado.
Lembre-se o Centmin MOD procurou otimizar ao máximo seu servidor e aplicativos envolvidos, obviamente ele não analisou logs, numero de requisições média no servidor e utilização de recursos que é essencial para alcançar o melhor desempenho possível . Oferecemos no plano de Otimização de Servidor para WordPress otimizações avançadas para alcançar o melhor desempenho e segurança no servidor.
Espero que tenham gostado de mais este Post. Até mais !!