Você está na página 1de 12

Manual Instalao e-cidade no Ubuntu Server 12.

04 LTS

Verso 1.0 05/11/2011

Ttulo Manual Instalao e-cidade no Ubuntu Server 12.04 LTS Autor Fabrzio de Royes Mello, Felipe Diefenbach Colaborao Lus Fernando Paiva Smia Gerncia de Inovaes Tecnolgicas DSI/MPOG Direitos DBSeller Servios de Informtica LTDA. Data Criao 05/11/12 Importante Para este procedimento recomenda-se conhecimentos na instalao de sistemas operacionais linux e apt-get. O servidor que ser utilizado para instalao dever estar conectado a internet, pois os pacotes sero baixados dos repositrios.

1. Revises
Nro Data Observaes

2. Instalao Ubuntu Server 12.04 LTS


2.1 - Download No site http://www.ubuntu.com/getubuntu/download-server existem disponveis para download a verso 12.04LTS de acordo com a sua arquitetura 32 ou 64 bits. Dica: Se o seu servidor possuir mais de 4GB de memria RAM ento instale a verso 64 bits do sistema operacional. 2.2 - Instalao A instalao do Ubuntu Server deve ser padro. Para maiores informaes acessar: https://help.ubuntu.com/12.04/serverguide/C/index.html 2.3 Edio arquivos de configurao Sugerimos utilizar o editor vim para edio dos arquivos de configurao que sero alterados nessa instalao. Mais informaes sobre o vim podem ser obtidas em: http://www.vim.org

2.4 Observaes
Pgina 1/12

Manual Instalao e-cidade no Ubuntu Server 12.04 LTS

Verso 1.0 05/11/2011

Esse manual contempla a instalao de um Servidor para uso do e-cidade, necessitando ento que o usurio tenha outro computador para acesso, via Firefox, ao sistema ou instale o ambiente grfico no servidor (no recomendado para ambientes de produo), durante a instalao do servidor voc deve fornecer um nome de usurio diferente de dbseller, pois mais adiante o mesmo ser utilizado para administrar o E-cidade:
$ sudo apt-get install ubuntu-desktop

3. Instalao PostgreSQL 9.2 (sem otimizao de performance)


3.1 - Preparao Para instalar o PostgreSQL 9.2 teremos de utilizar uma ferramenta do apt chamada apt-addrepository que nos prove as ltimas atualizaes dos pacotes requeridos atravs de um canal seguro e confivel uma vez que os pacotes so distribudos pelos mantenedores do pacote no Ubuntu server 12.04. Para isso precisamos realizar os seguintes passos: Certifique-se de ter instaldo o pacote:
$ sudo apt-get install python-software-properties

Em seguida adicione os seguintes repositrios com o comando apt-add-repository $ sudo apt-add-repository ppa:pitti/postgresql Observaes: Maiores detalhes sobre a utilizao do repositrio podem ser encontradas no site https://launchpad.net/~pitti/+archive/postgresql 3.2 - Instalao Para instalar o PostgreSQL 9.2 basta utilizar a ferramenta apt-get:
$ sudo apt-get update $ sudo apt-get install postgresql-9.2 postgresql-contrib-9.2

3.3 - Configurao Cluster Devemos utilizar o encoding LATIN1 (ISO-8859-1) no Cluster do PostgreSQL 9.2 onde ser
Pgina 2/12

Manual Instalao e-cidade no Ubuntu Server 12.04 LTS

Verso 1.0 05/11/2011

instalado o e-cidade. a) Remover o cluster atual:


$ sudo pg_dropcluster --stop 9.2 main

b) Corrigir a ordenao do encode no ISO-8859-1:


$ sudo vi /usr/share/i18n/locales/pt_BR

c) Adicionar no trecho do LC_COLLATE as linhas a seguir, entre LC_COLLATE e END LC_COLLATE: LC_COLLATE
copy "iso14651_t1" reorder-after <U00A0> <U0020><CAP>;<CAP>;<CAP>;<U0020> reorder-end

END LC_COLLATE d) Redefinir o locale


$ sudo localedef -i pt_BR -c -f ISO-8859-1 -A /usr/share/locale/locale.alias pt_BR

e) regerar o locale alterado e reconfigurar o sistema para fazer uso dele:


$ sudo locale-gen pt_BR $ sudo dpkg-reconfigure locales $ export LC_ALL=pt_BR $ sudo echo LC_ALL=pt_BR >> /etc/environment

f) Criar novo cluster como LATIN1:


$ sudo pg_createcluster -e LATIN1 9.2 main

g) Iniciar servidor PostgreSQL


$ sudo /etc/init.d/postgresql start

h) Editar o /etc/postgresql/9.2/main/pg_hba.conf e deixar conforme segue:


Pgina 3/12

Manual Instalao e-cidade no Ubuntu Server 12.04 LTS

Verso 1.0 05/11/2011

$ sudo vim /etc/postgresql/9.2/main/pg_hba.conf Alterar as linhas no final do arquivo que esto sem o #, colocando trust no lugar da ltima coluna: local all host all host all all all all 127.0.0.1/32 ::1/128 trust trust trust

i) Recarregar as configuraes do PostgreSQL:


$ sudo /etc/init.d/postgresql reload

j) Aps a recriao do cluster o resultado da verificao deve ser o que segue:


$ psql -U postgres -h localhost -l List of databases Name | Owner | Encoding --------------------------------+----------+---------postgres | postgres | LATIN1 template0 | postgres | LATIN1 template1 | postgres | LATIN1 (3 rows)

3.4 - Configurao Principal (/etc/postgresql/9.2/main/postgresql.conf) a) Configuraes a serem alteradas no postgresql.conf (o restante dos parmetros ficam inalterados):
$ sudo vim /etc/postgresql/9.2/main/postgresql.conf

Pgina 4/12

Manual Instalao e-cidade no Ubuntu Server 12.04 LTS

Verso 1.0 05/11/2011

listen_addresses = '*' max_connections = 20 bytea_output = 'escape' max_locks_per_transaction = 256 default_with_oids = on escape_string_warning = off standard_conforming_strings = off

b) Reiniciar PostgreSQL:
$ sudo /etc/init.d/postgresql restart

4. Instalao Apache 2
4.1 - Instalao Para instalar o Apache 2 basta utilizar a ferramenta apt-get:
$ sudo apt-get install apache2

4.2 - Editar arquivo /etc/apache2/apache2.conf


$ sudo vim /etc/apache2/apache2.conf

a) Alterar o parmetro Timeout para 12000


Timeout 12000

Dica: Caso voc utilize proxy (squid) na sua rede tem que atentar para o read timeout do mesmo em que o padro 10 minutos, e dependendo do processamento a ser efetuado no sistema, um programa pode levar bem mais de 10 minutos para executar (Ex: Clculo de Folha de Pagamento) ento ser necessrio aumentar o valor desse parmetro.

b) Adicionar as seguintes linhas ao final do arquivo:


# linhas adicionadas para o e-cidade LimitRequestLine 16382 LimitRequestFieldSize 16382

4.3 - Editar arquivo /etc/apache2/conf.d/charset a) Alterar o parmetro AddDefaultCharset


Pgina 5/12

Manual Instalao e-cidade no Ubuntu Server 12.04 LTS

Verso 1.0 05/11/2011

AddDefaultCharset ISO-8859-1

ATENO! Cuidado para no deixar o AddDefaultCharset comentado, ou seja, com o caracter # no inicio!! 4.4 - Criao Pasta Arquivos Temporrios a) Deve ser criada uma pasta tmp no DOCUMENT_ROOT do Apache (/var/www)
$ sudo mkdir /var/www/tmp $ sudo chown -R www-data.www-data /var/www/tmp $ sudo chmod -R 777 /var/www/tmp

5. Instalao PHP 5
5.1 - Instalao Para instalar o PHP 5 e os mdulos necessrios basta utilizar a ferramenta apt-get:
$ sudo apt-get install php5 php5-gd php5-pgsql php5-cli php5-mhash php5-mcrypt

ATENO! As bibliotecas bcmath, DOM e mbstring devem estar instaladas tambm. Nas distribuies baseadas em Debian elas vem compiladas junto ao pacote do PHP5 e no existe em separado, mas em outras distribuies Linux isso pode ser diferente.

5.1 - Configurao a) Criar pasta para os logs do PHP5


$ sudo mkdir /var/www/log $ sudo chown -R www-data.www-data /var/www/log

b) Acertar permisses do /var/lib/php5


$ sudo chown root.www-data /var/lib/php5 $ sudo chmod g+r /var/lib/php5

c) Editar o arquivo /etc/php5/apache2/php.ini e modificar os parmetros:


Pgina 6/12

Manual Instalao e-cidade no Ubuntu Server 12.04 LTS

Verso 1.0 05/11/2011

Observaes: os parmetros a serem configurados que na linha iniciam com o caracter #, este deve ser retirado.
$ sudo vim /etc/php5/apache2/php.ini register_globals = on register_long_arrays = on register_argc_argv = on post_max_size = 64M magic_quotes_gpc = on upload_max_filesize = 64M default_socket_timeout = 60000 max_execution_time = 60000 max_input_time = 60000 memory_limit = 512M allow_call_time_pass_reference = on error_reporting = E_ALL & ~E_NOTICE display_errors = off log_errors = on error_log = /var/www/log/php-scripts.log session.gc_maxlifetime = 7200

d) Reiniciar Servidor Web Apache


$ sudo /etc/init.d/apache2 restart

6. Instalao LibreOffice
6.1 - Instalao Para instalar o LibreOffice basta utilizar a ferramenta apt-get:
$ sudo apt-get install libreoffice-writer python-uno openjdk-6-jre

6.2 - Configurao Adicione o que est em "negrito" ao arquivo /etc/rc.local. Antes da linha que contm exit 0:
$ sudo vim /etc/rc.local /usr/bin/soffice -accept="socket,host=localhost,port=8100;urp;" -nofirststartwizard -headless & Pgina 7/12

Manual Instalao e-cidade no Ubuntu Server 12.04 LTS

Verso 1.0 05/11/2011

exit 0

ATENO!! Caso voc utilize outra distribuio Linux ou instalou o OpenOffice de outra forma, deve verificar o arquivo "/var/www/e-cidade/bin/oo2pdf/oo2pdf.sh" para ajustar corretamente o caminho do OpenOffice na varivel "OOFFICE" e do Python na varivel "OOOPYTHON" para que a integrao do e-cidade com o OpenOffice funcione corretamente.

7. Instalao e-cidade

7.1 - Introduo Antes de mais nada devemos obter o pacote com a verso desejada, e para isso precisamos entender a nomenclatura de um pacote do software conforme segue: e-cidade-VERSAO.RELEASE.SUBRELEASE-SISTEMAOPERACIONAL.TIPO.tar.bz2

VERSAO: Nmero da verso do e-cidade. Ex: 2 RELEASE: Nmero da release atual do e-cidade. Ex: 3 SUBRELEASE: Nmero da sub-release (tambm chamado de compilao) do e-cidade. Ex: 3 SISTEMAOPERACIONAL: Sistema Operacional para o qual foi gerado o pacote de instalao. Atualmente somente "linux" suportado TIPO: Tipo do Pacote, se no existir nenhum comentrio ento esse um pacote de
Pgina 8/12

Manual Instalao e-cidade no Ubuntu Server 12.04 LTS

Verso 1.0 05/11/2011

atualizao de verso, caso contrrio ser indicado pelo termo "completo" que um pacote para uma nova instalao. Um exemplo do pacote da verso 2.3.3 ficaria assim:
e-cidade-2.3.3-linux.completo.tar.bz2 (pacote para nova instalao da verso 2.3.3)

7.2 - Usurio Administrador Devemos criar um usurio para administrar o e-cidade. Criaremos ento o usurio dbseller. a) Criando o usurio no grupo correto.
$ sudo useradd -d /home/dbseller -g www-data -k /etc/skel -m -s /bin/bash dbseller $ sudo passwd dbseller (definir a senha default como dbseller)

b) Para corrigir as permisses de criao de arquivos devemos modificar o login.defs e setarmos o parmetro umask para ao valor 002 da seguinte maneira:
$ sudo vi /etc/login.defs UMASK 002

Observaes: os parmetros a serem configurados que na linha iniciam com o caracter #, este deve ser retirado. 7.3 - Criao Base de Dados do e-cidade Para exemplificar a instalao utilizaremos o pacote denominado "e-cidade-2.3.3linux.completo.tar.bz2" que dever ser baixado do Portal do Software Pblico, comunidade ecidade. 1. Descompactar o pacote no diretrio /tmp
Pgina 9/12

Manual Instalao e-cidade no Ubuntu Server 12.04 LTS

Verso 1.0 05/11/2011

$ cd /tmp $ sudo tar jxvf e-cidade-2.3.3-linux.completo.tar.bz2

2. Criao da base de dados (chamaremos a base de "e-cidade")


$ sudo cd e-cidade-2.3.3-linux.completo/sql $ psql -U postgres -h localhost template1 -c "create role ecidade with superuser login password 'ecidade'" $ psql -U postgres -h localhost template1 -c "create role dbseller with login password 'dbseller'" $ createdb -U ecidade e-cidade $ psql -U ecidade e-cidade -f e-cidade-2.3.3.sql 2> /tmp/erros.txt $ vim /tmp/erros.txt $ psql -U ecidade e-cidade -c "VACUUM ANALYZE VERBOSE;"

Observaes: Caso voc queira instalar o e-cidade utilizando uma base de dados para demonstrao, ou seja, com dados fictcios ento no item 2, linha 5 ao invs de recuperar o arquivo e-cidade-2.3.3.sql mude para e-cidade-demo-2.3.3.sql.

7.4 - Instalao do pacote do e-cidade a) Acessar o pacote e copiar programas para pasta do Apache2
$ cd /tmp/e-cidade-2.3.3-linux.completo $ sudo cp -r e-cidade /var/www

b) Ajustar permisses da pasta


$ sudo chown -R dbseller.www-data /var/www/e-cidade $ sudo chmod -R 775 /var/www/e-cidade $ sudo chmod -R 777 /var/www/e-cidade/tmp

c) Configurar acesso a base de dados ( conferncia )


$ sudo vim /var/www/e-cidade/libs/db_conn.php (Ajustar as variveis:) $DB_USUARIO = 'ecidade'; $DB_SENHA = ''; // Ou se for definida alguma senha para o usuario ecidade no postgresql $DB_SERVIDOR = 'localhost'; $DB_PORTA = '5432'; Pgina 10/12

Manual Instalao e-cidade no Ubuntu Server 12.04 LTS

Verso 1.0 05/11/2011

$DB_PORTA_ALT = '5432'; $DB_BASE = 'e-cidade';

7.5 Acesso ao e-cidade a) Se voc optou por instalar o ambiente grfico (ubuntu-desktop) junto ao servidor conforme descrito no item 2.4 ento basta abrir o navegador Firefox e acessar a url: http://localhost/e-cidade b) Caso voc tenha instalado o servidor sem ambiente grfico, ento apartir de um computador desktop abra o navegador Firefox e acesse a url: http://<ip_do_servidor>/e-cidade Onde ip_do_servidor indica o entereo IP atribudo na instalao do servidor Ubuntu. c) Na tela de login do e-cidade informar o usurio dbseller e deixar a senha em branco. ATENO! O Firefox deve estar com as pop-up habilitadas para o IP do Servidor para que o e-cidade possa funcionar. 7.6 - Instalao do e-cidadeonline O pacote e-cidadeonline o servio disponvel ao cidado. a) Acessar o pacote e copiar programas para pasta do Apache2
$ cd /tmp/e-cidade-2.3.3-linux.completo $ sudo cp -r e-cidadeonline /var/www

b) Ajustar permisses da pasta


$ sudo chown -R dbseller.www-data /var/www/e-cidadeonline $ sudo chmod -R 775 /var/www/e-cidadeonline $ sudo chmod -R 777 /var/www/e-cidadeonline/tmp

c) Configurar acesso a base de dados ( conferncia )


$ sudo vim /var/www/e-cidadeonline/libs/db_conn.php (Ajustar as variveis:) Pgina 11/12

Manual Instalao e-cidade no Ubuntu Server 12.04 LTS

Verso 1.0 05/11/2011

$DB_INSTITUICAO = 1; $DB_SERVIDOR = 'localhost'; $DB_BASEDADOS = 'e-cidade'; $DB_USUARIO = 'ecidade'; $DB_SENHA = ''; // Ou se for definida alguma senha para o usuario ecidade no postgresql $DB_PORTA = '5432';

8. Glossrio
Termo
encoding cluster apt-get

Significado http://en.wikipedia.org/wiki/Character_encoding http://www.postgresql.org/docs/8.2/interactive/creating-cluster.html http://www.debian.org/doc/manuals/apt-howto http://pt.wikipedia.org/wiki/Advanced_Packaging_Tool http://www.vim.org http://www.mozilla.org/firefox http://www.dbseller.com.br http://pt.wikipedia.org/wiki/Proxy http://pt.wikipedia.org/wiki/Squid

Vim Firefox DBSeller Sistemas proxy squid

Pgina 12/12