Como instalo manualmente uma pilha LAMP em minha instância do Lightsail?
Data da última atualização: 21/03/2022
Quero instalar manualmente uma pilha Lamp (Linux, Apache, MySQL, PHP) em 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 apache centos
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 centos:apache /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?