gismarb / atm_1s2020

Desenvolvendo um Workflow para um Servidor Web, com Apache, MySQL, PHP, SSH, FTP, SAMBA.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Atividades Multidisciplinares 1º Semestre 2020 - (ATM1s2020)

Desenvolvendo um Workflow para um Servidor Web, com Apache, MySQL, PHP, SSH, FTP, SAMBA.


Resumo

O processo de desenvolvimento de um ambiente Web é complexo e trabalhoso. Partimos do projeto, estudo do ambiente, criação do ambiente (S.O.), depois criamos a base para o funcionamento do ambiente Web (que é caracteriza-se por um serviço web, stack e/ou linguagem web e sistema de banco de dados), e para gerar uma camada de infraestrutura de suporte para o ambiente, implementamos serviços básicos de infraestrutura (sistema de FTP, compartilhamento de arquivos, acesso remoto e regras de firewall)

Sumário

Resumo

Introdução

Desenvolvimento

Conclusão

Referências

Introdução

Este projeto visa demonstrar todos os principais processos existentes na produção e desenvolvimento de um ambiente web, do ponto de vista de criação de ambiente e suas especificidades.

Desenvolvimento

Um servidor Web, ou uma Stack completa de produção Web deve ser separada por áreas específicas. Desta forma, cada área específica deverá ser trabalhada e desenvolvida de forma paralela, para que no final se tenha um ambiente disponível, confiável e produtivo.

Desta forma, devemos separar o desenvolvimento em:

  • Servidor web: Será o ambiente onde o site ou sistema Web será interpretado, e da onde serão respondidas as chamadas http e/ou https.

    Apache

  • Stack de desenvolvimento web: Quando falamos na Stack de Desenvolvimento, nos referimos a uma ou mais linguagens de back-end que serão interpretadas e/ou pré-compiladas no servidor web.

    PHP

  • SGDB web: Para completar o processo de produção, assim como viabilizar sistemas completos, faz-se necessário a utilização de um sistema gerenciador de banco de dados específico com suporte para uso sobre um servidor web.

    MySQL Server

  • Servidor de compartilhamento de arquivos: Para facilitar o compartilhamento de arquivos (principalmente na fase de desenvolvimento) entre servidor e cliente de acesso, é usual implantar e implementar serviços de compartilhamento de arquivo (multiplataforma).

    Samba

  • Servidor de Transferência de Arquivos: Como já feito desde os primórdios da Web, todo servidor web deve ter um sistema de FTP.

    VSFTPD (FTP)

  • Acesso remoto seguro: Assim como sistema de FTP, a utilização de um serviço de SSH também é obrigatória.

    SSH

  • Regras de firewall: Ao menos no ambiente do servidor web, é extremamente importante, criar e gerenciar as regras de firewall.

    UFW

  • Sistema Operacional: O Sistema operacional, em sua maioria, seguirá uma vertente de derivados de sistemas Unix, como nosso caso, o Ubuntu Server 18.04.4 (Linux).

    Ubuntu Server 18.04.4

  • Sistema de Virtualização (Opcional): O sistema de virtualização, apesar de não serem obrigatório (ainda que os principais sistemas web atualmente, esteja rodando sobre cloud, logo em ambiente virtual), podem ser usados em ambiente de testes (como por exemplo com auxílio de ferramentas específicas como Docker e/ou Vagrant).

    VirtualBox 6.1

Conclusão

O processo de desenvolvimento de um Workflow de um Servidor Web é demasiadamente complexo e heterogêneo, tendo em vista que muitas são as nuances que devem ser trabalhadas de forma sinérgica, para que se tenha sucesso ao final do trabalho. Devemos nos atentar, que em um ambiente corporativo, procedimentos automatizados poderão ser utilizados para optimizar os processos de desenvolvimento assim como utilização em produção. Mas, sobretudo, visando a criação de um ambiente, para que seja feito debug e/ou deploy de aplicações e soluções Web, é interessante construir o ambiente, visando todos os aspectos possíveis que serão colocados em produção, com os que já foram listados anteriormente (Desenvolvimento), simulando de fato o que se pode esperar em um grande provedor web. Desta forma, percebemos, que independente da plataforma, se é um ambiente de produção ou teste, se é um sistema e/ou aplicação web de pequeno ou grande porte, a linha base de projeto será sempre a mesma.

Referências

VirtualBox

VirtualBox Extension Pack

Download VirtualBox for Linux Hosts

Download Ubuntu Server 18.04.4

Download ImgBurn

Donwload Rufus

Download balenaEatcher

Como configurar endereço IP estático no Linux Ubuntu 18.04 com netplan

OpenSSH

Putty

Secure Shell

SAMBA

SAMBA - Downloads

SAMBA - Documentação

PHP

PHP - Downloads

PHP - Documentação

MySQL

MySQL - Documentação (Instalação Geral)

MySQL - Documentação (Instalação via APT)

VSFTPD.CONF

VSFTPD

VSFTPD - Download

VSFTPD - Documentação

FileZilla

Ubuntu - UFW

Ubuntu - Firewall

UFW - Downloads

Ubuntu - Repositórios UFW

Apache

Apache HTTP Server Version 2.4 Documentation

About

Desenvolvendo um Workflow para um Servidor Web, com Apache, MySQL, PHP, SSH, FTP, SAMBA.

License:MIT License