Wiki: mudanças entre as edições
Sem resumo de edição |
Sem resumo de edição |
||
Linha 285: | Linha 285: | ||
Utilizando-se este método não é necessário dois folders com o código fonte da mediawiki como "nome_da_wiki_80" e "nome_da_wiki_ssl". | Utilizando-se este método não é necessário dois folders com o código fonte da mediawiki como "nome_da_wiki_80" e "nome_da_wiki_ssl". | ||
'''Atenção''' | |||
Na última instalação realizada a tabela 'ldap_domains' não foi criada automaticamente. Foi necessário criá-la manualmente. | |||
CREATE TABLE `mw_ldap_domains` ( | |||
`domain_id` int(11) NOT NULL AUTO_INCREMENT, | |||
`domain` varbinary(255) NOT NULL, | |||
`user_id` int(11) NOT NULL, | |||
PRIMARY KEY (`domain_id`), | |||
KEY `user_id` (`user_id`) | |||
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=binary; | |||
Para detectar o erro foi colocada a linha abaixo em LocalSettings.php | |||
$wgShowSQLErrors = 1; |
Edição das 12h54min de 26 de janeiro de 2016
Como criar wikis
- Na Helsinque
- Requisitos servidor
Baixar mediawiki no diretório /var/www/wikis/
cd /var/www/wikis
wget http://releases.wikimedia.org/mediawiki/1.25/mediawiki-1.25.2.tar.gz
- Descompactar e alterar nome
tar -zxf mediawiki-1.25.2.tar.gz
cp -r mediawiki-1.25.2 nome_da_wiki_ssl
- Alterar permissões
chown -R www-data.www-data /var/www/wikis/nome_da_wiki_ssl
APACHE
- Criar arquivo
cd /etc/apache2/sites-available/
-- http
nano nome_da_wiki_80
Incluir:
<VirtualHost nome_da_wiki.if.ufrgs.br:80> ServerAdmin webadmin@if.ufrgs.br DocumentRoot /var/www/wikis/nome_da_wiki_ssl <Directory /var/www/wikis/nome_da_wiki_ssl> Options Indexes FollowSymLinks AllowOverride None </Directory> ErrorLog /var/log/apache2/nome_da_wiki-error.log LogLevel warn CustomLog /var/log/apache2/nome_da_wiki-access.log combined </VirtualHost>
-- https
nano nome_da_wiki_ssl
Incluir:
<VirtualHost nome_da_wiki.if.ufrgs.br:443> ServerAdmin webadmin@if.ufrgs.br DocumentRoot /var/www/wikis/nome_da_wiki_ssl ServerName helsinque.if.ufrgs.br SSLEngine on RewriteEngine On SSLCertificateFile \ /etc/ssl/cominf.if.ufrgs.br.cert SSLCertificateKeyFile \ /etc/ssl/helsinque.if.ufrgs.br.key.unsecurity <Directory /var/www/wikis/nome_da_wiki_ssl> Options Indexes FollowSymLinks AllowOverride None </Directory> ErrorLog /var/log/apache2/nome_da_wiki-error.log LogLevel warn CustomLog /var/log/apache2/nome_da_wiki-access.log combined </VirtualHost>
- Criar link
cd /etc/apache2/sites-enabled ln -s ../sites-available/nome_da_wiki_ssl nome_da_wiki ln -s ../sites-available/nome_da_wiki_80 nome_da_wiki_80
- Reiniciar Serviço
/etc/init.d/apache2 restart
- Na gaya
DNS
- Editar dns
cd /etc/bind/ vi cnames.txt
Incluir:
Nome_da_wiki CNAME helsinque (ou servidor de wikis atual)
- Reiniciar serviço
cd .. ./dns-update.sh
BANCO DE DADOS -
- Acessar banco
mysql -p (colocar senha do banco de dados)
- Criar Banco de dados
mysql>show databases; mysql>create database wiki_nome_da_wiki;
- Dar acesso ao usuário wiki_user ao banco criado
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER ON wiki_nome_da_wiki.* TO wiki_user@143.54.40.45;
- reiniciar serviço
/etc/init.d/mysql restart
- Na rosen
- Incluir arquivo na base LDAP com pessoas autorizadas a modificar a wiki. Ou seja, incluir um novo "entry" na árvore da base de dados do LDAP. Isto pode ser feito através do programa lbe.sh.
dn: cn=w_nome_da_wiki,ou=grupos,ou=dominio, dc=if gidNumber: 2503 memberUid: User userPassword:: e2NyeXB0fSo= objectClass: posixGroup objectClass: top cn: w_nome_da_wiki
ATENÇÃO: Colocar primeira letra em maiúscula no nome do usuário. Isto não é necessário na wiki.if.ufrgs.br, pois ela está utilizando uma nova versão da extensão LDAP Authentication ( >2.0 tem um LDAPLowercaseUsernameScheme).
- No browser
- Abrir o site da wiki feita para fazer a configuração
http://noma_da_wiki.if.ufrgs.br
- Algumas configurações:
wiki name: NOME DA WIKI contact e-mail webadmin@if.ufrgs.br Admin username: wiki_user Password: Object caching: No caching Database type: MySQL Database host: 143.54.40.2 Database name: wiki_nome_da_wiki DB username: wiki_user DB password (senha do usuário do banco de dados) Database table prefix: mw_
- Na helsique
- Após a finalização das configurações, um arquivo chamado LocalSettings.php será criado em /var/www/wikis/nome_da_wiki/config. Mover um diretório acima:
mv /var/www/wikis/nome_da_wiki/config/LocalSettings.php /var/www/wikis/nome_da_wiki/
- Incluir as linhas abaixo no arquivo LocalSettings.php com caminho do LDAP correto:
################################################################# $wgGroupPermissions['*']['edit'] = false; $wgGroupPermissions['*']['createaccount'] = false; require_once( 'includes/LdapAuthentication.php' ); $wgAuth = new LdapAuthenticationPlugin(); #$wgLDAPUseLocal = true; $wgLDAPDomainNames = array( 'IF' ); $wgLDAPServerNames = array( 'IF' => '143.54.40.8' ); $wgLDAPSearchStrings = array( 'IF' => 'uid=USER-NAME,ou=usuarios,ou=dominio,dc=if' ); $wgLDAPEncryptionType = array( 'IF' => 'clear' ); ####################### $wgLDAPRequiredGroups = array( "IF"=>array("cn=w_nome_da_wiki,ou=grupos,ou=dominio,dc=if") ); $wgLDAPGroupUseFullDN = array( "IF"=>false ); $wgLDAPGroupObjectclass = array( "IF"=>"posixgroup" ); $wgLDAPGroupAttribute = array( "IF"=>"memberuid" ); $wgLDAPGroupSearchNestedGroups = array( "IF"=>false ); $wgLDAPGroupNameAttribute = array( "IF"=>"cn" ); $wgLDAPBaseDNs = array( "IF"=>"ou=dominio,dc=if" ); ####################### $wgMinimalPasswordLength = 1; $wgLDAPDebug = 3; $wgDebugLogGroups["ldap"] = "/tmp/debug.log" ; #################################################################
- Copiar o arquivo LdapAuthentication.php:
cp /root/LdapAuthentication.php /var/www/wikis/nome_da_wiki_ssl/includes/
- Criar diretório /schema/
mkdir /var/www/wikis/nome_da_wiki_ssl/includes/schema
- Criar arquivos nesse novo diretorio
cd /var/www/wikis/nome_da_wiki_ssl/includes/schema
- mysql
nano ldap-mysql.sql
- Incluir:
CREATE TABLE /*_*/ldap_domains ( -- IF for domain domain_id int not null primary key auto_increment, -- domain itself domain varchar(255) binary not null, -- User to which this domain belongs user_id int not null ) /*$wgDBTableOptions*/; CREATE INDEX /*i*/user_id on /*_*/ldap_domains (user_id);
- postgres
nano ldap-postgres.sql
Incluir:
CREATE TABLE ldap_domains ( -- IF for domain domain_id serial PRIMARY KEY, -- domain itself domain varchar(255) not null, -- User to which this domain belongs user_id integer not null ) /*$wgDBTableOptions*/; CREATE INDEX user_id on ldap_domains (user_id);
- Alterar permissões
chown -R www-data.www-data /var/www/wikis/nome_da_wiki
chmod go-rw LocalSettings.php
Alterar wiki para Login seguro
languages/messages/MessagesPt_br.php linha 555
'loginprompt' => 'É necessário estar com os cookies ativados para poder autenticar-se na Instituto de Física - UFRGS.',
para
'loginprompt' => 'Direcionando para login seguro. Por favor, aguarde... ',
includes/templates/Userlogin.php
Na primeira linha:
<meta HTTP-EQUIV="REFRESH" content="0; url=https://pagina.if.ufrgs.br/index.php?title=Especial:Entrar&returnto=Especial:Entrar">
Ou (versão 1.23.4)
<meta HTTP-EQUIV="REFRESH" content="0; url=https://wiki.if.ufrgs.br/index.php?title=Especial:Autenticar-se&returnto=P%C3%A1gina+principal">
Isto pode variar de acordo com a versão da wiki.
Comentar linhas 36 a 42, 43 a 50, 57 a 65 e 68 a 77
Segunda forma de alterar wiki para Login seguro
a) Alterar as seguintes variáveis em "includes/DefaultSettings.php"
$wgServer = "//wiki.if.ufrgs.br";
$wgSecureLogin = true;
b) Em LocalSetting.php, comentar a linha
$wgServer = "http://nome_wiki.if.ufrgs.br";
Utilizando-se este método não é necessário dois folders com o código fonte da mediawiki como "nome_da_wiki_80" e "nome_da_wiki_ssl".
Atenção
Na última instalação realizada a tabela 'ldap_domains' não foi criada automaticamente. Foi necessário criá-la manualmente.
CREATE TABLE `mw_ldap_domains` (
`domain_id` int(11) NOT NULL AUTO_INCREMENT, `domain` varbinary(255) NOT NULL, `user_id` int(11) NOT NULL, PRIMARY KEY (`domain_id`), KEY `user_id` (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=binary;
Para detectar o erro foi colocada a linha abaixo em LocalSettings.php
$wgShowSQLErrors = 1;