Wiki: mudanças entre as edições

De Instituto de Física - UFRGS
Ir para navegaçãoIr para pesquisar
Sem resumo de edição
Sem resumo de edição
Linha 12: Linha 12:
     tar -zxf mediawiki-1.25.2.tar.gz
     tar -zxf mediawiki-1.25.2.tar.gz


    cp -r mediawiki-1.25.2 nome_da_wiki_80
<!--    cp -r mediawiki-1.25.2 nome_da_wiki_80 -->
     cp -r mediawiki-1.25.2 nome_da_wiki_ssl
     cp -r mediawiki-1.25.2 nome_da_wiki_ssl


- Alterar permissões
- 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_80 -->
     chown -R www-data.www-data /var/www/wikis/nome_da_wiki_ssl
     chown -R www-data.www-data /var/www/wikis/nome_da_wiki_ssl


Linha 41: Linha 41:
         <VirtualHost '''nome_da_wiki'''.if.ufrgs.br:80>
         <VirtualHost '''nome_da_wiki'''.if.ufrgs.br:80>
             ServerAdmin webadmin@if.ufrgs.br
             ServerAdmin webadmin@if.ufrgs.br
             DocumentRoot /var/www/wikis/'''nome_da_wiki_80'''
             DocumentRoot /var/www/wikis/'''nome_da_wiki_ssl'''
           <Directory /var/www/wikis/'''nome_da_wiki_80'''>
           <Directory /var/www/wikis/'''nome_da_wiki_ssl'''>
                 Options Indexes FollowSymLinks
                 Options Indexes FollowSymLinks
                 AllowOverride None
                 AllowOverride None
Linha 87: Linha 87:


- Editar dns
- Editar dns
    cd /etc/bind/dns-update/cnames
<!--    cd /etc/bind/dns-update/cnames -->
    cd /etc/bind/
     vi cnames.txt
     vi cnames.txt


Linha 159: Linha 160:
  $wgGroupPermissions['*']['edit'] = false;
  $wgGroupPermissions['*']['edit'] = false;
  $wgGroupPermissions['*']['createaccount'] = false;
  $wgGroupPermissions['*']['createaccount'] = false;
  require_once( 'LdapAuthentication.php' );
  require_once( 'includes/LdapAuthentication.php' );
  $wgAuth = new LdapAuthenticationPlugin();
  $wgAuth = new LdapAuthenticationPlugin();
  #$wgLDAPUseLocal = true;
  #$wgLDAPUseLocal = true;
Linha 190: Linha 191:
- Copiar o arquivo LdapAuthentication.php:
- Copiar o arquivo LdapAuthentication.php:


  cp /root/LdapAuthentication.php /var/www/wikis/nome_da_wiki/includes/
  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
- Alterar permissões

Edição das 09h45min de 19 de outubro de 2015

Como criar wikis

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

Alterar as seguintes variáveis

$wgServer = "//wiki.if.ufrgs.br";

$wgSecureLogin = true;

Que estão em "includes/DefaultSettings.php"

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".