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

NextCloud, как следует из его названия, является многообещающей альтернативой другого решения для хостинга файлов с открытым исходным кодом OwnCloud.

В этой статье я покажу вам, как установить NextCloud на экземпляр сервера Vultr CentOS 7.

Предпосылки

  • Недавно созданный экземпляр сервера Vultr CentOS 7.
  • Пользователь Sudo для входа в систему .

Шаг 1: Обновите систему

Войдите в систему CentOS 7 как пользователь sudo, а затем обновите систему до последнего стабильного состояния:

sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now

После перезагрузки все еще используйте того же пользователя sudo для входа в систему.

Шаг 2: Установите Apache

Установите Apache в качестве веб-сервера для NextCloud:

sudo yum install httpd -y

Отключите предварительно установленную страницу приветствия Apache:

sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf

В целях безопасности не разрешайте Apache отображать содержимое в корневом веб-каталоге /var/www/html:

sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf

Запретить Apache загружать модули WebDAV, как того требует NextCloud:

sudo sed -i 's/^/#&/g' /etc/httpd/conf.modules.d/00-dav.conf

Запустите сервис Apache и запустите его при загрузке:

sudo systemctl start httpd.service
sudo systemctl enable httpd.service

Шаг 3: Установите PHP и необходимые расширения PHP

NextCloud рекомендует использовать PHP 5.6. Здесь вы можете установить PHP 5.6 и необходимые расширения PHP с помощью репозитория IUS YUM.

Установите репозиторий IUS YUM:

cd
wget https://centos7.iuscommunity.org/ius-release.rpm
sudo rpm -Uvh ius-release.rpm

Установите PHP 5.6 и необходимые расширения, используя репозиторий IUS YUM:

sudo yum install php56u php56u-common php56u-xml php56u-gd php56u-mbstring php56u-process php56u-mysqlnd php56u-intl php56u-mcrypt php56u-imap php56u-cli -y

Увеличьте размер загружаемого файла до подходящего значения, скажем, 50 МБ:

sudo cp /etc/php.ini /etc/php.ini.bak
sudo sed -i "s/post_max_size = 8M/post_max_size = 50M/" /etc/php.ini
sudo sed -i "s/upload_max_filesize = 2M/upload_max_filesize = 50M/" /etc/php.ini

Перезапустите Apache, чтобы применить вышеуказанные модификации:

sudo systemctl restart httpd.service

Шаг 4: Установите MariaDB и настройте базу данных для NextCloud

Установите MariaDB:

sudo yum install mariadb mariadb-server -y

Запустите сервис MariaDB и запустите его при загрузке:

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Безопасная установка MariaDB:

sudo /usr/bin/mysql_secure_installation

Во время процесса ответьте на вопросы один за другим, как показано ниже:

Enter current password for root (enter for none): Enter
Set root password? [Y/n]: Y
New password: <your-password>
Re-enter new password: <your-password>
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y

Теперь пришло время настроить базу данных для NextCloud:

mysql -u root -p

Введите пароль root MariaDB, который вы установили ранее для входа в систему.

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

Используйте следующие команды, чтобы закончить работу. Обязательно замените имя базы данных «nextcloud», имя пользователя базы данных «nextclouduser» и пароль пользователя базы данных «ваш пароль» в каждой команде своими собственными.

CREATE DATABASE nextcloud;
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

Шаг 5: Установите NextCloud

Загрузите последнюю стабильную версию NextCloud со своего официального сайта. На момент написания последней стабильной версии номер 9.0.53.

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

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

sudo yum install unzip -y
unzip nextcloud-9.0.53.zip

Переместите все файлы NextCloud в корневой веб-каталог, а затем предоставьте им соответствующие разрешения:

sudo mv nextcloud/* /var/www/html && sudo chown apache:apache -R /var/www/html

Установите NextCloud из интерфейса командной строки со следующими примерами параметров. Обязательно замените их на свои.

  • имя-базы данных: следующее облако
  • пользователь базы данных: nextclouduser
  • pass-database: ваш пароль
  • admin-пользователь: admin
  • admin-pass nextcloudadminpassword

Бег:

cd /var/www/html/
sudo -u apache php occ maintenance:install --database "mysql" --database-name "nextcloud"  --database-user "nextclouduser" --database-pass "yourpassword" --admin-user "admin" --admin-pass "nextcloudadminpassword"

Если все пойдет хорошо, вывод будет выглядеть так:

Nextcloud is not installed - only a limited number of commands are available
ownCloud was successfully installed

Добавьте IP-адрес вашего сервера (скажем, 203.0.113.1) и имя домена (скажем, www.example.com) в список доверенных доменов NextCloud:

sudo vi /var/www/html/config/config.php

Найдите строку:

0 => 'localhost',

Вставьте следующие две строки прямо под ним:

1 => '203.0.113.1',
2 => 'www.example.com',

Сохранить и выйти:

:wq!

В целях безопасности вам необходимо установить строгие разрешения для файлов и каталогов Nextcloud после установки:

sudo find /var/www/html -type f -print0 | sudo xargs -0 chmod 0640
sudo find /var/www/html -type d -print0 | sudo xargs -0 chmod 0750
sudo chown -R root:apache /var/www/html
sudo chown -R apache:apache /var/www/html/apps
sudo chown -R apache:apache /var/www/html/config
sudo chown -R apache:apache /var/www/html/data
sudo chown -R apache:apache /var/www/html/themes
sudo chown -R apache:apache /var/www/html/updater
sudo chmod 0644 /var/www/html/.htaccess
sudo chown root:apache /var/www/html/.htaccess
sudo chmod 0644 /var/www/html/data/.htaccess
sudo chown root:apache /var/www/html/data/.htaccess

Кроме того, помните, что существует каталог, который не был создан с именем /var/www/html/assets. Если вы создадите этот каталог в будущем, вам также потребуется выполнить следующую команду:

sudo chown -R apache:apache /var/www/html/assets

Эти настройки помогают предотвратить несанкционированный доступ к NextCloud.

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

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

После обновления все равно установите строгие разрешения, как указано выше.

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

sudo systemctl restart httpd.service

Измените правила брандмауэра, чтобы разрешить доступ для посетителей:

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload

Вот и все. Теперь вы можете указать свой веб-браузер http://203.0.113.1и использовать учетную запись администратора NextCloud для входа.

Спасибо за чтение.

Оставить комментарий

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

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

Технологическая сингулярность: далекое будущее человеческой цивилизации?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

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

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше