OwnCloud является веб-приложением для синхронизации данных и обмена файлами с открытым исходным кодом. Последняя версия OwnCloud предлагает улучшенное совместное использование и вводит улучшенный поиск, более быстрые способы получения для ваших избранных файлов и обеспечивает чрезвычайно быстрый и легкий доступ к важным файлам.
Установка OwnCloud на CentOS 7 должна занять около десяти минут, если вы будете следовать очень простым шагам, описанным ниже.
Остановите службу Apache и отключите его запуск при загрузке сервера:
systemctl stop httpd systemctl disable httpd
Установите Nginx и PHP-FPM:
yum install nginx php-fpm php-cli php-gd php-mcrypt php-mysql php-pear php-xml bzip2
Загрузите последнюю версию OwnCloud доступную на https://download.owncloud.org/ и распакуйте в директорию на сервере:
cd /opt/ wget https://download.owncloud.org/community/owncloud-9.1.2.tar.bz2 tar xfv owncloud-9.1.2.tar.bz2 mv owncloud /var/www/html
Пользователь веб-сервер (Nginx) должен иметь возможность писать файлы и каталоги внутри ‘/var/www/html/owncloud‘, так что его можно легко осуществить, выполнив следующую команду:
chown nginx:nginx -R /var/www/html/owncloud
Отредактируйте конфигурационный файл ‘/etc/php-fpm.d/www.conf’ и установите пользователя и группу для Nginx:
sed -i s'/user = apache/user = nginx/' /etc/php-fpm.d/www.conf sed -i s'/group = apache/group = nginx/' /etc/php-fpm.d/www.conf
Создайте каталог «data» за пределами документа root, так чтобы он не был доступен из Интернета:
mkdir -p /data chown nginx:nginx /data
OwnCloud требует базу данных, таким образом, создайте новую базу данных с помощью следующих команд:
mysql -uroot -p MariaDB [(none)]> create database ownclouddb; MariaDB [(none)]> GRANT ALL PRIVILEGES ON ownclouddb.* TO 'owncloud'@'localhost' IDENTIFIED BY 'my-password'; MariaDB [(none)]> flush privileges; MariaDB [(none)]> quit
Рекомендуется обеспечить OwnCloud сертификатом SSL и заставить шифровать OwnCloud с помощью HTTPS для трафика OwnCloud. Вы можете приобрести доверенный сертификат SSL, или создать самозаверяющий сертификат SSL с помощью:
openssl req -new -x509 -days 365 -nodes -out /etc/nginx/my-domain.ru.crt -keyout /etc/nginx/my-domain.ru.key chmod 600 /etc/nginx/my-domain.ru.crt chmod 600 /etc/nginx/my-domain.ru.key
Создайте новый блок сервера Nginx со следующим содержанием:
vi /etc/nginx/sites-available/my-domain.ru.conf
server { listen 80; server_name my-domain.ru; rewrite ^ https://$server_name$request_uri? permanent; } server { listen 443 ssl; server_name my-domain.ru; ssl_certificate /etc/nginx/my-domain.ru.crt; ssl_certificate_key /etc/nginx/my-domain.ru.key; root /var/www/html/owncloud; access_log /var/log/nginx/my-domain.ru_access.log; error_log /var/log/nginx/my-domain.ru_error.log; index index.php; client_max_body_size 2000M; rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect; rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect; rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect; error_page 403 /core/templates/403.php; error_page 404 /core/templates/404.php; location = /robots.txt { allow all; log_not_found off; access_log off; } location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README) { deny all; } location / { rewrite ^/.well-known/carddav /remote.php/carddav/ redirect; rewrite ^/.well-known/caldav /remote.php/caldav/ redirect; rewrite ^(/core/doc/[^\/]+/)$ $1/index.html; try_files $uri $uri/ index.php; } location ~ \.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; fastcgi_pass unix:/var/run/php5-fpm.sock; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
Выполните следующую команду, чтобы увидеть настройки ‘session.save_path‘:
#cat /etc/php-fpm.d/www.conf | grep session.save_path php_value[session.save_path] = /var/lib/php/session
Измените права доступа на директории в PHP ‘session.save_path‘:
chown root:nginx /var/lib/php/session chown -R nginx:nginx /var/lib/php/session/*
Включите вновь созданный блок сервера Nginx:
mkdir -p /etc/nginx/sites-available mkdir -p /etc/nginx/sites-enabled ln -s /etc/nginx/sites-available/my-domain.ru.conf /etc/nginx/sites-enabled/my-domain.ru.conf
Отредактируйте файл главной конфигурации Nginx (/etc/nginx/nginx.conf) и добавьте следующую строку:
include /etc/nginx/sites-enabled/*.conf;
До конца блока HTTP {}, непосредственно перед блоком server {}:
vi /etc/nginx/nginx.conf
include /etc/nginx/sites-enabled/*.conf;
При желании можно удалить по умолчанию блок server {}.
Отредактируйте файл конфигурации ‘/etc/php-fpm.d/www.conf‘ и измените (или закомментируйте) ‘listen = 127.0.0.1:9000’ в ‘listen = /var/run/php5-fpm.sock’.
vi /etc/php-fpm.d/www.conf
;listen = 127.0.0.1:9000 listen = /var/run/php5-fpm.sock
Перезапустите услуги PHP-FPM и Nginx, чтобы изменения вступили в силу:
systemctl restart php-fpm systemctl restart nginx
Установите PHP-FPM и Nginx для загрузки при запуске сервера:
systemctl enable php-fpm systemctl enable nginx
Откройте https://my-domain.ru в вашем веб-браузере, создайте учетную запись администратора (для администратора установите имя пользователя и пароль), измените каталог ‘data’ на ‘/data’ (не оставляйте настройки по умолчанию ‘/var/www/html/owncloud/data’), нажмите кнопку ‘Storage & database’, выберите MySQL / MariaDB, введите данные для данные базы данных (пользователя MariaDB, пароль, имя базы данных и имя хоста) и нажмите кнопку ‘Finish setup’.
Все, установка OwnCloud завершена.