如何在CentOS 7上安装OwnCloud 8和Nginx和MariaDB

如何在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 / http443 / 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.crtowncloud.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是快速,稳定,有很多功能

链接

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏