В дальнейшем используя интернет страницу cloudhosting.lv, вы соглашаетесь с правилами пользования Куки. Узнай больше. Согласен
Как настроить ownCloud на CentOS 7
ownCloud - это программное обеспечение с открытым исходным кодом, которое позволяет вам запускать собственный облачный сервер или сервер файлового хостинга. ownCloud основан на модели клиент-сервер, и его функциональность аналогична Dropbox или Google Drive. ownCloud является открытым исходным кодом и бесплатен, поэтому любой может установить его на свой частный сервер. ownCloud также поддерживает различные расширения, которые добавляют множество дополнительных функций, таких как онлайн-редактор документов, календарь и многое другое. Пользователи могут синхронизировать файлы с различных клиентов рабочего стола, так как клиент ownCloud доступен для Windows, OS X, Linux и FreeBSD. Также доступны мобильные клиенты для IOS и Android. Кроме того, файлы могут быть загружены или скачены с помощью веб-интерфейса. Любое обновление в его файловой системе мгновенно отражается на других подключенных устройствах. ownCloud написан на PHP и JavaScript и использует сервер Sabre / DAV для удаленного доступа. ownCloud может работать с несколькими системами управления базами данных, такими как SQLite, MySQL, MariaDB или PostgreSQL.
Хотя ownCloud поставляется с множеством функций, вот немногие из них
- OwnCloud предлагает простой пользовательский интерфейс с возможностью поиска, фаворитами, тегами и другими способами быстрой навигации по файлам
- Он поддерживает редактирование файлов и предварительный просмотр PDF, изображений, текстовых файлов, открытого документа, файлов Word и многого другого
- Комментарий к файлам
- ownCloud содержит комментарии, обмен внутри и между серверами ownCloud, публичные ссылки и многое другое
- Интеграция функции антивирусного сканирования с антивирусным приложением
- Он поддерживает интеграцию LDAP / Active Directory вместе с мощной интегрированной регистрацией
- Полный контроль над доступом к данным и возможностям обмена по пользователю и по группам
- Расширенное управление квотами с настраиваемым учетом внешнего хранилища
- Предыдущие версии файлов, которые вы изменили, сохраняются и могут быть возвращены. Удаленные файлы можно найти в корзине
- Гибкая обработка внешнего хранилища позволяет вам получить доступ к вашим существующим данным через ownCloud
В этом руководстве мы научимся устанавливать последнюю версию ownCloud на CentOS 7.x.
Требования
Для ownCloud требуется не менее 128 МБ ОЗУ, но рекомендуется 512 МБ ОЗУ, которое следует увеличить в зависимости от количества пользователей, файлов и активности. Также вам понадобится сервер с установленным CentOS 7.x. В этом руководстве мы будем использовать учетную запись roo
для запуска команд. Если вы вошли в систему как пользователь без полномочий root
, используйте команду sudo в начале команд, которые мы собираемся выполнить. Вы также можете запустить команду sudo su
, чтобы перейти к учетной записи root.
Установка ownCloud
Перед установкой любых пакетов рекомендуется обновить систему и пакеты, используя следующую команду.
yum -y update
Теперь нам нужно будет установить стек LAMP, чтобы собрать необходимую платформу для установки ownCloud. Нам нужно будет установить Apache 2.4 с mod_php, PHP 5.4+ и MySQL / MariaDB.
Чтобы установить Apache 2.4, выполните следующую команду.
yum -y install httpd
Теперь запустите и включите его для автоматического запуска во время загрузки, используя следующие команды.
systemctl start httpd systemctl enable httpd
ownCloud работает на любой версии PHP 5.4+, но PHP 5.4 получает EOL, мы установим PHP 5.5 на наш сервер в соответствии с рекомендациями ownCloud. Выполните следующие команды, чтобы установить PHP 5.5 в вашей системе. PHP 5.5 недоступен в репозитории YUM по умолчанию, поэтому вам также необходимо добавить репозитории SCL.
yum -y install centos-release-scl yum -y install php55 php55-php php55-php-gd php55-php-mbstring php55-php-mysqlnd
Теперь перезапустите веб-сервер Apache, используя следующую команду.
systemctl restart httpd
Теперь установите и настройте Sendmail, чтобы ownCloud мог отправлять push-уведомления с помощью Sendmail. Для установки Sendmail выполните следующую команду.
yum -y install sendmail
Теперь запустите Sendmail и включите его для запуска во время загрузки, используя следующую команду
systemctl start sendmail systemctl enable sendmail
Теперь вам нужно будет установить MySQL / MariaDB, для этого выполните следующую команду.
yum install mariadb mariadb-server
Теперь запустите и включите автоматический запуск MariaDB во время загрузки, используя следующие команды.
systemctl start mariadb systemctl enable mariadb
Теперь защитите вашу установку MariaDB, используя следующую команду.
mysql_secure_installation
Это запустит небольшой скрипт и запросит ваш текущий пароль root, так как мы только что установили MariaDB, так что пароль root не существует, просто оставьте его пустым и продолжайте, чтобы создать новый пароль root для сервера MariaDB. Далее он попросит удалить анонимного пользователя, образец базы данных и спросит, хотите ли вы отключить удаленный вход. Просто нажмите Enter для всех заданных вопросов, так как мы хотим использовать выбор по умолчанию для каждого вопроса. Это настроит и запустит наш сервер базы данных. Когда сервер MariaDB будет готов, нам нужно будет создать базу данных и пользователя базы данных для ownCloud. Войдите в интерфейс командной строки MariaDB, используя следующую команду.
mysql -u root -p
введите пароль для пользователя root, который вы создали при защите сервера MySQL. После входа в систему вы увидите следующий вывод.
[root@Testbox ~]# mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or g. Your MariaDB connection id is 10 Server version: 5.5.47-MariaDB MariaDB Server Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. MariaDB [(none)]>
Создайте базу данных, используя следующую команду.
MariaDB [(none)]> CREATE DATABASE owncloud;
Теперь создайте пользователя базы данных, используя следующую команду.
MariaDB [(none)]> GRANT ALL ON owncloud.* to 'ownclouduser'@'localhost' IDENTIFIED BY 'StrongPassword';
Обязательно измените имя базы данных и имя пользователя и используйте надежный пароль вместо StrongPassword. Теперь перезагрузите таблицу привилегий, используя следующую команду.
MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> exit
Поскольку у нас все готово, мы можем начать установку ownCloud, выполнив следующие команды.
rpm --import https://download.owncloud.org/download/repositories/stable/CentOS_7/repodata/repomd.xml.key wget http://download.owncloud.org/download/repositories/stable/CentOS_7/ce:stable.repo -O /etc/yum.repos.d/ce:stable.repo yum clean expire-cache yum -y install owncloud
Теперь вам нужно исправить некоторые права доступа к каталогам, чтобы ownCloud мог управлять данными на вашем сервере. Создайте новый файл, используя любой редактор по вашему выбору. В этом пособии мы будем использовать nano. Если у вас не установлен nano, вы можете легко установить его, используя yum -y install nano.
nano ~/prm.sh
Теперь добавьте следующие строки кода в скрипт.
#!/bin/bash ocpath='/var/www/html/owncloud' htuser='apache' htgroup='apache' rootuser='root' printf "Creating possible missing Directoriesn" mkdir -p $ocpath/data mkdir -p $ocpath/assets mkdir -p $ocpath/updater printf "chmod Files and Directoriesn" find ${ocpath}/ -type f -print0 | xargs -0 chmod 0640 find ${ocpath}/ -type d -print0 | xargs -0 chmod 0750 printf "chown Directoriesn" 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 .htaccessn" 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
Теперь сохраните файл и выйдите из редактора. Теперь сделайте ваш файл исполняемым и запустите его с помощью следующей команды.
chmod 750 ~/prm.sh && bash ~/prm.shВы увидите следующий вывод.
[root@Testbox ~]# chmod 750 ~/prm.sh && bash ~/prm.sh Creating possible missing Directories chmod Files and Directories chown Directories chmod/chown .htaccess
Если в вашей системе включен SELinux, вам необходимо настроить модуль SELinux, в противном случае вы получите некоторые сообщения о запрещении доступа в журнале. Чтобы проверить, включен ли у вас SELinux, выполните следующую команду.
sestatus
Вы получите вывод, похожий на этот.
SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: enforcing Mode from config file: enforcing Policy MLS status: enabled Policy deny_unknown status: allowed Max kernel policy version: 28
В первой строке вы увидите статус SELinux. Если включено, выполните следующие команды для настройки разрешений SELinux.
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/owncloud/data' restorecon '/var/www/html/owncloud/data' semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/owncloud/config' restorecon '/var/www/html/owncloud/config' semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/owncloud/apps' restorecon '/var/www/html/owncloud/apps'
После настройки соответствующих конфигураций SELinux для каталогов вам нужно будет выполнить эти команды, чтобы ownCloud мог подключаться к другим серверам, а также мог отправлять уведомления с помощью Sendmail.
setsebool -P httpd_can_network_connect on setsebool -P httpd_can_sendmail on
Теперь настройте виртуальные хосты, чтобы вы могли получить доступ к ownCloud через свой домен. Создайте новый файл /etc/httpd/conf.d/owncloud.conf, используя ваш любимый текстовый редактор.
nano /etc/httpd/conf.d/owncloud.conf
Добавьте следующие строки в файл.
ServerName MyCloud ServerName your-domain.com DocumentRoot /var/www/html/owncloud/ Alias /owncloud "/var/www/html/owncloud/" Options +FollowSymLinks AllowOverride All Dav off SetEnv HOME /var/www/html/owncloud SetEnv HTTP_HOME /var/www/html/owncloud
Убедитесь, что вы измените your-domain.com в соответствии с доменом, который вы собираетесь использовать. Теперь сохраните файл, выйдите из редактора и перезапустите веб-сервер Apache.
systemctl restart httpd
Теперь вы можете получить доступ к вашей установке ownCloud через интерфейс, используя домен, который вы использовали при настройке виртуального хоста, если вы настроили DNS. Вы также можете получить доступ к ownCloud, используя IP-адрес вашего сервера.
http://your-domain.com
Или
http://Your-ServerIP
Вы увидите следующую страницу. Создайте имя пользователя и пароль для учетной записи администратора. Затем нажмите на ссылку «Хранилище и база данных» и выберите MySQL / MariaDB в разделе «Настройка базы данных». Теперь укажите имя пользователя базы данных, пароль и имя базы данных базы данных, которую вы создали ранее. Нажмите на кнопку «Готово» после завершения. После завершения установки вы увидите следующий экран, теперь вы вошли в свою панель мониторинга ownCloud.
Безопасность ownCloud
Вы можете использовать ownCloud поверх обычного HTTP, но настоятельно рекомендуется использовать SSL / TLS для шифрования всего трафика вашего сервера, а также для защиты логинов и данных пользователя при передаче. Для защиты трафика вы можете использовать любые сертификаты SSL, например, самозаверяющий сертификат, Certbot или Let's Encrypt SSL или Enterprise SSL. Для настройки Certbot или Let's Encrypt SSL следуйте этому руководству. Получив работающий сертификат SSL, вы можете перенаправить весь трафик на HTTPS, отредактировав файл виртуальных хостов /etc/httpd/conf.d/owncloud.conf.
nano /etc/httpd/conf.d/owncloud.conf
Теперь добавьте следующую строку под виртуальным хостом.
Redirect permanent / https://your-domain.com/
После редактирования ваш файл должен выглядеть так, как показано ниже.
ServerName MyCloud ServerName your-domain.com DocumentRoot /var/www/html/owncloud/ Redirect permanent / https://your-domain.com/ Alias /owncloud "/var/www/html/owncloud/" Options +FollowSymLinks AllowOverride All Dav off SetEnv HOME /var/www/html/owncloud SetEnv HTTP_HOME /var/www/html/owncloud
Администраторам рекомендуется установить заголовок HTTP Strict Transport Security, который просит браузеры не разрешать какое-либо подключение к серверу ownCloud с использованием HTTP, и пытается запретить посетителям сайта обходить предупреждения о недействительных сертификатах. Чтобы включить HSTS на вашем сервере, отредактируйте файл Virtual Hosts.
nano /etc/httpd/conf.d/owncloud.conf
Теперь добавьте следующие строки в ваш файл.
ServerName your-domain.com
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains; preload"
Сохраните файл и выйдите из редактора. Теперь перезапустите сервер Apache, используя следующую команду.
systemctl restart httpd
После перезапуска сервера все ваши HTTP-запросы будут отправлены на HTTPS, также HSTS будет включен и на вашем сервере.