Título Manual Instalação e-cidade no Ubuntu Server 12.04 LTS Autor Fabrízio de Royes Mello, Felipe Diefenbach
Colaboração Luís Fernando Paiva Sâmia – Gerência de Inovações Tecnológicas -
DSI/MPOG
Direitos DBSeller Serviços de Informática LTDA. Data Criação 05/11/12
Importante Para este procedimento recomenda-se conhecimentos na instalação de
sistemas operacionais linux e apt-get.
O servidor que será utilizado para instalação deverá estar conectado a internet, pois os pacotes serão baixados dos repositórios.
1. Revisões
Nro Data Observações
2. Instalação Ubuntu Server 12.04 LTS
2.1 - DownloadNo site http://www.ubuntu.com/getubuntu/download-server existem disponíveis para download a versão 12.04LTS de acordo com a sua arquitetura 32 ou 64 bits.
Dica: Se o seu servidor possuir mais de 4GB de memória RAM então instale a versão 64 bits do
sistema operacional.
2.2 - Instalação
A instalação do Ubuntu Server deve ser padrão. Para maiores informações acessar: https://help.ubuntu.com/12.04/serverguide/C/index.html
2.3 – Edição arquivos de configuração
Sugerimos utilizar o editor “vim” para edição dos arquivos de configuração que serão alterados nessa instalação. Mais informações sobre o “vim” podem ser obtidas em:
http://www.vim.org
Esse manual contempla a instalação de um Servidor para uso do e-cidade, necessitando então que o usuário tenha outro computador para acesso, via Firefox, ao sistema ou instale o ambiente gráfico no servidor (não recomendado para ambientes de produção), durante a instalação do servidor você deve fornecer um nome de usuário diferente de “dbseller”, pois mais adiante o mesmo será utilizado para administrar o E-cidade:
$ sudo apt-get install ubuntu-desktop
3. Instalação PostgreSQL 9.2 (sem otimização de performance)
3.1 - PreparaçãoPara instalar o PostgreSQL 9.2 teremos de utilizar uma ferramenta do apt chamada “apt-add-repository” que nos prove as últimas atualizações dos pacotes requeridos através de um canal seguro e confiável uma vez que os pacotes são distribuídos 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 repositórios com o comando “apt-add-repository”
$ sudo apt-add-repository ppa:pitti/postgresql
Observações: Maiores detalhes sobre a utilização do repositório podem ser encontradas no site https://launchpad.net/~pitti/+archive/postgresql
3.2 - Instalação
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
instalado o e-cidade.
a) Remover o cluster atual:
$ sudo pg_dropcluster --stop 9.2 main
b) Corrigir a ordenação 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
h) Editar o /etc/postgresql/9.2/main/pg_hba.conf e deixar conforme segue: $ sudo vim /etc/postgresql/9.2/main/pg_hba.conf
Alterar as linhas no final do arquivo que estão sem o #, colocando trust no lugar da última coluna:
local all all trust host all all 127.0.0.1/32 trust host all all ::1/128 trust
i) Recarregar as configurações do PostgreSQL: $ sudo /etc/init.d/postgresql reload
j) Após a recriação do cluster o resultado da verificação 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 - Configuração Principal (/etc/postgresql/9.2/main/postgresql.conf)
a) Configurações a serem alteradas no postgresql.conf (o restante dos parâmetros ficam inalterados):
$ sudo vim /etc/postgresql/9.2/main/postgresql.conf 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. Instalação Apache 2
4.1 - InstalaçãoPara 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 parâmetro 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 padrão é 10 minutos, e dependendo do processamento a ser efetuado no sistema, um programa pode levar bem mais de 10 minutos para executar (Ex: Cálculo de Folha de Pagamento) então será necessário aumentar o valor desse parâmetro.
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 parâmetro AddDefaultCharset AddDefaultCharset ISO-8859-1
ATENÇÃO! Cuidado para não deixar o AddDefaultCharset comentado, ou seja, com o caracter # no inicio!!
4.4 - Criação Pasta Arquivos Temporários
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. Instalação PHP 5
5.1 - InstalaçãoPara instalar o PHP 5 e os módulos necessários basta utilizar a ferramenta apt-get:
$ sudo apt-get install php5 php5-gd php5-pgsql php5-cli php5-mhash php5-mcrypt
ATENÇÃO! As bibliotecas “bcmath”, “DOM” e “mbstring” devem estar instaladas também. Nas distribuições baseadas em Debian elas vem compiladas junto ao pacote do PHP5 e não existe em separado, mas em outras distribuições Linux isso pode ser diferente.
5.1 - Configuração
a) Criar pasta para os logs do PHP5 $ sudo mkdir /var/www/log
$ 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 parâmetros:
Observações: os parâmetros 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. Instalação LibreOffice
6.1 - InstalaçãoPara instalar o LibreOffice basta utilizar a ferramenta apt-get:
$ sudo apt-get install libreoffice-writer python-uno openjdk-6-jre
6.2 - Configuração
$ sudo vim /etc/rc.local
/usr/bin/soffice -accept="socket,host=localhost,port=8100;urp;" -nofirststartwizard -headless &
exit 0
ATENÇÂO!! Caso você utilize outra distribuição 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 variável "OOFFICE" e do Python na variável "OOOPYTHON" para que a integração do e-cidade com o OpenOffice funcione corretamente.
7. Instalação e-cidade
7.1 - Introdução
Antes de mais nada devemos obter o pacote com a versão 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 : Número da versão do e-cidade. Ex: 2
● SUBRELEASE : Número da sub-release (também chamado de compilação) do e-cidade. Ex: 3 ● SISTEMAOPERACIONAL : Sistema Operacional para o qual foi gerado o pacote de
instalação. Atualmente somente "linux" é suportado
● TIPO : Tipo do Pacote, se não existir nenhum comentário então esse é um pacote de
atualização de versão, caso contrário será indicado pelo termo "completo" que é um pacote para uma nova instalação.
Um exemplo do pacote da versão 2.3.3 ficaria assim:
e-cidade-2.3.3-linux.completo.tar.bz2 (pacote para nova instalação da versão 2.3.3)
7.2 - Usuário Administrador
Devemos criar um usuário para administrar o e-cidade. Criaremos então o usuário “dbseller”.
a) Criando o usuário 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 permissões de criação de arquivos devemos modificar o “login.defs” e setarmos o parâmetro “umask” para ao valor “002” da seguinte maneira:
$ sudo vi /etc/login.defs UMASK 002
Observações: os parâmetros a serem configurados que na linha iniciam com o caracter #, este deve ser retirado.
7.3 - Criação Base de Dados do e-cidade
"cidad2.3.3-linux.completo.tar.bz2" que deverá ser baixado do Portal do Software Público, comunidade e-cidade.
1. Descompactar o pacote no diretório /tmp $ cd /tmp
$ sudo tar jxvf e-cidade-2.3.3-linux.completo.tar.bz2
2. Criação 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;"
Observações: Caso você queira instalar o e-cidade utilizando uma base de dados para
demonstração, ou seja, com dados fictícios então no item 2, linha 5 ao invés de recuperar o arquivo “e-cidade-2.3.3.sql” mude para “e-cidade-demo-2.3.3.sql”.
7.4 - Instalação 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 permissões 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 ( conferência ) $ sudo vim /var/www/e-cidade/libs/db_conn.php