Как установить OwnCloud 8 с Nginx и MariaDB на CentOS 7
Это руководство существует для этих версий ОС
- CentOS 7.3
- CentOS 7
На этой странице
- Предпосылки
- Что делать
- Отключите SELinux и настройте firewalld.
- Установка и настройка LEMP
- Шаг 1. Включите epel-репозиторий
- Шаг 1. Создание базы данных и пользователя
- Шаг 2. Создание SSL-сертификата
- Настройка виртуального хоста для OwnCloud
OwnCloud — это серверное программное обеспечение для синхронизации данных и обмена файлами с простым в использовании веб-интерфейсом, доступное по лицензии с открытым исходным кодом. Owncloud можно установить на веб-сервер Linux или Windows, его легко настроить и он имеет исчерпывающую онлайн-документацию. Собственный клиент доступен для Windows, MacOS и Linux (настольное приложение). Также есть мобильное приложение для Android и iOS.
В этом руководстве описывается установка Owncloud 8 на CentOS 7 с веб-сервером nginx и базой данных MariaDB.
Последняя версия на сегодняшний день — OwnCloud 8.0.
Предпосылки
- СентОС 7
Делать
Вот шаги, которые мы сделаем в этом руководстве:
- Отключите SELinux и настройте firewalld.
- Установите и настройте Nginx, MariaDB, php-fpm.
- Создайте базу данных и настройте SSL.
- Установите OwnCloud.
- Настройте виртуальный хост для OwnCloud.
- Протестируйте OwnCloud в браузере.
Отключить SELinux и настроить firewalld
Чтобы отключить SELinux, отредактируйте файл /etc/sysconfig/selinux и измените принудительно на отключено.
vim /etc/sysconfig/selinux
Запустите эти команды, чтобы открыть порты 80/http и 443/https в firewalld, чтобы позже мы могли получить доступ к интерфейсу OwnCloud по http и https.
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reloadУстановите и настройте LEMP
Это шаги по настройке базового сервера LEMP (Linux — Nginx — MariaDB — PHP) для запуска OwnCloud.
Шаг 1. Включите epel-репозиторий.
Чтобы установить LEMP (Linux, Nginx, MariaDB и PHP), вы должны включить epel-репозиторий.
yum -y install epel-release
Шаг 2 — Установка Nginx, MariaDB и php-fpm
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
yum -y install nginx mariadb mariadb-server php-fpm php-cli php-gd php-mcrypt php-mysql php-pear php-xml bzip2 vimШаг 3 — Запустите и настройте MariaDB
systemctl start mariadb
mysql_secure_installationв первый раз просто нажмите Enter.
Change the root password? [Y/n] Y 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Шаг 4 — Настройте php-fpm
Отредактируйте файл /etc/php-fpm.d/www.conf.
vim /etc/php-fpm.d/www.conf
убедитесь, что строка listen:
listen = 127.0.0.1:9000
И отредактируйте строку для группы пользователей:
user = nginx group = nginx
Создайте каталог для пути к сеансу.
mkdir -p /var/lib/php/session
chown nginx:nginx -R /var/lib/php/session/Запустите php-fpm.
systemctl start php-fpm
Шаг 5 — Запустите nginx
systemctl start nginx
На этом шаге вы можете посетить свой веб-сервер http://192.168.1.101/.
Создайте базу данных и настройте SSL
Шаг 1 — Создайте базу данных и пользователя
Войдите в MariaDB с помощью клиента командной строки mysql:
mysql -u root -p
Создайте базу данных:
create database owncloud_db;
Добавьте пользователя:
create user identified by 'ownclouduser';
Предоставить пользователю доступ к базе данных
grant all privileges on owncloud_db.* to identified by 'ownclouduser';
flush privileges;Шаг 2 — Создайте SSL-сертификат
mkdir -p /etc/nginx/cert/
cd /etc/nginx/cert/
openssl req -new -x509 -days 365 -nodes -out /etc/nginx/cert/owncloud.crt -keyout /etc/nginx/cert/owncloud.keyкоманда создаст файлы owncloud.crt и owncloud.key в каталоге /etc/nginx/cert/.
Изменить файл сертификата разрешения.
chmod 600 owncloud.crt
chmod 600 owncloud.keyУстановить собственное облако
Загрузите исходный код приложения с помощью wget.
yum -y install wget
cd /tmp/
wget https://download.owncloud.org/community/owncloud-8.0.0.tar.bz2Извлеките и переместите каталог owncloud в /usr/share/nginx/html.
tar -xjvf owncloud-8.0.0.tar.bz2
mv owncloud/ /usr/share/nginx/html/Измените владельца каталога owncloud на nginx.
cd /usr/share/nginx/html/
chown nginx:nginx -R owncloud/Создайте каталог с именем data в каталоге owncloud и измените владельца на nginx.
mkdir -p owncloud/data/
chown nginx:nginx -R owncloud/data/Настройка виртуального хоста для OwnCloud
Последний шаг — настроить виртуальный хост для owncloud.
cd /etc/nginx/conf.d/
mv default.conf defaultдобавить конфигурацию owncloud в /etc/nginx/conf.d/
vim owncloud.conf
Вставьте конфигурацию ниже:
upstream php-handler { server 127.0.0.1:9000; #server unix:/var/run/php5-fpm.sock; } server { listen 80; server_name 192.168.1.101; #YourIP or domain return 301 https://$server_name$request_uri; # redirect all to use ssl } server { listen 443 ssl; server_name 192.168.1.101; #YourIP or domain #SSL Certificate you created ssl_certificate /etc/nginx/cert/owncloud.crt; ssl_certificate_key /etc/nginx/cert/owncloud.key; # owncloud path root /usr/share/nginx/html/owncloud/; client_max_body_size 10G; # set max upload size fastcgi_buffers 64 4K; rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect; rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect; rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect; index index.php; 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 ~ ^/(data|config|\.ht|db_structure\.xml|README) { deny all; } location / { # The following 2 rules are only needed with webfinger rewrite ^/.well-known/host-meta /public.php?service=host-meta last; rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last; 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)(/.*)?$ { try_files $1 = 404; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$1; fastcgi_param PATH_INFO $2; fastcgi_param HTTPS on; fastcgi_pass php-handler; } # Optional: set long EXPIRES header on static assets location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ { expires 30d; # Optional: Don't log access to assets access_log off; } }
Затем перезапустите стек LEMP:
systemctl restart nginx mariadb php-fpm
Теперь настройте службы LEMP для запуска при загрузке.
systemctl enable nginx
systemctl enable php-fpm
systemctl enable mariadbЗатем перезагрузите сервер:
reboot
Тестировать OwnCloud
Создайте учетную запись администратора и заполните всю базу данных (имя пользователя, пароль, имя базы данных), затем нажмите «Завершить настройку».
Заключение
OwnCloud — это правильное решение для частного облака на сегодняшний день. Простота в использовании и настройке, а также удобный интерфейс, облегчающий использование и установку. Owncloud быстрый, стабильный и имеет множество функций.
Ссылки
- Собственное облако
- СентОС
- Nginx
- МарияДБ
- PHP