Tutorial: Hospede um WordPress blog em AL2 023 - Amazon Linux 2023

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 WordPressa documentação do Ubuntu. Você também pode usar CodeDeploypara realizar essa tarefa nos sistemas Amazon Linux, macOS ou Unix.

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.

  1. 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
  2. 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.

  3. 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
  4. 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.

  1. Inicie o servidor do banco de dados e da Web.

    [ec2-user ~]$ sudo systemctl start mariadb httpd
  2. Faça login no servidor do banco de dados como usuário root. Insira a senha de root do banco de dados quando solicitado; ela poderá ser diferente da sua senha do sistema de root 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
  3. 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.

  4. 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 chave Tab 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`;
  5. 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";
  6. Limpe os privilégios do banco de dados para receber todas as suas alterações.

    FLUSH PRIVILEGES;
  7. 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.

  1. Copie o arquivo wp-config-sample.php para um arquivo chamado wp-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
  2. 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, o nano é ideal para iniciantes.

    [ec2-user ~]$ nano wordpress/wp-config.php
    1. Encontre a linha que define DB_NAME e altere database_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');
    2. Encontre a linha que define DB_USER e altere username_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');
    3. Encontre a linha que define DB_PASSWORD e altere password_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');
    4. Encontre a seção chamada Authentication Unique Keys and Salts. Esses SALT valores KEY 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');
    5. 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,my.public.dns.amazonaws.com) ou em um subdiretório ou pasta abaixo da raiz (por exemplo,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órioblog:

      [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.

  1. 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, o nano é ideal para iniciantes.

    [ec2-user ~]$ sudo vim /etc/httpd/conf/httpd.conf
  2. 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>
  3. Altere a linha AllowOverride None na seção acima para AllowOverride All.

    nota

    Há múltiplas linhas AllowOverride nesse arquivo; altere a linha na seção <Directory "/var/www/html">.

    AllowOverride All
  4. 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).

  1. Conceda a propriedade do arquivo de /var/www e seu conteúdo para o usuário apache.

    [ec2-user ~]$ sudo chown -R apache /var/www
  2. Conceda a propriedade do grupo do /var/www e seu conteúdo para o grupo do apache.

    [ec2-user ~]$ sudo chgrp -R apache /var/www
  3. 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 {} \;
  4. 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.

  5. 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.

  1. 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
  2. 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
  3. 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
  4. 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ção no WordPress site.

Para executar o script WordPress de instalação com AL2 023 AMI
  1. 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
  2. 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
  3. 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
  4. 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ção no 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 no WordPress site.

Configurar seu blog

Você pode configurar seu blog para usar diferentes temas e plug-ins e oferecer uma experiência mais personalizada para seus leitores. Contudo, às vezes o processo de instalação pode dar errado, fazendo com que você perca o blog inteiro. É altamente recomendável que você crie um Amazon Machine Image (AMI) de backup da sua instância antes de tentar instalar qualquer tema ou plug-in para que você possa restaurar seu blog se algo der errado durante a instalação. Para obter mais informações, consulte Crie seu próprio AMI no Guia do EC2 usuário da Amazon.

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. O Global Accelerator ajuda você a obter menor latência melhorando o desempenho do tráfego da Internet entre os dispositivos cliente de seus usuários e seu WordPress aplicativo em execução. AWS O Global Accelerator usa a rede AWS global para direcionar o tráfego para um endpoint de aplicativo saudável na AWS região mais próxima do cliente.

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
  1. Conecte-se à sua EC2 instância comSSH.

  2. 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>
  3. 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
  4. 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
  5. 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.