搭建前准备工作:关闭selinux,关闭防火墙
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
提供三种方式安装,现选择第二种,通过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安装:
下载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文件中。