CentOS7下NextCloud搭建

搭建前准备工作:关闭selinux,关闭防火墙

一、 LAMP环境搭建

1. Apache搭建


yum install httpd –y

开启apache服务,设为开机自启

systemctl start httpd

systemctl enable httpd

验证,查看80端口以及测试页是否正常

apache搭建成功。

2. mysql搭建(mariadb)

yum install mariadb mariadb-server mariadb-devel -y

开启mariadb服务,设为开机自启

systemctl start mariadb

systemctl enable mariadb

进行初始化操作:

mysql_secure_installation

设置root密码

删除匿名用户;禁止root管理员从远程登录;移除测试数据库,取消访问权限;刷新授权,使立即生效。

使用设定的密码登录数据库

查看现在现有数据库:

show databases;

新建nextcloud的数据库,取名为nextcloud_db

再次查看现有数据库:

对nextcloud_db进行授权,允许用户通过root访问172.21.0.13的nextcloud_db数据库的所有表,密码为123.com

刷新授权表,使生效

查看mysql数据库下的user表,查看主机172.21.0.13状态

退出,重新登录测试

mysql(mariadb)搭建完成。

3. php搭建

通过yum直接安装的php版本为5.x,而nextcloud要求的php版本最低要求为7.0,所以php需要特别处理安装,一是通过下载php7.0的安装包,源码安装,较复杂,耗时较长;另一个是增加php7.0的yum源,通过yum一键安装,现通过yum安装测试。

安装php7.0的yum源

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

安装php7.0及nextcloud所需php组件:

yum install -y php70w php70w-devel php70w-pear php70w-pecl php70w-gd php70w-opcache php70w-cli php70w-pdo php70w-process php70w-pecl-apcu php70w-mcrypt php70w-mysql php70w-fpm php70w-pecl-redis php70w-common php70w-xml php70w-mbstring php70w-pecl-igbinary php70w-intl php70w-pecl-imagick

在html配置里添加一段配置,让apache能够解析html里的PHP代码

在apache网站目录里新建测试PHP,测试PHP可用性。

重启httpd服务

验证PHP:浏览器中输入 172.21.0.13/test.php

php版本为7.0.33,php搭建完毕,lamp环境搭建完毕!

二、 nextcloud安装

访问nextcloud官网,下载nextcloud

提供三种方式安装,现选择第二种,通过web方式

将下载下的web安装的php脚本放到apache的网站目录下:

浏览器访问:172.21.0.13/setup-nextcloud.php

出现安装界面,提示它将会做三步:检查软件依赖;下载nextcloud;安装nextcloud

next,下一步进行;

提示无法写入文件,将apache网站目录归属给apache用户和组

重新刷新网页,默认的nextcloud目录名,next继续;

提示已经安装,网站目录下已有nextcloud目录,next继续;

如果不需要mysql数据库,nextcloud会使用splite作为数据库,安装已经完成

现使用mariadb数据库,还需多配置一步:

点击存储&数据库

配置数据库,安装完成。

进入nextcloud

数据存放到mariadb中的nextcloud_db中

nextcloud搭建完成!!!

登录地址:172.21.0.13/nextcloud

用户名:admin

密码:123.com

三、 扩展:增加redis,提高性能,减少mysql压力

redis安装:

下载redis:wget http://download.redis.io/releases/redis-2.8.13.tar.gz

解压:tar xf redis-2.8.13.tar.gz

进入目录:cd redis-2.8.13

安装:make PREFIX=/usr/local/redis install

模板配置文件复制:cp redis.conf /usr/local/redis

/root/.bash_profile添加以下1行内容:

export PATH=/usr/local/redis/bin:$PATH


修改redis配置文件redis.conf

#daemonize no 默认情况下,redis不是在后台运行的,如果需要在后台运行,把该项的值更改为yes

daemonize yes

#pid文件

pidfile /usr/local/redis/redis_zzk.pid

#日志文件

logfile /usr/local/redis/redis_zzk.log

#本地持久化数据库文件名,默认值为 dump.rdb

dbfilename dump_zzk.rdb

#工作目录,注意这里必须制定一个目录而不是文件

dir /usr/local/redis/

启动redis:

redis-server /usr/local/redis/redis.conf

查看启动情况

PHP添加Redis扩展

要确保PHP代码能够连接Redis,需要添加Redis扩展程序

下载软件:

wget https://github.com/phpredis/phpredis/archive/3.1.2.tar.gz

解压软件:

tar xf 3.1.2.tar.gz

进入目录:

cd phpredis-3.1.2/

执行phpize生成编译文件:

/usr/bin/phpize

配置、编译、安装:

./configure --with-php-config=/usr/bin/php-config --enable-redis && make && make install

修改php.ini配置文件,加载redis.so模块

extension_dir = "/usr/lib64/php/modules/"

extension=redis.so

重启httpd服务器,测试phpinfo文件,检查redis模块:

设置redis密码

测试连接:

使用Redis Desktop Manager工具测试连接

目前没有任何数据:

添加配置信息到config.php:

进入Nextcloud里的config文件夹:

cd /var/www/html/nextcloud/config/

vim config.php

在);前添加以下内容

'memcache.local' => '\OC\Memcache\Redis',

'redis' => array(

'host' => 'localhost',

'port' => 6379,

),

重启redis:

redis-cli -p 6379 -a 123.com shutdown

redis-server /usr/local/redis/redis.conf

重启apache,查看redis:

随意点击nextcloud几个菜单,再查看redis:

命令行界面效果一样:

rdb文件、log文件、pid文件正常,redis根据规则从内存写入到本地硬盘的dump_zzk.rdb文件中。

你可能感兴趣的:(CentOS7下NextCloud搭建)