CentOS7下NextCloud搭建


一、 LAMP环境搭建

1. Apache搭建

yum install httpd –y

clip_image001_thumb4

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

systemctl start httpd

systemctl enable httpd

clip_image002_thumb2

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

clip_image003_thumb1

clip_image005_thumb1

apache搭建成功。

2. mysql搭建(mariadb)

yum install mariadb mariadb-server mariadb-devel -y

clip_image006_thumb2

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

systemctl start mariadb

systemctl enable mariadb

clip_image007_thumb1

clip_image008_thumb1

进行初始化操作:

mysql_secure_installation

设置root密码

clip_image009_thumb1

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

clip_image010_thumb1

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

clip_image011_thumb1

查看现在现有数据库:

show databases;

clip_image012_thumb1

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

clip_image013_thumb1

再次查看现有数据库:

clip_image014_thumb1

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

clip_image016_thumb1

刷新授权表,使生效

clip_image017_thumb1

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

clip_image018_thumb1

退出,重新登录测试

clip_image019_thumb1

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

clip_image021_thumb1

安装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

clip_image023_thumb1

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

clip_image024_thumb1

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

clip_image025_thumb1

重启httpd服务

clip_image026_thumb1

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

clip_image028_thumb1

clip_image029_thumb1

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

二、 nextcloud安装

访问nextcloud官网,下载nextcloud

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

clip_image030_thumb1

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

clip_image031_thumb1

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

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

next,下一步进行;

clip_image032_thumb1

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

clip_image033_thumb1 clip_image034_thumb1

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

clip_image035_thumb1

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

clip_image036_thumb1

clip_image037_thumb1

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

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

点击存储&数据库

clip_image038_thumb1

配置数据库,安装完成。

clip_image039_thumb1

进入nextcloud

clip_image041_thumb1

数据存放到mariadb中的nextcloud_db中

clip_image042_thumb1

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

clip_image044_thumb1

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

clip_image045_thumb1

进入目录:cd redis-2.8.13

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

clip_image046_thumb1

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

clip_image047_thumb1

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

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

clip_image048_thumb1

修改redis配置文件redis.conf

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

daemonize yes

clip_image049_thumb

#pid文件

pidfile /usr/local/redis/redis_zzk.pid

clip_image050_thumb1

#日志文件

logfile /usr/local/redis/redis_zzk.log

clip_image051_thumb1

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

dbfilename dump_zzk.rdb

clip_image052_thumb1

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

dir /usr/local/redis/

clip_image053_thumb1

启动redis:

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

clip_image054_thumb1

查看启动情况

clip_image055_thumb1

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

clip_image056_thumb1

配置、编译、安装:

./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

clip_image057_thumb1

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

clip_image059_thumb1

设置redis密码

clip_image060_thumb1

测试连接:

使用Redis Desktop Manager工具测试连接

clip_image061_thumb1

目前没有任何数据:

clip_image062_thumb1

添加配置信息到config.php:

进入Nextcloud里的config文件夹:

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

vim config.php

在);前添加以下内容

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

'redis' => array(

'host' => 'localhost',

'port' => 6379,

),

clip_image063_thumb1

重启redis:

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

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

clip_image064_thumb1

重启apache,查看redis:

clip_image065_thumb1

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

clip_image066_thumb1

命令行界面效果一样:

clip_image068_thumb1

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

clip_image069_thumb5

猜你喜欢

转载自blog.51cto.com/zhangzhk/2377790