Do not speak Portuguese? Translate this site with Google or Bing Translator
Ubuntu 20.04 vários sites num servidor Apache

Posted on: July 22, 2021 10:39 PM

Posted by: Renato

Views: 1043

Ubuntu 20.04 vários sites num servidor Apache

O Apache é o servidor Web mais usado em todo o mundo. Flexibilidade, documentação e uma enorme comunidade, são alguns dos pontos fortes que marcam a diferença do Apache para a concorrência.

O que é o Webmin?

O Webmin é uma ferramenta de administração gráfica (web-based), escrita por Jamie Cameron, que nos permite administrar facilmente o nosso Sistema Linux/Unix. Desta forma, através de um simples browser, poderemos controlar/gerir de qualquer parte do mundo o “poderoso motor” do nosso Linux/Unix

Webmin é um painel de controle Web moderno que permite que você execute seu servidor Linux através de uma interface baseada no navegador. Com o Webmin, você pode gerenciar as contas de usuários, definir as configurações de DNS e alterar configurações para pacotes comuns rapidamente.

O Apache suporta dois tipos de VHs (Virtual Hosts)

  • VHs baseados em nome: ou seja, num único endereço IP é possível ter um número ilimitado de VHs, sendo que o Apache os distingue pelo nome;
  • VHs baseados no endereço IP: é necessário que para cada VHs exista um endereço IP, sendo que o Apache distingue os VHs pelo endereço IP da ligação;

 

Como instalar o Webmin no Ubuntu 20.04

Instalando o Webmin

adicionando o repositório ao arquivo /etc/apt/sources.list.

Abra o arquivo em seu editor preferido. Aqui, usaremos o nano:


 
  • sudo nano /etc/apt/sources.list

 

Então, adicione esta linha ao final do arquivo para adicionar o novo repositório:

/etc/apt/sources.list

. . .
deb http://download.webmin.com/download/repository sarge contrib

 

Salve o arquivo e saia do editor. Se usou o nano, salve e feche o arquivo, pressionando as teclas CTRL+XY e, depois ENTER.

Em seguida, você adicionará a chave Webmin PGP para que seu sistema confie no novo repositório: No entanto, para fazer isso, você precisa instalar o pacote gnupg1, que é a ferramenta do GNU para comunicação e armazenamento de dados seguros.

Atualize o índice de pacotes do seu servidor caso ainda não tenha feito isso recentemente:


 
  • sudo apt update

 

Em seguida, baixe a chave Webmin PGP com o wget e a adicione à lista de chaves do seu sistema:


 
  • wget -q -O- http://www.webmin.com/jcameron-key.asc | sudo apt-key add

 

 

Em seguida, atualize novamente a lista de pacotes para incluir o repositório Webmin, que agora é confiável:


 
  • sudo apt update

 

Então, instale o Webmin:


 
  • sudo apt install webmin

 

Assim que a instalação terminar, você será apresentado com o seguinte resultado:


 

Output

. . . Webmin install complete. You can now login to https://your_server:10000 as root with your root password, or as any user who can use sudo.

Webmin pelo firewall:


 
  • sudo ufw allow 10000

 

Para uma maior segurança, você pode querer configurar seu firewall para somente permitir o acesso a esta porta a partir de um certo intervalo de IPs.

Adicionando um certificado válido com o Let’s Encrypt

O Webmin já está configurado para usar o HTTPS, mas ele utiliza um certificado autoassinado e não confiável. Vamos substituí-lo por um certificado válido do Let’s Encrypt.

Navegue para https://your_domain:10000 em seu navegador Web, substituindo your_domain pelo nome de domínio apontando para o endereço IP do seu servidor.

Uma tela de login será apresentada a você. Faça o login com o non-root user que você criou enquanto cumpria os pré-requisitos para este tutorial.

Assim que fizer login, a primeira tela que você verá é o painel do Webmin. Antes de aplicar um certificado válido, você precisa definir o nome do host do servidor. Procure pelo campo System hostname e clique no link à sua direita.

sso o levará à página de cliente de nome de host e DNS. Localize o campo Hostname (nome de host) e coloque seu nome de domínio totalmente qualificado no campo. Em seguida, clique no botão Save (salvar) no final da página para aplicar a configuração.

Após definir seu nome de host, clique no menu suspenso do Webmin na barra de navegação à esquerda e, em seguida, clique em Webmin Configuration (configuração do Webmin).

A partir da página Webmin Configuration, selecione SSL Encryption (criptografia SSL) da lista de ícones e, em seguida, clique na guia do Let’s Encrypt

Nesta página, você dirá ao Webmin como obter e renovar seu certificado. Os certificados do Let’s Encrypt expiram após 3 meses, mas você pode instruir o Webmin para tentar renovar o certificado do Let’s Encrypt todo mês. O Let’s Encrypt procura por um arquivo de verificação no servidor. Dessa forma, vamos configurar o Webmin para colocar o arquivo de verificação dentro da pasta /var/www/your_domain, que é a pasta que o servidor Web Apache que você configurou nos pré-requisitos utiliza. Siga estes passos para configurar seu certificado:

  1. Preencha Hostnames for certificate (nomes de host para certificar) com seu FQDN.
  2. Para Website root directory for validation file (diretório raiz do site para arquivo de validação), selecione o botão Other directory (outro diretório) e digite a raiz de documentos do seu site. Supondo que você tenha seguido o tutorial pré-requisito do Apache, ele será /var/www/your_domain.
  3. Para Months between automatic renewal (meses entre renovação automática), desmarque a opção Only renew manually (apenas renovar manualmente) digitando 1 na caixa de entrada e selecione o botão de rádio à esquerda da caixa de entrada.

Clique no botão Request Certificate (solicitar certificado). Após alguns segundos, você verá uma tela de confirmação.

Para usar o novo certificado, clique no botão Return to Webmin configuration (retornar para configuração do Webmin) na tela de confirmação. Naquela página, role para baixo e clique no botão Restart Webmin (reiniciar Webmin). Espere mais ou menos 30 segundos e, em seguida, recarregue a página e faça login novamente. Seu navegador agora deve indicar que o certificado está válido.

Usando o Webmin

Access Webmin Control Panel:

Webmin service listens on port 10000, so open a web browser and type the following URL to access Webmin.

https://SERVER_IP:10000
OR
https://Domain.com:10000
OR
https://localhost:10000

To access the Webmin Control Panel, log in by entering the root or system’s user and password.

 

Agora, você configurou uma instância segura e funcional do Webmin. Vamos ver como usá-lo.

O Webmin possui vários módulos diferentes que controlam tudo, desde o BIND DNS Server até a adição de usuários ao sistema. Vamos ver como criar um novo usuário, e então explorar como atualizar os pacotes do seu sistema utilizando o Webmin.

Gerenciando Usuários e Grupos

Vamos explorar como gerenciar os usuários e grupos em seu servidor.

Primeiro, clique no menu de suspenso System (sistema) no barra lateral esquerda. Em seguida, clique no link para Users and Groups (usuários e grupos). A partir daqui, você pode adicionar e gerenciar usuários e grupos.

Vamos criar um novo usuário chamado deploy que você usará para hospedar aplicativos Web. Ao criar um usuário, você pode definir opções para a expiração de senha, a shell do usuário, e se eles tem permissão para ter um diretório home.

Para adicionar um usuário, clique em Create a new user, que está localizado no topo da tabela de usuários. Isso mostra a tela Create User, onde você pode fornecer o nome de usuário, senha, grupos e outras opções. Siga essas instruções para criar o usuário:

  1. Preencha o Username com deploy.
  2. Selecione Automatic para o User ID.
  3. Preencha o Real Name com um nome descritivo como Deployment user.
  4. Para o Home Directory, selecione Automatic.
  5. Para o Shell, selecione /bin/bash da lista suspensa.
  6. Para o Password, selecione Normal Password e digite uma senha da sua escolha.
  7. Desça para Primary Group (grupo primário) e selecione New group with same name as user (novo grupo com o mesmo nome do usuário).
  8. Para o Secondary Group (grupo secundário), selecione sudo da lista All groups (todos os grupos). Isso deve ser adicionado automaticamente à lista In groups, mas, caso não seja, pressione o botão -> para adicioná-lo.

Após fazer essas seleções, pressione Create (criar). Isso criará o usuário deploy instantaneamente.

- https://pplware.sapo.pt/linux/ubuntu-20-04-instalado-como-ter-varios-sites-num-servidor-apache/

- https://www.digitalocean.com/community/tutorials/how-to-install-webmin-on-ubuntu-20-04-pt

https://www.webmin.com/deb.html


3

Share

Donate to Site


About Author

Renato

Developer

Add a Comment
Comments 0 Comments

No comments yet! Be the first to comment

Blog Search


Categories

OUTROS (15) Variados (109) PHP (130) Laravel (157) Black Hat (3) front-end (28) linux (113) postgresql (39) Docker (26) rest (5) soap (1) webservice (6) October (1) CMS (2) node (7) backend (13) ubuntu (54) devops (25) nodejs (5) npm (2) nvm (1) git (8) firefox (1) react (6) reactnative (5) collections (1) javascript (6) reactjs (7) yarn (0) adb (1) Solid (2) blade (3) models (1) controllers (0) log (1) html (2) hardware (3) aws (14) Transcribe (2) transcription (1) google (4) ibm (1) nuance (1) PHP Swoole (5) mysql (31) macox (4) flutter (1) symfony (1) cor (1) colors (2) homeOffice (2) jobs (3) imagick (2) ec2 (1) sw (1) websocket (1) markdown (1) ckeditor (1) tecnologia (14) faceapp (1) eloquent (14) query (4) sql (40) ddd (3) nginx (9) apache (4) certbot (1) lets-encrypt (3) debian (11) liquid (1) magento (2) ruby (1) LETSENCRYPT (1) Fibonacci (1) wine (1) transaction (1) pendrive (1) boot (1) usb (1) prf (1) policia (2) federal (1) lucena (1) mongodb (4) paypal (1) payment (1) zend (1) vim (4) ciencia (6) js (1) nosql (1) java (1) JasperReports (1) phpjasper (1) covid19 (1) saude (1) athena (1) cinnamon (1) phpunit (2) binaural (1) mysqli (3) database (42) windows (6) vala (1) json (2) oracle (1) mariadb (4) dev (12) webdev (24) s3 (4) storage (1) kitematic (1) gnome (2) web (2) intel (3) piada (1) cron (2) dba (18) lumen (1) ffmpeg (2) android (2) aplicativo (1) fedora (2) shell (4) bash (3) script (3) lider (1) htm (1) csv (1) dropbox (1) db (3) combustivel (2) haru (1) presenter (1) gasolina (1) MeioAmbiente (1) Grunt (1) biologia (1) programming (22) performance (3) brain (1) smartphones (1) telefonia (1) privacidade (1) opensource (3) microg (1) iode (1) ssh (3) zsh (2) terminal (3) dracula (1) spaceship (1) mac (2) idiomas (1) laptop (2) developer (37) api (4) data (1) matematica (1) seguranca (2) 100DaysOfCode (9) hotfix (1) documentation (1) laravelphp (10) RabbitMQ (1) Elasticsearch (1) redis (2) Raspberry (4) Padrao de design (4) JQuery (1) angularjs (4) Dicas (40) Kubernetes (2) vscode (2) backup (1) angular (3) servers (2) pipelines (1) AppSec (1) DevSecOps (4) rust (1) RustLang (1) Mozilla (1) algoritimo (1) sqlite (1) Passport (1) jwt (4) security (2) translate (1) kube (1) iot (1) politica (2) bolsonaro (1) flow (1) podcast (1) Brasil (1) containers (2) traefik (1) networking (1) host (1) POO (2) microservices (2) bug (1) cqrs (1) arquitetura (2) Architecture (3) sail (3) militar (1) artigo (1) economia (1) forcas armadas (1) ffaa (1) autenticacao (1) autorizacao (2) authentication (4) authorization (2) NoCookies (1) wsl (4) memcached (1) macos (2) unix (2) kali-linux (1) linux-tools (5) apple (1) noticias (2) composer (1) rancher (1) k8s (1) escopos (1) orm (1) jenkins (4) github (5) gitlab (3) queue (1) Passwordless (1) sonarqube (1) phpswoole (1) laraveloctane (1) Swoole (1) Swoole (1) octane (1) Structurizr (1) Diagramas (1) c4 (1) c4-models (1) compactar (1) compression (1) messaging (1) restfull (1) eventdrive (1) services (1) http (1) Monolith (1) microservice (1) historia (1) educacao (1) cavalotroia (1) OOD (0) odd (1) chatgpt (1) openai (3) vicuna (1) llama (1) gpt (1) transformers (1) pytorch (1) tensorflow (1) akitando (1) ia (1) nvidia (1) agi (1) guard (1) multiple_authen (2) rpi (1) auth (1) auth (1) livros (2) ElonMusk (2) Oh My Zsh (1) Manjaro (1) BigLinux (2) ArchLinux (1) Migration (1) Error (1) Monitor (1) Filament (1) LaravelFilament (1) replication (1) phpfpm (1) cache (1) vpn (1) l2tp (1) zorin-os (1) optimization (1) scheduling (1) monitoring (2) linkedin (1) community (1) inteligencia-artificial (2) wsl2 (1) maps (1) API_KEY_GOOGLE_MAPS (1) repmgr (1) altadisponibilidade (1) banco (1) modelagemdedados (1) inteligenciadedados (4) governancadedados (1) bancodedados (2) Observability (1) picpay (1) ecommerce (1) Curisidades (1) Samurai (1)

New Articles



Get Latest Updates by Email