DEV Community

Cover image for Configuração do MediaWiki no Ubuntu Server com VirtualBox

Configuração do MediaWiki no Ubuntu Server com VirtualBox

Objetivo

Este procedimento visa configurar o MediaWiki em um servidor Ubuntu virtualizado usando o VirtualBox. O MediaWiki será utilizado para gerenciar documentações e arquivos, centralizando o acesso às informações.


Requisitos

  1. VirtualBox instalado na máquina local.
  2. Ubuntu Server (versão 20.04 LTS ou superior).
  3. Conexão com a internet para baixar pacotes e atualizações.
  4. Credenciais de administrador no Ubuntu Server.

Passo 1: Preparar o Ambiente no VirtualBox

  1. Criar uma Nova Máquina Virtual:
    • Abra o VirtualBox e clique em "Novo".
    • Defina um nome (ex: Ubuntu-Server-MediaWiki), tipo "Linux" e versão "Ubuntu (64-bit)".
    • Atribua memória (recomenda-se pelo menos 2GB de RAM).
    • Crie um disco rígido virtual (recomenda-se 20GB ou mais).
    • Selecione o disco rígido como VDI (VirtualBox Disk Image) e aloque dinamicamente.

Acessar Remotamente a Máquina Virtual

Para acessar remotamente uma máquina virtual Linux criada no VirtualBox a partir do Windows, você pode usar o Protocolo RDP (Remote Desktop Protocol) ou um serviço de SSH, dependendo das suas preferências. Aqui está um passo a passo:

1. Configurando a Máquina Virtual no VirtualBox

  1. Instale as extensões do VirtualBox:

    • Baixe e instale o VirtualBox Extension Pack correspondente à sua versão do VirtualBox, disponível no site oficial.
    • Vá até: File > Preferences > Extensions e instale o pacote.
  2. Habilite o Servidor de Desktop Remoto no VirtualBox:

    • Abra as configurações da máquina virtual.
    • Navegue para a aba Display > Remote Display.
    • Ative a opção Enable Server.
    • Defina o protocolo como VBoxVRDP e configure a porta (por exemplo, 3389).
    • Opcional: Adicione uma senha para segurança.
  3. Configure o Adaptador de Rede:

    • Certifique-se de que a máquina virtual está usando um Adaptador de Rede Bridged ou NAT com Port Forwarding:
      • Vá até as configurações de rede da máquina virtual.
      • Escolha Bridged Adapter para conectar diretamente à rede local.
      • Caso esteja usando NAT, configure o Port Forwarding:
      • Clique em Advanced > Port Forwarding.
      • Adicione uma regra, com as seguintes configurações:
        • Nome: RDP.
        • Protocolo: TCP.
        • Porta host: 3389.
        • Porta guest: 3389.
  4. Inicie a máquina virtual e certifique-se de que o sistema Linux está rodando corretamente.

    • User: vboxuser
    • Senha: changeme > Nota: O usuário e a senha mencionados acima foram criados exclusivamente para fins de teste. Ao configurar o servidor para uso real, é fundamental criar um login e senha mais seguros, seguindo as melhores práticas de segurança para garantir a proteção do sistema..

2. Configurando o Linux para Acesso Remoto

A. Via RDP:

  • Instale o servidor RDP no Linux:

     sudo apt update
     sudo apt install xrdp -y
     sudo systemctl enable --now xrdp
    
  • Abra a porta do firewall (se necessário):

     sudo ufw allow 3389
    
  • Certifique-se de que o serviço está rodando:

     sudo systemctl status xrdp
    

B. Via SSH (opcional):

  • Instale e configure o SSH:

     sudo apt update
     sudo apt install openssh-server -y
     sudo systemctl enable --now ssh
    
  • Verifique o IP da máquina virtual:

     ip addr show
    
  • Abra a porta padrão do SSH no firewall (22):

     sudo ufw allow ssh
    

3. Acessando a Máquina Virtual no Windows

A. Via RDP:

  1. Abra o aplicativo Conexão de Área de Trabalho Remota no Windows.
  2. Digite o endereço IP da máquina virtual (ou localhost:3389 se estiver usando NAT com redirecionamento de porta).
  3. Insira as credenciais do usuário configurado no Linux.
  4. Conecte-se.

B. Via SSH (alternativa):

  1. Baixe e instale o PuTTY, MobaXterm ou use o Windows Terminal (com suporte SSH embutido).
  2. No MobaXterm, insira o IP da máquina virtual e conecte-se na porta 22.
  3. Autentique-se com o usuário e senha do Linux.

4. Soluções para Problemas Comuns

  • Problema: Não consigo conectar no IP da máquina virtual.

    • Certifique-se de que o adaptador de rede está configurado como Bridged ou que o NAT tem o port forwarding corretamente configurado.
    • Verifique o firewall no Linux para garantir que as portas necessárias estão abertas.
  • Problema: Conexão recusada no RDP.

    • Certifique-se de que o serviço xrdp está rodando:
    sudo systemctl restart xrdp
    
  • Problema: Não sei o IP da máquina virtual.

    • Use o comando no terminal da máquina virtual:
    ip addr show
    
    • O endereço estará listado na interface conectada (geralmente eth0 ou ens33).

Passo 2: Atualizar o Ubuntu Server

Após o sistema ser instalado, faça login no servidor e execute os seguintes comandos para atualizar os pacotes:

sudo apt update
sudo apt upgrade -y
sudo apt dist-upgrade -y
Enter fullscreen mode Exit fullscreen mode

Passo 3: Instalar os Pacotes Necessários

Para o MediaWiki, precisamos do Apache, MySQL e PHP.

  1. Instalar o Apache:
   sudo apt install apache2 -y
Enter fullscreen mode Exit fullscreen mode
  1. Instalar o MySQL:
   sudo apt install mysql-server -y
   sudo mysql_secure_installation
Enter fullscreen mode Exit fullscreen mode
  1. Instalar o PHP e dependências do MediaWiki:
   sudo apt install php php-mysql php-xml php-mbstring php-intl php-curl php-json -y
Enter fullscreen mode Exit fullscreen mode
  1. Reiniciar o Apache para garantir que tudo esteja funcionando:
   sudo systemctl restart apache2
Enter fullscreen mode Exit fullscreen mode

Passo 4: Configurar o Banco de Dados para o MediaWiki

  1. Acessar o MySQL:
   sudo mysql -u root -p
Enter fullscreen mode Exit fullscreen mode
  1. Criar o Banco de Dados e Usuário:
   CREATE DATABASE mediawiki;
   CREATE USER 'mediawikiuser'@'localhost' IDENTIFIED BY 'sua_senha';
   GRANT ALL PRIVILEGES ON mediawiki.* TO 'mediawikiuser'@'localhost';
   FLUSH PRIVILEGES;
   EXIT;
Enter fullscreen mode Exit fullscreen mode

Passo 5: Baixar e Instalar o MediaWiki

  1. Baixar o MediaWiki:
   cd /tmp
   wget https://releases.wikimedia.org/mediawiki/1.39/mediawiki-1.39.2.tar.gz
Enter fullscreen mode Exit fullscreen mode

Caso encontre problemas relacionados ao certificado durante o download com wget, siga as instruções abaixo para resolver.

Erro comum:

   ERROR: cannot verify releases.wikimedia.org's certificate, issued by ‘CN=ckp.SeuDomínio’:
   Self-signed certificate encountered.
   To connect to releases.wikimedia.org insecurely, use `--no-check-certificate`.
Enter fullscreen mode Exit fullscreen mode

Soluções:

  • Opção 1: Ignorar a verificação do certificado

    Execute o comando abaixo para baixar o MediaWiki, ignorando a verificação de certificados:

     wget --no-check-certificate https://releases.wikimedia.org/mediawiki/1.39/mediawiki-1.39.2.tar.gz
    

    Nota: Essa abordagem deve ser usada apenas se você confia no ambiente e na fonte do download.

  • Opção 2: Instalar certificados confiáveis (Recomendado)

    Atualize a lista de certificados confiáveis no seu sistema:

     sudo apt update
     sudo apt install ca-certificates
     wget https://releases.wikimedia.org/mediawiki/1.39/mediawiki-1.39.2.tar.gz
    
  • Opção 3: Transferir o arquivo de outro dispositivo

    Caso não consiga resolver o problema de certificados diretamente no servidor, você pode baixar o arquivo em outro dispositivo com acesso confiável e transferi-lo para o servidor usando SCP:

     scp mediawiki-1.39.2.tar.gz vboxuser@Ubuntu:/tmp/
    
  1. Descompactar o arquivo do MediaWiki:

Após o download bem-sucedido, descompacte o arquivo no diretório /var/www:

   sudo tar -xvzf mediawiki-1.39.2.tar.gz -C /var/www
Enter fullscreen mode Exit fullscreen mode
  1. Renomear o diretório (Opcional):

Para facilitar o acesso, renomeie o diretório extraído:

   sudo mv /var/www/mediawiki-1.39.2 /var/www/mediawiki
Enter fullscreen mode Exit fullscreen mode
  1. Ajustar permissões:

Garanta que o servidor web tenha permissão para acessar os arquivos:

   sudo chown -R www-data:www-data /var/www/mediawiki
   sudo chmod -R 755 /var/www/mediawiki
Enter fullscreen mode Exit fullscreen mode

Dica: Substitua www-data pelo nome do usuário do servidor web, se for diferente.

  1. Próximo Passo: Configurar o Apache/Nginx Agora que o MediaWiki está instalado, configure o servidor web para apontar para o diretório /var/www/mediawiki.

Passo 6: Finalizar a Instalação via Navegador

  1. Acessar o MediaWiki pelo Navegador:

    • Se você estiver utilizando o VirtualBox localmente, use o endereço http://localhost/mediawiki ou o IP da máquina virtual.
    • Para acessar de outro computador, use o IP da máquina virtual. Descubra o IP com:
     ip a
    
  2. Seguir o Assistente de Instalação:

    • Selecione o idioma.
    • Insira os dados do banco de dados:
      • Nome do Banco de Dados: mediawiki
      • Usuário do Banco de Dados: mediawikiuser
      • Senha: sua_senha
    • Complete as configurações iniciais e crie o arquivo LocalSettings.php.
  3. Finalizar Configuração:

    • O arquivo LocalSettings.php gerado será necessário para configurar o MediaWiki. Baixe o arquivo e mova-o para o diretório /var/www/html/mediawiki.
     sudo mv LocalSettings.php /var/www/html/mediawiki/
    
  4. Reinicie o Apache:

   sudo systemctl restart apache2
Enter fullscreen mode Exit fullscreen mode

Passo 7: Configuração Adicional (Opcional)

  1. Permitir uploads de arquivos: Para permitir que os usuários façam upload de arquivos, edite o arquivo php.ini:
   sudo nano /etc/php/7.4/apache2/php.ini
Enter fullscreen mode Exit fullscreen mode
  • Altere file_uploads = Off para file_uploads = On.
  • Aumente os limites de upload (se necessário):

     upload_max_filesize = 100M
     post_max_size = 100M
    
  1. Instalar Extensões do MediaWiki: O MediaWiki possui diversas extensões que podem ser instaladas para funcionalidades adicionais, como integração com outros sistemas ou recursos avançados de gerenciamento.

  2. Acesse o MediaWiki no navegador

    Depois de confirmar o diretório, acesse o MediaWiki diretamente no navegador, adicionando /mediawiki ao final do endereço. Por exemplo:

Se você está acessando localmente:

   http://localhost/mediawiki
Enter fullscreen mode Exit fullscreen mode

Se está usando o IP da máquina virtual, substitua <IP> pelo endereço correto:

   http://<IP>/mediawiki
Enter fullscreen mode Exit fullscreen mode

Na configuração que você realizou no banco de dados, o usuário e a base de dados já foram configurados, mas você precisa atualizar os campos no MediaWiki de acordo com essas informações. Siga estas etapas:

  • Servidor do banco de dados: Deixe como localhost, já que o banco está no mesmo servidor.
  • Nome da base de dados (sem hífen): Preencha com o nome da base que você criou no comando SQL, ou seja, mediawiki.
  • Prefixo da tabela do banco de dados (sem hífen): Esse campo pode ser deixado em branco se você não deseja prefixos. Caso deseje, adicione um prefixo como wiki_ para evitar conflitos de tabelas se compartilhar o banco com outras aplicações.
  • Nome de usuário do banco de dados: Preencha com o usuário criado, mediawikiuser.
  • Senha do banco de dados: Insira a senha definida no comando SQL, neste caso, changeme.

Clique em Continuar para avançar para a próxima etapa da instalação.

Se aparecerem erros, verifique os seguintes pontos:

  • Confirme se o banco de dados foi criado corretamente, acessando-o com o comando mysql -u mediawikiuser -p no terminal.
  • Certifique-se de que o servidor MySQL ou MariaDB está em execução.

Configuração Manual do Arquivo LocalSettings.php para MediaWiki

Este guia descreve como criar manualmente o arquivo LocalSettings.php para configurar o MediaWiki em um ambiente Linux. Caso o arquivo LocalSettings.php não tenha sido gerado durante a instalação, você pode seguir este procedimento para criá-lo diretamente no servidor.

Passos para Criar o Arquivo LocalSettings.php

1. Navegue até o Diretório do MediaWiki

Primeiro, acesse o diretório onde o MediaWiki está instalado. O caminho típico de instalação é /var/www/html/mediawiki ou /var/www/mediawiki. Execute o seguinte comando para navegar até o diretório do MediaWiki:

cd /var/www/html/mediawiki
Enter fullscreen mode Exit fullscreen mode

Ou, se a instalação estiver em outro diretório:

cd /caminho/da/sua/instalacao/mediawiki
Enter fullscreen mode Exit fullscreen mode

2. Crie o Arquivo LocalSettings.php com o nano

Em seguida, crie o arquivo LocalSettings.php usando o editor de texto nano:

sudo nano LocalSettings.php
Enter fullscreen mode Exit fullscreen mode

3. Adicione o Código Básico de Configuração

Dentro do editor nano, adicione o código básico de configuração. Um exemplo mínimo de configuração para o arquivo LocalSettings.php seria:

<?php
# LocalSettings.php

# Defina a base de dados
$wgDBtype = "mysql";
$wgDBserver = "localhost";
$wgDBname = "mediawiki";
$wgDBuser = "mediawikiuser";
$wgDBpassword = "changeme";

# Defina o prefixo da tabela (opcional)
$wgDBprefix = "wiki_";

# Outras configurações padrão do MediaWiki
$wgScriptPath = "";
$wgArticlePath = "/$1";
$wgServer = "http://localhost";

# Habilite o cache de página
$wgCachePages = true;

# Localização dos arquivos de imagem
$wgUploadDirectory = "/var/www/html/mediawiki/images";
$wgUploadPath = "/images";
?>
Enter fullscreen mode Exit fullscreen mode

Esse código contém as configurações essenciais para conectar o MediaWiki ao banco de dados MySQL/MariaDB. Caso necessário, você pode adicionar outras configurações personalizadas conforme sua necessidade.

Nota: Nessa mesma pasta, você encontrará o arquivo LocalSettings.php, que contém configurações adicionais que podem ser úteis. É recomendável revisar e ajustar essas configurações de acordo com suas necessidades, garantindo que todos os parâmetros estejam otimizados para o seu ambiente e segurança.

4. Salve e Saia do nano

Depois de adicionar o código, salve o arquivo e saia do editor nano:

  • Ctrl + O para salvar o arquivo.
  • Enter para confirmar o nome do arquivo como LocalSettings.php.
  • Ctrl + X para sair do editor nano.

5. Verifique as Permissões do Arquivo

Após criar o arquivo, certifique-se de que ele tenha as permissões corretas para ser lido pelo servidor web. Execute os seguintes comandos para garantir que o arquivo tenha as permissões adequadas:

sudo chown www-data:www-data /var/www/html/mediawiki/LocalSettings.php
sudo chmod 644 /var/www/html/mediawiki/LocalSettings.php
Enter fullscreen mode Exit fullscreen mode

6. Reinicie o Servidor Apache

Para garantir que as alterações sejam aplicadas corretamente, reinicie o servidor Apache:

sudo systemctl restart apache2
Enter fullscreen mode Exit fullscreen mode

7. Acesse o MediaWiki

Agora, acesse o MediaWiki no seu navegador. Se tudo estiver configurado corretamente, o erro "LocalSettings.php not found" não deve mais aparecer, e o MediaWiki deve carregar como esperado.


Observações

  • Criar manualmente o arquivo LocalSettings.php pode ser mais complexo do que seguir o processo de instalação guiada, mas é uma solução útil quando você não consegue obter o arquivo através da instalação padrão.
  • Certifique-se de substituir os valores de banco de dados, como mediawikiuser e changeme, com as configurações reais do seu ambiente.
  • Para mais detalhes, consulte a documentação oficial do MediaWiki.

Considerações Finais

O MediaWiki agora está configurado no seu servidor Ubuntu. Você pode começar a usar a plataforma para gerenciar documentação e arquivos. Para segurança, lembre-se de configurar adequadamente as permissões de usuários e fazer backups regulares do banco de dados e dos arquivos.

Bibliografia


Image of Timescale

Timescale – the developer's data platform for modern apps, built on PostgreSQL

Timescale Cloud is PostgreSQL optimized for speed, scale, and performance. Over 3 million IoT, AI, crypto, and dev tool apps are powered by Timescale. Try it free today! No credit card required.

Try free

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Explore a sea of insights with this enlightening post, highly esteemed within the nurturing DEV Community. Coders of all stripes are invited to participate and contribute to our shared knowledge.

Expressing gratitude with a simple "thank you" can make a big impact. Leave your thanks in the comments!

On DEV, exchanging ideas smooths our way and strengthens our community bonds. Found this useful? A quick note of thanks to the author can mean a lot.

Okay