Pesquisa de site

Como configurar o fórum de discussão Flarum no Ubuntu 22.04


Uma plataforma de discussão é um recurso recomendado para qualquer site. Ele permite que os usuários interajam uns com os outros, compartilhando seus pensamentos, opiniões e experiências sobre um determinado tópico ou assunto. É uma espécie de fórum online onde os usuários podem criar e participar de discussões em um site. As plataformas de discussão podem vir em diferentes formatos, como salas de bate-papo, quadros de mensagens, seções de comentários ou plataformas semelhantes a mídias sociais.

As plataformas de discussão são frequentemente usadas em sites que se concentram na construção de comunidades, notícias ou eventos atuais, educação ou qualquer tópico que exija feedback, opiniões ou discussões dos usuários. Isso pode ser uma forma básica de envolver os usuários e criar um senso de comunidade em torno de um site. No entanto, também requer moderação adequada para garantir que as discussões permaneçam respeitosas, focadas no assunto e livres de qualquer conteúdo ofensivo ou impróprio.

Flarum é um software de fórum de código aberto que permite aos usuários criar fóruns de discussão em seus sites. Ele foi projetado para ser rápido, fácil de usar e altamente personalizável. Flarum é construído usando PHP e a estrutura Laravel e usa tecnologias web modernas, como HTML5 e CSS3.

Flarum é licenciado sob a licença MIT, o que significa que seu uso, modificação e distribuição são gratuitos. Possui uma forte comunidade de desenvolvedores e usuários que contribuem ativamente para o seu desenvolvimento e oferecem suporte por meio de fóruns e outros canais.

Flarum oferece recursos que incluem:

  • Interface de usuário moderna e responsiva: Possui uma interface de usuário limpa, moderna e responsiva que se adapta a diferentes tamanhos de tela, facilitando o uso em qualquer dispositivo.
  • Extensões e plugins: Oferece um rico conjunto de extensões e plugins que podem ser usados para estender a funcionalidade do fórum. Os usuários podem escolher entre uma variedade de plug-ins gratuitos e pagos que podem adicionar recursos como login social, otimização de SEO e muito mais.
  • Perfis de usuários e notificações: Flarum permite que os usuários criem perfis, visualizem suas atividades e recebam notificações quando alguém responde às suas postagens ou os menciona em uma discussão.
  • Funcionalidade de pesquisa: possui um poderoso mecanismo de pesquisa que permite aos usuários pesquisar discussões, postagens e usuários.
  • Suporte multilíngue: Suporta vários idiomas, facilitando a criação de fóruns em diferentes idiomas.
  • Ferramentas de moderação: oferece uma variedade de ferramentas de moderação que permitem aos administradores gerenciar contas de usuários, monitorar discussões e moderar conteúdo.
  • Segurança: Ele foi projetado com a segurança em mente e possui recursos como hash de senha, proteção CSRF e prevenção XSS para manter o fórum seguro.

Este guia demonstra como configurar o fórum de discussão Flarum no Ubuntu 22.04.

Começando

Flarum requer o seguinte:

  • Apache (com mod_rewrite habilitado) ou Nginx
  • PHP 7.3+ com as seguintes extensões: curl, dom, fileinfo, gd, json, mbstring, openssl, pdo_mysql, tokenizer, zip
  • MySQL 5.6+/8.0.23+ ou MariaDB 10.0.5+
  • Acesso SSH (linha de comando) para executar o Composer

Faremos toda a instalação juntos.

#1. Instale PHP e configure no Ubuntu 22.04

Um dos requisitos do Flarum é PHP 7.3 e superior com diversas outras extensões. Nossa página fornece o guia abaixo para ajudá-lo a instalar o PHP no Ubuntu 22.04.

sudo apt update
sudo apt install lsb-release ca-certificates apt-transport-https software-properties-common -y
sudo add-apt-repository ppa:ondrej/php
sudo apt install php8.2
sudo apt install php8.1-{bcmath,xml,fpm,mysql,zip,intl,ldap,gd,cli,bz2,curl,mbstring,pgsql,opcache,soap,cgi}

Verifique a versão do PHP instalada

$ php -v
PHP 8.2.6 (cli) (built: May 12 2023 06:24:00) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.6, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.6, Copyright (c), by Zend Technologies

Veja as extensões instaladas:

$ php -m
[PHP Modules]
calendar
Core
ctype
curl
date
dom
exif
FFI
fileinfo
filter
ftp
gd
........

Exporte sua versão do PHP. Por exemplo

export PHP=8.2

Depois de instalado, faça as configurações do PHP conforme mostrado:

sudo apt install apache2 libapache2-mod-php8.2
sudo vim /etc/php/$PHP/apache2/php.ini

Faça os ajustes abaixo no arquivo:

memory_limit = 256M
max_execution_time = 300
upload_max_filesize = 150M
allow_url_fopen = On
file_uploads = On

Salve o arquivo e saia

#2. Instale o PHP Composer no Ubuntu 22.04

O compositor PHP é usado para instalar o Flarum. Precisamos garantir que ele esteja instalado no Ubuntu 22.04. Primeiro, puxe o instalador:

wget -O composer-setup.php https://getcomposer.org/installer

Execute a instalação global:

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Exemplo de saída:

All settings correct for using Composer
Downloading...

Composer (version 2.5.5) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer

Verifique a instalação:

$ composer -V
Composer version 2.5.5 2023-03-21 11:50:05

#3. Instale MariaDB no Ubuntu 22.04

Para este guia, usaremos MariaDB como servidor de banco de dados.

sudo apt install mariadb-server

Depois de instalado, crie um banco de dados para Flarum. Acesse o shell MariaDB:

sudo mariadb -u root

Agora crie o banco de dados e o usuário:

CREATE DATABASE flarum_db;
CREATE USER 'flarum_user'@'localhost' IDENTIFIED BY 'StrongDBPassw0rd';
GRANT ALL PRIVILEGES ON flarum_db.* TO 'flarum_user'@'localhost';
FLUSH PRIVILEGES;
EXIT

#4. Instale Flarum no Ubuntu 22.04

Crie um diretório de trabalho para Flarum On Ubuntu 22.04 no diretório raiz da web Apache:

 sudo mkdir /var/www/html/flarum

Navegue até o diretório criado:

cd /var/www/html/flarum

Baixe a versão mais recente do Flarum usando o Composer.

sudo composer create-project flarum/flarum .

Proceda conforme mostrado abaixo:

Continue as root/super user [yes]? yes
Creating a "flarum/flarum" project at "./"
Info from https://repo.packagist.org: #StandWithUkraine
Installing flarum/flarum (v1.7.0)
.....
  - Installing flarum/tags (v1.7.1): Extracting archive
64 package suggestions were added by new dependencies, use `composer suggest` to see details.
Package swiftmailer/swiftmailer is abandoned, you should avoid using it. Use symfony/mailer instead.
Generating autoload files
73 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
No security vulnerability advisories found

Defina a propriedade do diretório como www-data e atribua as permissões necessárias:

sudo chown -R www-data:www-data /var/www/html/flarum/
sudo chmod -R 755 /var/www/html/flarum/

#5. Configurar o Apache para Flarum

Queremos configurar o Apache para servir o Flarum. Para fazer isso, crie um arquivo host virtual conforme mostrado:

sudo vim /etc/apache2/sites-available/flarum.conf

No arquivo, adicione as linhas abaixo:

<VirtualHost *:80>
 DocumentRoot /var/www/html/flarum/public
 ServerName flarum.computingforgeeks.com
 DirectoryIndex index.php

 <Directory /var/www/html/flarum/public/>
Options +FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
 </Directory>

 ErrorLog ${APACHE_LOG_DIR}/flarum-error.log
 CustomLog ${APACHE_LOG_DIR}/flarum-access.log combined

</VirtualHost>

Salve o arquivo e habilite o site:

sudo a2ensite flarum

Agora habilite o módulo de reescrita para Apache:

sudo a2enmod rewrite

Reinicie o serviço:

sudo systemctl restart apache2

Se você tiver um firewall habilitado, permita HTTP e HTTPS através dele:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

#6. Acesse a UI da Web e conclua a instalação

Agora estamos prontos para acessar a interface da web do Flarum e concluir a instalação. Para acessar a página, use a URL http://domain_name

Na página acima, forneça s=tittle, nome do banco de dados, nome de usuário e senha. Você também precisa criar o usuário administrador. Depois de preenchido, clique em instalar e você será redirecionado para a página abaixo.

Agora você pode iniciar uma discussão no Flarum

#7. (Opcional) Flarum seguro com Let’s Encrypt SSL

É sempre importante proteger seu tráfego para garantir que suas credenciais e outras informações importantes não passem por uma rede desprotegida. Para isso, configuraremos HTTPS para nosso site. Para prosseguir com esta etapa, você precisa ter um nome de domínio totalmente qualificado (FQDN).

Primeiro, instale os pacotes necessários:

sudo apt-get install python3-certbot-apache -y

Agora crie certificados SSL gratuitos para o seu nome de domínio usando Let’s Encrypt conforme mostrado:

sudo certbot --apache -d your-domain-name.com

Substituaseu-nome-do-domínio.com adequadamente e proceda conforme mostrado:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

(Y)es/(N)o: Y

Obtaining a new certificate
Performing the following challenges:
http-01 challenge for your-domain-name.com
Waiting for verification...
Cleaning up challenges

Created an SSL vhost at /etc/apache2/sites-available/flarum-le-ssl.conf
Deploying Certificate to VirtualHost /etc/apache2/sites-available/flarum-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/flarum-le-ssl.conf

Escolha redirecionar o tráfego HTTP para HTTPS:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Redirecting vhost in /etc/apache2/sites-enabled/flarum.conf to ssl vhost in /etc/apache2/sites-available/flarum-le-ssl.conf

Depois disso, você terá certificados SSL gerados para o seu nome de domínio. Você precisa fazer algumas configurações em sua configuração:

sudo vim /var/www/html/flarum/config.php

No arquivo, encontre a parte do URL e configure-a para usar HTTPS e seu nome de domínio:

'url' => 'https://your-domain-name.com',

Salve o arquivo e prossiga para acessar seu site via HTTPS.

Veredito

Explicamos com sucesso como instalar o fórum de discussão Flarum no Ubuntu 22.04. Espero que isso tenha sido informativo.

Ver mais:

  • Instale Rocket.Chat no Ubuntu LTS com Let’s Encrypt SSL
  • Instale Chatwoot no Ubuntu com Let’s Encrypt SSL
  • Instale o servidor de bate-papo Openfire XMPP no Ubuntu

Artigos relacionados: