Centos7利用lnmp安装包配置nextcloud

版本:lnmp1.4.tar.gz
nextcloud-13.0.0.zip
1.安装部署lnmp
详细方法见lnmp官网:https://lnmp.org/install.html
安装时需要注意一点,nextcloud-13要求php版本必要php7.0及以上。

状态管理
LNMP/LNMPA/LMAP状态管理:lnmp {start|stop|reload|restart|kill|status}
Nginx状态管理:lnmp nginx或/etc/init.d/nginx {start|stop|reload|restart}
MySQL状态管理:lnmp mysql或/etc/init.d/mysql {start|stop|restart|reload|force-reload|status}
MariaDB状态管理:lnmp mariadb或/etc/init.d/mariadb {start|stop|restart|reload|force-reload|status}
PHP-FPM状态管理:lnmp php-fpm或/etc/init.d/php-fpm {start|stop|quit|restart|reload|logrotate}
PureFTPd状态管理:lnmp pureftpd或/etc/init.d/pureftpd {start|stop|restart|kill|status}
Apache状态管理:lnmp httpd或/etc/init.d/httpd {start|stop|restart|graceful|graceful-stop|configtest|status}

虚拟主机管理
添加:lnmp vhost add
删除:lnmp vhost del
列出:lnmp vhost list

相关图形界面
PHPMyAdmin:[http://yourIP/phpmyadmin/](https://link.jianshu.com?t=http://yourIP/phpmyadmin/)
phpinfo:[http://yourIP/phpinfo.php](https://link.jianshu.com?t=http://yourIP/phpinfo.php)
PHP探针:[http://yourIP/p.php](https://link.jianshu.com?t=http://yourIP/p.php)
Xcache管理界面:[http://yourIP/xcache/](https://link.jianshu.com?t=http://yourIP/xcache/)
Zend Opcache管理界面:[http://yourIP/ocp.php](https://link.jianshu.com?t=http://yourIP/ocp.php)

LNMP相关目录文件

目录位置
Nginx:/usr/local/nginx/
MySQL:/usr/local/mysql/
MariaDB:/usr/local/mariadb/
PHP:/usr/local/php/
PHPMyAdmin:/home/wwwroot/default/phpmyadmin/
默认虚拟主机网站目录:/home/wwwroot/default/
Nginx日志目录:/home/wwwlogs/

配置文件:
Nginx主配置文件:/usr/local/nginx/conf/nginx.conf
MySQL/MariaDB配置文件:/etc/my.cnf
PHP配置文件:/usr/local/php/etc/php.ini
PHP-FPM配置文件:/usr/local/php/etc/php-fpm.conf
PureFtpd配置文件:/usr/local/pureftpd/etc/pure-ftpd.conf
Apache配置文件:/usr/local/apache/conf/httpd.conf

进入解压厚的lnmp文件夹,输入命令:./install.sh安装lnmp环境,
lnmp vhost list 查看虚拟主机列表,
lnmp vhost add 添加虚拟主机列表,
lnmp vhost del 删除虚拟主机列表,
service nginx restart 重启nginx服务器,
安装memcache和redis命令:./addons.sh install

2.解压nextcloud压缩包
#unzip nextcloud-13.0.0.zip
将解压后的文件移到lnmp默认网站目录/home/wwwroot/,这个目录在新增虚拟机主机时需要用到
#mv /nextcloud/ /home/wwwroot/nextcloud

3.使用 openssl 生成一个 SSL 证书
在/usr/local/nginx下创建一个cert文件夹
#mkdir cert 这个目录在新增虚拟机主机时需要用到
然后执行如下命令

\#openssl req -new -x509 -days 365 -nodes -out /usr/local/nginx/cert/nextcloud.crt -keyout /usr/local/nginx/cert/nextcloud.key

然后使用 chmod 命令将所有证书文件的权限设置为 600
chmod 700 /etc/nginx/cert
chmod 600 /etc/nginx/cert/*

3.以上操作完成后,需要配置虚拟主机,lnmp官方提供的也有详细步骤
参考:https://lnmp.org/faq/lnmp-vhost-add-howto.html,具体文件路径以实际为准。
虚拟主机添加完成后需修改如下配置,不然可能无法正常登陆
#vi /usr/local/nginx/conf/vhosr/www.test.com
找到这一句,注释掉 # include enable-php.conf; 然后添加下段内容(一共有两处,都需要修改)

         include enable-php-pathinfo.conf;
         location /{
               if (!-e $request_filename) {
               rewrite ^/(.*)$ /index.php/$1 last;
               }
          }

4.mysql 配置,在 [ mysqld ] 下添加下列三行,不确定具体作用(可能也不需要,可测试)

innodb_large_prefix = on 
innodb_file_format = barracuda 
innodb_file_per_table = true

5.mysql -uroot -p 进入mysql创建一个nextcloud库

mysql>CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

6.浏览器域名https://192.168.131.60访问 :新建用户密码、数据库连接
问题(1):提示权限问题
在任意非nextcloud目录创建文件permission.sh,添加如下内容,然后赋予可执行权限。

#!/bin/bash
ocpath='/home/wwwroot/nextcloud'
htuser='www'
htgroup='www'
rootuser='root'
 
printf "Creating possible missing Directories\n"
mkdir -p $ocpath/data
mkdir -p $ocpath/assets
mkdir -p $ocpath/updater
 
printf "chmod Files and Directories\n"
find ${ocpath}/ -type f -print0 | xargs -0 chmod 0640
find ${ocpath}/ -type d -print0 | xargs -0 chmod 0750
 
printf "chown Directories\n"
chown -R ${rootuser}:${htgroup} ${ocpath}/
chown -R ${htuser}:${htgroup} ${ocpath}/apps/
chown -R ${htuser}:${htgroup} ${ocpath}/assets/
chown -R ${htuser}:${htgroup} ${ocpath}/config/
chown -R ${htuser}:${htgroup} ${ocpath}/data/
chown -R ${htuser}:${htgroup} ${ocpath}/themes/
chown -R ${htuser}:${htgroup} ${ocpath}/updater/
 
chmod +x ${ocpath}/occ
 
printf "chmod/chown .htaccess\n"
if [ -f ${ocpath}/.htaccess ]
 then
  chmod 0644 ${ocpath}/.htaccess
  chown ${rootuser}:${htgroup} ${ocpath}/.htaccess
fi
if [ -f ${ocpath}/data/.htaccess ]
 then
  chmod 0644 ${ocpath}/data/.htaccess
  chown ${rootuser}:${htgroup} ${ocpath}/data/.htaccess
fi

chmod +x permission.sh
./permission.sh
执行该文件即可。

问题(2) 修改数据文件存放目录,导致初始化是提示无法对该文件读写操作
我是在跟目录下创建了个data文件夹,挂载了1T的存储空间,初始化是报错
“Can't create or write into the data directory /data”
这时需要修改如下配置文件
1.配置nginx fastcgi fastcgi_param
vim /usr/local/nginx/conf/fastcgi.conf
找到open_basedir所在行,修改或添加成以下代码
# set php open_basedir
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";
#这里用$document_root是一种取巧的方法,也可以设置绝对路径
注意:对于将owncloud数据文件保存在网站目录以外的路径,需要加上数据文件的路径!!!
如:将owncloud数据文件保存在/data/owncloud,需要修改或添加成以下代码
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/:/data/owncloud/";

2.配置php.ini
vim /usr/local/php/etc/php.ini
找到open_basedir所在行,修改或添加成以下代码:
open_basedir=/home/wwwroot/owncloud/:/proc/:/tmp/
同样,对于将owncloud数据文件保存在网站目录以外的路径,需要加上数据文件的路径。
open_basedir=/home/wwwroot/owncloud/:/proc/:/tmp/:/data/owncloud/

然后修改data文件夹所属及权限
chown -R www:www /data
chmod -R 750 /data

问题(3)外网无法https访问
修改nextcloud配置文件/home/wwwroot/nextcloud/config/config.php .

 'oc1190d4ed19',
  'passwordsalt' => '41e7078b980cda05aa546c0da37370',
  'trusted_domains' => 
  array (
    0 => '192.168.56.101',
    1 => '*',
  ),
  'datadirectory' => '/var/www/html/owncloud/data',
  'dbtype' => 'mysql',
  'version' => '6.0.4.1',
  'dbname' => 'owncloud',
  'dbhost' => 'localhost',
  'dbtableprefix' => 'oc_',
  'dbuser' => 'ownclouduser',
  'dbpassword' => 'Password',
  'installed' => true,
);

然后将nginx的443端口映射出去
修改完成后重启nginx即可。

你可能感兴趣的:(Centos7利用lnmp安装包配置nextcloud)