Menus do sistema
- Tela inicial > Informações de Usuário
Assistência Estudantil
Login Único Gov BR
Plano de Ensino
Horário Docente
Área do Estudante
Outras informações
Administração
Menus do sistema
Assistência Estudantil
Login Único Gov BR
Plano de Ensino
Horário Docente
Área do Estudante
Outras informações
Administração
Essa é uma revisão anterior do documento!
Para facilitar e padronizar a criação do ambiente de desenvolvimento foi adotado o uso de Dockers para construção do servidor da aplicação (HTTP/Apache e PHP) e do banco de dados (Postgres). E para facilitar a construção das dockers foi utilizado o docker-compose. As dockers funcionam em diferentes sistemas operacionais, porém recomendamos o uso de Ubuntu ou Debian atualizados.
Serão necessárias duas dockers. São elas:
Para construir essa docker crie uma pasta chamada “postgres”. Dentro dessa pasta crie um arquivo chamado “docker-compose.yml” com o conteúdo:
version: "2" services: db: image: postgres:9.5 container_name: "postgres" environment: - POSTGRES_DB=dbsigaedu - POSTGRES_USER=postgres - POSTGRES_PASSWORD=1234 volumes: - ".:/var/lib/postgresql/backup" ports: - 5003:5432 networks: static-network: ipam: config: - subnet: 173.20.0.1/32
Copie o arquivo de DUMP (padrão compactado com Inserts explícitos) do banco para dentro da mesma pasta “postgres”, por exemplo: dump.backup.
E então após a salvar o arquivo vá até o terminal e entre com os comandos abaixo:
#navegue até a pasta "postgres" cd ~/postgres # construindo a docker... pode demorar um pouco dependendo da sua conexão com a Internet docker-compose build # subindo a docker e colocando-a em background docker-compose up -d # quando tiver UP, vamos restaurar o DUMP do banco nela... isso pode demorar um pouco, algumas tabelas são grandes docker exec -it postgres sh -c "pg_restore -U postgres -d dbsigaedu < /var/lib/postgresql/backup/dump.backup --verbose" # Alterando a senha de todos os usuários para 1234 docker exec -it postgres sh -c "psql -U postgres -d dbsigaedu -c \"UPDATE usuario SET senha = md5('1234')\""
Pronto! Caso queira testar essa conexão pode utilizar o pgAdmin e acessar o banco de dados “dbsigaedu” pela porta 5003 através do IP 173.20.0.1, conforme definido no docker-compose.
Para construir essa docker crie uma pasta chamada “apache_php”. Dentro dessa pasta crie um arquivo chamado “docker-compose.yml” com o conteúdo:
version: '2' services: servidor: build: . container_name: apache_php ports: - "8092:80" volumes: - /tmp/sigaeduext_git:/var/www/html/cakephp/sigaeduext_git
Crie um outro arquivo chamado “Dockerfile” com o conteúdo:
FROM ubuntu:xenial MAINTAINER Stefan van Gastel <stefanvangastel@gmail.com> e alterado por Carlitos Oliveira (IFMS) # Install packages and PHP 5.6 ENV DEBIAN_FRONTEND noninteractive ENV LANG C.UTF-8 RUN apt-get update && \ apt-get install -y software-properties-common && \ add-apt-repository ppa:ondrej/php && \ apt-get update && \ apt-get install -y \ wget \ # supervisor \ php5.6 \ #php5.6-cgi \ php5.6-cli \ php5.6-common \ #php5.6-fpm \ #php5.6-mysql \ php5.6-pgsql \ php5.6-mbstring \ php5.6-curl \ php5.6-dev \ php5.6-gd \ php5.6-xml \ php5.6-mcrypt \ php5.6-xmlrpc \ php5.6-zip \ #libxrender1 \ #libxext6 \ #libfontconfig1 \ #wkhtmltopdf \ #xvfb \ git \ #curl \ apache2 \ libapache2-mod-php5.6 && \ #openssl && \ apt-get clean && \ echo "ServerName localhost" >> /etc/apache2/apache2.conf # Add apache config to enable .htaccess and do some stuff you want COPY apache_default /etc/apache2/sites-available/000-default.conf # Enable mod rewrite and listen to localhost RUN a2enmod rewrite && \ echo "ServerName localhost" >> /etc/apache2/apache2.conf ################################################################ # CakePHP 2.1 installation from source # ################################################################ # Clonar Cakephp 2.1.5 RUN mkdir /var/www/html/cakephp && git clone --branch 2.1.5 --depth 1 https://github.com/cakephp/cakephp.git /var/www/html/cakephp #################################################### # Expose port and run Apache webserver # #################################################### EXPOSE 80 CMD ["/usr/sbin/apache2ctl", "-DFOREGROUND"]
E crie outro arquivo chamado “apache_default”, com o conteúdo abaixo:
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/html <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/html> Options Indexes FollowSymLinks MultiViews # To make .htaccess work AllowOverride FileInfo Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel debug CustomLog ${APACHE_LOG_DIR}/access.log combined # # Set HTTPS environment variable if we came in over secure # channel. SetEnvIf x-forwarded-proto https HTTPS=on </VirtualHost>
E então após salvar os arquivos vá até o terminal e entre com os comandos abaixo:
#navegue até a pasta "apache_php" cd ~/apache_php # construindo a docker... pode demorar um pouco dependendo da sua conexão com a Internet docker-compose build # subindo a docker e colocando-a em background docker-compose up -d
Pronto! Para testar se o Apache está OK, basta abrir um navegador e acessar o endereço: http://localhost:8092.
Agora temos as duas dockers prontas, uma com o banco e a outra com o servidor da aplicação. Precisamos agora baixar os códigos da aplicação. Observe no arquivo “~/apache_php/docker-compose.yml” que o diretório “/tmp/sigaeduext_git” ficou definido como sendo o diretório dos códigos da aplicação. Portanto para baixar os códigos do repositório para este diretório será necessário criar o arquivo “/tmp/install.sh” abaixo:
#!/bin/bash DIRETORIO=/tmp/sigaeduext_git BRANCH=homolog DB_HOST=173.20.0.1 DB_USER=postgres DB_PASS=1234 DB_PORT=5003 DB_NAME=dbsigaedu read -r -p "1. Deseja apagar tudo do $DIRETORIO (yes/no)? " APAGAR_DIRETORIO if [ $APAGAR_DIRETORIO == "yes" ]; then echo " > Diretorio limpo" rm -r $DIRETORIO mkdir $DIRETORIO chmod 775 -R $DIRETORIO echo "2. Baixando os arquivos do projeto do Bitbucket: " git clone -b $BRANCH https://bitbucket.org/ifms/sigaeduext.git $DIRETORIO echo "3. Setando pastas padrão..." mkdir $DIRETORIO/tmp mkdir $DIRETORIO/tmp/cache mkdir $DIRETORIO/tmp/cache/models mkdir $DIRETORIO/tmp/cache/persistent mkdir $DIRETORIO/tmp/cache/views mkdir $DIRETORIO/tmp/logs mkdir $DIRETORIO/tmp/sessions mkdir $DIRETORIO/tmp/tests echo "4. Criando configurações do banco de dados" echo "<?php class DATABASE_CONFIG { public \$sigaedu = array( 'datasource' => 'Database/Postgres', 'persistent' => false, 'host' => '$DB_HOST', 'login' => '$DB_USER', 'password' => '$DB_PASS', 'encoding' => 'utf8', 'port' => '$DB_PORT', 'database' => '$DB_NAME' ); } ?>" > $DIRETORIO/Config/database.php else echo " > Mantido diretório" fi echo "Concedendo permissões de arquivos..." chown -R www-data:www-data $DIRETORIO chmod 777 -R $DIRETORIO/tmp chmod 775 -R $DIRETORIO/upload chmod 775 -R $DIRETORIO/Fotos chmod 775 -R $DIRETORIO/PATs