Pesquisa de site

Como instalar o ExpressionEngine CMS com Nginx no Ubuntu


ExpressionEngine é um sistema de gerenciamento de conteúdo (CMS) flexível, rico em recursos, gratuito e de código aberto escrito em PHP. Com o ExpressionEngine, você pode criar sites completos, criar um aplicativo da web ou fornecer conteúdo para aplicativos móveis. Tudo sem exigir habilidades complexas de programação. Este guia orientará você no processo de instalação do ExpressionEngine no Ubuntu 18.04 LTS usando PHP, MySQL como banco de dados e Nginx como servidor web.

Requisitos

ExpressionEngine requer um servidor web rodando PHP e MySQL. A pilha e as versões de software recomendadas são:

  • PHP versão 7.0 ou superior, rodando com PHP-FPM e com as seguintes extensões PHP (gd, fileinfo, intl, mbstring).
  • MySQL versão 5.6 ou superior ou Percona versão 5.6 ou superior. Este tutorial usará MySQL.
  • Um servidor web como Nginx ou Apache. Este guia usará Nginx.

Pré-requisitos

  • Um sistema operacional executando Ubuntu 18.04 LTS.
  • Um usuário não root com privilégios sudo.

Passos iniciais

Verifique sua versão do Ubuntu:

lsb_release -ds
Ubuntu 18.04.2 LTS

Configure o fuso horário:

sudo dpkg-reconfigure tzdata

Atualize os pacotes do seu sistema operacional (software). Este é um primeiro passo importante porque garante que você tenha as atualizações e correções de segurança mais recentes para os pacotes de software padrão do seu sistema operacional:

sudo apt update && sudo apt upgrade -y

Instale alguns pacotes essenciais que são necessários para a administração básica do sistema operacional Ubuntu:

sudo apt install -y curl wget vim git unzip socat bash-completion

Passo 1 – Instale o PHP e as extensões PHP necessárias

Instale o PHP, bem como as extensões PHP necessárias:

sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-mbstring php7.2-gd php7.2-intl php7.2-mysql

Para mostrar o PHP compilado em módulos, você pode executar:

php -m

ctype
enrolar
exif
informações do arquivo
. . .
. . .

Verifique a versão do PHP:

php --version
# PHP 7.2.19-0ubuntu0.18.04.2 (cli) (built: Aug 12 2019 19:34:28) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.19-0ubuntu0.18.04.2, Copyright (c) 1999-2018, by Zend Technologies

O serviço PHP-FPM é iniciado e habilitado automaticamente na reinicialização do sistema Ubuntu 18.04, portanto não há necessidade de iniciá-lo e habilitá-lo manualmente. Podemos passar para a próxima etapa, que é a instalação e configuração do banco de dados.

Etapa 2 - Instale o MySQL e crie um banco de dados para o ExpressionEngine CMS

Instale o servidor de banco de dados MySQL:

sudo apt install -y mysql-server

Verifique a versão do MySQL:

mysql --version
# mysql  Ver 14.14 Distrib 5.7.27, for Linux (x86_64) using  EditLine wrapper

Execute o script de instalação mysql_secure para melhorar a segurança do MySQL e defina a senha para o usuário root do MySQL:

sudo mysql_secure_installation

Responda cada uma das perguntas:

Would you like to setup VALIDATE PASSWORD plugin? N
New password: your_secure_password
Re-enter new password: your_secure_password
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Conecte-se ao shell do MySQL como usuário root:

sudo mysql -u root -p
Enter password

Crie um banco de dados MySQL e um usuário vazio para o ExpressionEngine e lembre-se das credenciais:

mysql> CREATE DATABASE dbname;
mysql> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;

Saia do MySQL:

mysql> exit

Substitua dbname, username e password pelos seus nomes.

Etapa 3 - Instale o cliente acme.sh e obtenha o certificado Let's Encrypt (opcional)

Não é necessário proteger o seu site com HTTPS, mas é uma boa prática proteger o tráfego do seu site. Para obter um certificado TLS da Let's Encrypt, usaremos o cliente acme.sh. Acme.sh é um software shell UNIX puro para obter certificados TLS do Let's Encrypt sem dependências.

Baixe e instale acme.sh:

sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh 
./acme.sh --install --accountemail [email 
source ~/.bashrc
cd ~

Verifique a versão do acme.sh:

acme.sh --version
v2.8.1

Obtenha certificados RSA e ECC/ECDSA para seu domínio/nome de host:

RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256

Se quiser certificados falsos para teste, você pode adicionar o sinalizador --staging aos comandos acima.

Depois de executar os comandos acima, seus certificados e chaves estarão em:

  • Para RSA: diretório /home/username/example.com.
  • Para ECC/ECDSA: diretório /home/username/example.com_ecc.

Para listar seus certificados emitidos, você pode executar:

acme.sh --list

Crie um diretório para armazenar seus certificados. Usaremos o diretório /etc/letsencrypt .

mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

Instale/copie certificados para o diretório /etc/letsencrypt .

RSA
acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"
ECC/ECDSA
acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"

Todos os certificados serão renovados automaticamente a cada 60 dias.

Depois de obter os certificados, saia do usuário root e retorne ao usuário sudo normal:

exit

Etapa 4: instalar e configurar o Nginx

Instale o servidor web NGINX:

sudo apt install -y nginx

Verifique a versão do NGINX:

sudo nginx -v
# nginx version: nginx/1.14.0 (Ubuntu)

Configure o Nginx para ExpressionEngine. Execute sudo vim /etc/nginx/sites-available/expressionengine.conf e adicione a seguinte configuração:

server {
  
  listen [::]:443 ssl http2; 
  listen 443 ssl http2;
  listen [::]:80;
  listen 80;
  
  server_name example.com;
  root /var/www/expressionengine;
  
  index index.php;
  
  location / {
    index index.php;
    try_files $uri $uri/ @ee;
  }
  
  location @ee {
    rewrite ^(.*) /index.php?$1 last;
  }
  
  location ~* \.php$ {
    fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    include fastcgi_params;
    fastcgi_index index.php5;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  }

}

Ative a nova configuração do expressionengine.conf vinculando o arquivo ao diretório sites-enabled:

sudo ln -s /etc/nginx/sites-available/expressionengine.conf /etc/nginx/sites-enabled/

Verifique se há erros de sintaxe na configuração do NGINX:

sudo nginx -t

E, por fim, recarregue o serviço NGINX para que as alterações entrem em vigor:

sudo systemctl reload nginx.service

Etapa 5 - Instalar o ExpressionEngine CMS

Crie um diretório raiz de documentos:

sudo mkdir -p /var/www/expressionengine

Navegue até a pasta raiz do documento:

cd /var/www/expressionengine

Baixe a versão mais recente do ExpressionEngine e descompacte os arquivos em uma pasta no seu servidor:

sudo wget -O ee.zip --referer https://expressionengine.com/ 'https://expressionengine.com/?ACT=243'
sudo unzip ee.zip
sudo rm ee.zip

Altere a propriedade do diretório /var/www/expressionengine para www-data:

sudo chown -R www-data:www-data /var/www/expressionengine

Aponte seu navegador para o arquivo /admin.php que você carregou (por exemplo: http://example.com/admin.php) e execute o assistente de instalação. Siga as instruções na tela para instalar o ExpressionEngine. Assim que o Assistente de Instalação for concluído, você deve renomear ou remover o diretório system/ee/installer/ do seu servidor.

Etapa 6 - Conclua a configuração do ExpressionEngine

Preencha o banco de dados e os detalhes do usuário administrador clique no botão "instalar":

Depois disso, você será redirecionado para a página de login padrão. Insira seus dados de login e clique no botão "Log In":

Você verá o painel do ExpressionEngine, como abaixo:

Esta é a aparência do front-end:

A instalação do ExpressionEngine CMS foi concluída.

Ligações

  • https://expressionengine.com/
  • https://github.com/ExpressionEngine/ExpressionEngine

Artigos relacionados: