如何在CentOS 7上使用Nginx和MariaDB安装OwnCloud 8
OwnCloud是用于数据同步和文件共享的服务器软件,它具有易于使用的基于Web的前端,可根据开放源代码
许可使用。 Owncloud可以安装在Linux或Windows Web服务器上,易于配置,并具有全面的在线文档。 本地客户端可用于Windows,MacOS和Linux(桌面应用程序)。 还有一个适用于Android和iOS的移动应用。
本教程介绍了使用nginx webserver和MariaDB数据库在CentOS 7上安装Owncloud 8。
现在的最新版本是OwnCloud 8.0。
先决条件
- CentOS 7
去做
这些是我们将在本教程中执行的步骤:
- 禁用SELinux并配置firewalld。
- Instal并配置Nginx,MariaDB,php-fpm。
- 创建数据库并配置SSL。
- 安装OwnCloud
- 为OwnCloud配置虚拟主机。
- 在浏览器中测试OwnCloud。
禁用SELinux并配置firewalld
要禁用SELinux
,请编辑文件/ etc / sysconfig / selinux
,并将强制
更改为禁用
。
vim /etc/sysconfig/selinux
运行这些命令以打开防火墙中的端口80 / http
和443 / https
,以便稍后通过http和https到达OwnCloud接口。
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
安装和配置LEMP
这些是设置基本LEMP(Linux - Nginx - MariaDB - PHP)服务器以运行OwnCloud的步骤。
第1步 - 启用epel-repository
要安装LEMP(Linux,Nginx,MariaDB和PHP),您必须启用epel-repository 。
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 = 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
在这一步,您可以访问您的Web服务器http://192.168.1.101/
。
创建数据库并配置SSL
第1步 - 创建数据库和用户
使用mysql命令行客户端登录到MariaDB:
mysql -u root -p
创建数据库:
create database owncloud_db;
添加用户:
create user ownclouduser@localhost identified by 'ownclouduser';
授予用户数据库的权限
grant all privileges on owncloud_db.* to ownclouduser@localhost 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
该命令将在/ etc / nginx / cert /
目录
中生成一个owncloud.crt
和owncloud.key
。
更改权限证书文件。
chmod 600 owncloud.crt
chmod 600 owncloud.key
安装OwnCloud
用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/
在owncloud
目录下创建名为data
的目录,并将所有者更改为nginx
。
mkdir -p owncloud/data/
chown nginx:nginx -R owncloud/data/
为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
http://192.168.1.101
,您将重定向到ssl连接https://192.168.1.101。
创建管理员帐户
并填写所有数据库(用户名,密码,dbname),
然后单击完成安装程序。
结论
OwnCloud是当今私有云
的正确解决方案。 易于使用和配置,并具有用户友好的界面,使其易于使用和安装。 Owncloud是快速,稳定,有很多功能
。