百度云不好用且有审查,google drive空间太小切要翻墙,我寻思着为啥不自己整一个呢?
VPS 商家推荐
云盘要求自然是存储空间大,网络不翻墙速度过得去就行。最重要的是还得便宜,这两天我试用了两个,感觉还不错,建议你先买一个月试试,好用再年付。
Hostsolutions.月付5.4刀,年付55刀,1T空间,10t流量。
优点是抗投诉,无版权,存什么都没问题,缺点是商家在罗马尼亚,ip也是罗马尼亚且不可选,我家移动网网速很差,裸连几乎不能用,所以我选择了另一家。
Crowncloud.月付5刀,年付50刀,500g存储,3T流量。
美国ip,除了晚高峰速度都是正常的,晚高峰可以用梯子解决,这样梯子的流量不会消耗很大,对于这个价格来说我觉得已经很棒了。
搭建
搭建过程其实和 WordPress 没啥区别,但为了文章的整体性还是把整个流程写一遍。
准备
sudo apt-get update && sudo apt-get upgrade -y sudo apt-get install unzip dpkg wget -y
安装 apache2
sudo apt-get install apache2 -y
将 /var/www/html 中的 index.html 删除
配置 MySQL
使用apt命令无法直接获取最新8.0版本的MySQL,需要手动下载deb包(https://dev.mysql.com/downloads/repo/apt/)安装。 以下命令在未来可能会有所不同,自行去网站获取最新
mkdir /temp cd /temp wget https://dev.mysql.com/get/mysql-apt-config_0.8.14-1_all.deb sudo dpkg -i mysql-apt-config_0.8.14-1_all.deb #版本号可能会更新 运行完之后,使用命令安装配置好的 MySQL 版本 apt update sudo apt-get install mysql-server
安装完成后查看安装好的 MySQL 用户名和密码
cd /etc/mysql sudo cat debian.cnf
配置 PHP
sudo apt-get install php7.2 -y sudo apt-get install libapache2-mod-php7.2 sudo apt-get install php7.2-gd php7.2-json php7.2-mysql php7.2-curl php7.2-mbstring sudo apt-get install php7.2-intl php-imagick php7.2-xml php7.2-zip service apache2 restart
安装 phpMyAdmin
官网:https://www.phpmyadmin.net 以下命令未来可能会不同
cd /var/www/html wget https://files.phpmyadmin.net/phpMyAdmin/5.0.1/phpMyAdmin-5.0.1-all-languages.zip unzip phpMyAdmin-5.0.1-all-languages.zip rm phpMyAdmin-5.0.1-all-languages.zip
解压下来的文件夹重命名为phpmyadmin。
访问 http://ip/phpmyadmin ,填入刚刚查看的用户名和密码,然后创建 nextcloud 数据库
安装 nextcloud
官网: https://nextcloud.com/ ,以下命令未来可能不同
cd /var/www/html wget https://download.nextcloud.com/server/releases/nextcloud-18.0.0.zip unzip nextcloud-18.0.0.zip rm nextcloud-18.0.0.zip sudo chown www-data nextcloud -Rf sudo chmod 770 nextcloud -Rf
接下来访问 http://ip/nextcloud 就安装完成了
用户和密码输入上面查看的数据库用户和密码,数据库名字填刚刚创建的nextcloud。等待初始化完成即可开始使用
一些问题的解决
Nextcloud 自带一个安全检查,检查完后会有一堆问题
您的数据目录和文件可以从互联网直接访问。.htaccess 文件不起作用。强烈建议您配置 Web 服务器,以便数据目录不再可访问,或者您可以将数据目录移动到 Web 服务器文档根目录。
sudo a2enmod rewrite cd /etc/apache2 sudo vim apache2.conf 复制进去 <Directory /var/www/html/nextcloud/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> 重启 sudo service apache2 restart
后面两个 “……未正确设置以解析……..” 也会因为这个解决而被解决
PHP 内存限制低于建议值 512MB。
vim /etc/php/7.2/apache2/php.ini 找到 memory_limit 改为512mb sudo service apache2 restart
通过HTTP访问网站不安全。
需要域名,证书可以申请 Let’s Encrypt 免费 ssl 证书
wget https://dl.eff.org/certbot-auto chmod a+x certbot-auto sudo ./certbot-auto --apache 申请完还需要,去 nextcloud 设置中添加域名 vim /var/www/html/nextcloud/config/config.php array ( 0 => 'xxx.xxx.xxx.xxx', 1 => 'xxx.com' ),
HTTP的请求头 “Strict-Transport-Security” 未设置为至少 “15552000” 秒。
申请完证书就会有这个错误
a2enmod headers vim /etc/apache2/sites-enabled/000-default-le-ssl.conf #文件可能有所不同 在域名的下一行添加 Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
内存缓存未配置,为了提升使用体验,请尽量配置内存缓存。
apt install php-apcu service apache2 restart vim /var/www/html/nextcloud/config/config.php 添加 'memcache.local' => '\OC\Memcache\APCu',
数据库丢失了一些索引。由于给大的数据表添加索引会耗费一些时间,因此程序没有自动对其进行修复。
cd /var/www/html/nextcloud/ sudo -u www-data php occ db:add-missing-indices
数据库中的一些列由于进行长整型转换而缺失。由于在较大的数据表重改变列类型会耗费一些时间,因此程序没有自动对其更改。
cd /var/www/html/nextcloud/ sudo -u www-data php occ db:convert-filecache-bigint
完成