instalando um servidor LAMP no Debian 10 - Guia completo

Um servidor LAMP (sigla para Linux, Apache, MySQL, PHP/Perl/Python) é um servidor de código aberto usado para desenvolver aplicações web ou hospedar sites com uma configuração específica. Para que uma aplicação web funcione, ela deve incluir vários elementos: um sistema operativo, um servidor web, uma base de dados e uma linguagem de programação. Esses recursos são essenciais para criar um site dinâmico. LAMP é um acrónimo para os seguintes programas: L - Sistema operativo Linux A - Servidor HTTP Apache M - Sistema de gestão de bases de dados MySQL P - Linguagem de programação PHP Installing a LAMP server Cada componente deve ser instalado separadamente e numa ordem específica. Neste guia, iremos percorrer todas as etapas da instalação do LAMP Stack no Debian 10. Para os fins deste guia, assumimos que tem um servidor instalado e configurado com:
  • Acesso SSH como root
  • Debian 10 ou 11
  • Acesso ao terminal/linha de comando

Instalando o servidor Apache

O Apache é um servidor web de código aberto popular que pode ser usado em conjunto com PHP. O Apache tem uma excelente documentação na Internet e tem sido um dos líderes durante a maior parte da história da Internet. Os servidores Apache são amplamente utilizados em todos os tipos de alojamento. Para começar, certifique-se de que o seu cache apt está atualizado com:

sudo apt update

 Se esta for a primeira vez que utiliza o sudo nesta sessão, terá de fornecer a sua palavra-passe de utilizador normal para verificar as suas permissões. Após atualizar o cache, pode instalar o Apache com:

sudo apt install apache2

  Após este comando, o apt irá indicar quais pacotes planeia instalar e quanto espaço adicional em disco eles irão ocupar. Digite Y e, em seguida, ENTER para confirmar e continuar. Pode realizar imediatamente uma verificação pontual para garantir que tudo correu conforme o planeado, visitando o endereço IP público do seu servidor no seu navegador da web (consulte a nota abaixo do título seguinte para descobrir qual é o seu endereço IP público):

http://<your_server_ip>

Encontrar o endereço IP público do seu servidor:

ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

Digite o endereço no seu navegador e verá a página web padrão do Apache, que existe para fins informativos e de teste. Deve ser algo parecido com isto: Installing an Apache server Se esta página aparecer, o seu servidor web está agora corretamente instalado e acessível na Internet.

Instalando o MySQL MariaDB

  Depois de iniciar o servidor web, é hora de instalar o MariaDB, um servidor de base de dados. Este servidor irá organizar e fornecer acesso às bases de dados onde o seu site pode armazenar informações. Para instalar o MariaDB, usaremos novamente o apt para instalar o servidor:

sudo apt install mariadb-server

Este comando também exibirá uma lista dos pacotes que serão instalados, juntamente com a quantidade de espaço em disco que ocuparão. Digite Y e, em seguida, ENTER para confirmar e continuar. Quando a instalação estiver concluída, execute o script de segurança que vem com o MySQL, que removerá algumas configurações padrão perigosas e bloqueará o acesso ao sistema de banco de dados. Execute o script através da consola e siga as instruções na tela: 

sudo mysql_secure_installation

Este script irá guiá-lo através da proteção e realização de algumas alterações nas configurações do MariaDB. Primeiro, será solicitado que introduza a palavra-passe root atual para a base de dados (note que esta não é a root do sistema). O utilizador root da base de dados é um utilizador com privilégios administrativos totais no servidor da base de dados. Como acabou de instalar o MariaDB e ainda não fez nenhuma alteração na configuração, esta palavra-passe estará em branco, então basta pressionar ENTER quando solicitado. A próxima pergunta é se deseja definir uma palavra-passe root para o banco de dados. Como o MariaDB usa um método de autenticação especial para o utilizador root, que geralmente é mais seguro do que usar uma palavra-passe, não há necessidade de definir uma neste momento. Digite N e, em seguida, ENTER. A partir daí, basta digitar Y e ENTER para selecionar os padrões para todas as perguntas subsequentes. Isso removerá usuários anónimos e o banco de dados de teste, desativará o login root remoto e carregará essas novas regras para que o MariaDB aplique imediatamente as alterações feitas. Quando terminar, entre no console do MariaDB digitando:

sudo mariadb

Este comando irá conectar-nos ao servidor MariaDB como administrador root do banco de dados, usando sudo. A saída deve ser semelhante a esta:

Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MariaDB connection id is 74

Server version: 10.3.15-MariaDB-1 Debian 10

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 

 
Observe que não foi necessário fornecer uma palavra-passe para fazer login como root. Isso funciona porque o método de autenticação padrão para o utilizador root do MariaDB é via unix_socket, em vez de uma palavra-passe. Embora isso possa parecer um problema de segurança à primeira vista, na verdade torna o servidor de banco de dados mais seguro, pois os únicos utilizadores autorizados a fazer login como utilizador root do MariaDB são os utilizadores do sistema com privilégios sudo, que fazem login a partir do terminal ou através de um aplicativo executado com esses privilégios. A função do utilizador root é apenas administrativa, portanto, não é possível conectar o seu aplicativo PHP. Para aumentar a segurança, configuraremos contas de utilizador dedicadas com privilégios apropriados para cada banco de dados. Para demonstrar essa configuração, criaremos um banco de dados chamado example_database e um utilizador chamado example_user. Você pode substituir esses nomes por qualquer nome que desejar. Para criar um novo banco de dados, execute o seguinte comando no console do MariaDB:

CREATE DATABASE example_database;

Agora, criaremos um novo utilizador e concederemos a ele privilégios totais no banco de dados que criamos. O comando a seguir define a senha desse utilizador como PASSWORD, mas você deve substituir esse valor por uma senha segura e forte:

GRANT ALL ON example_database.* TO 'example_user'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

O comando concederá ao utilizador example_user privilégios totais sobre o banco de dados example_database, impedindo que esse utilizador crie ou modifique outros bancos de dados no servidor. Pode verificar os privilégios para garantir que eles foram salvos e estão disponíveis sem precisar reiniciar:

FLUSH PRIVILEGES;

Em seguida, pode sair do MariaDB:

exit

Pode verificar se o novo utilizador tem as permissões adequadas fazendo login novamente no console MariaDB com o nome de utilizador e a senha que inseriu anteriormente:

mariadb -u example_user -p

Observação: Usar -p neste comando solicitará a senha que escolheu ao criar o utilizador example_user. Após iniciar sessão no console MariaDB, confirme se tem acesso ao banco de dados example_database:

SHOW DATABASES;

Receberá a seguinte saída:

+--------------------+

| Database           |

+--------------------+

| example_database   |

| information_schema |

+--------------------+

2 rows in set (0.000 sec)

Para sair do MariaDB, digite:

exit

Neste ponto, o sistema de banco de dados está configurado e pode prosseguir com a instalação do PHP, o componente final do servidor LAMP.

Instalando o PHP no LAMP

PHP é uma linguagem de programação para exibir sites dinâmicos. Ela pode executar scripts, conectar-se a bancos de dados MariaDB para receber e enviar informações do servidor web e de volta, e exibi-las ao utilizador. Usaremos o apt novamente para instalar o PHP, juntamente com alguns outros pacotes que garantirão que o código PHP possa ser executado no servidor Apache e comunicar-se com o banco de dados MariaDB:

sudo apt install php libapache2-mod-php php-mysql

Isso deve instalar o PHP sem nenhum problema, mas verificaremos se tudo está a funcionar corretamente. Na maioria dos casos, é uma boa ideia alterar as configurações do Apache para tornar o ficheiro index.php acessível primeiro, em vez do index.html. Atualmente, se um utilizador solicitar um diretório do servidor, o Apache procurará primeiro um ficheiro chamado index.html. Queremos dizer ao servidor web para dar preferência aos ficheiros PHP em relação aos outros, por isso precisamos de configurar o Apache para procurar o ficheiro index.php. Para fazer isso, digite o seguinte comando para abrir o ficheiro dir.conf num editor de texto com privilégios de root:

sudo nano /etc/apache2/mods-enabled/dir.conf

O ficheiro terá a seguinte aparência:

<IfModule mod_dir.c>

    DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm

</IfModule>

Mova o ficheiro index.php (destacado acima) para a primeira posição após DirectoryIndex, assim:

<IfModule mod_dir.c>

    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm

</IfModule>

Por fim, salve o ficheiro. Se estiver a usar o nano, pode fazer isso pressionando CTRL + X e, em seguida, Y e ENTER para confirmar. Agora recarregue o Apache com:

sudo systemctl reload apache2

Pode verificar o estado do apache2:

sudo systemctl status apache2

 

apache2.service - The Apache HTTP Server

   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)

   Active: active (running) since Mon 2019-07-08 12:58:31 UTC; 8s ago

     Docs: https://httpd.apache.org/docs/2.4/

  Process: 11948 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)

 Main PID: 11954 (apache2)

    Tasks: 6 (limit: 4719)

   Memory: 11.5M

   CGroup: /system.slice/apache2.service

           ├─11954 /usr/sbin/apache2 -k start

           ├─11955 /usr/sbin/apache2 -k start

           ├─11956 /usr/sbin/apache2 -k start

           ├─11957 /usr/sbin/apache2 -k start

           ├─11958 /usr/sbin/apache2 -k start

           └─11959 /usr/sbin/apache2 -k start

Neste ponto, o seu servidor LAMP está configurado. Agora pode tratar do resto das configurações, como vhosts.

2026 © Linux Hosting - Hospedagem web desde 2011