Mudanças entre as edições de "Wiki"
De Instituto de Física - UFRGS
(→Etapa 4 (Helsinque)) |
|||
(57 revisões intermediárias por 5 usuários não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
<big>Como criar wikis</big> | <big>Como criar wikis</big> | ||
− | * | + | == Etapa 1 (Helsinque) == |
+ | * Verificar requisitos do servidor | ||
+ | ::[[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.6.tar.gz | ||
+ | ''(ou http://releases.wikimedia.org/mediawiki/1.25/mediawiki-1.26.3.tar.gz, para a versão mais recente)'' | ||
− | + | * Descompactar e alterar nome | |
− | + | tar -zxf mediawiki-1.25.6.tar.gz | |
+ | <!-- cp -r mediawiki-1.25.2 nome_da_wiki_80 --> | ||
+ | cp -r mediawiki-1.25.6 ''nome_da_wiki''_ssl | ||
− | + | * Alterar permissões | |
+ | <!-- chown -R www-data:www-data /var/www/wikis/nome_da_wiki_80 --> | ||
+ | chown -R www-data:www-data /var/www/wikis/''nome_da_wiki''_ssl | ||
− | + | === Apache === | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
+ | * Abrir a pasta | ||
+ | <!-- - Editar httpd.conf | ||
vi /etc/apache2/httpd.conf | vi /etc/apache2/httpd.conf | ||
− | |||
incluir linha: | incluir linha: | ||
− | |||
NameVirtualHost nome_da_wiki.if.ufrgs.br:80 | NameVirtualHost nome_da_wiki.if.ufrgs.br:80 | ||
+ | --> | ||
+ | cd /etc/apache2/sites-available/ | ||
− | + | * Criar arquivos | |
+ | :* http: | ||
+ | :<div style="background-color: #f9f9f9; font-family: monospace,Courier; padding: 1em; border: 1px solid rgb(221, 221, 221);">nano <i>nome_da_wiki</i>_80</div> | ||
− | + | :Incluir: | |
+ | :<div style="background-color: #f9f9f9; font-family: monospace,Courier; padding: 1em; border: 1px solid rgb(221, 221, 221);"><VirtualHost ''nome_da_wiki''.if.ufrgs.br:80><br>   ServerAdmin webadmin@if.ufrgs.br<br>   DocumentRoot /var/www/wikis/''nome_da_wiki''_ssl<br>   <Directory /var/www/wikis/''nome_da_wiki''_ssl><br>     Options Indexes FollowSymLinks<br>     AllowOverride None<br>   </Directory><br>   ErrorLog /var/log/apache2/''nome_da_wiki''-error.log<br>   LogLevel warn<br>   CustomLog /var/log/apache2/''nome_da_wiki''-access.log combined<br></VirtualHost></div> | ||
− | + | :* https: | |
+ | :<div style="background-color: #f9f9f9; font-family: monospace,Courier; padding: 1em; border: 1px solid rgb(221, 221, 221);">nano <i>nome_da_wiki</i>_ssl</div> | ||
− | Incluir: | + | :Incluir: |
− | + | :<div style="background-color: #f9f9f9; font-family: monospace,Courier; padding: 1em; border: 1px solid rgb(221, 221, 221);"><VirtualHost ''nome_da_wiki''.if.ufrgs.br:443><br>   ServerAdmin webadmin@if.ufrgs.br<br>   DocumentRoot /var/www/wikis/''nome_da_wiki''_ssl<br>     ServerName helsinque.if.ufrgs.br<br>     SSLEngine on<br>     RewriteEngine On<br>     SSLCertificateFile \<br>     /etc/ssl/cominf.if.ufrgs.br.cert<br>     SSLCertificateKeyFile \<br>     /etc/ssl/helsinque.if.ufrgs.br.key.unsecurity<br>   <Directory /var/www/wikis/''nome_da_wiki''_ssl><br>     Options Indexes FollowSymLinks<br>     AllowOverride None<br>   </Directory><br>   ErrorLog /var/log/apache2/''nome_da_wiki''-error.log<br>   LogLevel warn<br>   CustomLog /var/log/apache2/''nome_da_wiki''-access.log combined<br></VirtualHost></div> | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | * Criar links | |
− | + | 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 | ||
− | + | == Etapa 2 (Gaya) == | |
− | + | ||
− | + | === DNS === | |
− | DNS | + | * Editar DNS |
− | + | cd /etc/bind/dns-update/cnames | |
− | + | cd /etc/bind/ | |
− | + | vi cnames.txt | |
Incluir: | Incluir: | ||
− | + | ''nome_da_wiki'' CNAME helsinque ''(ou servidor de wikis atual)'' | |
+ | no arquivo '''cnames.txt''' | ||
− | + | * Reiniciar serviço | |
− | + | cd .. | |
+ | ./dns-update.sh | ||
− | + | === Banco de Dados === | |
− | - | + | * Acessar banco de dados |
+ | mysql -p | ||
+ | ''(colocar senha do banco de dados)'' | ||
− | + | * Criar novo 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 o serviço | |
− | + | /etc/init.d/mysql restart | |
− | + | ||
− | + | == Etapa 3 (Rosen) == | |
− | + | ||
+ | * Incluir arquivo na base LDAP com pessoas autorizadas a modificar a wiki - ou seja, incluir uma nova entrada na árvore da base de dados do LDAP. Isto pode ser feito através do programa '''lbe.sh''', com os seguintes dados: | ||
− | + | dn: cn=w_''nome_da_wiki'',ou=grupos,ou=dominio, dc=if | |
− | + | gidNumber: ''número (cada novo entry deve ter um novo gidNumber)'' | |
− | + | ||
− | + | ||
− | dn: cn= | + | |
− | gidNumber: | + | |
memberUid: User | memberUid: User | ||
userPassword:: e2NyeXB0fSo= | userPassword:: e2NyeXB0fSo= | ||
objectClass: posixGroup | objectClass: posixGroup | ||
objectClass: top | objectClass: top | ||
− | cn: | + | 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 nova wiki para fazer a configuração | |
− | wiki name: NOME DA WIKI | + | http://''nome_da_wiki''.if.ufrgs.br |
+ | |||
+ | * Algumas configurações básicas: | ||
+ | |||
+ | wiki name: ''NOME DA WIKI'' | ||
contact e-mail webadmin@if.ufrgs.br | contact e-mail webadmin@if.ufrgs.br | ||
Admin username: wiki_user | Admin username: wiki_user | ||
− | Password: | + | Password: ''(criar nova senha)'' |
Object caching: No caching | Object caching: No caching | ||
Database type: MySQL | Database type: MySQL | ||
− | Database host: 143.54. | + | Database host: 143.54.40.2 |
− | Database name: | + | Database name: wiki_''nome_da_wiki'' |
DB username: wiki_user | DB username: wiki_user | ||
− | DB password (senha do usuário do banco de dados) | + | DB password ''(senha do usuário do banco de dados)'' |
Database table prefix: mw_ | Database table prefix: mw_ | ||
− | + | == Etapa 4 (Helsinque) == | |
− | + | * Finalizadas as configurações, será gerado e baixado um arquivo '''LocalSettings.php''', que deverá ser salvo em /var/www/wikis/''nome_da_wiki'' | |
− | + | ::* Alternativamente, o arquivo poderá ser criado em /var/www/wikis/''nome_da_wiki''/config. Neste caso, basta movê-lo um diretório acima: | |
− | Incluir as linhas abaixo no arquivo LocalSettings.php com caminho do LDAP correto: | + | ::<div style="background-color: #f9f9f9; font-family: monospace,Courier; padding: 1em; border: 1px solid rgb(221, 221, 221);"> mv /var/www/wikis/<i>nome_da_wiki</i>/config/LocalSettings.php /var/www/wikis/<i>nome_da_wiki</i>/ </div> |
+ | |||
+ | * Incluir as linhas abaixo no arquivo '''LocalSettings.php''' com caminho do LDAP correto: | ||
+ | |||
################################################################# | ################################################################# | ||
$wgGroupPermissions['*']['edit'] = false; | $wgGroupPermissions['*']['edit'] = false; | ||
$wgGroupPermissions['*']['createaccount'] = false; | $wgGroupPermissions['*']['createaccount'] = false; | ||
− | require_once( | + | require_once( "$IP/extensions/LdapAuthentication/LdapAuthentication.php" ); |
+ | require_once( 'includes/AuthPlugin.php' ); | ||
$wgAuth = new LdapAuthenticationPlugin(); | $wgAuth = new LdapAuthenticationPlugin(); | ||
#$wgLDAPUseLocal = true; | #$wgLDAPUseLocal = true; | ||
$wgLDAPDomainNames = array( | $wgLDAPDomainNames = array( | ||
− | ' | + | 'IF' |
); | ); | ||
$wgLDAPServerNames = array( | $wgLDAPServerNames = array( | ||
− | ' | + | 'IF' => '143.54.40.8' |
); | ); | ||
$wgLDAPSearchStrings = array( | $wgLDAPSearchStrings = array( | ||
− | ' | + | 'IF' => 'uid=USER-NAME,ou=usuarios,ou=dominio,dc=if' |
); | ); | ||
$wgLDAPEncryptionType = array( | $wgLDAPEncryptionType = array( | ||
− | ' | + | 'IF' => 'clear' |
); | ); | ||
####################### | ####################### | ||
− | $wgLDAPRequiredGroups = array( " | + | $wgLDAPRequiredGroups = array( "IF"=>array("cn=w_''nome_da_wiki'',ou=grupos,ou=dominio,dc=if") ); |
− | $wgLDAPGroupUseFullDN = array( " | + | $wgLDAPGroupUseFullDN = array( "IF"=>false ); |
− | $wgLDAPGroupObjectclass = array( " | + | $wgLDAPGroupObjectclass = array( "IF"=>"posixgroup" ); |
− | $wgLDAPGroupAttribute = array( " | + | $wgLDAPGroupAttribute = array( "IF"=>"memberuid" ); |
− | $wgLDAPGroupSearchNestedGroups = array( " | + | $wgLDAPGroupSearchNestedGroups = array( "IF"=>false ); |
− | $wgLDAPGroupNameAttribute = array( " | + | $wgLDAPGroupNameAttribute = array( "IF"=>"cn" ); |
− | $wgLDAPBaseDNs = array( " | + | $wgLDAPBaseDNs = array( "IF"=>"ou=dominio,dc=if" ); |
####################### | ####################### | ||
$wgMinimalPasswordLength = 1; | $wgMinimalPasswordLength = 1; | ||
Linha 156: | Linha 163: | ||
################################################################# | ################################################################# | ||
− | + | * Baixe o plugin LdapAuthentication apropriado para a versão do MediaWiki sendo utilizada | |
+ | |||
+ | [https://www.mediawiki.org/wiki/Special:ExtensionDistributor/LdapAuthentication https://www.mediawiki.org/wiki/Special:ExtensionDistributor/LdapAuthentication] | ||
+ | |||
+ | * Extraia o pacote .tar.gz na pasta /var/www/wikis/''nome_da_wiki''_ssl/extensions; após este processo, deverá aparecer uma pasta '''LdapAuthentication''' com os seguintes arquivos: | ||
+ | COPYING LdapAuthentication.i18n.php README | ||
+ | gitinfo.json LdapAuthentication.php schema | ||
+ | i18n LdapAutoAuthentication.php version | ||
+ | |||
+ | * Alterar permissões | ||
+ | chown -R www-data.www-data /var/www/wikis/''nome_da_wiki'' | ||
+ | chmod go-rw LocalSettings.php | ||
+ | |||
+ | ::* Se houver erro ao acessar o banco de dados, será necessário atualizá-lo. Neste caso, basta abrir a pasta '''maintenance''' e executar o script '''update.php''' | ||
+ | ::<div style="background-color: #f9f9f9; font-family: monospace,Courier; padding: 1em; border: 1px solid rgb(221, 221, 221);"> cd /var/www/wikis/<i>nome_da_wiki</i>/maintenance <br> php update.php</div> | ||
+ | |||
+ | === Alterar wiki para Login seguro === | ||
+ | |||
+ | * Alterar as seguintes variáveis em "includes/DefaultSettings.php" | ||
+ | |||
+ | $wgServer = "//''nome_da_wiki''.if.ufrgs.br"; | ||
+ | $wgSecureLogin = true; | ||
+ | |||
+ | * Em LocalSetting.php, comentar a linha | ||
+ | |||
+ | $wgServer = "http://''nome_da_wiki''.if.ufrgs.br"; | ||
+ | |||
+ | |||
+ | Utilizando este método, não é necessário duas pastas com o código fonte da wiki (ex: "''nome_da_wiki''_80" e "''nome_da_wiki''_ssl"). | ||
+ | |||
+ | |||
+ | ==== Forma antiga de alterar wiki para Login seguro ==== | ||
+ | |||
+ | * No arquivo "languages/messages/MessagesPt_br.php", linha 555, mudar | ||
+ | |||
+ | 'loginprompt' => 'É necessário estar com os <i>cookies</i> ativados para poder autenticar-se na {{SITENAME}}.', | ||
+ | |||
+ | : para | ||
+ | |||
+ | 'loginprompt' => 'Direcionando para <i>login</i> seguro. Por favor, aguarde... ', | ||
+ | |||
+ | * No 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, caso for 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. | |
− | + | * Por fim, comentar linhas 36 a 42, 43 a 50, 57 a 65 e 68 a 77 | |
− | + |
Edição atual tal como às 15h54min de 20 de junho de 2016
Como criar wikis
Índice
Etapa 1 (Helsinque)
- Verificar requisitos do servidor
- Baixar MediaWiki no diretório /var/www/wikis/
cd /var/www/wikis wget http://releases.wikimedia.org/mediawiki/1.25/mediawiki-1.25.6.tar.gz (ou http://releases.wikimedia.org/mediawiki/1.25/mediawiki-1.26.3.tar.gz, para a versão mais recente)
- Descompactar e alterar nome
tar -zxf mediawiki-1.25.6.tar.gz cp -r mediawiki-1.25.6 nome_da_wiki_ssl
- Alterar permissões
chown -R www-data:www-data /var/www/wikis/nome_da_wiki_ssl
Apache
- Abrir a pasta
cd /etc/apache2/sites-available/
- Criar arquivos
- 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 links
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
Etapa 2 (Gaya)
DNS
- Editar DNS
cd /etc/bind/dns-update/cnames cd /etc/bind/ vi cnames.txt
Incluir:
nome_da_wiki CNAME helsinque (ou servidor de wikis atual)
no arquivo cnames.txt
- Reiniciar serviço
cd .. ./dns-update.sh
Banco de Dados
- Acessar banco de dados
mysql -p (colocar senha do banco de dados)
- Criar novo 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 o serviço
/etc/init.d/mysql restart
Etapa 3 (Rosen)
- Incluir arquivo na base LDAP com pessoas autorizadas a modificar a wiki - ou seja, incluir uma nova entrada na árvore da base de dados do LDAP. Isto pode ser feito através do programa lbe.sh, com os seguintes dados:
dn: cn=w_nome_da_wiki,ou=grupos,ou=dominio, dc=if gidNumber: número (cada novo entry deve ter um novo gidNumber) 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 nova wiki para fazer a configuração
http://nome_da_wiki.if.ufrgs.br
- Algumas configurações básicas:
wiki name: NOME DA WIKI contact e-mail webadmin@if.ufrgs.br Admin username: wiki_user Password: (criar nova senha) 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_
Etapa 4 (Helsinque)
- Finalizadas as configurações, será gerado e baixado um arquivo LocalSettings.php, que deverá ser salvo em /var/www/wikis/nome_da_wiki
- Alternativamente, o arquivo poderá ser criado em /var/www/wikis/nome_da_wiki/config. Neste caso, basta movê-lo 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( "$IP/extensions/LdapAuthentication/LdapAuthentication.php" ); require_once( 'includes/AuthPlugin.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" ; #################################################################
- Baixe o plugin LdapAuthentication apropriado para a versão do MediaWiki sendo utilizada
https://www.mediawiki.org/wiki/Special:ExtensionDistributor/LdapAuthentication
- Extraia o pacote .tar.gz na pasta /var/www/wikis/nome_da_wiki_ssl/extensions; após este processo, deverá aparecer uma pasta LdapAuthentication com os seguintes arquivos:
COPYING LdapAuthentication.i18n.php README gitinfo.json LdapAuthentication.php schema i18n LdapAutoAuthentication.php version
- Alterar permissões
chown -R www-data.www-data /var/www/wikis/nome_da_wiki chmod go-rw LocalSettings.php
- Se houver erro ao acessar o banco de dados, será necessário atualizá-lo. Neste caso, basta abrir a pasta maintenance e executar o script update.php
- cd /var/www/wikis/nome_da_wiki/maintenance
php update.php
Alterar wiki para Login seguro
- Alterar as seguintes variáveis em "includes/DefaultSettings.php"
$wgServer = "//nome_da_wiki.if.ufrgs.br"; $wgSecureLogin = true;
- Em LocalSetting.php, comentar a linha
$wgServer = "http://nome_da_wiki.if.ufrgs.br";
Utilizando este método, não é necessário duas pastas com o código fonte da wiki (ex: "nome_da_wiki_80" e "nome_da_wiki_ssl").
Forma antiga de alterar wiki para Login seguro
- No arquivo "languages/messages/MessagesPt_br.php", linha 555, mudar
'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... ',
- No 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, caso for 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.
- Por fim, comentar linhas 36 a 42, 43 a 50, 57 a 65 e 68 a 77