Como instalo uma pilha LAMP manualmente na minha instância do Lightsail?

Última atualização: 25/10/2021

Quero instalar manualmente uma pilha Lamp (Linux, Apache, MySQL, PHP) na minha instância do Amazon Lightsail. Como posso fazer isso?

Resolução

Observação: as etapas de resolução abrangem a maioria das principais distribuições Linux disponíveis na opção OS Only (Somente SO) no Amazon Lightsail. Elas incluem Ubuntu 20.04, Ubuntu 18.04, Debian 10 e 9 e CentOS 8 e 7.

Para obter informações sobre como instalar uma pilha LAMP no Amazon Linux 2, consulte Tutorial: Install a LAMP web server on Amazon Linux 2.

Para obter informações sobre como instalar uma pilha LAMP no Amazon Linux, consulte Tutorial: Install a LAMP web server on the Amazon Linux AMI.

Instalar o Apache

Ubuntu 20.04 e 18.04, Debian 9 e 10

Execute os seguintes comandos para instalar o servidor Web Apache:

sudo apt update -y
sudo apt install apache2 -y

CentOS 7 e CentOS 8

Execute os seguintes comandos para instalar o servidor Web Apache:

sudo yum update -y
sudo yum install httpd wget -y
sudo systemctl enable httpd
sudo systemctl start httpd

Instalar o PHP

Observação: as etapas a seguir instalam o PHP 8.0, que é a versão mais recente do pacote PHP suportada. O PHP 8.0 não está presente por padrão na maioria das distribuições. Você instala o PHP 8.0 habilitando repositórios de terceiros.

Ubuntu 20.04 e Ubuntu 18.04

Execute os seguintes comandos para instalar o PHP:

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update -y
sudo apt install php8.0 php8.0-{fpm,mysql,curl,gd,mbstring,mysql,xml,mcrypt,zip,ldap} libapache2-mod-php8.0 -y

Debian 10 e Debian 9

Execute os seguintes comandos para instalar o PHP:

sudo apt install -y gnupg2 ca-certificates apt-transport-https software-properties-common
wget -qO - https://packages.sury.org/php/apt.gpg | sudo apt-key add -
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list
sudo apt update
sudo apt install php8.0 php8.0-{fpm,mysql,curl,gd,mbstring,mysql,xml,mcrypt,zip,ldap} libapache2-mod-php8.0 -y

CentOS 7

Execute os seguintes comandos para instalar o PHP:

sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum install -y yum-utils
sudo yum-config-manager --enable remi-php80
sudo yum install php php-{fpm,mysql,curl,gd,mbstring,mysql,xml,mcrypt,zip,ldap} -y

CentOS 8

Execute os seguintes comandos para instalar o PHP:

sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo dnf module enable php:remi-8.0 -y
sudo yum install php php-{fpm,mysql,curl,gd,mbstring,mysql,xml,mcrypt,zip,ldap} -y

Habilitar o módulo PHP-FPM

O módulo PHP-FPM fornece um site muito mais rápido. Embora a instalação do PHP-FPM seja opcional, é uma prática recomendada usá-lo com a maioria dos sites de criação e gerenciamento de sites.

Ubuntu 20.04 e 18.04, Debian 10 e 9

Execute os seguintes comandos para instalar o PHP-FPM:

sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.0-fpm
sudo a2dismod php8.0
sudo systemctl enable php8.0-fpm
sudo service apache2 restart;sudo service php8.0-fpm restart

CentOS 7

1.    Atualize a configuração do Apache para usar o mpm_event_module em vez do mpm_prefork_module:

[centos@ip ~]# sudo vi /etc/httpd/conf.modules.d/00-mpm.conf 
# LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
LoadModule mpm_event_module modules/mod_mpm_event.so

2.    Faça backup do arquivo de configuração PHP atual no Apache e crie um novo com o seguinte conteúdo:

sudo mv /etc/httpd/conf.d/php.conf /etc/httpd/conf.d/php.conf_bak
sudo vi /etc/httpd/conf.d/php.conf

<Files ".user.ini">
    <IfModule mod_authz_core.c>
        Require all denied
    </IfModule>
    <IfModule !mod_authz_core.c>
        Order allow,deny
        Deny from all
        Satisfy All
    </IfModule>
</Files>

<FilesMatch \.php$>
    SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>

AddType text/html .php
DirectoryIndex index.php

3.    Reinicie o Apache e o PHP-FPM para que as alterações entrem em vigor:

sudo systemctl restart php-fpm
sudo systemctl restart httpd

CentOS 8

1.    Atualize o arquivo de configuração PHP-FPM para que o serviço escute a porta, em vez do soquete.

sudo sed 's#listen = /run/php-fpm/www.sock#listen = 127.0.0.1:9000#g' -i /etc/php-fpm.d/www.conf

2.    Faça backup do arquivo de configuração PHP atual no Apache e crie um novo com o seguinte conteúdo:

sudo mv /etc/httpd/conf.d/php.conf /etc/httpd/conf.d/php.conf_bak
sudo vi /etc/httpd/conf.d/php.conf

<Files ".user.ini">
    <IfModule mod_authz_core.c>
        Require all denied
    </IfModule>
    <IfModule !mod_authz_core.c>
        Order allow,deny
        Deny from all
        Satisfy All
    </IfModule>
</Files>

<FilesMatch \.php$>
    SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>

AddType text/html .php
DirectoryIndex index.php

3.    Execute o seguinte comando no servidor para permitir que o Apache faça conexões de saída:

sudo /usr/sbin/setsebool -P httpd_can_network_connect 1

4.    Reinicie o Apache e o PHP-FPM para que as alterações entrem em vigor:

sudo systemctl restart php-fpm
sudo systemctl restart httpd

Instale o MariaDB

Instale o MariaDB versão 10.5 usando o repositório do MariaDB diretamente.

1.    Execute o seguinte comando para adicionar o repositório yum do MariaDB (para todas as distribuições Linux):

curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version="mariadb-10.5"

2.    Instale o pacote MariaDB:

Ubuntu 20.04, Ubuntu 18.04, Debian 10 e Debian 9

sudo apt install mariadb-server -y

CentOS 8 e CentOS 7

sudo yum install MariaDB-server MariaDB-client -y
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

3.    Execute o seguinte comando para concluir a instalação segura do MariaDB para definir a senha raiz:

sudo mysql_secure_installation

4.    Quando solicitado, defina uma senha para a conta raiz:

Digite a senha raiz atual. Por padrão, a conta raiz não tem uma senha definida.
Pressione Enter.
Pressione N para alternar para autenticação unix_socket.
Pressione Y (S) para definir uma senha e, em seguida, insira uma senha segura duas vezes. Certifique-se de guardar essa senha em um local seguro.
Pressione Y (S) para remover as contas de usuário anônimas.
Pressione Y (S) para desabilitar o login raiz remoto.
Pressione Y (S) para remover o banco de dados de teste.
Pressione Y (S) para recarregar as tabelas de privilégios e salvar as alterações.

Adicione permissões para as pastas do seu site ao usuário padrão

Para transferir a instância do seu site usando SCP/SFTP, é uma prática recomendada que o usuário correspondente tenha permissões para acessar o diretório /var/www. As etapas a seguir fornecem as permissões apropriadas para o usuário padrão em cada distribuição Linux. Você pode adicionar o usuário ao grupo Apache e, em seguida, alterar a propriedade desse diretório para o usuário padrão e o grupo Apache.

Ubuntu 20.04 e 18.04

1.    Execute o seguinte comando:

sudo usermod -a -G www-data ubuntu

2.    Faça logoff e, em seguida, faça logon novamente para selecionar o novo grupo. Em seguida, verifique sua associação executando “group” (grupo):

sudo chown -R ubuntu:www-data /var/www
sudo chmod 2775 /var/www
find /var/www -type d -exec sudo chmod 2775 {} \;
find /var/www -type f -exec sudo chmod 0664 {} \;

Debian 10 e 9

1.    Execute o seguinte comando:

sudo usermod -a -G www-data admin

2.    Faça logoff e, em seguida, faça logon novamente para selecionar o novo grupo. Em seguida, verifique sua associação executando “group” (grupo).

sudo chown -R admin:www-data /var/www
sudo chmod 2775 /var/www
find /var/www -type d -exec sudo chmod 2775 {} \;
find /var/www -type f -exec sudo chmod 0664 {} \;

CentOS 8 e 7

1.    Execute o seguinte comando:

sudo usermod -a -G www-data ubuntu

2.    Faça logoff e, em seguida, faça logon novamente para selecionar o novo grupo. Verifique sua associação executando “group” (grupo):

sudo chown -R ubuntu:www-data /var/www
sudo chmod 2775 /var/www
find /var/www -type d -exec sudo chmod 2775 {} \;
find /var/www -type f -exec sudo chmod 0664 {} \;

Seu site está pronto

Acesse o endereço IP público da instância em um navegador da Web para ver a página da Web padrão. Seu site agora está pronto para personalização.


Este artigo ajudou?


Precisa de ajuda com faturamento ou suporte técnico?