CentOS7安装NextCloud

2022-10-04 14:44:27 浏览数 (2)

下载安装包

代码语言:javascript复制
wget https://download.nextcloud.com/server/releases/latest.tar.bz2

解压到网站根目录

代码语言:javascript复制
unzip unzip nextcloud-12.0.2.zip
chown -R www.www `网站目录`

遇到的坑

一、安装后无法选择中文
  • 解决方案: vim /usr/local/php/etc/php.ini 找到disable_functions,删除scandir ,重启lnmp lnmp restart
二、安全及设置警告

为了您服务的安全和性能, 请将所有设置配置正确. 我们将会进行一些自动化检查以帮助您完成这项工作. 详情请查看 "小提示" 部分及相关文档.

代码语言:javascript复制
* 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源码目录
代码语言:javascript复制
cd /home/src/lnmp1.4-full/src/php-7.0.21/ext
* 运行phpize
代码语言:javascript复制
/usr/local/php/bin/phpize
* 编译fileinfo模块
代码语言:javascript复制
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install 
* 添加php扩展
代码语言:javascript复制
vim /usr/local/php/etc/php.ini
#在文件最后添加
[fileinfo]
extension=fileinfo.so
#重启服务
lnmp restart
2. 文件完整性检查
  • 一般是.htaccess.user.ini无法通过检查 解决方法 从源码安装目录拷贝这两个文件到网站根目录并调整权限 chown www:www .htaccesschown 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

代码语言:javascript复制
<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扩展
代码语言:javascript复制
cd /home/src/lnmp1.4
./addons.sh install opcache
* 修改php.ini文件
代码语言:javascript复制
[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 插件
代码语言:javascript复制
cd /home/src/lnmp1.4
./addons.sh install apcu
* 修改nextcloud配置文件
代码语言:javascript复制
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添加如下内容:

代码语言:javascript复制
[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模块
代码语言:javascript复制
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模块
代码语言:javascript复制
vim /usr/local/php/etc/php.ini
#文件最后添加如下内容:
[smb]
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/smbclient.so
四、优化性能
* 定时任务配置为 'Cron'
代码语言:javascript复制
 sudo -u www crontab -e
 #添加
 */15 * * * * /usr/local/php/bin/php -f /YourSitesDir/cron.php
 lnmp restart

0 人点赞