Como instalar o LAMP + NextCloud no Lightsail AWS (Ubuntu 20.04)

1. Crie uma instância no Lighsail:

Depois de criado: 

Etapa 1: atualizar pacotes de software

sudo apt update

sudo apt upgrade

Etapa 2: instalar o servidor Web Apache

sudo apt install -y apache2 apache2-utils
systemctl status apache2


sudo systemctl enable apache2
Se você estiver usando o firewall UFW, execute este comando para abrir a porta TCP 80.
sudo ufw allow http
Agora precisamos definir  www-data (usuário do Apache) como o proprietário da raiz do documento (também conhecido como raiz da web). Por padrão, é de propriedade do usuário root.
sudo chown www-data:www-data /var/www/html/ -R
Habilite as portas do Firewall IPV4 que forem necessárias

sudo nano /etc/apache2/conf-available/servername.conf

Adicione a seguinte linha neste arquivo.

ServerName localhost
Salve e feche o arquivo. Para salvar um arquivo no editor de texto Nano, pressione Ctrl+Oe pressione Enter para confirmar. Para sair, pressione Ctrl+XEm seguida, habilite este arquivo de configuração.

sudo a2enconf servername.conf
Recarregue o Apache para que a mudança tenha efeito.
sudo systemctl reload apache2

Etapa 3: instalar o servidor de banco de dados MariaDB

sudo apt install mariadb-server mariadb-client

Depois de instalado, o servidor MariaDB deve ser iniciado automaticamente. Use systemctl para verificar seu status.

systemctl status mariadb
Para habilitar o MariaDB para iniciar automaticamente no momento da inicialização, execute
sudo systemctl habilitar mariadb

Agora execute o script de segurança pós-instalação.

sudo mysql_secure_installation


Em seguida, digite y para definir a senha raiz para o servidor MariaDB.

  • password mariadb: EXEMPLO zyWN22S8Uxtd


sudo mariadb -u root
exit;

Etapa 4: Instale o PHP7.4

No momento em que este artigo foi escrito, o PHP7.4 era a versão estável mais recente do PHP e tinha uma pequena vantagem de desempenho sobre o PHP7.3. Digite o seguinte comando para instalar o PHP7.4 e alguns módulos PHP comuns.

sudo apt install php7.4 libapache2-mod-php7.4 php7.4-mysql php-common php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-readline
Ative o módulo Apache php7.4 e reinicie o servidor Web Apache.
sudo a2enmod php7.4 

sudo systemctl reinicie o apache2

Verifique as informações da versão do PHP.

php --versão

Para testar scripts PHP com o servidor Apache, precisamos criar um  info.php arquivo no diretório raiz do documento.

sudo nano /var/www/html/info.php

Cole o seguinte código PHP no arquivo.

<?php phpinfo(); ?>
Para salvar um arquivo no editor de texto Nano, pressione Ctrl+Oe pressione Enter para confirmar. Para sair, pressione Ctrl+X


Como executar PHP-FPM com Apache

sudo a2dismod php7.4

sudo apt install php7.4-fpm
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php7.4-fpm
sudo systemctl restart apache2


Passo 1: Baixe o NextCloud no Ubuntu 20.04

 A versão estável mais recente é 21.0.1 no momento da redação deste artigo. Pode ser necessário alterar o número da versão. Acesse https://nextcloud.com/install e clique no download for server

Você pode executar o seguinte comando para baixá-lo em seu servidor.

wget https://download.nextcloud.com/server/releases/nextcloud- 21.0.1 .zip
sudo apt install unzip

sudo unzip nextcloud-21.0.1.zip -d /var/www/

-dopção especifica o diretório de destino. Os arquivos da Web NextCloud serão extraídos para /var/www/nextcloud/Em seguida, precisamos alterar o proprietário desse diretório para www-dataque o servidor web (Apache) possa gravar nesse diretório.

sudo chown www-data:www-data /var/www/nextcloud/ -R

Etapa 2: criar um banco de dados e um usuário para o Nextcloud no servidor de banco de dados MariaDB

sudo mariadb -u root
create database nextcloud;
create user nextclouduser@localhost identified by 'zyWN22S8Uxtd';
Conceda a este usuário todos os privilégios no banco de nextcloud dados.

grant all privileges on nextcloud.* to nextclouduser@localhost identified by 'zyWN22S8Uxtd';
flush privileges;

exit;

Etapa 3: criar um host virtual Apache para Nextcloud

sudo rm /etc/apache2/sites-available/000-default.conf 
sudo nano /etc/apache2/sites-available/000-default.conf
Copie e cole o seguinte texto no arquivo.

<VirtualHost *:80>

 # The ServerName directive sets the request scheme, hostname and port that

 # the server uses to identify itself. This is used when creating

 # redirection URLs. In the context of virtual hosts, the ServerName

 # specifies what hostname must appear in the request's Host: header to

 # match this virtual host. For the default virtual host (this file) this

 # value is not decisive as it is used as a last resort host regardless.

 # However, you must set it for any further virtual host explicitly.

 #ServerName www.example.com


        ServerAdmin webmaster@localhost

        DocumentRoot /var/www/html


        <Directory /var/www/html/>

            Options +FollowSymlinks

            AllowOverride All

           <IfModule mod_dav.c>

               Dav off

           </IfModule>


        SetEnv HOME /var/www/html

        SetEnv HTTP_HOME /var/www/html

       </Directory>


     ErrorLog ${APACHE_LOG_DIR}/error.log

     CustomLog ${APACHE_LOG_DIR}/access.log combined


# For most configuration files from conf-available/, which are

 # enabled or disabled at a global level, it is possible to

 # include a line for only one particular virtual host. For example the

 # following line enables the CGI configuration for this host only

 # after it has been globally disabled with "a2disconf".

 #Include conf-available/serve-cgi-bin.conf

</VirtualHost>


Salve e feche o arquivo. (Para salvar um arquivo no editor de texto Nano, pressione Ctrl+O, depois pressione Enterpara confirmar. Para sair, pressione Ctrl+X.)

Em seguida, habilite este host virtual.

sudo a2ensite 000-default.conf

Execute o seguinte comando para habilitar os módulos Apache necessários.

sudo a2enmod rewrite headers env dir mime setenvif ssl
sudo apache2ctl -t
sudo systemctl restart apache2

Etapa 4: instalar e habilitar módulos PHP

Execute os comandos a seguir para instalar os módulos PHP exigidos ou recomendados pelo NextCloud.

sudo apt install imagemagick php-imagick libapache2-mod-php7.4 php7.4-common php7.4-mysql php7.4-fpm php7.4-gd php7.4-json php7.4-curl php7.4-zip php7 .4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-bcmath php7.4-gmp

Recarregue o Apache para usar esses módulos.

sudo systemctl reload apache2

cd /var/www/nextcloud

sudo cp -R * /var/www/html

sudo cp -R .* /var/www/html

sudo chown www-data:www-data /var/www/html/ -R

sudo sed -i '/^memory_limit =/s/=.*/= 512M/' /etc/php/7.4/fpm/php.ini

Etapa 5: ativar HTTPS

Agora você pode acessar o assistente de instalação da Web do Nextcloud em seu navegador da Web digitando o nome de domínio para sua instalação do Nextcloud.

Se a página da web não carregar, você provavelmente precisará abrir a porta 80 no firewall.
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT

E a porta 443 também.

sudo iptables -I INPUT -p tcp --dport 443 -j ACCEPT


Antes de inserir qualquer informação sensível, devemos habilitar a conexão HTTPS segura no Nextcloud. Podemos obter um certificado TLS gratuito da Let's Encrypt. Instale o cliente Let's Encrypt (certbot) do repositório Ubuntu 20.04.

sudo apt install certbot python3-certbot-apache

Python3-certbot-apacheé o plug-in do Apache. Em seguida, execute o seguinte comando para obter um certificado TLS gratuito usando o plug-in Apache.

sudo certbot --apache --agree-tos --redirect --staple-ocsp --email you@example.com -d nextcloud.example.com


Referências:

https://www.linuxbabe.com/ubuntu/install-lamp-stack-ubuntu-20-04-server-desktop

https://www.linuxbabe.com/ubuntu/install-nextcloud-ubuntu-20-04-apache-lamp-stack

Comentários

Postagens mais visitadas deste blog

Instalando Certificado Digital (pfx) no Linux / Ubuntu

Como instalar PSIM 9.0.3.400 no Ubuntu (14.04 ou 16.04)

Instalar Issabel no centOs7 Lightsail AWS