Skip to content

Como instalar o WordPress no Ubuntu Server 18.04

7 de junho de 2021

Neste artigo

WordPress é, sem dúvida, a plataforma de blog mais usada no planeta. Mas a ferramenta pode ser usada para muito mais do que apenas blogs. Com a adição correta de extensões, você pode transformar o WordPress em um site de comércio eletrônico, um site multimídia e muito mais. Se você tiver um servidor próprio, poderá hospedar uma instalação do WordPress, sem ter que recorrer a terceiros. E é exatamente isso que vamos fazer aqui. Neste tutorial, você aprenderá como instalar os componentes necessários, bem como a plataforma WordPress no Ubuntu Server 18.04. Isso presumirá apenas uma coisa: que você tem o Ubuntu Server instalado e funcionando.

Yuichiro Chino / Getty Images

Dependências

A primeira coisa a fazer é colocar nosso servidor LAMP (Linux Apache MySQL PHP) em funcionamento. Como o Ubuntu já está lá, tudo o que precisa ser feito é instalar os componentes secundários. Como estamos usando o Ubuntu, isso pode ser feito com um único comando. No entanto, antes de fazermos isso, queremos ter certeza de que nosso servidor está atualizado. Abra uma janela de terminal e execute os seguintes comandos: sudo apt-get update
sudo apt-get upgrade

type = “code”> Caso o kernel seja atualizado no processo, será necessário reinicializar. Se for esse o caso, o servidor precisará ser reiniciado (para que as alterações tenham efeito). Isso significa que você deve executar a atualização / atualização em um momento em que a reinicialização seja viável. Com a atualização / atualização fora do caminho, é hora de instalar os servidores web / banco de dados e PHP. Isso pode ser feito com um único comando: sudo apt install apache2 php mariadb-server

type = “code”> Durante a instalação, você será solicitado a criar / verificar uma senha para o usuário administrador do MySQL. Quando o processo for concluído, você pode apontar um navegador para http: // SERVER_IP (onde SERVER_IP é o endereço IP do seu servidor Ubuntu) para ver a tela de boas-vindas do Apache. Em seguida, temos que instalar algumas extensões PHP necessárias. Isso pode ser feito com o comando: sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip

type = “código”>

Ativando SSL

Antes de entrarmos na configuração do Apache e na instalação do WordPress, vamos preparar nosso servidor para usar SSL (Secure Sockets Layer), que são vários protocolos da web que trabalham juntos para envolver o tráfego HTTP normal em um wrapper criptografado protegido . Portanto, o HTTP se torna HTTPS. Como estou apenas configurando um servidor de teste, estarei criando um certificado SSL autoassinado para um endereço IP. Para fazer isso, siga estas etapas. Gere o certificado SSL com o seguinte comando: sudo openssl req -x509 -nodes -days 365 -newkey rsa: 2048 -keyout /etc/ssl/private/apache-selfsigned.key -out / etc / ssl / certs / apache-selfsigned .crt

type = “code”> Ao executar esse comando, você deverá responder às seguintes perguntas:

Nome do país (código de 2 letras) [AU]:
Nome do estado ou província (nome completo) [Some-State]:
Nome da localidade (por exemplo, cidade) []:
Nome da organização (por exemplo, empresa)[]Nome da unidade organizacional (por exemplo, seção) []:
Nome comum (por exemplo, FQDN do servidor ou SEU nome) []:
Endereço de e-mail []:

É importante, para o certificado autoassinado, que você insira o endereço IP do seu servidor para a entrada do nome comum. Em seguida, configuramos o Apache para usar SSL. Crie um novo arquivo com o comando: sudo nano /etc/apache2/conf-available/ssl-params.conf

type = “code”> Nesse novo arquivo, cole o seguinte: SSLCipherSuite EECDH + AESGCM: EDH + AESGCM: AES256 + EECDH: AES256 + EDH
SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherOrder On
# Desative o pré-carregamento do HSTS por enquanto. Você pode usar a linha de cabeçalho comentada que inclui
# a diretiva “preload” se você entender as implicações.
# Header sempre definido Strict-Transport-Security “max-age = 63072000; includeSubDomains; preload”
Cabeçalho sempre definir X-Frame-Options DENY
Cabeçalho sempre definir X-Content-Type-Options nosniff
# Requer Apache> = 2,4
SSLCompression off
SSLUseStapling on
SSLStaplingCache “shmcb: logs / stapling-cache (150000)”
# Requer Apache> = 2.4.11
SSLSessionTickets desativado

type = “code”> Agora vamos criar um novo arquivo default-ssl.conf. Antes de fazermos isso, faça backup do original com o comando: sudo cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-available/default-ssl.conf.bak

type = “code”> Crie o novo arquivo com o comando: sudo nano /etc/apache2/sites-available/default-ssl.conf

type = “code”> Nesse novo arquivo, cole o seguinte:

ServerAdmin YOUR_EMAIL
Nome do servidor SERVER_IP
DocumentRoot / var / www / html
ErrorLog $ {APACHE_LOG_DIR} /error.log
CustomLog $ {APACHE_LOG_DIR} /access.log combinado
SSLEngine ligado
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key

SSLOptions + StdEnvVars

SSLOptions + StdEnvVars

type = “code”> Salve e feche esse arquivo. Agora vamos configurar um redirecionamento para que todo o tráfego HTTP seja redirecionado automaticamente para HTTPS. Para fazer isso, crie um novo arquivo com o comando: sudo nano /etc/apache2/sites-available/000-default.conf

type = “code”> Nesse arquivo, adicione a seguinte linha na entrada DocumentRoot: Redirect “/” “https: // SERVER_IP /”

type = “code”> Onde SERVER_IP é o endereço IP do seu servidor. Salve e feche esse arquivo. Em seguida, precisamos habilitar alguns módulos e hosts com os comandos: sudo a2enmod ssl
cabeçalhos sudo a2enmod
sudo a2ensite default-ssl
sudo a2enconf ssl-params

type = “code”> Finalmente, reinicie o Apache com o comando: sudo systemctl restart apache2

type = “code”> Agora você deve ser capaz de apontar seu navegador para https: // SERVER_IP (onde SERVER_IP é o endereço IP do seu servidor) e ainda ver a tela de boas-vindas do Apache.

O banco de dados

Antes de começar a configurar seu banco de dados, você deve usar a função embutida do MariaDB / MySQL para proteger sua nova instalação. Execute o comando e aceite os padrões para proteger seu banco de dados. Quando solicitado, configure uma senha segura para o usuário root do banco de dados. sudo mysql_secure_installation

Depois de concluído, você está pronto para começar a trabalhar com MariaDB usando o comando “mysql”. O WordPress depende de um banco de dados para funcionar. Para criar isso, primeiro você deve fazer login no prompt do MySQL com o comando: sudo mysql -u root -p

type = “code”> Será solicitada a senha do usuário administrador do MySQL que você criou durante a instalação do servidor LAMP. No prompt do MySQL, crie o banco de dados com o comando: CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

type = “code”> Em seguida, crie um novo usuário e conceda a ele permissão para acessar o banco de dados com o comando: GRANT ALL ON wordpress. * TO ‘wordpressuser’ @ ‘localhost’ IDENTIFICADO POR ‘PASSWORD’;

type = “code”> Onde PASSWORD é uma senha única e forte. Libere os privilégios do banco de dados e saia com os comandos: FLUSH PRIVILEGES;
SAÍDA

type = “código”>

Permitir .htaccess e ativar o módulo de reescrita

Precisamos habilitar .htaccess para WordPress. Para fazer isso, crie um novo arquivo de configuração do Apache com o comando: sudo nano /etc/apache2/sites-available/wordpress.conf

type = “code”> Nesse arquivo, cole o seguinte:

AllowOverride All

type = “code”> Habilite o módulo de reescrita com o comando: sudo a2enmod rewrite

type = “code”> Reinicie o Apache com o comando: sudo systemctl restart apache2

type = “código”>

Baixe, descompacte e prepare o WordPress

Vamos baixar o arquivo oficial do WordPress com os seguintes comandos: cd / tmp
curl -O https://wordpress.org/latest.tar.gz

type = “code”> Descompacte o WordPress com o comando: tar xvzf latest.tar.gz

type = “code”> Crie um arquivo fictício .htaccess com o comando: touch /tmp/wordpress/.htaccess

type = “code”> Copie o arquivo de configuração de amostra para o arquivo de configuração necessário com o comando: cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php

type = “code”> Crie um diretório de atualização (para evitar problemas de permissões) com o comando: mkdir / tmp / wordpress / wp-content / upgrade

type = “code”> Copie o conteúdo do diretório wordpress para a raiz do documento com o comando: sudo cp -a / tmp / wordpress /. / var / www / html / wordpress

type = “code”> Finalmente, ajuste a propriedade e as permissões do diretório wordpress recém-movido com os comandos: sudo chown -R www-data: www-data / var / www / wordpress
sudo find / var / www / wordpress / -type d -exec chmod 750 {} ;
sudo find / var / www / wordpress / -type f -exec chmod 640 {} ;

type = “código”>

Configurando WordPress

Esta seção fica um pouco complicada. O arquivo wp-config.php precisa ser editado, mas antes que isso possa ser feito, você deve baixar as chaves secretas exclusivas a serem adicionadas ao arquivo de configuração. Para obter essas chaves, visite o gerador online dos desenvolvedores do WordPress. Isso produzirá uma série de strings longas, cada uma associada a uma opção de configuração específica. Cada string está associada aos seguintes valores no arquivo de configuração:

CHAVE DE AUTENTICAÇÃO
SECURE_AUTH_KEY
LOGGED_IN_KEY
NONCE_KEY
AUTH_SALT
SECURE_AUTH_SALT
LOGGED_IN_SALT
NONCE_SALT

Copie esses valores em outro arquivo. Em seguida, abra o arquivo de configuração do WordPress com o comando: sudo nano /var/www/wordpress/wp-config.php

type = “code”> Localize os valores acima e cole a chave secreta para cada um. Depois disso, role para cima e edite os valores para:

DB_NAME
DB_USER
DB_PASSWORD

Os valores acima foram criados anteriormente (com MySQL). Salve e feche esse arquivo.

Conclua a instalação

O instalador baseado na Web do WordPress.

Agora você pode apontar seu navegador para https: // SERVER_IP / wordpress e percorrer o instalador baseado na web para concluir a instalação. Depois de alguns cliques e um pouco de digitação, sua instância do WordPress estará instalada e funcionando.