Если человечество вдруг исчезнет, оно в самом деле убьет своих мертвецов (Ж. Сартр).

Как установить NextCloud 14 на CentOS 7

5 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)
Загрузка...
17 сентября 2018
Как установить NextCloud 14 на CentOS 7
Nextcloud –  это один из самых популярных наборов программного обеспечения с открытым исходным кодом. Вы можете использовать его для хранения ваших личных файлов, контактов, изображений, музыки и многое другое, и это позволяет вам получить к ним доступ или поделиться им с друзьями в любое время. Это популярная альтернатива другому широко используемому файловому хостингу с именем ownCloud. В этой статье мы покажем вам, как установить последнюю версию Nextcloud 14 на CentOS.

Необходимое условие

  • CentOS 7
  • Доступ SSH с привилегиями root
  • PHP 7 или выше

 

Шаг 1: Войдите на свой сервер через SSH:

ssh root@IP_Address -p Port_number

 

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

cat /etc/redhat-release

 

который должен дать вам следующий вывод:

CentOS Linux release 7.5.1804 (Core)

 

Шаг 2: Обновление системы

Убедитесь, что ваш сервер полностью обновлен:

yum update

 

Если ваша система не была обновлена, установите репозиторий epel.

yum install -y epel-release

 

Шаг 3. Установка веб-сервера

На этом шаге вы можете выбрать, хотите ли вы установить Apache или Nginx.

Установка веб-сервера Nginx

yum install nginx

 

Включите Nginx для запуска при загрузке и запуска службы, используя:

systemctl enable nginx

systemctl start nginx

 

Установка веб-сервера Apache

Если вы хотите выбрать Apache вместо Nginx, вы можете пропустить установку nginx, и установить Apache.

yum install httpd

 

Включите Apache, чтобы начать загрузку и запустить службу, используя:

systemctl enable httpd

systemctl start httpd

 

Шаг 4: Установите PHP 7

Версия PHP по умолчанию для CentOS 7 – это PHP 5.4, а для Nextcloud 14 требуется PHP 7 или выше, на этом этапе мы установим PHP версии 7.

Установите пакеты репозитория Remi и EPEL:

rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Включение Remi PHP 7 repo:

yum-config-manager --enable remi-php70

 

и установите PHP 7 и несколько PHP-модулей, требуемых Nextcloud, выполнив следующую команду:

yum install php php-mysql php-pecl-zip php-xml php-mbstring php-gd php-fpm php-intl

 

Теперь давайте найдем следующие строки в /etc/php-fpm.d/www.conf

user = apache
group = apache

 

Замените значения на

user = nginx
group = nginx

 

Затем измените разрешение для каталога сеансов PHP, вам нужно пропустить этот шаг, если вы хотите использовать Apache вместо Nginx.

chown -R root:nginx /var/lib/php/session/

 

Наконец, перезапустите php-fpm

systemctl restart php-fpm

 

Шаг 5: Установка сервера базы данных MariaDB

nano /etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck = 1
yum install MariaDB-server MariaDB-client
systemctl start mariadb
systemctl enable mariadb
systemctl status mariadb

 

На этом этапе MariaDB запущен, и теперь мы создадим пароль для пользователя root. Выполните следующую команду, чтобы создать пароль root, удалить тестовую базу данных, удалить анонимного пользователя, а затем перезагрузить эти привилегии.

mysql_secure_installation

Как установить NextCloud 14 на CentOS 7

 

После создания вы можете протестировать пароль, вызвав эту команду, вам будет предложено ввести пароль:

mysql -u root -p

 

Шаг 6. Создание базы данных.

mysql -uroot -p -e "CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci"
mysql -uroot -p -e "GRANT ALL on nextcloud.* to nextcloud@localhost identified by 'M0d1fyth15'"
mysql -uroot -p -e "FLUSH privileges"

 

Шаг 7. Настройка веб-сервера.

На предыдущем шаге вы выбрали веб-сервер для установки, теперь вам нужно его настроить.

Конфигурация Nginx

Если вы хотите использовать nginx, создайте файл конфигурации для блока сервера nginx

nano /etc/nginx/conf.d/ваш_домен.ру.conf
upstream php {
server 127.0.0.1:9000;
}

server {
server_name ваш_домен.ру;

add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection “1; mode=block”;
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;

Путь к корневому каталогу установки
root /var/www/nextcloud/;

location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}

location = /.well-known/carddav {
return 301 $scheme://$host/remote.php/dav;
}

location = /.well-known/caldav {
return 301 $scheme://$host/remote.php/dav;
}

установить максимальный размер загружаемого файла
client_max_body_size 512M;
fastcgi_buffers 64 4K;

Включить gzip, но не удалять заголовки ETag
gzip on;
gzip_vary on;
gzip_comp_level 4;
gzip_min_length 256;
gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;
gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy;

location / {
rewrite ^ /index.php$request_uri;
}

location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
deny all;
}
location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
deny all;
}

location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+)\.php(?:$|/) {
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param HTTPS on;
#Avoid sending the security headers twice
fastcgi_param modHeadersAvailable true;
fastcgi_param front_controller_active true;
fastcgi_pass php;

fastcgi_intercept_errors on;
fastcgi_request_buffering off;
}

location ~ ^/(?:updater|ocs-provider)(?:$|/) {
try_files $uri/ =404;
index index.php;
}

Добавление заголовка cache control для файлов js и css
Убедитесь, что он находится ниже блока PHP
location ~ \.(?:css|js|woff|svg|gif)$ {
try_files $uri /index.php$request_uri;
add_header Cache-Control “public, max-age=15778463”;

add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection “1; mode=block”;
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
Необязательно: не журналировать доступ к ресурсам
access_log off;
}

location ~ \.(?:png|html|ttf|ico|jpg|jpeg)$ {
try_files $uri /index.php$request_uri;
Необязательно: не регистрировать доступ к другим ресурсам
access_log off;
}
}

 

Проверьте конфигурационный файл nginx, затем перезапустите службу

nginx -t
systemctl restart nginx

 

Конфигурация Apache

Создайте файл конфигурации виртуального хоста для домена, который вы хотите использовать для размещения Nextcloud.

nano /etc/httpd/conf.d/ваш_домен.ру.conf
<VirtualHost *:80>

ServerAdmin admin@ваш_домен.ру
DocumentRoot /var/www/nextcloud
ServerName ваш_домен.ру
ServerAlias www.ваш_домен.ру

<Directory /var/www/html/nextcloud>
Options +FollowSymlinks
AllowOverride All

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

SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
</Directory>

ErrorLog /var/log/httpd/nextcloud-error_log
CustomLog /var/log/httpd/nextcloud-access_log common

</VirtualHost>

 

Перейдите на официальный сайт Nextcloud и загрузите последнюю стабильную версию приложения

wget https://download.nextcloud.com/server/releases/nextcloud-14.0.0.zip

 

Распакуйте загруженный zip-архив в корневой каталог документа на вашем сервере

unzip nextcloud-14.0.0.zip -d /var/www/
mkdir /var/www/nextcloud/data
chown -R nginx: /var/www/nextcloud

Если вы выбрали Apache, то вам нужно установить разрешение для пользователя Apache

chown -R apache: /var/www/nextcloud

Теперь вы можете продолжить установку Nextcloud 14 через веб-установщик по адресу http://ваш_домен.ру, нажмите на кнопку “Готово”, чтобы закончить установку.
Как установить NextCloud 14 на CentOS 7

 

Рекомендуется запустить Nextcloud 14 в режиме https. Для этого нам нужно будет установить SSL-сертификат. На этом этапе мы покажем вам, как установить сертификат SSL из Let’s Encrypt.

yum install certbot-nginx certbot-apache
certbot

 

Вам будет предложено указать ваш адрес электронной почты, тогда вам нужно согласиться с ToS, чтобы продолжить установку сертификата.

Если при запросе сертификата нет проблем, Certbot автоматически отредактирует ваш существующий блок сервера nginx для установки сертификата.

На этом этапе вы можете получить доступ к своей установке Nextcloud 14 на https://ваш_домен.ру.

И вот что, с последнего шага этой статьи мы успешно установили Nextcloud 14 на вашем CentOs 7, и вы можете войти в систему с учетными данными пользователя вашего администратора. Для получения дополнительной информации вы можете посетить официальную документацию Nextcloud 14.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Просмотров: 173

Если статья понравилась, то поделитесь ей в социальных сетях:

2 комментария к Как установить NextCloud 14 на CentOS 7

  1. Дмитрий:

    # [mariadb]
    name = MariaDB
    baseurl = http://yum.mariadb.org/10.2/centos7-amd64
    gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
    gpgcheck = 1

    раскомментируйте “# [mariadb]” а то неполучится

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close