As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Tutorial: Host a WordPress blog on AL2023
Os procedimentos a seguir ajudarão você a instalar, configurar e proteger um blog do WordPress em uma instância do AL2023. Este tutorial é uma boa introdução para usar o Amazon EC2 no qual você tem controle total sobre um servidor web que hospeda seu blog do WordPress, o que não é típico com um serviço de hospedagem tradicional.
Você é responsável para atualizar os pacotes de software e manter os patches de segurança para seu servidor. Para uma instalação mais automatizada do WordPress que não exige interação direta com a configuração do servidor web, o CloudFormation fornecerá um modelo do WordPress que também pode ajudá-lo a começar rapidamente. Para mais informações, consulte Get started (Conceitos básicos) no AWS CloudFormation User Guide (Guia do usuário do ). Se precisar de uma solução de alta disponibilidade com um banco de dados desacoplado, consulte Implantar um site WordPress de alta disponibilidade no Guia do desenvolvedor do AWS Elastic Beanstalk.
Importante
Esses procedimentos são destinados ao AL2023. Para obter informações sobre outras distribuições, consulte a documentação específica. Muitas etapas deste tutorial não funcionam em instâncias Ubuntu. Para ajuda na instalação do WordPress em uma instância Ubuntu, consulte WordPress
Tópicos
Pré-requisitos
Recomendamos veementemente que você associe um endereço IP elástico (EIP) à instância que está usando para hospedar um blog do WordPress. Isso impede que o endereço DNS público da sua instância mude e quebre sua instalação. Se você tiver um nome de domínio e quiser usá-lo para o blog, pode atualizar o registro DNS do nome de domínio para indicar ao seu endereço EIP (para obter ajuda com isso, contate seu registrador de nome de domínio). Você pode ter um endereço EIP associado a uma instância em execução, gratuitamente. Para obter mais informações, consulte Endereços IP elásticos no Guia do usuário do Amazon EC2. O tutorial Tutorial: Install a LAMP server on AL2023 apresenta etapas para configurar um grupo de segurança para permitir tráfego de HTTP e HTTPS, bem como várias etapas para garantir que as permissões de arquivos sejam definidas corretamente para seu servidor da Web. Para obter informações sobre como adicionar regras aos grupos de segurança, consulte Add rules to a security group.
Se você ainda não tiver um nome de domínio para seu blog, pode registrar um nome de domínio com o Route 53 e associar o endereço EIP de sua instância com seu nome de domínio. Para obter mais informações, consulte Registrar nomes de domínio usando o Amazon Route 53 no Guia do desenvolvedor do Amazon Route 53.
Instalar o WordPress
Conecte-se à sua instância e baixe o pacote instalação do WordPress. Para obter mais informações sobre como se conectar à sua instância, consulte Conexão com AL2 203 instâncias.
-
Baixe e instale esses pacotes usando o comando a seguir.
dnf install wget php-mysqlnd httpd php-fpm php-mysqli mariadb105-server php-json php php-devel -y -
Você pode notar um aviso exibido com verbiagem semelhante na saída (as versões podem variar com o tempo):
WARNING: A newer release of "Amazon Linux" is available. Available Versions: dnf upgrade --releasever=2023.0.20230202 Release notes: https://aws.amazon.com Version 2023.0.20230204: Run the following command to update to 2023.0.20230204: dnf upgrade --releasever=2023.0.20230204 ... etcComo prática recomendada, mantenha o sistema operacional o mais atualizado possível, mas você pode iterar cada versão para garantir que não haja conflitos em seu ambiente. Se a instalação dos pacotes anteriores anotados na etapa 1 falhar, talvez seja necessário atualizar para uma das versões mais recentes listadas e tentar novamente.
-
Faça download do pacote de instalação mais recente do WordPress com o comando wget. O comando a seguir sempre deve baixar a versão mais recente.
[ec2-user ~]$wget https://wordpress.org/latest.tar.gz -
Descompacte e desarquive o pacote de instalação. A pasta de instalação é descompactada para uma pasta chamada
wordpress.[ec2-user ~]$tar -xzf latest.tar.gz
Para criar um usuário de banco de dados e um banco de dados para a instalação do WordPress
Sua instalação do WordPress precisa armazenar informações, como publicações de blog e comentários de usuários, em um banco de dados. Esse procedimento ajuda você a criar um banco de dados para seu blog e um usuário autorizado a ler e salvar as informações.
-
Inicie o servidor do banco de dados e da Web.
[ec2-user ~]$sudo systemctl start mariadb httpd -
Faça login no servidor do banco de dados como usuário
root. Insira a senha derootdo banco de dados quando solicitado; ela poderá ser diferente da sua senha do sistema derootou poderá até estar vazia, se você não tiver protegido seu servidor do banco de dados.Se ainda não tiver protegido seu servidor do banco de dados, é muito importante que você faça isso. Para obter mais informações, consulte Etapa 3: Proteger o servidor do banco de dados (AL2023).
[ec2-user ~]$mysql -u root -p -
Crie um usuário e uma senha para seu banco de dados do MySQL. Sua instalação do WordPress usa esses valores para se comunicar com seu banco de dados do MySQL. Digite o comando a seguir, substituindo um nome de usuário e uma senha exclusivos.
CREATE USER 'wordpress-user'@'localhost' IDENTIFIED BY 'your_strong_password';Crie uma senha forte para seu usuário. Não use o caractere de aspa única ( ' ) na sua senha, pois isso quebrará o comando anterior. Não reutilize uma senha existente e armazene essa senha em um lugar seguro.
-
Crie seu banco de dados. Dê ao seu banco de dados um nome descritivo e significativo, como
wordpress-db.nota
As marcas de pontuação que cercam o nome do banco de dados no comando abaixo são chamados backticks. A chave de backtick (
`) costuma estar localizada acima da chaveTabde um teclado padrão. Backticks nem sempre são necessários, mas permitem que você use caracteres de outra forma ilegais, como hífens, no nome dos bancos de dados.CREATE DATABASE `wordpress-db`; -
Conceda privilégios completos para seu banco de dados ao usuário do WordPress criado anteriormente.
GRANT ALL PRIVILEGES ON `wordpress-db`.* TO "wordpress-user"@"localhost"; -
Limpe os privilégios do banco de dados para receber todas as suas alterações.
FLUSH PRIVILEGES; -
Saia do cliente
mysql.exit
Para criar e editar o arquivo wp-config.php
A pasta de instalação do WordPress contém um arquivo de configuração de exemplo chamado wp-config-sample.php. Nesse procedimento, você copia esse arquivo e o edita para caber na sua configuração específica.
-
Copie o arquivo
wp-config-sample.phppara um arquivo chamadowp-config.php. Isso cria um novo arquivo de configuração e mantém o arquivo de exemplo original intacto como um backup.[ec2-user ~]$cp wordpress/wp-config-sample.php wordpress/wp-config.php -
Edite o arquivo
wp-config.phpcom seu editor de texto favorito (como o nano ou o vim) e insira os valores da instalação. Se você não tiver um editor de texto favorito, onanoé ideal para iniciantes.[ec2-user ~]$nano wordpress/wp-config.php-
Encontre a linha que define
DB_NAMEe alteredatabase_name_herepara o nome do banco de dados criado em Passo 4 de Para criar um usuário de banco de dados e um banco de dados para a instalação do WordPress.define('DB_NAME', 'wordpress-db'); -
Encontre a linha que define
DB_USERe altereusername_herepara o usuário do banco de dados que você criou Passo 3 de Para criar um usuário de banco de dados e um banco de dados para a instalação do WordPress.define('DB_USER', 'wordpress-user'); -
Encontre a linha que define
DB_PASSWORDe alterepassword_herepara a senha mais forte que você criou em Passo 3 de Para criar um usuário de banco de dados e um banco de dados para a instalação do WordPress.define('DB_PASSWORD', 'your_strong_password'); -
Encontre a seção chamada
Authentication Unique Keys and Salts. Esses valoresKEYeSALTfornecem uma camada de criptografia para os cookies do navegador que os usuários do WordPress armazenam em suas máquinas locais. Basicamente, adicionar valores longos e aleatórios aqui deixa seu site mais seguro. Visite https://api.wordpress.org/secret-key/1.1/salt/para gerar aleatoriamente um conjunto de valores-chave que você pode copiar e colar no seu arquivo wp-config.php. Para colar texto em um terminal do PuTTY, coloque o cursor onde deseja colar texto e clique com o botão direito do mouse dentro do terminal do PuTTY.Para obter mais informações sobre as chaves de segurança, acesse https://wordpress.org/support/article/editing-wp-config-php/#security-keys
. nota
Os valores abaixo são somente para fins de exemplo; não use esses valores para a instalação.
define('AUTH_KEY', '#U$$+[RXN8:b^-L 0(WU_+ c+WFkI~c]o]-bHw+)/Aj[wTwSiZ<Qb[mghEXcRh-'); define('SECURE_AUTH_KEY', 'Zsz._P=l/|y.Lq)XjlkwS1y5NJ76E6EJ.AV0pCKZZB,*~*r ?6OP$eJT@;+(ndLg'); define('LOGGED_IN_KEY', 'ju}qwre3V*+8f_zOWf?{LlGsQ]Ye@2Jh^,8x>)Y |;(^[Iw]Pi+LG#A4R?7N`YB3'); define('NONCE_KEY', 'P(g62HeZxEes|LnI^i=H,[XwK9I&[2s|:?0N}VJM%?;v2v]v+;+^9eXUahg@::Cj'); define('AUTH_SALT', 'C$DpB4Hj[JK:?{ql`sRVa:{:7yShy(9A@5wg+`JJVb1fk%_-Bx*M4(qc[Qg%JT!h'); define('SECURE_AUTH_SALT', 'd!uRu#}+q#{f$Z?Z9uFPG.${+S{n~1M&%@~gL>U>NV<zpD-@2-Es7Q1O-bp28EKv'); define('LOGGED_IN_SALT', ';j{00P*owZf)kVD+FVLn-~ >.|Y%Ug4#I^*LVd9QeZ^&XmK|e(76miC+&W&+^0P/'); define('NONCE_SALT', '-97r*V/cgxLmp?Zy4zUU4r99QQ_rGs2LTd%P;|_e1tS)8_B/,.6[=UK<J_y9?JWG'); -
Salve o arquivo e saia do seu editor de texto.
-
Para instalar seus arquivos do WordPress no documento-raiz do Apache
-
Agora que você descompactou a pasta de instalação, criou um banco de dados e um usuário do MySQL e personalizou o arquivo de configuração do WordPress, está pronto para copiar seus arquivos de instalação à raiz do documento do servidor web para que possa executar o script de instalação que encerrar sua instalação. O local desses arquivos depende de se você quer que seu blog do WordPress esteja disponível na raiz real do seu servidor web (por exemplo,
) ou em um subdiretório ou em uma pasta sob a raiz (por exemplo,my.public.dns.amazonaws.com).my.public.dns.amazonaws.com/blog-
Se você quiser que o WordPress seja executado na raiz de documentos, copie o conteúdo do diretório de instalação do WordPress (mas não o diretório em si) da seguinte maneira:
[ec2-user ~]$cp -r wordpress/* /var/www/html/ -
Se você quiser que o WordPress seja executado em um diretório alternativo na raiz de documentos, crie primeiro esse diretório e, em seguida, copie os arquivos para ele. Neste exemplo, o WordPress será executado pelo diretório
blog:[ec2-user ~]$mkdir /var/www/html/blog[ec2-user ~]$cp -r wordpress/* /var/www/html/blog/
-
Importante
Para fins de segurança, se você não estiver segundo para o procedimento seguinte imediatamente, pare o Apache Web Server (httpd) agora. Depois de mover sua instalação para a raiz de documentos do Apache, o script de instalação do WordPress estará desprotegido e um invasor poderia ganhar acesso ao seu blog se o Apache Web Server estiver sendo executado. Para interromper o servidor web Apache, insira o comando sudo service
httpd stop. Se você estiver passando para o procedimento seguinte, não precisa parar o Apache Web Server.
Para permitir que o WordPress use permalinks
Os permalinks do WordPress precisam usar arquivos .htaccess do Apache para funcionarem corretamente, mas isso não fica habilitado por padrão no Amazon Linux. Use o procedimento a seguir para permitir todas as substituições na raiz de documentos do Apache.
-
Abra o arquivo
httpd.confcom seu editor de texto de preferência (como nano ou vim). Se você não tiver um editor de texto favorito, onanoé ideal para iniciantes.[ec2-user ~]$sudo vim /etc/httpd/conf/httpd.conf -
Encontre a seção que começa com
<Directory "/var/www/html">.<Directory "/var/www/html"> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.4/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverrideNone# # Controls who can get stuff from this server. # Require all granted </Directory> -
Altere a linha
AllowOverride Nonena seção acima paraAllowOverride.Allnota
Há múltiplas linhas
AllowOverridenesse arquivo; altere a linha na seção<Directory "/var/www/html">.AllowOverrideAll -
Salve o arquivo e saia do seu editor de texto.
Como instalar a biblioteca de desenhos gráficos PHP no AL2023
A biblioteca de desenhos gráficos para PHP permite modificar imagens. Instale esta biblioteca caso você precise cortar a imagem do cabeçalho do blog. A versão do phpMyAdmin que você instalar poderá exigir uma versão mínima específica desta biblioteca (por exemplo, versão 8.1).
Use o comando a seguir para instalar a biblioteca de desenhos gráficos PHP no AL2023. Por exemplo, se você instalou o php8.1 da origem como parte da instalação da pilha LAMP, este comando instalará a versão 8.1 da biblioteca de desenhos gráficos PHP.
[ec2-user ~]$sudo dnf install php-gd
Para verificar a versão instalada, use o seguinte comando:
[ec2-user ~]$sudo dnf list installed | grep php-gd
A seguir está um exemplo de saída:
php-gd.x86_64 8.1.30-1.amzn2 @amazonlinux
Para instalar a biblioteca de desenhos gráficos PHP no Amazon Linux AMI
A biblioteca de desenhos gráficos para PHP permite modificar imagens. Instale esta biblioteca caso você precise cortar a imagem do cabeçalho do blog. A versão do phpMyAdmin que você instalar poderá exigir uma versão mínima específica desta biblioteca (por exemplo, versão 8.1).
Para verificar quais versões estão disponíveis, use o seguinte comando:
[ec2-user ~]$dnf list | grep php
A seguir são mostradas linhas de exemplo da saída para a biblioteca de desenhos gráficos PHP (versão 8.1):
php8.1.aarch64 8.1.7-1.amzn2023.0.1 @amazonlinux php8.1-cli.aarch64 8.1.7-1.amzn2023.0.1 @amazonlinux php8.1-common.aarch64 8.1.7-1.amzn2023.0.1 @amazonlinux php8.1-devel.aarch64 8.1.7-1.amzn2023.0.1 @amazonlinux php8.1-fpm.aarch64 8.1.7-1.amzn2023.0.1 @amazonlinux php8.1-gd.aarch64 8.1.7-1.amzn2023.0.1 @amazonlinux
Use o comando a seguir para instalar uma versão específica da biblioteca de desenhos gráficos PHP (por exemplo, php8.1) no Amazon Linux AMI:
[ec2-user ~]$sudo dnf install -y php8.1-gd
Para corrigir as permissões de arquivos para o Apache Web Server
Algumas das características disponíveis no WordPress exigem acesso de gravação à raiz do documento do Apache (como carregar mídia pelas telas de Administração). Se você não tiver feito isso, aplique as associações e permissões de grupo a seguir (conforme descrito em mais detalhes no tutorial do servidor web LAMP).
-
Conceda a propriedade do arquivo de
/var/wwwe seu conteúdo para o usuárioapache.[ec2-user ~]$sudo chown -R apache /var/www -
Conceda a propriedade do grupo do
/var/wwwe seu conteúdo para o grupo doapache.[ec2-user ~]$sudo chgrp -R apache /var/www -
Altere as permissões do diretório do
/var/wwwe de seus subdiretórios para adicionar permissões de gravação do grupo e definir o ID do grupo em subdiretórios futuros.[ec2-user ~]$sudo chmod 2775 /var/www[ec2-user ~]$find /var/www -type d -exec sudo chmod 2775 {} \; -
Altere recursivamente as permissões de arquivo de
/var/wwwe de seus subdiretórios.[ec2-user ~]$find /var/www -type f -exec sudo chmod 0644 {} \;nota
Se também pretender usar o WordPress como um servidor FTP, você precisará de configurações de grupo mais permissivas. Confira as etapas e configurações de segurança no WordPress
recomendadas para realizar isso. -
Reinicie o Apache Web Server para pegar o grupo e as permissões novos.
[ec2-user ~]$sudo systemctl restart httpd
Como executar o script de instalação do WordPress com o AL2023
Você está pronto para instalar o WordPress. Os comandos usados por você dependem do sistema operacional. Os comandos deste procedimento são destinados ao AL2023. Use o próximo procedimento com a AMI do AL2023.
-
Use o comando systemctl para garantir que
httpde os serviços do banco de dados sejam iniciados a cada inicialização do sistema.[ec2-user ~]$sudo systemctl enable httpd && sudo systemctl enable mariadb -
Verifique se o servidor do banco de dados está em execução.
[ec2-user ~]$sudo systemctl status mariadbSe o serviço do banco de dados não está em execução, inicie-o.
[ec2-user ~]$sudo systemctl start mariadb -
Verifique se o Apache Web Server (
httpd) está sendo executado.[ec2-user ~]$sudo systemctl status httpdSe o serviço
httpdnão estiver sendo executado, inicie-o.[ec2-user ~]$sudo systemctl start httpd -
Em um navegador da web, insira o URL do blog do WordPress (o endereço DNS público para sua instância ou esse endereço seguido pela pasta
blog). Você deve visualizar o script de instalação do WordPress. Forneça as informações necessárias segundo a instalação do WordPress. Escolha Install WordPress (Instalar WordPress) para concluir a instalação. Para obter mais informações, consulte Etapa 5: Executar o script de instalaçãono site do WordPress.
Como executar o script de instalação do WordPress com a AMI do AL2023
-
Use o comando chkconfig para garantir que
httpde os serviços do banco de dados sejam iniciados a cada inicialização do sistema.[ec2-user ~]$sudo chkconfig httpd on && sudo chkconfig mariadb on -
Verifique se o servidor do banco de dados está em execução.
[ec2-user ~]$sudo service mariadb statusSe o serviço do banco de dados não está em execução, inicie-o.
[ec2-user ~]$sudo service mariadb start -
Verifique se o Apache Web Server (
httpd) está sendo executado.[ec2-user ~]$sudo service httpd statusSe o serviço
httpdnão estiver sendo executado, inicie-o.[ec2-user ~]$sudo service httpd start -
Em um navegador da web, insira o URL do blog do WordPress (o endereço DNS público para sua instância ou esse endereço seguido pela pasta
blog). Você deve visualizar o script de instalação do WordPress. Forneça as informações necessárias segundo a instalação do WordPress. Escolha Install WordPress (Instalar WordPress) para concluir a instalação. Para obter mais informações, consulte Etapa 5: Executar o script de instalaçãono site do WordPress.
Próximas etapas
Depois de testar seu blog do WordPress, é recomendável atualizar sua configuração.
Usar um nome de domínio personalizado
Se você tiver um nome de domínio associado ao endereço EIP da sua instância do EC2, pode configurar o blog para usar esse nome em vez do endereço DNS público do EC2. Para obter mais informações, consulte Alterar o URL do site
Configurar seu blog
Você pode configurar seu blog para usar diferentes temas
Aumentar a capacidade
Se seu blog do WordPress ficar popular e você precisar de mais poder computacional ou armazenamento, considere as etapas a seguir:
-
Expanda o espaço de armazenamento na sua instância. Para obter mais informações, consulte Volumes Elásticos do Amazon EBS.
-
Mova o banco de dados MySQL para o Amazon RDS
para aproveitar a capacidade de dimensionamento que o serviço oferece.
Melhore a performance de rede do tráfego da Internet
Se você espera que seu blog gere tráfego de usuários localizados em todo o mundo, considere o AWSGlobal Accelerator
Saiba mais sobre o WordPress
Os links a seguir contêm mais informações sobre o WordPress.
-
Para obter informações sobre o WordPress, consulte a documentação de ajuda do WordPress Codex em Codex
. -
Para obter mais informações sobre como solucionar problemas de instalação, acesse Common installatino problems
. -
Para obter informações sobre como deixar um blog do WordPress mais seguro, acesse Hardening WordPress
. -
Para obter informações sobre como manter o blog do WordPress atualizado, acesse Updating WordPress
.
Ajuda! Meu nome DNS público mudou e agora meu blog não está funcionando
A sua instalação do WordPress é configurada automaticamente usando o endereço DNS público da sua instância do EC2. Se você parar e reiniciar a instância, as alterações no endereço DNS público (a menos que estejam associadas a um endereço IP elástico) e seu blog não funcionarão mais, pois ele faz referência a recursos em um endereço que não existe mais (ou é atribuído a outra instância do EC2). Uma descrição mais detalhada do problema e várias soluções possíveis estão descritas em https://wordpress.org/support/article/changing-the-site-url/
Se isso tiver acontecido à sua instalação do WordPress, você pode conseguir recuperar o blog com o procedimento abaixo, usando a interface de linha de comando wp-cli para WordPress.
Para alterar a URL do site do WordPress com wp-cli
-
Conecte-se à sua instância do EC2 com SSH.
-
Anote o URL do site antigo e do site novo para sua instância. O URL do site antigo provavelmente é o nome DNS público da sua instância do EC2 ao instalar o WordPress. O URL do novo site é o nome DNS público atual da sua instância do EC2. Se você não tiver certeza da URL do site antigo, pode usar o curl para encontrá-la com o seguinte comando.
[ec2-user ~]$curl localhost | grep wp-contentVocê deve visualizar referências ao nome DNS público antigo na saída, que terá a seguinte aparência (URL do site antigo em vermelho):
<script type='text/javascript' src='http://ec2-52-8-139-223.us-west-1.compute.amazonaws.com/wp-content/themes/twentyfifteen/js/functions.js?ver=20150330'></script> -
Faça download do wp-cli com o seguinte comando.
[ec2-user ~]$curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -
Pesquise e substitua o URL do site antigo na instalação do WordPress pelo comando a seguir. Substitua os URLs dos sites novo e antigo para sua instância do EC2 e o caminho para sua instalação do WordPress (geralmente
/var/www/htmlou/var/www/html/blog).[ec2-user ~]$php wp-cli.phar search-replace'old_site_url''new_site_url'--path=/path/to/wordpress/installation--skip-columns=guid -
Em um navegador, insira o URL de novo site do blog do WordPress para verificar se o site está funcionando corretamente. Se não estiver, consulte Changing the site URL
e Common installation problems para obter mais informações.