搭建Nextcloud
Nextcloud是一套用于创建网络硬盘的客户端-服务器软件。其功能与Dropbox相近,但Nextcloud是自由及开放源代码软件,每个人都可以在私人服务器上安装并运行它。
搭建LNMP环境
1 | sudo wget http://soft.vpser.net/lnmp/lnmp1.7.tar.gz -O /usr/local/src/lnmp1.7.tar.gz |
将Enable_PHP_Fileinfo=’n’改为Enable_PHP_Fileinfo=’y’。
1 | sudo sed -i "s#Enable_PHP_Fileinfo='n'#Enable_PHP_Fileinfo='y'#g" lnmp.conf |
1 | sudo ./install.sh |
进行安装,稍等片刻。
PS:强烈建议选择PHP7.0以上版本进行安装。
安装Nextcloud
1 | cd /home/wwwroot/ && sudo wget https://download.nextcloud.com/server/releases/nextcloud-13.0.12.zip && sudo unzip nextcloud-13.0.12.zip |
1 | sudo chown -R www:www nextcloud/ |
PS:nextcloud文件夹下有两个文件.htaccess和.user.ini,如果要移动文件夹下的文件,请务必复制这两个,不然会报文件完整性错误。
可以使用一键安装包自带的phpMyAdmin添加数据库,也可以直接使用命令行添加数据库。
可参考Nextcloud官方文档。
填入账号、密码,数据库用户、数据库密码、数据库名,完成安装。
PS:注意配置好防火墙,放行对应端口,以及数据库可单独创建一个用户并赋予相应权限。
常见问题
修改php.ini,
1 | sudo vim /usr/local/php/etc/php.ini |
找到disable_functions =,删除scandir,,保存并退出,
1 | sudo service php-fpm restart |
重启PHP。
修改php-fpm.conf,
1 | sudo vim /usr/local/php/etc/php-fpm.conf |
添加以下几行
1 | env[HOSTNAME] = $HOSTNAME |
然后重启PHP。
可以通过Let’s Encrypt申请一个免费的证书,配置Nginx以支持HTTPS。
修改nginx配置文件下的fastcgi.conf,
1 | sudo vim /usr/local/nginx/conf/fastcgi.conf |
将fastcgi_param PHP_ADMIN_VALUE “open_basedir=$document_root/:/tmp/:/proc/“;修改为fastcgi_param PHP_ADMIN_VALUE “open_basedir=$document_root/:/tmp/:/proc/:/dev/urandom”;。
1 | opcache.enable=1 |
修改php.ini,添加zend_extension=”opcache.so”,按照要求逐一修改或全部复制粘贴,重启PHP。
安装redis以及phpredis组件,并开启redis,设置redis开机自启。
1 | sudo yum install -y redis |
PS:显示未安装redis时,建议
1 | sudo yum install -y epel-release |
进入软件包存放目录,
1 | cd /usr/local/src |
PHP官网下载phpredis组件并解压,
1 | sudo wget https://pecl.php.net/get/redis-4.3.0.tgz && sudo tar -zxvf redis-4.3.0.tgz && cd redis-4.3.0/ |
phpize生成configure配置脚本,
1 | sudo /usr/local/php/bin/phpize |
构建,
1 | ./configure --with-php-config=/usr/local/php/bin/php-config |
编译安装,
1 | make && sudo make install |
修改php.ini,添加extension=”redis.so”,重启PHP。
编辑nextcloud文件夹下的config文件夹下的config.php,添加
1 | 'filelocking.enabled' => true, |
如有其它问题,查询Nextcloud官方文档。