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 tzdataAtualize 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 -yInstale 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-httpsPasso 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-xmlPara 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 TechnologiesO 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.2Execute 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_installationResponda 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 passwordCrie 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:
quitPasso 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.1Obtenha 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-256Se você quiser certificados falsos para teste, pode adicionar a flag --staging aos comandos acima.
Para listar seus certificados emitidos, você pode executar:
acme.sh --listCrie 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_eccInstale/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:
exitPasso 4 - Instalar NGINX e configurar NGINX para PyroCMS
Instale o servidor web NGINX:
sudo apt install -y nginxVerifique a versão do NGINX:
sudo nginx -v
# nginx version: nginx/1.10.3Configure 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-enabledVerifique a configuração do NGINX em busca de erros de sintaxe:
sudo nginx -tRecarregue o serviço NGINX:
sudo systemctl reload nginx.servicePasso 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/composerVerifique a versão do Composer:
composer --version
# Composer version 1.8.4 2019-02-11 10:52:10Passo 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/pyroNavegue até a raiz do documento:
cd /var/www/pyroBaixe 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/pyroPasso 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.

Após preencher todas as informações necessárias, sua instalação do PyroCMS está completa.
Links
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.