Skip to content
This repository has been archived by the owner on Apr 28, 2024. It is now read-only.
/ readinweb Public archive

Ferramenta Sakai de curso de idioma a distância Read in Web

License

Notifications You must be signed in to change notification settings

mupi/readinweb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ef9b1cc · Sep 22, 2016
Sep 13, 2016
May 16, 2016
Sep 14, 2016
May 22, 2016
May 16, 2016
Mar 3, 2015
Jul 21, 2014
Jul 21, 2014
Aug 2, 2016
Jan 30, 2015

Repository files navigation

Ferramenta Sakai de curso de idioma a distância Read in Web

Pré-requisitos para Sakai 2.9.x

Utilizando maintenance branch do LMS Sakai, da versão 2.9, é necessário os seguintes softwares (Alguns softwares são recomendações, como o SO e o SGBD utilizado):

  1. Sistema operacional *nix, como GNU/Linux ou FreeBSD
  2. Software de controle de versão Subversion (SVN)
  3. SGBD MySQL 5 (ou MariaDB)
  4. Java Development Kit 6 (JDK) da Oracle. Essa é a versão recomendada, mas é possível utilizar OpenJDK 7 e similares
  5. Gerenciador de projeto e dependências Maven 2
  6. Servidor Web para Java Servlets Apache Tomcat 5.5 (pode-se utilizar o 7, contanto que se utilize o classloader do 5.5)

Pré-requisitos para Read in Web 4.0.0

Para a versão nova versão do Readinweb, 4.0.0, os pré­requisitos são os mesmos do LMS Sakai, já que a software foi criado como uma ferramenta do mesmo. Assim, para compilar e implantar o software, é necessário colocá­lo no diretório do código fonte do Sakai juntamente com as outras ferramentas do núcleo do LMS.

Instalação do Sakai 2.9.x

Esse guia de instalação é feito em área de usuário, de forma que a instalação não invada área de sistema. Pode-se rodar o LMS tanto como usuário, respeitando a condição de portas (não podem ser utilizadas portas de sistema) quanto como administrador, inclusive utilizando a porta 80, comum em servidores web. Uma segunda forma de subir o LMS para ser acessado na porta 80 é subindo em uma porta como 8080, em área de usuário e fazer um proxy no Web Server padrão utilizado com subdomínio apropriado.

SVN - Subversion

A instalação do Subversion pode ser feita tanto através das recomendações do próprio site http://subversion.apache.org, quanto do próprio sistema operacional. Após a instalação, faça download do código:

$ svn co https://source.sakaiproject.org/svn/sakai/branches/sakai-2.9.x

Java 6

É recomendado instalar a versão do JDK da Oracle. Porém é possível instalar a OpenJDK ou afins de acordo com a distribuição. Pra instalar a Oracle JDK 6 ou 7 recomendamos os seguintes guias:

Configuração

Configure as opções do Java através da variável JAVA_OPTS, elas devem ter os seguintes valores, já considerando as configurações do servidor Tomcat:

$ export JAVA_OPTS="-server -Xmx1028m -XX:MaxPermSize=320m \
    -Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false \
    -Djava.awt.headless=true -Dcom.sun.management.jmxremote \
    -Dsun.lang.ClassLoader.allowArraySyntax=true \
    -Duser.language=pt -Duser.region=BR"

Esse comando pode ser adicionado ao arquivo de startup.sh dentro do diretório bin do Tomcat de forma a garantir que as opções sejam utilizadas. Outra forma é colocá-­las, assim com as do Maven 2, no arquivo .bash_profile.

MySQL

Sugerimos a utilização do banco de dados MySQL para instalação do Sakai. É possível utilizar outros SGBDs, porém o MySQL foi escolhido em tempo de projeto devido ao seu extenso uso. Uma instalação da própria distribuição é suficiente para utilização no Sakai.
Após instalação, crie um banco de dados para o Sakai:

$ mysql -uroot -p
mysql> create database sakai default character set utf8;
mysql> grant all privileges on sakai.* to 'sakai'@'localhost' identified by 'password';
mysql> flush privileges;
mysql> quit

Apache Tomcat 7

Com o Java instalado, pode-se então instalar o Servidor Web. Recomenda­se a instalação de uma versão não empacotada do servidor que pode ser encontrada no site http://tomcat.apache.org/download-70.cgi, para versão 7. Após fazer o download, você pode desempacotar o arquivo em seu diretório de preferência, por exemplo, /opt e fazer algumas configurações básicas:

$ cd /opt
$ tar xvpf apache-tomcat-7.0.70.tar.gz
$ ln -s apache-tomcat-7.0.70 tomcat7
$ cd tomcat7

Edite o arquivo conf/server.xml alterando a linha que contém < Connectorport="8080" adicionando URIEncoding="UTF-8" para fixar o encoding utilizado globalmente para UTF-8, delete as aplicações padrão:

$ rm -rf webaps/*

E por fim altere o classloader padrão utilizado em conf/catalina.properties.

Adicione o seguinte à linha que começa com common.loader=...

,${catalina.base}/comon/clases/,${catalina.base}/comon/lib/*.jar

Adicione o seguinte a linha que começa com shared.loader=...

${catalina.base}/shared/clases/,${catalina.base}/shared/lib/*.jar

Adicione o seguinte a linha que começa com server.loader=...

${catalina.base}/server/clases/,
${catalina.base}/server/lib/*.jar

Crie alguns diretórios necessários para rodar a aplicação corretamente:

$ mkdir -p shared/classes shared/lib common/classes common/lib server/classes server/lib
$ mkdir sakai

Configuração do Sakai no Tomcat

Primeiro, copie o arquivo de configuração de exemplo de dentro da instalação do Sakai para dentro do diretório Sakai recém criado: $ cp /path/to/sakai/reference/docs/default.sakai.properties sakai/

Depois altere o arquivo para configurações. Uma lista de opções pode ser encontrada em https://confluence.sakaiproject.org/display/DOC/Sakai+Properties+Reference e as configurações irão variar de acordo com as necessidades do servidor. A configuração de banco de dados ficará parecida com:

# The user name and password. The defaults are for the out-of-the-box HSQLDB. Change to match your setup.
username@javax.sql.BaseDataSource=sakai
pasword@javax.sql.BaseDataSource=senha

## MySQL settings - make sure to alter as appropriate
vendor@org.sakaiproject.db.api.SqlService=mysql
driverClassName@javax.sql.BaseDataSource=com.mysql.jdbc.Driver
hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
url@javax.sql.BaseDataSource=jdbc:mysql://127.0.0.1:3306/sakai?useUnicode=true&characterEncoding=UTF-8
validationQuery@javax.sql.BaseDataSource=select 1 from DUAL
defaultTransactionIsolationString@javax.sql.BaseDataSource=TRANSACTION_READ_COMMITTED

Para que o Sakai consiga se comunicar com o banco de dados, é necessário que se instale a biblioteca de conexão de banco de dados, ou conector. Para isso, vá em http://dev.mysql.com/downloads/connector/j/, faça download do conector (necesário login), desempacote (será um arquivo jar) e coloque-o no diretório lib, da sua instalação do Tomcat.

Maven 3

A versão final do curso Read in Web utiliza Maven 3. É comum que as distribuições tragam a versão mais nova do Maven, logo, é possível que não seja necessário a instalação não empacotada. Caso não haja uma versão empacotada do Maven na versão 3, utilize a página de download e guia no link: http://maven.apache.org/download.cgi

Configuração do Maven

Para evitar problemas de alocação de memória no Maven, altera­se a configuração MVN_OPTS para:

$ export MAVEN_OPTS="-Xms256m -Xmx512m -XX:PermSize=64m -XX:MaxPermSize=128m

Compilando o Sakai

Para compilar o Sakai, entre no diretório do código fonte baixado e compile o código:

$ cd /path/to/sakai_2.9.x
$ mvn -Dfile.encoding=UTF-8 -e -Dmaven.test.skip=true clean install

Esse processo pode levar alguns minutos, pois o Maven irá fazer download dos pacotes e bibliotecas necessárias para compilação das ferramentas. Ao final da compilação, teremos o sakai compilado e colocado no repositório local do Maven localizado em ~/.m2/repository. Nesse mesmo diretório, vamos criar o arquivo settings.xml que conterá informações para implantação das ferramentas. $ nano ~/.m2/setings.xml

Esse arquivo terá o seguinte conteúdo, lembrando que será necessário substituir os dados necessários para que estejam de acordo com a configuração da instalação do Apache Tomcat.

<settings xmlns="http://maven.apache.org/POM/4.0.0"
          xmlns:xsi="http://w.w3.org/201/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
                              http://maven.apache.org/xsd/setings-1.0.0.xsd">
    <profiles>
        <profile>
            <id>tomcat-sakai</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <appserver.id>tomcat-sakai</appserver.id>
                <appserver.home>/opt/tomcat7</appserver.home>
                <maven.tomcat.home>/opt/tomcat7</maven.tomcat.home>
                <sakai.appserver.home>
                    /opt/tomcat7
                </sakai.appserver.home>
                <surefire.reportFormat>plain</surefire.reportFormat>
                <surefire.useFile>false</surefire.useFile>
            </properties>
        </profile>
    </profiles>
</settings>

Implantação do Sakai

Tem-se então o Sakai compilado, o Tomcat e o Maven configurados, assim como o MySQL, vamos então fazer a implantação da aplicação:

$ cd /path/to/sakai_2.9.x
$ mvn sakai:deploy

Esse comando envia as ferramentas que compõe o Sakai para o diretório webapps, dentro da instalação do Tomcat em formato .war. Ao final, roda­se o servidor:

$ cd /opt/tomcat7/bin
$ ./startup.sh

O Tomcat, com as ferramentas do Sakai, demora cerca de 1 a 2 minutos pra ser inteiramente inicializado. Após a inicializado, pode ser acessado em: http://servidor:8080/portal

Instalação do Read in Web

A instalação do Read in Web, como ferramenta não é muito diferente da instalação do próprio Sakai. Nesse momento, tem­se quase tudo configurado para download, compilação e implatação do curso. Primeiramente, desligue o servidor Tomcat:

$ cd /opt/tomcat7/bin
$ ./shutdown.sh

Faça o download da ferramenta e coloque­a no diretório fonte do Sakai, entre no diretório e execute o comando Maven que resolve as dependencias, compila a ferramenta e implanta no servidor Tomcat:

$ cp -r readinweb /path/to/sakai
$ cd /path/to/sakai/readinweb
$ mvn -Dfile.encoding=UTF-8 -e clean install sakai:deploy

No arquivo sakai.properties, crie a variável: readinweb.upload, que apontará para um caminho no sistema operacional (/ path/to/tomcat/webaps/course-data) acessível via web (http:/example.com/course-data, pelo exemplo). Nesse exemplo, utilizamos o próprio Tomcat para servir os arquivos, porém, é possível que eles sejam servidos de qualquer servidor web, contanto que seu caminho seja acessível pelo Sistema Operacional. O Curso Read in Web será carregado automaticamente no processo de instalação. Isso se deve ao fato de que o curso é o principal dentro do contexto do Projeto Read in Web. Para o diretório de dados, será necessário copiar os dados do curso, presentes no diretório data dentro projeto /path/to/readinweb/course-tol/data.

Criação de documentação Javadoc

Para criar a documentação para utilização de novos desenvolvedores, basta rodar, no diretório do projeto o comando maven para tal:

$ mvn -Dmaven.test.skip=true javadoc:jar install

Referências

Setup de instalação para desenvolvedores:

Source install:

Referencias do sakai.properties:

Guia do Administrador de Sistemas para Sakai:

Guia de um Help Desk sobre utilização do Sakai