[TOC]
下载安装包
wget https://download.nextcloud.com/server/releases/nextcloud-12.0.2.zip
解压到网站根目录
unzip unzip nextcloud-12.0.2.zip
chown -R www.www `网站目录`
遇到的坑
一、安装后无法选择中文
- 解决方案:
vim /usr/local/php/etc/php.ini
找到disable_functions,删除scandir ,重启lnmp
lnmp restart
二、安全及设置警告
为了您服务的安全和性能, 请将所有设置配置正确. 我们将会进行一些自动化检查以帮助您完成这项工作. 详情请查看 "小提示" 部分及相关文档.
PHP 模块 'fileinfo' 缺失. 我们强烈建议启用此模块以便在 MIME 类型检测时获得最准确的结果.
一些文件没有通过完整性检查. 了解如何解决该问题请查看我们的文档. (无效的文件列表… / 重新扫描…)
PHP 无法访问 /dev/urandom, 由于安全原因, 这是强烈不推荐的. 更多信息请查看我们的文档.
您正在通过 HTTP 访问该站点, 我们强烈建议您按照安全提示中的说明配置服务器强制使用 HTTPS.
内存缓存未配置. 如果可用, 请配置 memcache 以增强性能. 更多信息请查看我们的文档.
PHP 的组件 OPcache 没有正确配置. 为了提供更好的性能, 我们建议在php.ini文件中使用下列设置:
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
请再次检查 安装指南 ↗, 并检查 日志 中的任何错误或警告.
1. PHP 模块 'fileinfo' 缺失
* 安装php-fileinfo模块,进入php源码目录
cd /home/src/lnmp1.4-full/src/php-7.0.21/ext
###### * 运行phpize
```bash
/usr/local/php/bin/phpize
###### * 编译fileinfo模块
```bash
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
* 添加php扩展
vim /usr/local/php/etc/php.ini
#在文件最后添加
[fileinfo]
extension=fileinfo.so
#重启服务
lnmp restart
2. 文件完整性检查
- 一般是.htaccess和.user.ini无法通过检查
解决方法
从源码安装目录拷贝这两个文件到网站根目录并调整权限
chown www:www .htaccess
chown www:www .user.ini
3.PHP 无法访问 /dev/urandom
解决方法
- 在vhost配置文件里面php_admin_value open_basedir项后面添加:/dev/urandom(保存后重启apache)
vim /usr/local/apache/conf/vhost/YourSiteName.conf
Example
<VirtualHost *:88>
ServerAdmin XXX@xxx.com
php_admin_value open_basedir "/home/wwwroot/YourSiteName:/tmp/:/var/tmp/:/proc/:/dev/urandom"
DocumentRoot "/home/wwwroot/YourSiteName"
ServerName YourSiteName
ErrorLog "/home/wwwlogs/YourSiteName-error_log"
CustomLog "/home/wwwlogs/YourSiteName-access_log" combined
<Directory "/home/wwwroot/YourSiteName">
SetOutputFilter DEFLATE
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
DirectoryIndex index.html index.php
</Directory>
</VirtualHost>
4.PHP组件OPcache没有正确配置
- 解决方法
* 安装php OPcache扩展
cd /home/src/lnmp1.4
./addons.sh install opcache
* 修改php.ini文件
[Zend Opcache]
zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/opcache.so"
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.save_comments=1
opcache.revalidate_freq=1
5. 内存缓存未配置
- 解决方法
* 安装php APCu 插件
cd /home/src/lnmp1.4
./addons.sh install apcu
* 修改nextcloud配置文件
vim /home/wwwroot/YourSiteName/config/config.php
#添加:
'memcache.local' => '\\OC\\Memcache\\APCu',
PS:lnmp一键安装包1.4后,添加扩展已经不再修改php.ini,而是单独的conf.d目录下
vim /usr/local/php/conf.d/004-opcache.ini
添加如下内容:
[Zend Opcache]
zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/opcache.so"
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.save_comments=1
opcache.revalidate_freq=1
*重启lnmp生效
三、安装后无法挂载外部共享目录
- 解决方法
- 安装PHP smbclient模块
wget https://pecl.php.net/get/smbclient-0.9.0.tgz
tar -zxvf smbclient-0.9.0.tgz
cd smbclient-0.9.0
/usr/local/php/bin/phpize
yum install -y libsmbclient
yum install -y libsmbclient-devel.x86_64
./configure --with-php-config=/usr/local/php/bin/php-config
- 在php.ini里面启用smb模块
vim /usr/local/php/etc/php.ini
#文件最后添加如下内容:
[smb]
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/smbclient.so
四、优化性能
* 定时任务配置为 'Cron'
sudo -u www crontab -e
#添加
*/15 * * * * /usr/local/php/bin/php -f /YourSitesDir/cron.php
lnmp restart
网友评论