Configurando Linux para Desenvolvimento de Sites

Esse artigo mostra como instalar e configurar um servidor LAMP, como habilitar o protocolo HTTPS, sugestões de IDE's de desenvolvimento e Frameworks no Linux.

[ Hits: 2.749 ]

Por: Diego Gomes em 17/07/2019


Instalação / Configuração



Olá a todos.

Instalando o servidor LAMP

O servidor LAMP (Linux, Apache, MySQL, PHP) deverá ser a primeira coisa a ser instalada. Você pode fazer isso através do comando:

sudo apt install php apache2 php-mysql mariadb-server

Configurando MariaDB

Após o término da instalação, vamos configurar o MySQL utilizando o comando:

sudo mysql_secure_installation

Um console será exibido, perguntando pela senha do root, apenas aperte Enter. Após isso, serão feitas perguntas para você responder com y ou n. Dê y até que lhe seja requisitado configurar uma senha para o root. Digite-a as duas vezes e prossiga apertando y até que a instalação acabe.

Testando o servidor

Vá até a pasta /var/www/html (padrão do Apache) e crie um arquivo chamado "info.php", nele cole o seguinte código:

<?php
phpinfo();
?>

Teste acessando o endereço no seu navegador: http://localhost/info.php

Testando MySQL

Se tudo deu certo até aqui, então crie outro arquivo dentro dessa pasta, chame-o de "mysql.php", dessa vez vamos testar o banco de dados. O código é esse:

<?php
$user = 'root';
$pass = 'sua_senha';

try{
      $stmt = new PDO("mysql:host=localhost;dbname=mysq", $user, $pass);
      echo "Conectado com sucesso.";
}
catch(Exception $e){
      echo "Não conectado.";
}

Acesse http://localhost/mysql.php e, se você fez tudo certo, verá a mensagem: Conectado com sucesso

Habilitando o protocolo HTTPS

Agora que o servidor está configurado e funcionando, podemos instalar um certificado SSL para adicionar uma camada a mais de criptografia para sua página.

Comecemos habilitando o módulo SSL no apache com o seguinte comando:

sudo a2enmod ssl

Após isso, será necessário reiniciar o serviço do apache, você pode fazer isso com:

sudo service apache2 restart

Instalando as chaves publicas e privadas

O próximo passo, é instalar as chaves publicas e privadas. Para isso, use os seguintes comandos:

sudo make-ssl-cert generate-default-snakeoil --force-overwrite
sudo a2ensite default-ssl
sudo service apache2 reload

Pronto! Você já pode testar acessando: https://localhost

Por ser um certificado local os navegadores, por padrão, dirão que o site é inseguro. Para desabilitar isso definitivamente, adicione uma exceção ao site: https:localhost/

Num futuro post, ensinarei como obter gratuitamente o seu certificado SSL.

Baseado em Apache: Ativando o protocolo HTTPS (HTTP + SSL) - LRodrigo - Web Site, acessado em 3 de julho de 2019.

Recomendações de IDE's, Editores e Frameworks

Para editar seus arquivos, conforme a complexidade à medida que seu projeto vá aumentando, é necessário um editor de texto melhor, ou até mesmo uma IDE. Se você já usa alguma e não pretende mudar, então esta continuação não será útil para você. Porém, se você está procurando sugestões, ou até mesmo querendo trocar seu editor, então continue lendo.

Editor de código

Eu, particularmente, prefiro o Sublime Text 3, que é o que eu uso e jamais deixarei de usar (só quando tiver o 4), não que outros sejam ruins, mas eu vou lhes explicar por que prefiro esse. O sublime é um editor de texto que, à primeira vista, pode parecer um Leafpad 'embonecado', tanto pela sua interface, quanto pela seu tamanho (sim, ele é muito leve), mas não se deixe enganar, ele vai muito além disso.

Vou citar alguns dos pontos que me agradam mais:
  • Desempenho - por não ser uma mega IDE com 200 Mb de tamanho (ele tem menos de 20 Mb), e usar muitos poucos recursos de processamento e memória, ele pode ser rodado em praticamente qualquer máquina.
  • Plugins - O Sublime tem uma vasta biblioteca de plugins, alguns já vem instalados, como os de completar termos de determinada linguagem de programação, parenteses e ponto-e-vírgulas automáticos (pode parecer besta, mas é extremamente util), além dos mais de 100 plugins que você pode instalar com apenas alguns cliques
  • Personalização - centenas de temas criados pela comunidade podem ser baixados e adicionados aos sublime, tem para todos os gostos.

Instalando o Sublime

Infelizmente, o Sublime Text não está nos repositórios oficiais, mas pode ser instalado seguindo o tutorial no site deles. Vou deixar os comandos aqui para poupar tempo de quem estiver lendo:

wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add -
sudo apt-get install apt-transport-https
echo "deb https://download.sublimetext.com/ apt/dev/" | sudo tee /etc/apt/sources.list.d/sublime-text.list
sudo apt-get update
sudo apt-get install sublime-text

Frameworks Front-end

Para instalar Frameworks Front-end, recomendo que instalem o nodejs (para poder usar o NPM). Ele automaticamente instala o Framework na pasta atual. Para instalar, use:

sudo apt-get install nodejs

Se quiser, pode testá-lo usando o comando:

npm install bootstrap

Se tudo estiver funcionando, você verá uma pasta chamada "node_modules", contendo o Framework.

Bibliotecas Back-end

Quem mexe com PHP sabe que, a melhor ferramenta existente, tanto em projetos com o modelo MVC, quanto para instalar uma biblioteca externa, o Composer é a melhor ferramenta disponível para tal. Para instala-lo, use:

sudo apt install composer

Se quiser testar, terá que criar um arquivo com o nome de "composer.json" (o Composer só aceita esse nome e formato ao seu arquivo de configuração) e colocar o seguinte código:

{
  "require": {
    "phpmailer/phpmailer": "~6.0"
   }
}

E rodar o comando de instalação no mesmo diretório em que o "composer.json" foi salvo:

composer install

Se funcionou, você verá uma pasta chamada "vendor".

Conclusão

Gostaria de deixar claro que esse é meu primeiro artigo para o VOL, então, desculpem qualquer coisa.

Então é isso, caso haja algum erro, ou tenha problemas, pode dizer que eu ficarei feliz em ajudar.

   

Páginas do artigo
   1. Instalação / Configuração
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Configuração fácil de um servidor PPP

Instalando e configurando Cacti + SNMP no CentOS / Red Hat

ALSA, Debian e Intel8x0

Instalando o VMWare Server no Ubuntu 7.04 (e/ou similares)

Horário de verão brasileiro até 2038

  
Comentários
[1] Comentário enviado por Cizordj em 17/07/2019 - 10:29h

Só uma dúvida, então para usar o bootstrap no meu projeto por exemplo eu tenho que dar o comando
$ npm install bootstrap
na pasta /var/www/html?

Desculpe pela pergunta besta

[2] Comentário enviado por Web_Sys em 17/07/2019 - 10:40h


[1] Comentário enviado por Cizordj em 17/07/2019 - 10:29h

Só uma dúvida, então para usar o bootstrap no meu projeto por exemplo eu tenho que dar o comando
$ npm install bootstrap
na pasta /var/www/html?

Desculpe pela pergunta besta


Sim, exatamente

[3] Comentário enviado por gilrsantana em 04/08/2019 - 05:16h

Olá amigo, parabéns pelo trabalho.
Eu sou novo no mundo Linux e empaquei no começo, no segundo passo.
Quando você comenta no passo testando mysql, eu entendi que era pra colocar o código citado dentro do arquivo mysql.php, e assim o fiz, mas quando acesso a página em meu browser http://localost/mysql.php ela fica em branco não aparece a mensagem conectado com sucesso.
Me desculpe se fiz alguma colocação infantil.
Obrigado


[4] Comentário enviado por Cizordj em 12/08/2019 - 08:57h


[3] Comentário enviado por gilrsantana em 04/08/2019 - 05:16h
Olá amigo, parabéns pelo trabalho.
Eu sou novo no mundo Linux e empaquei no começo, no segundo passo.
Quando você comenta no passo testando mysql, eu entendi que era pra colocar o código citado dentro do arquivo mysql.php, e assim o fiz, mas quando acesso a página em meu browser http://localost/mysql.php ela fica em branco não aparece a mensagem conectado com sucesso.
Me desculpe se fiz alguma colocação infantil.
Obrigado

Pra mim o código também não funcionou, então conectei ao banco de dados de outra forma usando a função que está neste link:
https://github.com/cizordj/logistica-gessner/blob/master/rest-api/database/getConnection.php

Finalmente criei um script que conecta e imprime na tela se deu certo ou não.


Contribuir com comentário