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: Hospede um WordPress blog em AL2 023
Os procedimentos a seguir ajudarão você a instalar, configurar e proteger um WordPress blog na sua instância AL2 023. Este tutorial é uma boa introdução ao uso da AmazonEC2, pois você tem controle total sobre um servidor web que hospeda seu WordPress blog, o que não é típico de 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 WordPress instalação mais automatizada que não exija interação direta com a configuração do servidor web, o AWS CloudFormation serviço fornece um WordPress modelo que também pode ajudar você 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 você precisar de uma solução de alta disponibilidade com um banco de dados desacoplado, consulte Implantação de um WordPress site de alta disponibilidade no Guia do desenvolvedor.AWS Elastic Beanstalk
Importante
Esses procedimentos são destinados ao uso com AL2 023. 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 obter ajuda WordPress na instalação em uma instância do Ubuntu, consulte WordPress
Tópicos
Pré-requisitos
É altamente recomendável que você associe um endereço IP elástico (EIP) à instância que você está usando para hospedar um WordPress blog. Isso evita que o DNS endereço público da sua instância mude e interrompa sua instalação. Se você possui um nome de domínio e deseja usá-lo em seu blog, você pode atualizar o DNS registro do nome de domínio para apontar para seu EIP endereço (para obter ajuda com isso, entre em contato com seu registrador de nomes de domínio). Você pode ter um EIP endereço associado a uma instância em execução sem nenhum custo. Para obter mais informações, consulte Endereços IP elásticos no Guia EC2 do usuário da Amazon. O tutorial Tutorial: instalar um LAMP servidor em AL2 023 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 ao seu grupo de segurança, consulte Adicionar regras a um grupo de segurança.
Se você ainda não tem um nome de domínio para seu blog, você pode registrar um nome de domínio com o Route 53 e associar o EIP endereço da sua instância ao seu nome de domínio. Para obter mais informações, consulte Registrar e gerenciar novos domínios com o Amazon Route 53 no Guia do desenvolvedor do Amazon Route 53.
Instalar WordPress
Conecte-se à sua instância e baixe o pacote WordPress de instalação. 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 ... etc
Como prática recomendada, recomendamos manter o sistema operacional o mais up-to-date possível, mas talvez você queira repetir 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.
-
Baixe o pacote WordPress de instalação mais recente com o wget comando. 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 sua WordPress instalação
Sua WordPress instalação precisa armazenar informações, como postagens 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 deroot
do banco de dados quando solicitado; ela poderá ser diferente da sua senha do sistema deroot
ou 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 Meu SQL banco de dados. Sua WordPress instalação usa esses valores para se comunicar com seu SQL banco de dados Meu. 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 chaveTab
de 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 totais do seu banco de dados ao WordPress usuário que você criou 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 WordPress de instalação contém um exemplo de arquivo de configuração chamadowp-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.php
para 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.php
com 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_NAME
e alteredatabase_name_here
para 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 sua WordPress instalação.define('DB_NAME', '
wordpress-db
'); -
Encontre a linha que define
DB_USER
e altereusername_here
para 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 sua WordPress instalação.define('DB_USER', '
wordpress-user
'); -
Encontre a linha que define
DB_PASSWORD
e alterepassword_here
para 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 sua WordPress instalação.define('DB_PASSWORD', '
your_strong_password
'); -
Encontre a seção chamada
Authentication Unique Keys and Salts
. EssesSALT
valoresKEY
e esses fornecem uma camada de criptografia aos cookies do navegador que WordPress os usuários 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 TTY terminal Pu, coloque o cursor onde deseja colar o texto e clique com o botão direito do mouse dentro do TTY terminal Pu.Para obter mais informações sobre 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 WordPress arquivos na raiz do documento Apache
-
Agora que você descompactou a pasta de instalação, criou Meu SQL banco de dados e usuário e personalizou o arquivo de WordPress configuração, você está pronto para copiar os arquivos de instalação para a raiz do documento do servidor web para poder executar o script de instalação que conclui a instalação. A localização desses arquivos depende se você deseja que seu WordPress blog esteja disponível na raiz real do seu servidor web (por exemplo,
) ou em um subdiretório ou pasta abaixo da raiz (por exemplo,my.public.dns.amazonaws.com
).my.public.dns.amazonaws.com/blog
-
Se você quiser WordPress executar na raiz do documento, copie o conteúdo do diretório de instalação do wordpress (mas não o diretório em si) da seguinte forma:
[ec2-user ~]$
cp -r wordpress/* /var/www/html/
-
Se você quiser WordPress executar em um diretório alternativo na raiz do documento, primeiro crie esse diretório e, em seguida, copie os arquivos nele. Neste exemplo, WordPress será executado a partir do 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 do documento Apache, o script de WordPress instalação fica desprotegido e um invasor pode obter acesso ao seu blog se o servidor web Apache estiver em execução. 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 o uso WordPress de links permanentes
WordPress os permalinks precisam usar .htaccess
arquivos Apache para funcionar corretamente, mas isso não está 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.conf
com 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 # AllowOverride
None
# # Controls who can get stuff from this server. # Require all granted </Directory> -
Altere a linha
AllowOverride None
na seção acima paraAllowOverride
.All
nota
Há múltiplas linhas
AllowOverride
nesse arquivo; altere a linha na seção<Directory "/var/www/html">
.AllowOverride
All
-
Salve o arquivo e saia do seu editor de texto.
Para instalar a biblioteca de desenhos PHP gráficos em AL2 023
A biblioteca GD PHP permite que você modifique imagens. Instale esta biblioteca caso você precise cortar a imagem do cabeçalho do blog. A versão phpMyAdmin que você instala pode exigir uma versão mínima específica dessa biblioteca (por exemplo, versão 8.1).
Use o comando a seguir para instalar a biblioteca de desenhos PHP gráficos em AL2 023. Por exemplo, se você instalou o php8.1 da fonte como parte da instalação da LAMP pilha, esse comando instala a versão 8.1 da PHP biblioteca de desenhos gráficos.
[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 PHP gráficos no Amazon Linux AMI
A biblioteca GD PHP permite que você modifique imagens. Instale esta biblioteca caso você precise cortar a imagem do cabeçalho do blog. A versão phpMyAdmin que você instala pode exigir uma versão mínima específica dessa 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
Veja a seguir exemplos de linhas da saída da biblioteca de desenhos PHP gráficos (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 PHP gráficos (por exemplo, versão 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
Alguns dos recursos disponíveis WordPress exigem acesso de gravação à raiz do documento Apache (como o upload de mídia pelas telas de administração). Se você ainda não tiver feito isso, aplique as seguintes associações e permissões de grupo (conforme descrito em mais detalhes no tutorial do servidor LAMP web).
-
Conceda a propriedade do arquivo de
/var/www
e seu conteúdo para o usuárioapache
.[ec2-user ~]$
sudo chown -R apache /var/www
-
Conceda a propriedade do grupo do
/var/www
e seu conteúdo para o grupo doapache
.[ec2-user ~]$
sudo chgrp -R apache /var/www
-
Altere as permissões do diretório do
/var/www
e 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/www
e de seus subdiretórios.[ec2-user ~]$
find /var/www -type f -exec sudo chmod 0644 {} \;
nota
Se você também pretende usar WordPress como FTP servidor, precisará de configurações de grupo mais permissivas aqui. Revise as etapas recomendadas e as configurações de segurança WordPress
para fazer isso. -
Reinicie o Apache Web Server para pegar o grupo e as permissões novos.
[ec2-user ~]$
sudo systemctl restart httpd
Para executar o script WordPress de instalação com AL2 023
Você está pronto para instalar WordPress. Os comandos usados por você dependem do sistema operacional. Os comandos neste procedimento são para uso com AL2 023. Use o procedimento que segue este com AL2 023AMI.
-
Use o comando systemctl para garantir que
httpd
e 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 mariadb
Se 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 httpd
Se o serviço
httpd
não estiver sendo executado, inicie-o.[ec2-user ~]$
sudo systemctl start httpd
-
Em um navegador da Web, digite o URL do seu WordPress blog (o DNS endereço público da sua instância ou o endereço seguido pela
blog
pasta). Você deve ver o script WordPress de instalação. Forneça as informações exigidas pela WordPress instalação. Escolha Instalar WordPress para concluir a instalação. Para obter mais informações, consulte Etapa 5: Executar o script de instalaçãono WordPress site.
Para executar o script WordPress de instalação com AL2 023 AMI
-
Use o comando chkconfig para garantir que
httpd
e 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 status
Se 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 status
Se o serviço
httpd
não estiver sendo executado, inicie-o.[ec2-user ~]$
sudo service httpd start
-
Em um navegador da Web, digite o URL do seu WordPress blog (o DNS endereço público da sua instância ou o endereço seguido pela
blog
pasta). Você deve ver o script WordPress de instalação. Forneça as informações exigidas pela WordPress instalação. Escolha Instalar WordPress para concluir a instalação. Para obter mais informações, consulte Etapa 5: Executar o script de instalaçãono WordPress site.
Próximas etapas
Depois de testar seu WordPress blog, considere atualizar sua configuração.
Usar um nome de domínio personalizado
Se você tiver um nome de domínio associado ao EIP endereço da sua EC2 instância, poderá configurar seu blog para usar esse nome em vez do DNS endereço EC2 público. Para obter mais informações, consulte Alterando o site URL
Configurar seu blog
Você pode configurar seu blog para usar diferentes temas
Aumentar a capacidade
Se seu WordPress blog se tornar popular e você precisar de mais capacidade computacional ou armazenamento, considere as seguintes etapas:
-
Expanda o espaço de armazenamento na sua instância. Para obter mais informações, consulte Amazon EBS Elastic Volumes.
-
Mova seu SQL banco de dados My RDS para a Amazon
para aproveitar a capacidade do serviço de escalar facilmente.
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 AWS Global Accelerator
Saiba mais sobre WordPress
Os links a seguir contêm mais informações sobre WordPress.
-
Para obter informações sobre WordPress, consulte a documentação de ajuda do WordPress Codex no Codex
. -
Para obter mais informações sobre como solucionar problemas de instalação, acesse Problemas comuns de instalação.
-
Para obter informações sobre como tornar seu WordPress blog mais seguro, acesse Fortalecimento WordPress
. -
Para obter informações sobre como manter seu WordPress blog up-to-date, acesse Atualizar WordPress
.
Ajuda! Meu DNS nome público mudou e agora meu blog está quebrado
Sua WordPress instalação é configurada automaticamente usando o DNS endereço público da sua EC2 instância. Se você parar e reiniciar a instância, o DNS endereço público mudará (a menos que esteja associado a um endereço IP elástico) e seu blog não funcionará mais porque faz referência a recursos em um endereço que não existe mais (ou está atribuído a outra EC2 instância). 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 aconteceu com sua WordPress instalação, você poderá recuperar seu blog com o procedimento abaixo, que usa a interface de linha de wp-cli comando para WordPress.
Para alterar seu WordPress site URL com o wp-cli
-
Conecte-se à sua EC2 instância comSSH.
-
Anote o site antigo URL e o novo site URL da sua instância. O site antigo provavelmente URL é o DNS nome público da sua EC2 instância quando você instalou WordPress. O novo site URL é o DNS nome público atual da sua EC2 instância. Se você não tiver certeza do seu site antigoURL, você pode usá-lo curl para encontrá-lo com o comando a seguir.
[ec2-user ~]$
curl localhost | grep wp-content
Você deve ver referências ao seu DNS nome público antigo na saída, que terá a seguinte aparência (site antigo URL 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 site antigo URL em sua WordPress instalação pelo comando a seguir. Substitua sua EC2 instância URLs pelo site antigo e pelo novo e o caminho para sua WordPress instalação (geralmente
/var/www/html
ou/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 da Web, entre no novo site URL do seu WordPress blog para verificar se o site está funcionando corretamente novamente. Se não estiver, consulte Alteração do site URL
e Problemas comuns de instalação para obter mais informações.