установкаДЫРЯВАЯ!!! чисто поглядеть логи!!

ПЫх нужен 7.2

 

sudo apt-get install software-properties-common python-software-properties

 

 

Затем добавьте ondrej PPA и обновите свои источники:

 

sudo add-apt-repository -y ppa:ondrej/php

sudo apt-get update

 

 

Шаг 4. Установка PHP 7.2.

Установите PHP 7.2, используя следующую команду:

 

sudo apt-get install php7.2 php7.2-cli php7.2-common

 

 

Шаг 5: Поиск и установка определенных расширений PHP 7.2

Если вы хотите установить определенное расширение PHP 7.2, вы можете выполнить поиск, если он доступен, используя следующую команду:

 

sudo apt search php7.2

 

 

Шаг 7. Установка наиболее часто используемых расширений PHP.

Чтобы установить наиболее часто используемые расширения PHP, вы можете использовать следующую команду:

 

sudo apt-get install php7.2-curl php7.2-gd php7.2-json php7.2-mbstring php7.2-intl php7.2-mysql php7.2-xml php7.2-zip

 

 

 

Далее

 

Nextcloud: своё облако. Установка на свой сервер

 

 

Обновляем список пакетов

sudo apt-get update

 

Apache

Устанавливаем веб-сервер Apache2

sudo apt-get install apache2

 

Отредактируем конфигурацию

sudo nano /etc/apache2/apache2.conf

 

В конце файла дописываем две строчки, подставив свои значения:

ServerName IP-адрес-сервера

ServerName ваш-домен

 

Включим мод headers, пригодится в дальнейшем

sudo a2enmod headers

 

LetsEncrypt

Установим сертификат для шифрованного соединения, если у вас есть домен. Очень желательно.

 

Добавляем репозиторий для LetsEncrypt Certbot

sudo add-apt-repository ppa:certbot/certbot

 

Обновляем список пакетов

sudo apt-get update

 

Устанавливаем Certbot

sudo apt-get install python-certbot-apache

 

Получаем сертификат

sudo certbot —apache -d ваш-домен

 

ответьте на вопросы: предоставьте ваш e-mail, согласитесь с условиями, при выборе перенаправления выберите вариант «2 — redirect»

Настроим автоматическое обновление сертификатов раз в три месяца

sudo crontab -e

 

выберите редактирование через nano, допишите следующую строчку и сохраните файл:

15 3 * * * /usr/bin/certbot renew —quiet

 

MySQL

Установим базу данных MySQL

sudo apt-get install mysql-server

 

Задайте рут-пароль для базы данных. Обязательно запомните или запишите его.

 

Затем запустите команду для настройки безопасности

mysql_secure_installation

 

Ответьте на несколько вопросов. Можете отказаться от принудительной проверки сложности пароля и замены рут-пароля (первые два вопроса, отвечайте ‘N’), на остальные вопросы отвечайте ‘Y’.

 

PHP

 

Установим PHP 7 и нужные модули

sudo apt-get install php libapache2-mod-php php-mcrypt php-mysql

 

Добавим php-cli

sudo apt-get install php-cli

 

И модуль для кэширования php-apcu

apt-get install php-apcu

 

Откроем файл конфигурации и отредактируем его

sudo nano /etc/apache2/mods-enabled/dir.conf

 

В списке файлов index с разным расширением, перепишите его так, чтобы в начале был index.php.

 

Перезапустите Apache

sudo systemctl restart apache2

 

Директория для файлов

Папку для личных файлов лучше создать в отдельном месте на сервере, а не так, как по-умолчанию хочет сделать NextCloud. Это нужно для повышения безопасности.

 

Создадим директорию в /media/

sudo mkdir /media/nextcloud/

 

Изменим права доступа к директории

chown -R www-data:www-data /media/nextcloud/

 

NextCloud

 

Скачаем последнюю версию NextCloud в формате *.tar.bz2 с официального сайта. Для этого в браузере откройте страницу релизов и найдите новую версию. На момент написания этой статьи свежая версия 12.0.2, поэтому ссылка будет такая:

https://download.nextcloud.com/server/releases/nextcloud-12.0.2.tar.bz2

Скопируйте её в буфер обмена.

 

Вернёмся в PuTTY. Перейдите во временную директорию

cd /tmp

 

Скачайте архив с NextCloud, замените ссылку на самую свежую.

curl -LO https://download.nextcloud.com/server/releases/nextcloud-12.0.2.tar.bz2

 

Распакуйте архив

sudo tar -C /var/www -xvjf /tmp/nextcloud-12.0.2.tar.bz2

 

Создайте скрипт для установки

nano /tmp/nextcloud.sh

 

Вставьте в него следующий код

#!/bin/bash

ocpath=’/var/www/nextcloud’

htuser=’www-data’

htgroup=’www-data’

rootuser=’root’

printf «Creating possible missing Directories\n»

mkdir -p $ocpath/data

mkdir -p $ocpath/assets

mkdir -p $ocpath/updater

printf «chmod Files and Directories\n»

find ${ocpath}/ -type f -print0 | xargs -0 chmod 0640

find ${ocpath}/ -type d -print0 | xargs -0 chmod 0750

chmod 755 ${ocpath}

printf «chown Directories\n»

chown -R ${rootuser}:${htgroup} ${ocpath}/

chown -R ${htuser}:${htgroup} ${ocpath}/apps/

chown -R ${htuser}:${htgroup} ${ocpath}/assets/

chown -R ${htuser}:${htgroup} ${ocpath}/config/

chown -R ${htuser}:${htgroup} ${ocpath}/data/

chown -R ${htuser}:${htgroup} ${ocpath}/themes/

chown -R ${htuser}:${htgroup} ${ocpath}/updater/

chmod +x ${ocpath}/occ

printf «chmod/chown .htaccess\n»

if [ -f ${ocpath}/.htaccess ]

then

chmod 0644 ${ocpath}/.htaccess

chown ${rootuser}:${htgroup} ${ocpath}/.htaccess

fi

if [ -f ${ocpath}/data/.htaccess ]

then

chmod 0644 ${ocpath}/data/.htaccess

chown ${rootuser}:${htgroup} ${ocpath}/data/.htaccess

fi

 

Выполните скрипт

sudo bash /tmp/nextcloud.sh

 

Создайте файл конфигурации NextCloud в Apache

sudo nano /etc/apache2/sites-available/nextcloud.conf

 

Вставьте следующий текст

Alias /nextcloud «/var/www/nextcloud/»

<Directory /var/www/nextcloud/>

Options +FollowSymlinks

AllowOverride All

<IfModule mod_dav.c>

Dav off

</IfModule>

SetEnv HOME /var/www/nextcloud

SetEnv HTTP_HOME /var/www/nextcloud

</Directory>

<VirtualHost *:443>

ServerName ваш_домен

<IfModule mod_headers.c>

Header always set Strict-Transport-Security «max-age=15552000; includeSubDomains»

 

</IfModule>

</VirtualHost>

 

Активируйте файл конфигурации

sudo a2ensite nextcloud

 

Включите дополнительные параметры

sudo a2enmod rewrite

sudo apt-get install php-bz2 php-curl php-gd php-imagick php-intl php-mbstring php-xml php-zip

 

Перезагрузите Apache

sudo systemctl reload apache2

 

Создадим базу MySQL

Перейдём в MySQL, при входе понадобится рут-пароль MySQL, который мы создавали ранее.

mysql -u root -p

 

Создадим новую базу данных под названием nextcloud

CREATE DATABASE nextcloud;

 

Зададим ей параметры, не забудьте вставить новый пароль

GRANT ALL ON nextcloud.* to ‘nextcloud’@’localhost’ IDENTIFIED BY ‘ваш_новый_пароль_для_базы’;

 

Сбросим параметры и выйдем из MySQL

FLUSH PRIVILEGES

exit

 

Настраиваем NextCloud

В браузере откройте https://ip_или_домен/nextcloud

 

Если всё сделано правильно, вы увидите страницу NextCloud и приглашение создать учётную запись администратора:

 

Первые два поля — имя и пароль для учётной записи администратора

 

Data folder: укажите директорию, которую вы создали в шаге «Директория для файлов», в примере это /media/nextcloud

 

Configure the database

Нужно указать параметры, которые мы использовали в шаге «Создадим базу MySQL»

 

Первая строчка — имя базы данных

 

Вторая строчка — пароль базы данных (не рут-пароль!)

 

Третья строчка — пользователь

 

Четвёртая строчка — адрес для обращения к базе данных, это должен быть localhost и порт 5342

 

Поздравляем, NextCloud установлен и работает, вы находитесь в учётке администратора.

 

Настройка безопасности

При первом входе в админку вы увидите сообщение, что требуется дополнительная настройка, чтобы обезопасить ваш сервер. Сейчас расскажу, что нужно сделать.

 

Редактируем .htaccess

sudo nano /var/www/nextcloud/.htaccess

 

Сразу после строчки

<IfModule mod_headers.c>

 

добавьте

Header always set Strict-Transport-Security «max-age=15768000; includeSubDomains; preload»

 

Удаляем страницу Apache по-умолчанию

sudo rm -rf /var/www/html/

 

ВНИМАНИЕ: выполните команду только в том случае, если сервер был чистый, а в директории /var/www/html нет ничего ценного.

 

Включаем memcache

 

Остановим Apache

sudo systemctl stop apache2

 

Отредактируем конфигурацию NextCloud

sudo nano /var/www/nextcloud/config/config.php

 

В конце файла перед символами ); добавим строчку

‘memcache.local’ => ‘\OC\Memcache\APCu’,

 

Откроем файл конфигурации Apache PHP

sudo nano /etc/php/7.0/apache2/php.ini

 

В файле много текста. Листайте, пока не найдёте раздел, посвящённый opcache, затем вставьте туда следующие параметры:

 

opcache.enable=1

opcache.enable_cli=1

opcache.interned_strings_buffer=8

opcache.max_accelerated_files=10000

opcache.memory_consumption=128

opcache.save_comments=1

opcache.revalidate_freq=1

 

Перезапускаем Apache.

sudo systemctl reload apache2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для справки

 

Теперь PHP 7.2 был установлен на вашем сервере Ubuntu, и если мы хотим изменить версию PHP по умолчанию на PHP 7.2, которая используется веб-сервером, нам нужно отключить старую версию PHP 7.0 и включить вновь установленную.

 

Отключить php 7.0

a2dismod php7.0

 

 

Включить php 7.2

a2enmod php7.2

 

 

Перезапустите веб-сервер Apache, чтобы изменения вступили в силу:

 

systemctl restart apache2