Posts com Tag ‘wiki’

1. Limites do PHP para uploads de arquivos

O tamanho máximo de uploads de dados é determinado através de parâmetros do PHP em /etc/php5/apache2/php.ini. O valor padrão do PHP restringe o limite de uploads de dados em 2MB.

Há dois parâmetros a observar:

  • post_max_size: limite máximo para todo conteúdo de upload (POST) de dados que o PHP aceitará.
  • upload_max_filesize: máximo tamanho permitido para upload de arquivo individual.

Muitas vezes escolhe-se para ‘post_max_size’ um múltiplo de ‘upload_max_filesize’ para permitir que múltiplos arquivos sejam “uploaded”, porém isso não é obrigatório. Se seguirmos essa regra, um par de valores em /etc/php5/apache2/php.ini poderia ser:
post_max_size = 30M;
upload_max_filesize = 15M;

O exemplo acima restringiria o upload individual de arquivo em 15MB, e o valor máximo para upload total de dados por vez em 30MB.

2. Extensão para vídeos
Uma boa extensão do MediaWiki para vídeos é a EmbedVideo, que utiliza a mesma sintaxe de upload de imagens.

Exemplos:
Mediawiki - exemplos usando Exensão para video

Anúncios

1) Introdução
Testamos este post na versão 7 do Debian (“wheezy”), e Mediawiki versão 1.19.20.

2)Instalar o MediaWiki (parte-1)

#apt-get install mediawiki

Esse comando instalará:
– apache2;
– mysql;
– php5;
– mediawiki,

e seus conjuntos de arquivos associados. Quando da instalação, será formulada a pergunta de qual a senha desejada para ser definida para o administrador do banco de dados MySQL (atenção: não tem nada haver com usuário root do S.O.; este usuário administrador do banco de dados será criado automaticamente na tabela mysql.user.). Veja abaixo:

Pedido de senha para usuario root MySQL

Após a execução do comando acima, o mediawiki estará disponível nas seguintes pastas (e subpastas):

  • /etc/mediawiki
  • /var/lib/mediawiki/ : contém, basicamente, links simbólicos para /usr/share/mediawiki
  • /usr/share/mediawiki/ : principal pasta. Onde estão os arquivos com o código do mediawiki

3) Uma primeira mensagem de alerta do Apache
Logo após a instalação do Apache, quando da execução do comando de recarregar a configuração do Apache (# /etc/init.d/apache2 reload) ou comando de reiniciar (# /etc/init.d/apache2 restart), uma primeira mensagem de alerta aparece:

Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

Isso normalmente pode ser ignorado, pois não impede o bom funcionamento do Apache. Mas aquela mensagem significa que o daemon do Apache (httpd) não conseguiu obter um nome de host totalmente qualificado, fazendo uma pesquisa inversa no seu servidor de endereço IP. Uma alternativa simples para evitar estas mensagens é especificar “ServerName 127.0.0.1” no contexto do servidor global da configuração. Por exemplo, criando o arquivo /etc/apache2/conf.d/servername.local , tendo como conteúdo:

ServerName 127.0.0.1

4) Verificações básicas
a) verificar se o Apache está funcionando
Verificar se o servidor de páginas Apache está ativo, na forma exemplificada abaixo:
# ps -A | grep apache2
7561 ? 00:00:00 apache2
7706 ? 00:00:00 apache2
7707 ? 00:00:00 apache2
7708 ? 00:00:00 apache2
7709 ? 00:00:00 apache2
7710 ? 00:00:00 apache2

Acessar também a url http://localhost/ , onde uma página muito simples deverá ser mostrada no navegador, como esta abaixo (referente ao código em /var/www/index.html):
Tela inicial do Apache quando instalado

Dicas:
– para acompanhar as mensagens de erro do Apache, normalmente estas se encontram no arquivo /var/log/apache2/erro.log (quem define qual arquivo de erro é a variável ErrorLog, definida em /etc/apache2/apache2.conf).

– se desejar uma cópia local do manual da versão em uso do servidor de páginas Apache, fazer:
#apt-get install apache2-doc
Com isso, ao acessar a url http://localhost/manual/ teremos a documentação do Apache mostrada, como abaixo ilustrado:
Tela inicial do Manual do Apache

b) verificar se o PHP está funcionando
Criar o arquivo /var/www/index.php com o seguinte conteúdo:

<?php
phpinfo();
?>

Reiniciar o Apache:
# /etc/init.d/apache2 restart

Agora, acessar o endereço http://localhost/index.php . Se as informações de configuração do PHP aparecerem, isto significará que o Apache e o interpretador PHP foram instalados corretamente e estão funcionando. Veja um exemplo de um pedacinho da página que deverá ser mostrada:

Tela de teste do funcionamento do interpretador PHP

c) verificar se o MySQL está funcionando.
Verificar se o processo MySQL server foi iniciado e está “ativo”:

$ ps -A | grep mysql
7391 ?        00:00:00 mysqld_safe
7720 ?        00:00:13 mysqld

Para ter acesso ao banco do MySQL, utilizar o seguinte comando:
$ mysql -u root -p
Este comando é destinado a fazer a autenticação no banco de dados MySQL. Será solicitado a senha do usuário “root” (que neste momento é o usuário administrador do MySQL) de acesso ao banco que fora definida anteriormente na instalação. Forneça a senha, conforme definida naquele momento da instalação.

Dicas:
– verificar se o servidor MySQL está instalado e qual a sua versão: $ apt-cache policy mysql-server
– verificar se o client MySQL está instalado e qual a sua versão: $ apt-cache policy mysql-client
– estando autenticando do servidor MySQL, são úteis os seguintes comandos básicos:
* status do banco: mysql> status;
* base de dados existentes: mysql> show databases;
* selecionar uma base de dados (exemplo: a BD mysql): mysql> use mysql;
* listar as tabelas de uma BD (que fora anteriormente selecionada): mysql> show tables;
* verificar os usuários existentes:


mysql> SELECT User, Host, Password FROM mysql.user;
+------------------+-----------+-------------------------------------------+
| User             | Host      | Password                                  |
+------------------+-----------+-------------------------------------------+
| root             | localhost | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| root             | 127.0.0.1 | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| root             | ::1       | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| debian-sys-maint | localhost | *BEB671E4F154411B71BEEDA86385600449ED3346 |
+------------------+-----------+-------------------------------------------+

Neste caso, fora o próprio sistema operacional, apenas usuário do BD chamado “root” pode ter acesso, fornecendo senha, e partindo do própria máquina.
* para outros comandos do BD MySQL veja o post Tutorial MySQL.

5) Instalar o MediaWiki (parte-2)
5.1 Liberar acesso inicial para parametrizar o mediawiki
Editar o arquivo da configuração do Apache em /etc/mediawiki/apache.conf e remover o sinal de comentário ‘#’ presente na sua terceira linha, ficando desta forma:
Alias /mediawiki /var/lib/mediawiki
Reiniciar o Apache:
# /etc/init.d/apache2 restart

Obs: observar que existe o arquivo /etc/apache2/conf-available/mediawiki.conf com as diretivas de configuração para o Apache achar o mediawiki.

Nesse momento, já é possível acessar a página inicial do Mediawiki para iniciar seu processo de configuração. Ao acessar a url http://localhost/mediawiki/ a seguinte página deverá ser mostrada:
Tela inicial do Midiawiki, para iniciar sua configuração

5.2 Iniciar a parametrização do mediawiki
Clicar no link mostrado na figura anterior e iniciar a parametrização do Mediawiki. Algumas dicas úteis:
– nome do utilizador da base de dados: informar o nome do usuário já criado na BD do MySQL que será usado para ter acesso à BD durante o processo de instalação. Este usuário não é o do MediaWiki, e sim de um usuário da base de dados.
– conta de administrador, seu nome: o seu nome, por exemplo, “Joao Beltrao”. Este é o nome que irá utilizar para entrar na wiki.
– sobre o arquivo LocalSettings.php: automaticamente será gerado um arquivo de configuração que será disponibilizado ao usuário que está instalando o mediawiki. Salve este arquivo e coloque-o na mesma pasta do arquivo index.php do mediawiki (no caso deste post, esta pasta após iniciar os dois links simbólicos é a /etc/mediawiki/ .

Pronto, acesse a url http://localhost/mediawiki/ e observe que o Mediawiki estará funcionando normalmente. Faça o login através do usuário que fora criado (no caso, “Joao Beltrao”). Bom uso.

5.3 Parametrizações do arquivo LocalSettings.php
Este arquivo permite um grande número de parametrizações. Algumas dicas (no caso, acrescentar ao final do arquivo as seguintes linhas:
$wgGroupPermissions['*']['edit'] = false;
$wgLocalTZoffset = -180;
$wgGroupPermissions['*']['createaccount'] = false;

A primeira linha acima serve para evitar que usuários anônimos possam modificar o conteúdo do Wiki; a segunda linha para que o Wiki utilize o mesmo fuso horário do usuário no momento de uma edição (horário brasileiro: -3 horas = -180 minutos); a terceira linha desabilita a criação de novos usuários pelos próprios internautas, tarefa que será feita exclusivamente pelo administrador do wiki.

Se desejar, fazer:
$wgGroupPermissions['*']['read'] = false;
Com isso, só é permitido a leitura do wiki por usuários logados no wiki.

Obs: o logo do wiki é definido pela variável “$wgLogo” que por padrão está apontando para /usr/share/mediawiki/skins/common/images/wiki.png. Recomenda-se que se utilize uma figura com fundo transparente de 135×135 pixels. Uma rápida modificação dessa imagem visualizada nesta instalação, apenas altere o valor da variável “$wglogo” que está apontando para a imagem “wiki.png”, deixando-a apontando para a imagem “mediawiki.png” (que está na mesma pasta).

5.4 Dica de segurança
Caso o mediawiki for instalado em uma área pública, cuidado deve-se ter quanto a proibição do acesso de usuários ao arquivo de configuração. Assim, quando for esse o caso, a alteração da permissão do arquivo /etc/mediawiki/LocalSettings.php seria recomendável:

# chmod 600 LocalSettings.php
# chown www-data:www-data LocalSettings.php

Isto fará com que este arquivo não fique visível a outros usuários. É uma medida de segurança.
Se a configuração de segurança fora feita com sucesso, ao acessar a url http://localhost/mediawiki/LocalSettings.php uma página em branco ou uma página de erro deve ser mostrada.

5.5 Uma verificação da base de dados após mediawiki estar instalado
Para isso, faça a autenticação na base de dados. Assim:
a) verificar as bases de dados
Caso o nome da base de dados escolhida na instalação do wiki tenha sido “my_wiki”, tem-se:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| my_wiki            |
| mysql              |
| performance_schema |
+--------------------+

b) verificar as tabelas criadas para o wiki
Após chavear para a base de dados “my_wiki”, e durante a instalação do wiki escolheu-se “prefixo” para o nome dos prefixos das tabelas relativas as bases de dados do wiki, tem-se:

mysql> show tables;
+---------------------------+
| Tables_in_my_wiki         |
+---------------------------+
| prefixoarchive            |
| prefixocategory           |
| prefixocategorylinks      |
| prefixochange_tag         |
          .
          .
          .

5.6 Testar o funcionamento do mediawiki como um todo
Agora que o mediawiki está instalado, é hora de testar os passos executados. Pelo menos, teste as seguintes facilidades:

– edição de página;
– criação de página;
– criação de usuário.

5.7 Acessar o Mediawiki de outras máquinas
Para isto, basta alterar o valor da variável wgServer do arquivo LocalSettings.php: em vez de localhost (que é o default), coloque o IP de sua máquina. Exemplo:
$wgServer ="http://192.167.34.25";

6) Dicas adicionais para aqueles que desejam criar um domínio próprio para o wiki
A partir desse ponto, são dicas adicionais e não há obrigatoriedade de seguir para deixar o Mediawiki funcionando.

Copiar os apontadores do Mediawiki (e mais algumas pastas adicionais) para o diretório raiz do Apache

# cp -a /var/lib/mediawiki/ /var/www/wiki

6.1) Preparar o ambiente antes de continuar a instalação do Mediawiki

6.1.1) escolher um nome de domínio para acessar o mediawiki. Por exemplo: http://www.meuwiki.com
6.1.2) criar uma entrada no Apache para o novo domínio meuwiki
a) Criar um arquivo em /etc/apache/sites-available, por exemplo de nome ‘meuwiki’, com o seguinte conteúdo:

<VirtualHost *:80>
ServerName http://www.meuwiki.com
DocumentRoot /var/www/wiki
</VirtualHost>

obs: para facilitar, faça uma cópia do arquivo ‘default’ para o ‘meuwiki’, e edite suas diretivas.

b) Habilitar o dominio virtual

#a2ensite meuwiki

c) caso o novo domínio esteja hospedado na mesma máquina que o usuário esteja usando, crie uma entrada em /etc/hosts:

127.0.0.1 http://www.meuwiki.com

6.2) Recarregar o Apache com as novas configurações

# /etc/init.d/apache2 reload

6.3) Complementar a instalação do Mediawiki pelo navegador
Na caixa de endereços de URL do navegador, digitar o endereço do Mediawiki e complementar sua instalação. O acesso ao Mediawiki deve ser pelo nome do domínio escolhido (isso é MUITO IMPORTANTE!!!, para que a instalação fique correta e o Mediawiki acessível de qualquer máquina da rede):

http://www.meuwiki.com

A tela mostrada é para iniciar a configuração do Mediawiki, pois ainda o arquivo de configuração LocalSettings.php ainda não fora criado na pasta /etc/mediawiki/. Este arquivo será criado quando for terminado o processo de complementação da instalação do mediawiki, realizado pelo usuário com o navegador clicando no hiperlink “Set up the wiki” (conforme figura anterior).

6.4) Setup do Wiki
Um exemplo de setup do wiki:

Wiki name: “Meuwiki”
Admin username: “wikiadmin”
Password: <senha_do_wikiadmin>
Databasehost: “10.200.70.5:3306” ou “localhost” (se base dados em outra máquina ou na mesma em que fora instalado o wiki, respectivamente)
DB name: “db_meuwiki”
DB username: “adm_wiki”
DB password: <senha do DB admin>
Database table prefix: “meuwiki_”
Storage Engine: “InnoDB”
Database character set: “MySQL4.1/5.0 UTF-8”

Após executar este “setup”, será criado o banco de dados “db_meuwiki“, e a tabela “mysql.user” terão os seguintes usuários criados:

User Host Password
adm_wiki % *07C2A823749F8D68A9758F74DDDC945DE57873F6
adm_wiki localhost *07C2A823749F8D68A9758F74DDDC945DE57873F6
adm_wiki localhost.localdomain *07C2A823749F8D68A9758F74DDDC945DE57873F6

 

6.5) Disponibilizar o arquivo LocalSettings.php gerado na sua pasta definitiva
Após ter clicado no link “set up the wiki”, conforme mostrado na figura acima, respondido as questões apresentadas pelo aplicativo e, ao final, ter obtido uma mensagem de sucesso, complemente a instalação do Mediawiki disponibilizando este arquivo na sua pasta definida (a mesma que contém o arquivo com o código inicial do midiawiki – “index.php”). Na instalação exemplificada neste post, a pasta seria /var/lib/mediawiki:

# mv LocalSettings.php /var/lib/LocalSettings.php

Agora, garanta a segurança necessária ao ambiente:
# chmod 600 /var/lib/LocalSettings.php
# chown root:root /var/lib/LocalSettings.php

Links uteis:
1- Instalação do MediaWiki em sites pessoais em WebHostings
2- Instalação do MediaWiki no Debian Etch
3- Instalação do MediaWiki em sites pessoais em WebHostings
4- Instalando Apache+PHP+MySQL no Linux/Debian
5- Tutorial MySQL ( instalar em ambiente Linux – Debian )
6- Configurar domínios virtuais do Apache em máquina Linux/Debian
7- Instalar e configurar Módulos do Apache2 no Debian

1. Introdução
Testamos este post na versão 8 do Debian (“jessie”), e Mediawiki versão 1.27.0

Outros posts trataram a instalação do ambiente LAMP. Para maiores detalhes de como instalar esse ambiente e criar domínios virtuais no Apache, veja os posts:
1- Instalar servidor LAMP (Linux + Apache + PHP + MySQL) no Debian
2- Configurar domínios virtuais do Apache em máquina Linux/Debian
3- Instalar e configurar Módulos do Apache2 no Debian
4- Apache2 usando o módulo Suphp

2. Baixar e descompactar a última versão do mediawiki

a) criar pasta root da aplicação
Após a instalação do Apache, já existirá a pasta /var/www/html. Vamos criar a pasta sites e dentro desta instalar a aplicação mediawiki.
# mkdir /var/www/html/sites/

b) baixar e descompactar o mediawiki
A última versão do MediaWiki pode ser encontrada em: http://www.mediawiki.org/wiki/MediaWiki. Após baixar o arquivo, faça a descompactação:

tar -xvzf mediawiki-1.27.0.tar.gz -C /var/www/html/sites/

Modificar o nome da pasta do MediWiki, de forma a ter todos os arquivos do aplicativo a partir de mediawiki:

# mv /var/www/html/sites/mediawiki-1.27.0 /var/www/html/sites/mediawiki/

3. Criar o usuário do mediawiki no SGBD MySQL
Acessar o MySQL anteriormente instalado e criar o usuário e banco de dados para utilização do Mediawiki:
mysql> CREATE USER wiker@localhost IDENTIFIED BY 'minha_senha';
mysql> CREATE DATABASE mediawikibd;
mysql> GRANT SELECT, CREATE, DELETE, ALTER, INDEX, INSERT, LOCK TABLES, DROP, REFERENCES, UPDATE ON mediawikibd.* TO wiker@localhost;
mysql> FLUSH PRIVILEGES;

4. Criar o VirtualHost para o MediaWiki
a) Criar autoridade sobre o VirtualHost meuwiki.com.br na máquina local:
Editar o arquivo /etc/hosts e deixar a seguinte linha:
127.0.1.1 nome_host meuwiki.com.br

b) Criar o arquivo de configuração do VirtualHost /etc/apache2/sites-available/meuwiki.conf (exemplo sugestivo):

<VirtualHost *:80>
ServerAdmin webmaster@localhosti
ServerName meuwiki.com.br
DocumentRoot /var/www/html/sites/mediawiki

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

5. Instalar o módulo PHP intl PECL para a normalização Unicode
# apt-get install php5-intl
# service apache2 reload

6. Instalar o MediaWiki
a) Habilitar o VirtualHost e recarregar o Apache:
# a2ensite meuwiki
# service apache2 reload

b) Configurar o MediaWiki
Com o navegador, acessar http://meuwiki.com.br/. A seguinte página será mostrada:
Tela inicial de instalação do Midiawiki

Observe que há o alerta de não ter encontrado o arquivo LocalSettings.php. É assim mesmo. Click no link para iniciar a configuração e forneça as informações solicitadas. Siga as instruções do formulário, preenchendo os itens necessários (consulte o manual do MediaWiki caso se sinta inseguro sobre o que informar) e depois clique no botão “Instalar MediaWiki!”. O script irá preencher o banco de dados e gerar um arquivo de configuração.

Depois que o script de instalação terminar com sucesso sua execução, um arquivo de configuração chamado “LocalSettings.php” será gerado. Este arquivo contém todas as informações necessárias para o MediaWiki ser executado. Este arquivo de configuração “LocalSettings.php” deve ser colocado na pasta raiz da aplicação em /var/www/html/sites/mediawiki/.

7. Alguns cuidados adicionais
a) Defina permissões rigorosas sobre o arquivo LocalSettings.php

chmod 600 /var/www/html/sites/mediawiki/LocalSettings.php

b) Propriedade dos arquivos
Como não estamos utilizando o módulo do Apache su-PHP, vamos fazer os arquivos e pastas do MediaWiki terem a permissão do Apache:
# chown -R www-data:www-data /var/www/html/sites/mediawiki/

c) Deletar o diretório “/var/www/html/sites/mediawiki/mw-config” e todo seu conteúdo.

d)Modifique o logo da primeira página
Isso pode ser realizado trocando o arquivo /var/www/html/sites/mediawiki/skins/common/images/wiki.png. Preferencialmente, utilize um arquivo de tamanho 135×135 pixels, transparente.

8. Fazer uso do MediaWiki
Com o navegador na máquina local, faça uso normal do MediaWiki através da URL http://meuwiki.com.br

Referências:

1- Manual de instalação do MediaWiki
2- Manual de configuração do MediaWiki
3- MediaWiki FAQ
4- Manual do LocalSettings.php