Instale o WordPress no Ubuntu 17.04 | 17.10 com Apache2 HTTP / 2 e Let's Encrypt SSL

  • Ronald Ferguson
  • 0
  • 1034
  • 195

A vantagem de começar um novo site ou blog WordPress é que você tem a chance de configurar tudo certo da primeira vez. Quando você acertar da primeira vez, não haverá necessidade de voltar para corrigir problemas que não foram configurados corretamente.

Ao iniciar um novo site em 2018, não se esqueça de incluir estes: SSL / TLS e Suporte HTTP / 2.

Atualmente, a maioria dos sites e blogs são executados em HTTPS.

Sites WordPress executados em HTTPS ou SSL / TLS podem ter uma classificação melhor do que aqueles que não são. Já que HTTPS é importante aos olhos do Google e de outros provedores de mecanismo de pesquisa, por que não incluí-lo na configuração do WordPress.

Além disso, HTTP / 2 (versão 2) é a versão mais recente do HTTP / 1 e também está ganhando força rapidamente. Então, se você vai instalar o WordPress em 2018, obtenha um certificado Let's Encrypt SSL / TLS grátis e habilite o HTTP / 2.

Este breve tutorial vai mostrar aos alunos e novos usuários como instalar o WordPress com suporte Apache2 HTTP / 2 e Let's Encrypt no Ubuntu 17.04 | 17.10. Quando estiver pronto para configurar o WordPress corretamente, continue com as etapas abaixo:

ETAPA 1: PREPARAR E ATUALIZAR UBUNTU

É bom sempre atualizar os servidores Ubuntu antes de instalar os pacotes ... para atualizar o Ubuntu, execute os comandos abaixo.

sudo apt update && sudo apt dist-upgrade && sudo apt autoremove

Depois de atualizar o Ubuntu, continue abaixo com a instalação dos pacotes necessários para o WordPress funcionar.

ETAPA 2: INSTALAR O SERVIDOR DA WEB Apache2

Começando com a versão Apache2 2.4.24 e acima, o suporte HTTP / 2 é incluído por padrão ... A versão Apache2 que vem com o Ubuntu não tem suporte para HTTP / 2, pelo menos não ainda. Para instalar o Apache2 com suporte a HTTP / 2, você precisará adicionar um repositório de terceiros ... Execute os comandos abaixo para instalar a versão mais recente do Apache2 com suporte a HTTP / 2.

sudo add-apt-repository ppa: ondrej / apache2 sudo apt update sudo apt install apache2 

Agora que o Apache2 mais recente está instalado, execute os comandos abaixo para habilitar o suporte HTTP / 2 ... O suporte HTTP / 2 é habilitado pelo Apache2 2.4.24 para cima.

sudo a2enmod http2

Depois de instalar o Apache2, os comandos abaixo podem ser usados ​​para parar, iniciar e habilitar o serviço Apache2 para sempre iniciar com as inicializações do servidor.

sudo systemctl stop apache2.service sudo systemctl start apache2.service sudo systemctl enable apache2.service 

ETAPA 3: INSTALAR O SERVIDOR DE BANCO DE DADOS MARIADB

O servidor de banco de dados MariaDB está ultrapassando rapidamente o MySQL nas comunidades de código aberto e Linux ... MariaDB é o servidor de banco de dados padrão na maioria das distribuições Linux ... e o WordPress requer um servidor de banco de dados ... execute os comandos abaixo para instalar o MariaDB.

sudo apt-get install mariadb-server mariadb-client

Após a instalação, os comandos abaixo podem ser usados ​​para parar, iniciar e habilitar o serviço MariaDB para sempre iniciar quando o servidor for inicializado.

sudo systemctl stop mariadb.service sudo systemctl start mariadb.service sudo systemctl enable mariadb.service 

Depois disso, execute os comandos abaixo para proteger o servidor MariaDB e crie uma nova senha de root.

sudo mysql_secure_installation

Quando solicitado, responda às perguntas abaixo seguindo o guia.

  • Digite a senha atual para root (digite nenhum): Basta pressionar Enter
  • Definir senha de root? [S / n]: S
  • Nova senha: Digite a senha
  • Digite a nova senha novamente: repita a senha
  • Remover usuários anônimos? [S / n]: S
  • Desautorizar login de root remotamente? [S / n]: S
  • Remover banco de dados de teste e acesso a ele? [S / n]: S
  • Recarregar tabelas de privilégios agora? [S / n]: S

ETAPA 4: INSTALE O PHP E OS MÓDULOS RELACIONADOS

Agora que o Apache2 e o MariaDB estão instalados, execute os comandos abaixo para instalar o PHP e os módulos PHP relacionados no novo servidor. Esta é uma boa lista de módulos PHP para instalar.

sudo apt install php libapache2-mod-php php-common php-mbstring php-xmlrpc php-soap php-gd php-xml php-intl php-mysql php-cli php-mcrypt php-ldap php-zip php-curl

Depois de instalar o PHP, execute os comandos abaixo para abrir o arquivo padrão PHP-FPM.

sudo nano /etc/php/7.x/apache2/php.ini

Dependendo do seu sistema, o x no comando acima pode ser 0 ou 1 .

Em seguida, role para baixo nas linhas do arquivo e altere as seguintes linhas abaixo e salve.

post_max_size = 100M memory_limit = 256M max_execution_time = 360 upload_max_filesize = 100M 

PASSO 5: CRIE UMA BASE DE DADOS DE WORDPRESS EM BRANCO

Neste ponto, todos os pacotes e servidores WordPress necessários estão instalados. O novo servidor agora está pronto para hospedar o WordPress ... No novo servidor, crie um banco de dados WordPress em branco. WordPress usará este banco de dados vazio para armazenar seu conteúdo.

Execute os comandos abaixo para fazer logon no servidor de banco de dados. Quando for solicitada uma senha, digite a senha root que você criou acima.

sudo mysql -u root -p

Em seguida, crie um banco de dados em branco chamado WP_database você pode usar o mesmo nome de banco de dados do servidor antigo.

CREATE DATABASE WP_database;

Crie um usuário de banco de dados chamado wp_user com a nova senha. Você pode usar o mesmo nome de usuário e senha do servidor antigo.

CRIAR USUÁRIO 'wp_user' @ 'localhost' IDENTIFICADO POR 'type_password_here';

Em seguida, conceda ao usuário acesso total ao banco de dados.

GRANT ALL ON WP_database. * TO 'wp_user' @ 'localhost' IDENTIFICADO POR 'type_user_password_here' COM OPÇÃO DE GRANT;

Por fim, salve suas alterações e saia.

FLUSH PRIVILEGES; SAÍDA; 

PASSO 6: CONFIGURAR O NOVO SITE WORDPRESS

Em seguida, configure o arquivo de configuração do site WordPress no servidor. Execute os comandos abaixo para criar um novo arquivo de configuração chamado wordpress.conf

sudo nano /etc/apache2/sites-available/wordpress.conf

Em seguida, copie e cole o conteúdo abaixo no arquivo e salve-o. Substituir example.com com seu próprio nome de domínio.

 ServerAdmin [email protected] DocumentRoot / var / www / html / wordpress / ServerName example.com ServerAlias ​​www.example.com  Opções + FollowSymlinks AllowOverride Todos Requer todos concedidos  ErrorLog $ APACHE_LOG_DIR /error.log CustomLog $ APACHE_LOG_DIR /access.log combinado 

Salve o arquivo e saia.

PASSO 7: ATIVAR O SITE WORDPRESS

Depois de configurar o VirtualHost acima, habilite-o executando os comandos abaixo

sudo a2ensite wordpress.conf sudo a2enmod rewrite

PASSO 8: BAIXE O ÚLTIMO LANÇAMENTO DO WORDPRESS

Em seguida, visite o site do WordPress e baixe o mais recente…. ou execute os comandos abaixo para fazer isso por você.

cd / tmp && wget https://wordpress.org/latest.tar.gz tar -zxvf latest.tar.gz sudo mv wordpress / var / www / html / wordpress 

Em seguida, execute os comandos abaixo para definir as permissões corretas para o diretório raiz do WordPress.

sudo chown -R www-data: www-data / var / www / html / wordpress / sudo chmod -R 755 / var / www / html / wordpress /

PASSO 9: CONFIGURAR WORDPRESS

Em seguida, execute os comandos abaixo para criar o WordPress wp-config.php Arquivo. Este é o arquivo de configuração padrão para WordPress.

sudo mv /var/www/html/wordpress/wp-config-sample.php /var/www/html/wordpress/wp-config.php

Em seguida, execute os comandos abaixo para abrir o arquivo de configuração do WordPress.

sudo nano /var/www/html/wordpress/wp-config.php

Insira o texto destacado abaixo que você criou para o seu banco de dados e salve.

// ** Configurações do MySQL - Você pode obter essas informações de seu host da web ** // / ** O nome do banco de dados para WordPress * / define ('DB_NAME', 'WP_database'); / ** nome de usuário do banco de dados MySQL * / define ('DB_USER', 'wp_user'); / ** senha do banco de dados MySQL * / define ('DB_PASSWORD', 'new_password_here'); / ** nome do host MySQL * / define ('DB_HOST', 'localhost'); / ** Conjunto de caracteres do banco de dados a ser usado na criação de tabelas de banco de dados. * / define ('DB_CHARSET', 'utf8'); / ** O tipo de agrupamento de banco de dados. Não mude isso se estiver em dúvida. * / define ('DB_COLLATE', ");

Salve o arquivo e pronto.

Agora tudo está configurado ... execute os comandos abaixo para recarregar as configurações do servidor web Apache2.

sudo systemctl reload apache2.service

Depois disso, abra seu navegador e navegue até o endereço IP do servidor ou nome de domínio para continuar com a configuração do WordPress.

Etapa 10: Obter e configurar vamos criptografar certificados SSL

Agora que a configuração do WordPress está concluída, continue abaixo para instalar e configurar o Let's Encrypt. Vamos criptografar agora fornece um cliente Apache2 para automatizar este processo.

Antes de obter os certificados Let's Encrypt, certifique-se de que a configuração do Apache2 está configurada corretamente ... para o arquivo de configuração do seu site, certifique-se de Nome do servidor e ServerAlias são definidos.

 ServerAdmin [email protected] DocumentRoot / var / www / html / wordpress / ServerName example.com ServerAlias ​​www.example.com… 

Quando essas configurações forem confirmadas, continue abaixo para obter o certificado para o seu nome de domínio.

Para instalar o cliente Let's Encrypt SSL / TLS no Ubuntu, execute os comandos abaixo

sudo apt-get install python-certbot-apache

Depois disso, execute os comandos abaixo para obter o seu certificado Let's Encrypt SSL / TLS grátis para o seu site.

sudo certbot --apache -m [email protected] -d example.com -d www.example.com

Depois de executar os comandos acima, você deve ser solicitado a aceitar os termos de licença. Se tudo estiver marcado, o cliente deve instalar automaticamente o certificado SSL / TLS gratuito e configurar o site Nginx para usar os certificados.

Leia os Termos de Serviço em https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Você deve concordar para se registrar no servidor ACME em https://acme-v01.api.letsencrypt.org/directory ----------------------- -------------------------------------------------- ------ (A) gree / (C) ancel: A 

Escolha Sim (Y) para compartilhar seu endereço de e-mail

Você gostaria de compartilhar seu endereço de e-mail com a Electronic Frontier Foundation, uma parceira fundadora do projeto Let's Encrypt e a organização sem fins lucrativos que desenvolve o Certbot? Gostaríamos de enviar um e-mail sobre a EFF e nosso trabalho para criptografar a web, proteger seus usuários e defender os direitos digitais. -------------------------------------------------- ----------------------------- (S) es / (N) o: S 

É fácil obter o seu certificado SSL / TLS grátis para o seu site com tecnologia Nginx.

Escolha se deseja ou não redirecionar o tráfego HTTP para HTTPS, removendo o acesso HTTP. -------------------------------------------------- ----------------------------- 1: Sem redirecionamento - Não faça mais alterações na configuração do servidor web. 2: Redirecionar - Faça todas as solicitações redirecionarem para o acesso HTTPS seguro. Escolha esta opção para novos sites ou se tiver certeza de que seu site funciona em HTTPS. Você pode desfazer essa alteração editando a configuração do seu servidor web. -------------------------------------------------- ----------------------------- Selecione o número apropriado [1-2] e, em seguida, [enter] (pressione 'c' para cancelar) : 2 

Escolha a opção 2 para redirecionar todo o tráfego por HTTPS. Isso é importante!

Depois disso, o cliente SSL deve instalar o certificado e configurar seu site para redirecionar todo o tráfego por HTTPS.

Parabéns! Você ativou https://example.com e https://www.example.com. Você deve testar sua configuração em: https://www.ssllabs.com/ssltest/analyze.html?d=example.com https : //www.ssllabs.com/ssltest/analyze.html? d = www.example.com ---------------------------- -------------------------------------------------- - NOTAS IMPORTANTES: - Parabéns! Seu certificado e cadeia foram salvos em: /etc/letsencrypt/live/example.com/fullchain.pem Seu arquivo de chave foi salvo em: /etc/letsencrypt/live/example.com/privkey.pem Seu certificado irá expirar em 24/02/2018. Para obter uma versão nova ou ajustada deste certificado no futuro, simplesmente execute o certbot novamente com a opção "certonly". Para renovar não interativamente * todos * os seus certificados, execute "renovbot certbot" - Se você gosta do Certbot, considere apoiar nosso trabalho: Doando para ISRG / Let's Encrypt: https://letsencrypt.org/donate Doando para EFF: https://eff.org/donate-le

O bloco de código destacado deve ser adicionado ao seu arquivo de configuração do Apache2 WordPress automaticamente pelo certbot Let's Encrypt. Seu site WordPress está pronto para ser usado em HTTPS.

 ServerAdmin [email protected] DocumentRoot / var / www / html / wordpress / ServerName example.com ServerAlias ​​www.example.com  Opções + FollowSymlinks AllowOverride Todos Requer todos concedidos  ErrorLog $ APACHE_LOG_DIR /error.log CustomLog $ APACHE_LOG_DIR /access.log combinado RewriteEngine em RewriteCond% SERVER_NAME = example.com [OU] RewriteCond% SERVER_NAME = www.example.com RewriteRule ^ https: // % SERVER_NAME% REQUEST_URI [END, NE, R = permanente] 

Um novo arquivo de configuração para o domínio também deve ser criado com o nome /etc/apache2/sites-available/wordpress-le-ssl.conf. Este é o arquivo de configuração do módulo SSL Apache2 e deve conter as definições de certificado definidas nele.

  ServerAdmin [email protected] DocumentRoot / var / www / html / wordpress / ServerName example.com ServerAlias ​​www.example.com  Opções + FollowSymlinks AllowOverride Todos Requer todos concedidos  ErrorLog $ APACHE_LOG_DIR /error.log CustomLog $ APACHE_LOG_DIR /access.log combinado SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem /etc/letsencrypt/options-ssl-apache.conf  

ETAPA 11: ALTERE APACHE2 PARA USAR HTTP / 2

Quando Let's Encrypt estiver configurado e HTTP / 2 habilitado, adicione assim ao arquivo de configuração global Apache2 para habilitar HTTP / 2 em todos os sites.

sudo nano /etc/apache2/apache2.conf

Em seguida, adicione a linha abaixo em qualquer lugar do arquivo e salve ... Depois disso, reinicie e o HTTP / 2 será habilitado em todos os sites.

Protocolos h2 http / 1.1

Se você não quiser habilitá-lo para todos os sites, adicione a linha acima ao arquivo de configuração SSL específico do site.

  ServerAdmin [email protected] DocumentRoot / var / www / html / wordpress / ServerName example.com Protocolos h2 http / 1.1 ServerAlias ​​www.example.com… 

Salve e reinicie o Apache2.

sudo systemctl reload apache2.service

e Let's Encrypt instalado e configurado…. Abra seu navegador e navegue até o nome de domínio ou endereço IP

ex. http://example.com

Se tudo estiver configurado corretamente, você verá o assistente de configuração do WordPress e continuará com a configuração.

Siga as instruções na tela para concluir o assistente ... você será solicitado a inserir sua configuração de banco de dados, detalhes administrativos e outras definições de configuração. Ao concluir, você pode entrar e começar a usar o InvoiceNinja. Voltou para http://example.com/wp-admin/ a qualquer momento depois disso para fazer login.

É isso aí!

Para configurar um processo para renovar automaticamente os certificados, adicione um cron job para executar o processo de renovação.

sudo crontab -e

Em seguida, adicione a linha abaixo e salve.

0 1 * * * / usr / bin / certbot renew &> / dev / null

O cron job tentará renovar 30 dias antes de expirar




Ainda sem comentários

Uma coleção de informações úteis sobre o sistema operacional Linux e novas tecnologias
Artigos novos, dicas práticas, revisões detalhadas e guias. Sinta-se em casa no mundo do sistema operacional Linux