Post

Exemplo de instalação no Ubuntu 22.04 LTS

Iniciando a Instalação/Configuração - Ubuntu 22.04 LTS

Iniciando a Instalação/Configuração - Ubuntu 22.04 LTS

1
2
3
4
5
$ sudo apt update && sudo apt upgrade

$ sudo apt install apache2 mariadb-server libapache2-mod-php php-gd php-mysql \

php-curl php-mbstring php-intl php-gmp php-bcmath php-xml php-imagick imagemagick php-zip

Para iniciar o modo de linha de comando do MySQL, use o seguinte comando e pressione a tecla enter quando for solicitada uma senha:

1
$ sudo mysql

Em seguida, um prompt MariaDB [root]> aparecerá. Agora insira as seguintes linhas, substituindo o nome de usuário e a senha pelos valores apropriados, e confirme-os com a tecla Enter:

1
2
3
4
5
6
7
CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'P@ssW0rDs2';

CREATE DATABASE IF NOT EXISTS nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost';

FLUSH PRIVILEGES;

Você pode sair do prompt digitando:

quit;

AVISO: Os campos que estiverem o nome nextcloud e P@ssW0rDs2, mudar de acordo com sua preferência.

Agora baixe o arquivo da última versão do Nextcloud

  • Vá para a página de download do Nextcloud.
  • Vá para : Get Nextcloud > Nextcloud Server > Community Projects e baixe o arquivo tar.bz2 ou .zip.
  • Isso baixa um arquivo chamado nextcloud-xyztar.bz2 ou nextcloud-xyz.zip (onde xyz é o número da versão).
  • Baixe seu arquivo de soma de verificação correspondente, por exemplo, nextcloud-xyztar.bz2.md5 ou nextcloud-xyztar.bz2.sha256.
  • Verifique a soma MD5 ou SHA256:
  • Se preferir, pode baixar usando o wget;
  • wget https://download.nextcloud.com/server/releases/nextcloud-27.1.3.zip
  • https://download.nextcloud.com/server/releases/nextcloud-27.1.3.zip.md5
1
md5sum -c nextcloud-x.y.z.zip.md5 < nextcloud-x.y.z.zip

Agora você pode extrair e copiar o conteúdo para o diretório raiz do Apache.

1
2
$ sudo rm -rf /var/www/html/
$ sudo unzip nextcloud-x.y.z.zip -d /var/www

Configurar o Apache requer a criação de um único arquivo de configuração. No Debian, Ubuntu e seus derivados, este arquivo será;

1
2
$ sudo touch /etc/apache2/sites-available/nextcloud.conf
$ sudo vim /etc/apache2/sites-available/nextcloud.conf

Para utilizar a instalação host virtual, coloque o seguinte em seu nextcloud.conf substituindo ServerName, bem como os DocumentRoot e Diretório com valores apropriados para o seu sistema:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<VirtualHost *:80>
  DocumentRoot /var/www/nextcloud/
  ServerName  seu.server.com

  <Directory /var/www/nextcloud/>
    Require all granted
    AllowOverride All
    Options FollowSymLinks MultiViews

    <IfModule mod_dav.c>
      Dav off
    </IfModule>

  </Directory>
</VirtualHost>

Ajustando o Apache

1
2
3
$ sudo a2dissite 000-default.conf
$ sudo a2ensite nextcloud.conf
$ sudo systemctl restart apache2

Configurações adicionais do Apache

1
2
$ sudo a2enmod dir env headers mime rewrite ssl
$ sudo systemctl restart apache2

Configurar NextCloud para SSL

Editando config e adicionando parâmetros para forçar o SSL.

1
2
3
4
5
$ sudo vim /var/www/nextcloud/config/config.php

'forcessl' => true,

'forceSSLforSubdomains' => true,

Redirecionar HTTP para HTTPS

Edite o nexcloud.conf e adicione o redirect.

1
$ sudo vim /etc/apache2/sites-available/nextcloud.conf

Redirect permanent / https://cloud.nextcloud.com/

Certificado Let’s Encrypt

Para obter um certificado e fazer com que o Certbot edite sua configuração do apache automaticamente.

1
2
$ sudo apt install certbot certbot-apache2
$ sudo certbot --apache

Renovar Individual

1
$ sudo certbot certonly --manual -d seu.cloud.com

Arquivo de Configuração de Renovação Automática

AVISO: Não precisa configurar, porque já no ato da instalação ele já cria um arquivo no cron

1
$ sudo vim /etc/cron.d/certbot 

Aplicando as configurações

1
$ sudo a2ensite /etc/apache2/sites-available/nextcloud-le-ssl.conf

Ativar Segurança de Transporte Estrito HTTP

Embora redirecionar todo o tráfego para HTTPS seja bom, pode não impedir completamente os ataques Man-In-The-Middle.

Isso pode ser obtido definindo as seguintes configurações no arquivo Apache VirtualHost:

1
$ sudo vim /etc/apache2/sites-available/nextcloud-le-ssl.conf
1
2
3
4
5
6
<VirtualHost *:443>
  ServerName seu.nextcloud.com
    <IfModule mod_headers.c>
      Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
    </IfModule>
 </VirtualHost>

Assistente de instalação - Pelo Browser

Após reiniciar o Apache, você deve concluir a instalação executando o Assistente de Instalação gráfico ou na linha de comando com o occ comando. Para habilitar isso, mude a propriedade em seus diretórios Nextcloud para seu usuário HTTP:

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

Agora você deve conseguir acessar sua instância Nextcloud navegando até http://YOUR-SERVER-LOCAL-IP ou https://cloud.nextcloud.com

URLs Bonitos

Os URLs bonitos removem a (index.php) parte-em todos os URLs do Nextcloud. (mod_env) e (mod_rewrite) deve ser instalado/ativados em seu servidor web e .htaccess deve ser gravável pelo usuário HTTP. Então você pode definir as (config.php) duas variáveis:

1
$ sudo vim /var/www/nextcloud/config/config.php

‘overwrite.cli.url’ => ‘https://cloud.nextcloud.com/’,

‘htaccess.RewriteBase’ => ‘/’,

Se não estiver instalado em uma subpasta. Por fim, execute este comando occ para atualizar seu arquivo .htaccess:

1
$ sudo -u www-data php /var/www/nextcloud/occ maintenance:update:htaccess

Crontab

Isso executará o cronjob do Nextcloud a cada 5 minutos - https://crontab.guru/every-5-minutes

Use o serviço cron do sistema para chamar o arquivo cron.php a cada 5 minutos. O cron.php precisa ser executado pelo usuário de sistema “www-data”

1
$ sudo crontab -u www-data -e

Se solicitado, pressione “1” para usar o editor nano (que é muito fácil de usar) e adicione a seguinte linha ao seu arquivo crontab:

1
*/5 * * * * php -f /var/www/nextcloud/cron.php

Depois ir em: configurações , configurações básicas e cron.

Habilitar Cache - (Redis)

No Debian / Ubuntu / Mint, instale redis-server e php-redis. O instalador irá iniciar automaticamente redis-servere configurá-lo para iniciar na inicialização.

1
$ sudo apt install php-redis redis-server

Você pode verificar se o daemon Redis está sendo executado com: ps ax

1
$ ps ax | grep redis

Depois, abra o arquivo de configuração do Redis em /etc/redis/redis.conf

1
$ sudo vim /etc/redis/redis.conf

Agora, encontre e altere:

1
port 6379 para port 0

Em seguida, descomente:

1
2
3
unixsocket /var/run/redis/redis.sock
unixsocketperm 700 alterando as permissões para 770 ao mesmo tempo:
unixsocketperm 770

Salve e saia, em seguida, adicione o usuário Apache www-data ao redis grupo:

1
sudo usermod -a -G redis www-data

Finalmente, reinicie o Apache com:

1
$ sudo systemctl restart apache2.service

Com Redis configurado, adicione;

1
2
3
4
5
6
7
8
9
10
11
12
13
$ sudo vim /var/www/nextcloud/config/config.php

'memcache.local' => '\OC\Memcache\Redis',

'memcache.distributed' => '\OC\Memcache\Redis',

'redis' => [

  'host'   => '/var/run/redis/redis-server.sock',

  'port'   => 0,

], 

AVISO: Se der algum erro ou não carregar a página, reinicie o seu servidor…

Fornecimento de arquivos padrão

Você pode distribuir um conjunto de arquivos e pastas padrão para todos os usuários.

1
2
3
4
5
6
7
$ sudo mkdir -p /media/cloud/core/skeleton

$ sudo mkdir -p /media/cloud/core/templates

$ sudo vim /var/www/nextcloud/config/config.php

'skeletondirectory' => '/media/cloud/core/skeleton',

Para arquivos de Modelos.

1
2
3
4
5
'templatedirectory' => '/media/cloud/core/templates',

$ sudo chown -R www-data:www-data /media/cloud/core/skeleton/

$ sudo systemctl restart apache2.service 

Deixe em branco para não copiar nenhum arquivo de modelo.

AVISO: Substituir os arquivos (core/skeleton) não é recomendado, porque essas alterações serão substituídas na próxima atualização do servidor Nextcloud.

Mover diretório de dados Nextcloud

AVISO: Certifique-se de que a pasta “data” no diretório de destino ainda não exista!

1
2
3
$ sudo mkdir -p /media/cloud/data

$ sudo cp -a /var/www/nextcloud/data/. /media/cloud/data/

Em seguida, atualize a configuração do Nextcloud para refletir o novo diretório de dados:

1
2
3
4
5
6
7
$ sudo vim /var/www/nextcloud/config/config.php

'datadirectory' => '/media/cloud/data',

$ sudo chown -R www-data:www-data /media/cloud/data

$ sudo rm -rf /var/www/nextcloud/data

Finalizar Sessão

1
2
3
4
5
6
7
$ sudo vim /var/www/nextcloud/config/config.php

'session_lifetime' => 3600,

'session_keepalive' => false,

'remember_login_cookie_lifetime' => 0,

Isso define o idioma padrão em seu servidor Nextcloud

1
2
3
4
5
6
7
8
9
$ sudo vim /var/www/nextcloud/config/config.php 

'default_language' => 'pt_BR',

'force_language' => 'pt_BR',

'default_locale' => 'pt_BR',

'force_locale' => 'pt_BR',

AVISO: Se a configuração: 'force_language' for forçado, os usuários também não poderão alterar seu idioma nas configurações pessoais. Se os usuários não conseguirem alterar seu idioma, mas os usuários tiverem idiomas diferentes, esse valor pode ser definido como em true vez de um código de idioma.

Habilitar .htaccess

O .htaccess arquivo não funciona porque colocamos Nextcloud na /var/www/ principal controlada pelo apache2.conf arquivo. Por padrão, ele é definido para não permitir .htaccess substituições e vamos precisar mudar isso:

1
$ sudo vim /etc/apache2/apache2.conf

De;

1
2
3
4
5
6
7
8
9
<Directory /var/www/>     

    Options Indexes FollowSymLinks

    AllowOverride None  

    Require all granted

</Directory>

Para;

1
2
3
4
5
6
7
8
9
<Directory /var/www/>

    Options Indexes FollowSymLinks

    AllowOverride All

    Require all granted

</Directory>
Esta postagem está licenciada sob CC BY 4.0 pelo autor.

Tags de tendência