O XWiki é uma plataforma wiki de código aberto de nível corporativo popular, escrita em Java. Com extensibilidade e facilidade de uso, o XWiki está sendo implantado em várias empresas como repositório de conhecimento, portal público e muito mais.
Neste artigo, vou guiá-lo através do processo de instalação do XWiki 9.11.2 em uma instância do servidor Ubuntu 16.04 LTS. O OpenJDK 8, o Tomcat 8 e o MySQL 5.7 serão automaticamente instalados como dependências durante o processo de instalação.
Pré-requisitos
- Uma nova instância do servidor Vultr Ubuntu 16.04 LTS x64 com pelo menos 2 GB de memória, 4 GB ou mais recomendada. Diga o seu endereço IP é
203.0.113.1
. - Um usuário sudo .
- A instância do servidor foi atualizada para o status estável mais recente usando
apt
.
Configurar o repositório XWiki LTS APT
Faça o login como um usuário sudo e baixe e configure o repositório APT XWiki LTS (Long Term Support) em sua instância do servidor:
cd
wget -q "https://maven.xwiki.org/public.gpg" -O- | sudo apt-key add -
sudo wget "https://maven.xwiki.org/lts/xwiki-lts.list" -P /etc/apt/sources.list.d/
sudo apt update
Nota: Se você quiser experimentar a última versão estável do XWiki (mas NÃO LTS), você pode fazer o download do repositório XWiki APT abaixo:
cd
wget -q "https://maven.xwiki.org/public.gpg" -O- | sudo apt-key add -
sudo wget "https://maven.xwiki.org/stable/xwiki-stable.list" -P /etc/apt/sources.list.d/
sudo apt update
Instale o pacote tudo em um XWiki (incluindo XWiki LTS 9.11.2, Tomcat 8, MySQL 5.7 e mais).
Quando implementado em produção, o XWiki precisa trabalhar com um contêiner Java Servlet e um software de banco de dados. Como uma plataforma wiki flexível, o XWiki fornece oficialmente várias opções de integração. Você pode usar o seguinte comando para mostrar todas as opções disponíveis no repositório XWiki LTS APT:
apt search xwiki
O resultado da pesquisa será semelhante ao seguinte:
xwiki-common/lts 9.11.2 all
xwiki-mysql-common/lts 9.11.2 all
xwiki-pgsql-common/lts 9.11.2 all
xwiki-solr-data/lts 9.11.2 all
xwiki-tomcat7-common/lts 9.11.2 all
xwiki-tomcat7-mysql/lts 9.11.2 all
xwiki-tomcat7-pgsql/lts 9.11.2 all
xwiki-tomcat8-common/lts 9.11.2 all
xwiki-tomcat8-mysql/lts 9.11.2 all
xwiki-tomcat8-pgsql/lts 9.11.2 all
Se você quiser usar o XWiki com as dependências mais comuns, você pode instalar todos os componentes necessários em um comando da seguinte forma:
sudo apt install xwiki-tomcat8-mysql/lts -y
Durante o processo de instalação, você será solicitado a configurar uma nova senha para o usuário root do MySQL várias vezes. Apenas deixe o campo de senha em branco e pressione Enter
para pular este passo por enquanto. Nós abordaremos esse problema mais tarde, garantindo a instalação do MySQL.
Quando perguntado se você deseja Configure database for xwiki with dbconfig-common?
, escolha <Yes>
e pressione ENTER.
Ao ser solicitado a fornecer um MySQL application password for xwiki
, você pode inserir uma senha específica do aplicativo MySQL ou deixar o campo de senha em branco. Este último irá dizer ao XWiki para usar uma senha aleatória do aplicativo MySQL.
Tendo o XWiki e todas as dependências necessárias instaladas, proteja a instalação do MySQL:
sudo /usr/bin/mysql_secure_installation
Durante o processo, o programa fará algumas perguntas. Responda-os como abaixo:
- Gostaria de configurar o plugin VALIDATE PASSWORD? Y
- Por favor introduza 0 = BAIXO, 1 = MÉDIO e 2 = FORTE: 2
- Nova senha:
a-strong-MySQL-root-password
- Re-introduza a nova palavra-passe:
a-strong-MySQL-root-password
- Deseja continuar com a senha fornecida? Y
- Remover usuários anônimos? Y
- Desativar login root remotamente? Y
- Remover banco de dados de teste e acesso a ele? Y
- Recarregue as tabelas de privilégios agora? Y
Melhore a segurança do XWiki, modificando o arquivo de configuração do XWiki.
Use o editor vi para abrir um arquivo de configuração do XWiki:
sudo vi /etc/xwiki/xwiki.cfg
Encontre as duas linhas mostradas abaixo:
xwiki.authentication.validationKey=totototototototototototototototo
xwiki.authentication.encryptionKey=titititititititititititititititi
Substitua os valores de ambos os parâmetros por duas strings aleatórias diferentes e apenas certifique-se de que o comprimento de cada string seja o mesmo que o outro, por exemplo:
xwiki.authentication.validationKey=f0130dfa6fc841e920d5e1056184c03e
xwiki.authentication.encryptionKey=z84kf92ko073tgjdnvkdfmms91qa0ke4
Salve e saia:
:wq!
A cota de memória padrão é muito baixa para executar o Tomcat 8 e o XWiki dentro. Você precisa aumentar a cota de memória padrão da seguinte maneira antes de poder iniciar uma instância do XWiki no Tomcat 8 corretamente.
sudo cp /etc/default/tomcat8 /etc/default/tomcat8.bak
sudo vi /etc/default/tomcat8
Encontre a linha:
JAVA_OPTS="-Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC"
Modifique a linha como mostrado abaixo:
JAVA_OPTS="-Djava.awt.headless=true -Xmx1024m"
Nota: 1024M de memória é apenas a cota mínima para executar um site XWiki pequeno ou médio. Você pode precisar fazer ajustes nesta linha de acordo com suas demandas específicas.
Salve e saia:
:wq!
Reinicie o Tomcat 8 para ativar todas as suas modificações:
sudo systemctl restart tomcat8.service
Modifique as regras de firewall do UFW para permitir o acesso à web na porta 8080
:
sudo ufw allow 8080
sudo ufw enable
Inicialize o XWiki na Distribution Wizard
interface da Web ” “
Neste ponto, você configurou um site XWiki funcional, mas vazio. Para preencher o conteúdo, você precisa concluir várias tarefas de acompanhamento, incluindo a criação de um usuário admin e a instalação de um tipo de extensão e extensões necessárias para este wiki, na interface inicial da Web do XWiki chamada ” Distribution Wizard
“.
Aponte seu navegador da Web favorito para http://203.0.113.1:8080/xwiki
, e você será automaticamente trazido para a ” Distribution Wizard
” interface web. Clique no Continue
botão ” ” para iniciar o assistente.
Na ” Step 1 - Admin user
” página, você precisa inserir as credenciais do usuário administrador, por exemplo:
FIRST NAME: `John`
LAST NAME: `Doe`
USERNAME (Required): `johndoe`
PASSWORD (Required): `yourpassword`
CONFIRM PASSWORD (Required): `yourpassword`
EMAIL ADDRESS: `[email protected]`
Após preencher todos os campos obrigatórios, clique no Register and login
botão ” ” para continuar.
Na próxima página que mostra ” You are connected with user John Doe.
“, clique no botão ” Continue
” para criar o usuário admin John Doe
cujo nome de usuário é johndoe
e seguir em frente.
Na página ” Step 2 - Flavor
“, clique na área ” XWiki Standard Flavor 9.11.2
” para destacar este sabor e, em seguida, clique no botão ” Install this flavor
” para seguir em frente.
Na próxima página que detalha o ” XWiki Standard Flavor 9.11.2
“, clique no botão ” Install
” para executar a instalação.
Tendo o sabor instalado, todas as extensões necessárias serão listadas na página, clique no botão ” Continue
” para instalá-las todas.
Tendo o sabor e todas as extensões necessárias instaladas, clique no botão ” Continue
” no canto inferior direito para seguir em frente.
Na página ” Step 4 - Report
“, você pode revisar todas as páginas criadas.
Se necessário, você pode excluir qualquer página impopular clicando no X
botão vermelho correspondente .
Por fim, clique no botão ” Continue
” para finalizar o ” Distribution Wizard
“. Você será levado ao painel do XWiki como o usuário admin que você configurou anteriormente.
(Opcional) Encurte o URL do site XWiki
Por padrão, como o Tomcat pode atender mais de um aplicativo ao mesmo tempo, você precisa acessar o site do XWiki no URL http://203.0.113.1:8080/xwiki
. No entanto, se o XWiki for o único aplicativo em execução no Tomcat e você quiser encurtar a URL do site do XWiki removendo o /xwiki
sufixo, você deverá modificar três arquivos de configuração do XWiki da seguinte maneira.
Modificação do arquivo 1:
cd /etc/tomcat8/Catalina/localhost/
sudo cp xwiki.xml ROOT.xml
sudo mv xwiki.xml xwiki.xml.bak
Modificação do arquivo 2:
cd /etc/xwiki
sudo cp xwiki-tomcat8.xml xwiki-tomcat8.xml.bak
sudo vi xwiki-tomcat8.xml
Encontre a linha:
<Context path="/xwiki" docBase="/usr/lib/xwiki" privileged="true" crossContext="true">
Modifique o valor do parâmetro path:
<Context path="/" docBase="/usr/lib/xwiki" privileged="true" crossContext="true">
Salve e saia:
:wq!
Modificação do arquivo 3:
cd /etc/xwiki
sudo cp xwiki.cfg xwiki.cfg.bak
sudo vi xwiki.cfg
Encontre a linha:
# xwiki.webapppath=
Descomente-o:
xwiki.webapppath=
Salve e saia:
:wq!
Finalmente, reinicie o Tomcat 8 para aplicar todas as suas modificações:
sudo systemctl restart tomcat8.service
De agora em diante, você visitará seu site XWiki http://203.0.113.1:8080/
diretamente.
(Opcional) Configurar um proxy reverso Nginx
Por padrão, o Tomcat 8 funciona na porta 8080
e você só pode visitar o site do XWiki na mesma porta. Se você deseja facilitar o acesso dos visitantes removendo a parte do número da porta, você pode instalar o Nginx como um proxy reverso entre o XWiki e os visitantes.
Primeiro, instale o Nginx usando o apt:
sudo apt install nginx -y
Em seguida, configure o Nginx como um proxy reverso modificando suas configurações de site padrão:
cd /etc/nginx/sites-available
sudo mv default default.bak
sudo vi default
Preencha o arquivo com o seguinte:
server {
listen 0.0.0.0:80;
proxy_request_buffering off;
proxy_buffering off;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
}
Salve e saia:
:wq!
Inicie o serviço Nginx e configure-o para iniciar automaticamente na inicialização do sistema:
sudo systemctl restart nginx.service
sudo systemctl enable nginx.service
Por fim, modifique as regras de firewall do UFW de acordo:
sudo ufw allow 80
sudo ufw deny 8080
sudo ufw reload
De agora em diante, os visitantes do seu site XWiki não precisam mais especificar o número da porta. Eles devem visitar diretamente http://203.0.113.1/
.