一、 LAMP环境搭建

1. Apache搭建


yum install httpd –y

宝塔中docker容器 添加路径映射_redis

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

systemctl start httpd

systemctl enable httpd

宝塔中docker容器 添加路径映射_数据库_02

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

宝塔中docker容器 添加路径映射_运维_03

宝塔中docker容器 添加路径映射_运维_04

apache搭建成功。

2. mysql搭建(mariadb)

yum install mariadb mariadb-server mariadb-devel -y

宝塔中docker容器 添加路径映射_数据库_05

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

systemctl start mariadb

systemctl enable mariadb

宝塔中docker容器 添加路径映射_宝塔中docker容器 添加路径映射_06

宝塔中docker容器 添加路径映射_宝塔中docker容器 添加路径映射_07

进行初始化操作:

mysql_secure_installation

设置root密码

宝塔中docker容器 添加路径映射_数据库_08

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

宝塔中docker容器 添加路径映射_php_09

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

宝塔中docker容器 添加路径映射_redis_10

查看现在现有数据库:

show databases;

宝塔中docker容器 添加路径映射_数据库_11

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

宝塔中docker容器 添加路径映射_运维_12

再次查看现有数据库:

宝塔中docker容器 添加路径映射_宝塔中docker容器 添加路径映射_13

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

宝塔中docker容器 添加路径映射_数据库_14

刷新授权表,使生效

宝塔中docker容器 添加路径映射_php_15

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

宝塔中docker容器 添加路径映射_运维_16

退出,重新登录测试

宝塔中docker容器 添加路径映射_redis_17

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

宝塔中docker容器 添加路径映射_php_18

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

宝塔中docker容器 添加路径映射_redis_19

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

宝塔中docker容器 添加路径映射_数据库_20

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

宝塔中docker容器 添加路径映射_php_21

重启httpd服务

宝塔中docker容器 添加路径映射_运维_22

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

宝塔中docker容器 添加路径映射_宝塔中docker容器 添加路径映射_23

宝塔中docker容器 添加路径映射_php_24

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

二、 nextcloud安装

访问nextcloud官网,下载nextcloud

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

宝塔中docker容器 添加路径映射_运维_25

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

宝塔中docker容器 添加路径映射_数据库_26

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

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

next,下一步进行;

宝塔中docker容器 添加路径映射_redis_27

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

宝塔中docker容器 添加路径映射_php_28

宝塔中docker容器 添加路径映射_运维_29

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

宝塔中docker容器 添加路径映射_运维_30

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

宝塔中docker容器 添加路径映射_redis_31

宝塔中docker容器 添加路径映射_数据库_32

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

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

点击存储&数据库

宝塔中docker容器 添加路径映射_宝塔中docker容器 添加路径映射_33

配置数据库,安装完成。

宝塔中docker容器 添加路径映射_数据库_34

进入nextcloud

宝塔中docker容器 添加路径映射_运维_35

数据存放到mariadb中的nextcloud_db中

宝塔中docker容器 添加路径映射_php_36

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

宝塔中docker容器 添加路径映射_redis_37

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

宝塔中docker容器 添加路径映射_宝塔中docker容器 添加路径映射_38

进入目录:cd redis-2.8.13

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

宝塔中docker容器 添加路径映射_redis_39

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

宝塔中docker容器 添加路径映射_redis_40

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

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

宝塔中docker容器 添加路径映射_php_41


修改redis配置文件redis.conf

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

daemonize yes

宝塔中docker容器 添加路径映射_redis_42

#pid文件

pidfile /usr/local/redis/redis_zzk.pid

宝塔中docker容器 添加路径映射_redis_43

#日志文件

logfile /usr/local/redis/redis_zzk.log

宝塔中docker容器 添加路径映射_宝塔中docker容器 添加路径映射_44

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

dbfilename dump_zzk.rdb

宝塔中docker容器 添加路径映射_数据库_45

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

dir /usr/local/redis/

宝塔中docker容器 添加路径映射_运维_46

启动redis:

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

宝塔中docker容器 添加路径映射_运维_47

查看启动情况

宝塔中docker容器 添加路径映射_php_48

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

宝塔中docker容器 添加路径映射_运维_49

配置、编译、安装:

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

宝塔中docker容器 添加路径映射_redis_50

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

宝塔中docker容器 添加路径映射_运维_51

设置redis密码

宝塔中docker容器 添加路径映射_数据库_52

测试连接:

使用Redis Desktop Manager工具测试连接

宝塔中docker容器 添加路径映射_宝塔中docker容器 添加路径映射_53

目前没有任何数据:

宝塔中docker容器 添加路径映射_redis_54

添加配置信息到config.php:

进入Nextcloud里的config文件夹:

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

vim config.php

在);前添加以下内容

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

'redis' => array(

'host' => 'localhost',

'port' => 6379,

),

宝塔中docker容器 添加路径映射_宝塔中docker容器 添加路径映射_55

重启redis:

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

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

宝塔中docker容器 添加路径映射_php_56

重启apache,查看redis:

宝塔中docker容器 添加路径映射_php_57

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

宝塔中docker容器 添加路径映射_php_58

命令行界面效果一样:

宝塔中docker容器 添加路径映射_php_59

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

宝塔中docker容器 添加路径映射_redis_60


转载于:https://blog.51cto.com/zhangzhk/2377790