Como faço para instalar manualmente uma pilha LAMP na minha instância do Lightsail?

7 minuto de leitura
0

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

Resolução

**Observação:**A solução a seguir é para a maioria das principais distribuições Linux que estão disponíveis na opção Somente sistema operacional no Amazon Lightsail. Isso inclui 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 Instalar o servidor web LAMP no Amazon Linux 2.

Para obter informações sobre como instalar uma pilha LAMP no Amazon Linux, consulte Instalar o servidor web LAMP no Amazon Linux.

Instale 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

Instale o PHP

**Observação:**As etapas a seguir instalam a versão mais recente do pacote, PHP 8.0. Por padrão, o PHP 8.0 não está presente na maioria das distribuições. Para instalar o PHP 8.0, ative os repositórios de terceiros.

Ubuntu 20.04 e Ubuntu 18.04

Para instalar o PHP, execute os seguintes comandos:

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

Para instalar o PHP, execute os seguintes comandos:

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

Para instalar o PHP, execute os seguintes comandos:

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

Para instalar o PHP, execute os seguintes comandos:

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

Habilite o módulo PHP-FPM

O módulo PHP-FPM fornece um site mais rápido. Embora o PHP-FPM seja opcional, é uma prática recomendada usá-lo para a maioria da 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 atual do PHP 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
  1. 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 do 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 atual do PHP 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 com o repositório MariaDB.

  1. Execute o comando a seguir para adicionar o repositório MariaDB yum (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 comando a seguir para concluir a instalação segura do MariaDB e definir a senha root:

    sudo mysql_secure_installation
  4. Quando solicitado, defina uma senha para a conta raiz:
    Digite a senha raiz atual. Por padrão, a conta root não tem uma senha definida.
    Pressione Enter.
    Pressione N para alternar para a autenticação unix\ _socket.
    Pressione Y para definir uma senha e, em seguida, digite uma senha segura duas vezes. Guarde essa senha em um local seguro.
    Pressione Y para remover as contas de usuário anônimas.
    Pressione Y para desativar o login root remoto.
    Pressione Y para remover o banco de dados de teste.
    Pressione Y para recarregar as tabelas de permissões e salvar suas alterações.

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

Para transferir a instância do seu site com SCP/SFTP, como melhor prática, defina permissões para que o outro usuário acesse o diretório /var/www. Para obter instruções sobre como definir permissões, consulte a seção Para definir permissões de arquivo da Etapa 1: Prepare o servidor LAMP. As etapas a seguir fornecem as permissões necessárias 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 do diretório para o usuário padrão e o grupo Apache.

Conclua as seguintes etapas:

Ubuntu 20.04 e 18.04

  1. Execute o seguinte comando:

    sudo usermod -a -G www-data ubuntu
  2. Saia e entre novamente para pegar o novo grupo. Em seguida, execute o comando group para verificar sua associação:

    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. Saia e entre novamente para pegar o novo grupo. Em seguida, execute o comando group para verificar sua associação:

    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. Saia e entre novamente para pegar o novo grupo. Execute o comando group para verificar sua associação:

    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 {} \;

Exibir a página da web padrão

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

AWS OFICIAL
AWS OFICIALAtualizada há 9 meses