Instalação PyroCMS · 5 min read · Nov 08, 2025

Como Instalar PyroCMS baseado em Laravel no Debian 9

PyroCMS é um CMS modular e poderoso de código aberto e plataforma de desenvolvimento construída com Laravel 5, que permite que você construa melhores sites e aplicações Laravel mais rapidamente.

Neste tutorial, vamos guiá-lo pelo processo de instalação do PyroCMS em um sistema operacional Debian 9 (stretch) usando NGINX como servidor web, MariaDB como servidor de banco de dados e, opcionalmente, você pode proteger a camada de transporte usando o cliente acme.sh e a autoridade certificadora Let’s Encrypt para adicionar suporte SSL.

Requisitos

Para instalar o PyroCMS, certifique-se de que seu sistema atende aos seguintes requisitos:

  • Pelo menos 1GB de RAM ou Swap configurado
  • PHP versão 7.0 ou superior com PDO, cURL, SQLite, OpenSSL, Mbstring, Fileinfo, Tokenizer, extensões PHP GD.
  • MariaDB
  • NGINX

Pré-requisitos

  • Um sistema executando Debian 9 (stretch).
  • Um usuário não-root com privilégios sudo.

Passos iniciais

Verifique a versão do seu sistema Debian:

lsb_release -ds  
# Debian GNU/Linux 9.7 (stretch)

Configure o fuso horário:

dpkg-reconfigure tzdata

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

apt update && apt upgrade -y

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

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

Passo 1 - Instalar PHP e extensões PHP necessárias

Baixe e instale o PHP 7.0 e as extensões PHP necessárias:

sudo apt install -y php7.0 php7.0-cli php7.0-fpm php7.0-mysql php7.0-curl php7.0-sqlite3 php7.0-mbstring php7.0-gd php7.0-xml

Para mostrar os módulos compilados no PHP, você pode executar:

php -m  
  ctype  
  curl  
  exif  
  fileinfo  
  . . .  
  . . .

Verifique a versão do PHP:

php --version  
# PHP 7.0.33-0+deb9u1 (cli) (built: Dec 7 2018 11:36:49) ( NTS )  
# Copyright (c) 1997-2017 The PHP Group  
# Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies  
#     with Zend OPcache v7.0.33-0+deb9u1, Copyright (c) 1999-2017, by Zend Technologies

O serviço PHP-FPM é iniciado automaticamente e habilitado na inicialização do sistema Debian 9, portanto, não há necessidade de iniciá-lo e habilitá-lo manualmente. Podemos passar para o próximo passo, que é a instalação e configuração do banco de dados.

Passo 2 - Instalar MariaDB e criar um banco de dados para PyroCMS

Instale o MariaDB:

sudo apt install -y mariadb-server  

Verifique a versão do MariaDB:

mysql --version  
# mysql  Ver 15.1 Distrib 10.1.37-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Execute o script mysql_secure_installation para melhorar a segurança do MariaDB e definir a senha para o usuário root do MariaDB:

sudo mysql_secure_installation

Responda a cada uma das perguntas:

`Enter current password for root (enter for none): Press Enter  
Set root password? [Y/n] Y  
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`

Faça login no MariaDB como usuário root:

sudo mysql -u root -p  
# Enter password

Crie um banco de dados MariaDB e um usuário que você usará para sua instalação do PyroCMS, e lembre-se das credenciais:

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

Saia do shell do MariaDB:

quit

Passo 3 - Instalar o cliente Acme.sh e obter o certificado Let’s Encrypt (opcional)

Proteger seu site com HTTPS não é necessário, mas é uma boa prática proteger o tráfego do seu site. Para obter um certificado SSL do Let’s Encrypt, usaremos o cliente Acme.sh. Acme.sh é um software de shell UNIX puro para obter certificados SSL do Let’s Encrypt com zero dependências.

Baixe e instale o acme.sh:

sudo su - root  
git clone https://github.com/Neilpang/acme.sh.git  
cd acme.sh   
./acme.sh --install --accountemail [email protected]  
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 do host:

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

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

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/letsencrypt/example.com  
sudo mkdir -p /etc/letsencrypt/example.com_ecc

Instale/copie os 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"

Após executar os comandos acima, seus certificados e chaves estarão em:

  • Para RSA: diretório /etc/letsencrypt /example.com.
  • Para ECC/ECDSA: diretório /etc/letsencrypt /example.com_ecc.

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

Após obter os certificados, saia do usuário root e retorne ao usuário sudo normal:

exit

Passo 4 - Instalar NGINX e configurar NGINX para PyroCMS

Instale o servidor web NGINX:

sudo apt install -y nginx

Verifique a versão do NGINX:

sudo nginx -v  
# nginx version: nginx/1.10.3

Configure o NGINX para o PyroCMS executando:

sudo vim /etc/nginx/sites-available/pyro.conf  

E preencha o arquivo com a seguinte configuração:

server {
  listen 80;
  listen 443 ssl;  
  server_name example.com;  
  index index.php index.html;  
  root /var/www/pyro/public;  
  
  location / {  
    try_files $uri $uri/ /index.php?$args;  
  }  
  
  rewrite ^/(.*)/$ /$1 permanent;  
  
  location ~ \.php$ {  
    include snippets/fastcgi-php.conf;  
    fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;  
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  
    include fastcgi_params;  
      
  }  
}

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

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

Verifique a configuração do NGINX em busca de erros de sintaxe:

sudo nginx -t

Recarregue o serviço NGINX:

sudo systemctl reload nginx.service

Passo 5 - Instalar o Composer

Instale o Composer, o gerenciador de dependências PHP globalmente:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"  
  
php -r "if (hash_file('sha384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"  
  
php composer-setup.php  
  
php -r "unlink('composer-setup.php');"  
  
sudo mv composer.phar /usr/local/bin/composer

Verifique a versão do Composer:

composer --version  
# Composer version 1.8.4 2019-02-11 10:52:10

Passo 6 - Instalar PyroCMS

Crie um diretório raiz de documentos onde o PyroCMS deve residir:

sudo mkdir -p /var/www/pyro  

Altere a propriedade do diretório /var/www/pyro para [seu_usuario]:

sudo chown -R [seu_usuario]:[seu_usuario] /var/www/pyro

Navegue até a raiz do documento:

cd /var/www/pyro

Baixe a versão estável mais recente do PyroCMS via composer:

composer create-project pyrocms/pyrocms .

Altere a propriedade do diretório /var/www/pyro para www-data.

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

Passo 7 - Concluir a configuração do PyroCMS

Acesse seu site em um navegador web via nome de domínio ou endereço IP e siga o assistente de instalação web do PyroCMS.

PyroCMS

Após preencher todas as informações necessárias, sua instalação do PyroCMS está completa.

Links

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.