Instalação CMS · 9 min read · Sep 12, 2025

Como Instalar o OctoberCMS no Debian 12

October CMS é uma aplicação web escrita no framework Laravel. Ele suporta uma variedade de bancos de dados, como MySQL/MariaDB, PostgreSQL e SQLite. Pode ser executado sob Apache, Nginx, Lighthttpd e Microsoft IIS.

Este guia irá orientá-lo pelo processo de instalação do October CMS no Debian 12 com o LEMP Stack (Nginx, MySQL/MariaDB e PHP-FPM), UFW e Certbot.

Pré-requisitos

Para prosseguir com este guia, reúna o seguinte:

  • Um servidor Debian 12.
  • Um usuário não-root com privilégios de administrador.
  • Um nome de domínio apontado para o endereço IP do servidor.

Instalando Dependências

Neste exemplo, você instalará o October CMS no servidor Debian com o LEMP Stack (Nginx, MySQL/MariaDB e PHP-FPM). Portanto, a primeira tarefa que você fará é instalar o LAMP Stack com dependências adicionais, como UFW (Firewall Descomplicado) e Certbot.

Comece este guia atualizando seu repositório Debian usando o seguinte comando.

sudo apt update

Em seguida, instale o LAMP Stack, UFW e os pacotes Certbot usando o seguinte comando.

sudo apt install nginx mariadb-server php composer php-cli php-common php-imap php-redis php-snmp php-xml php-zip php-mbstring php-curl php-mysqli php-intl php-bcmath php-gd php-fpm ufw certbot python3-certbot-nginx

Digite Y e pressione ENTER para confirmar a instalação.

instalar deps

Uma vez que a instalação esteja concluída, verifique os serviços do LEMP Stack para garantir que cada serviço esteja em execução e habilitado em seu servidor Debian.

Se o serviço estiver em execução, você deve ver uma saída ativa (em execução). Quando o serviço está habilitado, isso confirma que o serviço será executado automaticamente na inicialização.

Verifique o serviço Nginx usando o seguinte comando.

sudo systemctl is-enabled nginx  
sudo systemctl status nginx

verificar nginx

Verifique o serviço PHP-FPM usando o comando abaixo. Neste caso, você instalou o PHP-FPM 8.2 do repositório Debian.

sudo systemctl is-enabled php8.2-fpm  
sudo systemctl status php8.2-fpm

verificar php-fpm

Por último, verifique o servidor MariaDB usando o comando abaixo.

sudo systemctl is-enabled mariadb  
sudo systemctl status mariadb

verificar mariadb

Configurando UFW

Neste guia, você irá proteger seu servidor Debian com UFW (Firewall Descomplicado). Portanto, nesse caso, você deve abrir portas para os protocolos SSH, HTTP e HTTPS.

Execute o comando ufw abaixo para habilitar os perfis OpenSSH e ‘Nginx Full‘ no UFW. O perfil OpenSSH abrirá a porta SSH padrão 22, enquanto o perfil ‘Nginx Full’ abrirá as portas 80 e 443 para os protocolos HTTP e HTTPS.

sudo ufw allow OpenSSH  
sudo ufw allow 'Nginx Full'

Agora execute o comando abaixo para iniciar e habilitar o UFW. Digite y e pressione ENTER para prosseguir.

sudo ufw enable

Uma vez que o UFW esteja em execução, você deve obter uma saída ‘Firewall está ativo e habilitado na inicialização do sistema‘.

configurar ufw

Agora execute o comando abaixo para verificar a lista de perfis habilitados no UFW.

sudo ufw status

Certifique-se de que ambos os perfis OpenSSH e ‘Nginx Full’ estejam habilitados.

verificar ufw

Configurando o Servidor MariaDB

Depois de configurar o UFW, você agora configurará o servidor MariaDB através da utilidade mariadb-secure-installation, e então criará um novo banco de dados e usuário para o October CMS através do cliente mariadb.

Proteja sua instalação do servidor MariaDB executando o seguinte comando.

sudo mariadb-secure-installation

Durante o processo, você será solicitado com algumas recomendações de segurança para o servidor MariaDB. Digite Y para aplicar a recomendação ou n para Não para rejeitá-la.

  • A instalação padrão do MariaDB vem sem uma senha, pressione ENTER quando solicitado pela senha.
  • Agora digite Y para configurar a senha root do MariaDB. Em seguida, digite a nova senha para o MariaDB e repita a senha.
  • Digite Y para remover o usuário anônimo da sua instalação do MariaDB.
  • Digite Y novamente quando solicitado para desabilitar o login remoto para o usuário root do MariaDB.
  • Digite Y para remover o banco de dados de teste padrão da sua instalação do MariaDB.
  • Por último, digite Y para recarregar os privilégios da tabela e aplicar novas alterações.

Agora que você configurou o servidor MariaDB, digite o comando abaixo para fazer login no servidor MariaDB e criar um novo banco de dados e usuário para o October CMS. Digite sua senha root do MariaDB quando solicitado.

sudo mariadb -u root -p

Execute as seguintes consultas para criar um novo banco de dados e usuário octobercms, com a senha ‘password‘. Certifique-se de mudar a senha para uma nova senha forte.

CREATE USER 'octobercms'@'localhost' IDENTIFIED BY 'password';  
CREATE DATABASE octobercms;  
GRANT ALL PRIVILEGES ON octobercms.* TO 'octobercms'@'localhost';  
FLUSH PRIVILEGES;

criar banco de dados usuário

Em seguida, execute a seguinte consulta para verificar os privilégios do usuário octobercms.

SHOW GRANTS FOR 'octobercms'@'localhost';

Certifique-se de que o usuário octobercms pode acessar o banco de dados octobercms como o seguinte.

verificar usuário

Agora digite quit para sair do servidor MariaDB.

Instalando o Código Fonte do OctoberCMS

O October CMS pode ser instalado de várias maneiras, via zip ou via Composer. Neste exemplo, você instalará o October CMS via Composer.

Vá para o diretório /var/www/ e baixe o código fonte do October CMS usando o comando wget abaixo. Uma vez baixado, você verá o arquivo v3.5.0.zip.

cd /var/www/  
wget https://github.com/octobercms/october/archive/refs/tags/v3.5.0.zip

Extraia o arquivo v3.5.0.zip usando unzip para o diretório octobercms. Isso significa que seu diretório raiz da web do October CMS estará em /var/www/octobercms.

unzip v3.5.0.zip  
sudo mv october-* octobercms

Em seguida, execute o seguinte comando para mudar a propriedade de /var/www/octobercms para o usuário www-data e grupo www-data. Além disso, configure a permissão para diretórios para 0755 e arquivos para 0644.

sudo chown -R www-data:www-data octobercms  
find /var/www/octobercms -type d -exec chmod 755 {} \;  
find /var/www/octobercms -type f -exec chmod 644 {} \;

Agora, execute o comando composer abaixo para instalar as dependências PHP para o October CMS.

sudo -u www-data composer install

instalar deps php

Inicie a instalação do October CMS usando o seguinte comando.

sudo -u www-data php artisan october:install

Durante o processo, você será solicitado com o seguinte:

  • Selecione o idioma padrão como en ou inglês.
  • Digite o nome de domínio da sua instalação do October CMS. Por exemplo http://howtoforge.local/
  • Digite a URL do backend ou caminho do admin para o October CMS. Neste caso, usaremos octoberadmin.
  • Digite o número 1 para selecionar o mecanismo de banco de dados como MySQL.
  • Digite os detalhes do seu banco de dados.
  • Digite sim para instalar dados de demonstração e tema.
  • Digite a licença gratuita do October CMS para continuar.

Abaixo está a captura de tela da instalação do October CMS.

instalação do october cms

Configurações do site para o October CMS.

instalação do site

Saída durante a instalação do October CMS.

chave de licença e instalação do site

Uma vez que a instalação do October CMS esteja concluída, você verá a seguinte saída.

instalação concluída

Por último, execute o comando abaixo para migrar o banco de dados.

sudo -u www-data php artisan october:migrate

migrar banco de dados

Configurando o Bloco de Servidor Nginx

Após baixar o October CMS e configurar seu diretório raiz da web, você criará uma nova configuração de bloco de servidor Nginx que será usada para executar o October CMS. Certifique-se de que você tenha seu nome de domínio pronto.

Execute o comando do editor nano abaixo para criar um novo arquivo /etc/nginx/sites-available/octobercms.conf.

sudo nano /etc/nginx/sites-available/octobercms.conf

Insira a seguinte configuração e certifique-se de mudar o nome de domínio howtoforge.local para o seu domínio.

server {  
    listen 80;  
  
    server_name howtoforge.local;  
  
    index index.php index.html;  
    root /var/www/octobercms;  
  
    location / {  
        # Deixe o October CMS lidar com tudo por padrão.  
        # O caminho não resolvido pelo roteador do October CMS retornará a página 404 do October CMS.  
        # Tudo que não corresponder à lista de permissões abaixo cairá nisso.  
        rewrite ^/.*$ /index.php last;  
    }  
  
    location ~ \.php$ {  
        include snippets/fastcgi-php.conf;  
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;  
        fastcgi_read_timeout 120s;  
    }  
  
  
    # Lista de permissões  
    location ~ ^/favicon\.ico { try_files $uri /index.php; }  
    location ~ ^/sitemap\.xml { try_files $uri /index.php; }  
    location ~ ^/robots\.txt { try_files $uri /index.php; }  
    location ~ ^/humans\.txt { try_files $uri /index.php; }  
  
    # Bloquear todos os arquivos .dotfiles, exceto os bem conhecidos  
    location ~ /\.(?!well-known).* { deny all; }  
  
    ## Deixe o nginx retornar 404 se o arquivo estático não existir  
    location ~ ^/storage/app/uploads/public { try_files $uri 404; }  
    location ~ ^/storage/app/media { try_files $uri 404; }  
    location ~ ^/storage/app/resources { try_files $uri 404; }  
    location ~ ^/storage/temp/public { try_files $uri 404; }  
  
    location ~ ^/modules/.*/assets { try_files $uri 404; }  
    location ~ ^/modules/.*/resources { try_files $uri 404; }  
    location ~ ^/modules/.*/behaviors/.*/assets { try_files $uri 404; }  
    location ~ ^/modules/.*/behaviors/.*/resources { try_files $uri 404; }  
    location ~ ^/modules/.*/widgets/.*/assets { try_files $uri 404; }  
    location ~ ^/modules/.*/widgets/.*/resources { try_files $uri 404; }  
    location ~ ^/modules/.*/formwidgets/.*/assets { try_files $uri 404; }  
    location ~ ^/modules/.*/formwidgets/.*/resources { try_files $uri 404; }  
    location ~ ^/modules/.*/reportwidgets/.*/assets { try_files $uri 404; }  
    location ~ ^/modules/.*/reportwidgets/.*/resources { try_files $uri 404; }  
  
    location ~ ^/plugins/.*/.*/assets { try_files $uri 404; }  
    location ~ ^/plugins/.*/.*/resources { try_files $uri 404; }  
    location ~ ^/plugins/.*/.*/behaviors/.*/assets { try_files $uri 404; }  
    location ~ ^/plugins/.*/.*/behaviors/.*/resources { try_files $uri 404; }  
    location ~ ^/plugins/.*/.*/reportwidgets/.*/assets { try_files $uri 404; }  
    location ~ ^/plugins/.*/.*/reportwidgets/.*/resources { try_files $uri 404; }  
    location ~ ^/plugins/.*/.*/formwidgets/.*/assets { try_files $uri 404; }  
    location ~ ^/plugins/.*/.*/formwidgets/.*/resources { try_files $uri 404; }  
    location ~ ^/plugins/.*/.*/widgets/.*/assets { try_files $uri 404; }  
    location ~ ^/plugins/.*/.*/widgets/.*/resources { try_files $uri 404; }  
  
    location ~ ^/themes/.*/assets { try_files $uri 404; }  
    location ~ ^/themes/.*/resources { try_files $uri 404; }  
  
}

Salve e feche o arquivo quando terminar.

Em seguida, execute o comando abaixo para ativar o arquivo de bloco do servidor octobercms.conf e verificar a sintaxe do Nginx.

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

Se você tiver a sintaxe correta, deve obter uma saída como ‘sintaxe está ok - teste bem-sucedido’.

configurar nginx

Por último, aplique suas alterações ao Nginx reiniciando o serviço Nginx usando o comando abaixo.

sudo systemctl restart nginx

Protegendo o OctoberCMS com Certificados SSL/TLS

Neste ponto, seu October CMS está em execução e acessível. Mas para garantir que sua instalação esteja segura, você implementará HTTPS gerando certificados SSL/TLS do letsencrypt.

Execute o comando abaixo para gerar certificados SSL/TLS para sua instalação do October CMS. Certifique-se de mudar o endereço de e-mail e o nome de domínio com suas informações.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d howtoforge.local

Uma vez que o processo esteja concluído, seu nome de domínio será automaticamente configurado com HTTPS. E seus certificados SSL/TLS estarão disponíveis no diretório /etc/letsencrypt/live/seudominio.com.

Acessando o OctoberCMS

Visite o nome de domínio da sua instalação do October CMS, por exemplo, https://howtoforge.local/ usando seu navegador web favorito.

Se sua instalação for bem-sucedida, você deve obter a página inicial padrão do OctoberCMS como a seguinte.

Clique no botão ‘Área de Backend‘ para acessar a página de administração do October CMS.

homepage do october cms

Digite os detalhes do novo usuário administrador, nome, endereço de e-mail e senha. Clique em Criar Conta para confirmar.

configurar admin

Quando terminar, você deve obter o painel de administração do October CMS como o seguinte.

painel do octobercms

Conclusão

Parabéns! Você agora completou a instalação do October CMS no servidor Debian 12. Você instalou o October CMS com o LEMP Stack (Nginx, MariaDB e PHP-FPM). Você também protegeu sua instalação com UFW (Firewall Descomplicado) e SSL/TLS via Letsencrypt.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.