NextCloud是一个免费的开放源代码,是另一个开源文件托管解决方案OwnCloud的替代方案。 来自OwnCloud的NextCloud的主要区别在于NextCloud是完全开源的。 NextCloud是一个自我托管的文件共享应用程序服务器,允许您从集中位置存储联系人,图片和个人文档。 NextCloud不需要使用第三方云托管软件(如Dropbox)来存储文档。
NextCloud具有很多功能,其中一些功能如下所示:
- 允许我们使用OpenID或LDAP管理用户和组。
- 允许我们访问,同步和共享您的Dropbox,FTP和NAS上的现有数据。
- 在个人设置页面中列出连接的浏览器/设备。 允许用户断开浏览器/设备。
- 支持两个Factor认证插件系统。
- 允许我们与其他用户共享文件,创建和发送受密码保护的公共链接。
- 服务器上的人直接与您共享文件时,通过电话和桌面通知您。
- 支持监控功能,全文搜索,Kerberos认证和音频/视频会议。
- 从Desktop客户端和Mobile客户端将文件与Nextcloud服务器同步。
在本教程中,我们将介绍如何在Debian 9上安装和配置NextCloud。
要求
- 在您的系统上运行Debian 9的服务器。
- 您的系统上的静态IP 192.168.0.187地址设置。
- 您的系统上的根密码设置
入门
让我们从最新的稳定版本开始更新你的系统。 您可以通过运行以下命令来执行此操作:
apt-get update -y
apt-get upgrade -y
更新系统后,重新启动系统以应用这些更改:
reboot
接下来,使用root用户登录,然后继续下一步。
1安装LAMP服务器
NextCloud使用Apache,MySQL和PHP运行。 因此,您将需要将所有这些组件安装到系统中。
首先,使用以下命令安装Apache和MariaDB服务器:
apt-get install apache2 mariadb-server -y
安装完成后,启动Apache和MariaDB服务,并通过运行以下命令使它们在启动时启动:
systemctl start apache2
systemctl enable apache2
systemctl start mysql
systemctl enable mysql
接下来,您还需要将PHP和其他必需的模块安装到系统中。 您可以通过运行以下命令来安装它们:
apt-get install php7.0-xml php7.0 php7.0-cgi php7.0-cli php7.0-gd php7.0-curl php7.0-zip php7.0-mysql php7.0-mbstring wget unzip -y
安装完成后,您可以继续下一步。
2配置MariaDB
默认情况下,MariaDB安装不安全,因此您需要确保安全。 您可以通过运行以下命令来执行此操作:
mysql_secure_installation
回答以下所有问题:
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none): OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. You already have a root password set, so you can safely answer 'n'. Change the root password? [Y/n] n ... skipping. By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] Y ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] Y ... Success! By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] Y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] Y ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!
一旦MariaDB得到安全保护,请使用以下命令登录到MariaDB控制台:
mysql -u root -p
在提示时输入您的root密码,然后为Nextcloud创建一个数据库:
MariaDB [(none)]>CREATE DATABASE nextclouddb;
接下来,使用以下命令创建Nextcloud的用户名和密码:
MariaDB [(none)]>CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'password';
接下来,使用以下命令向Nextcloud数据库授予权限:
MariaDB [(none)]>GRANT ALL PRIVILEGES ON nextclouddb.* TO 'nextcloud'@'localhost';
接下来,运行FLUSH PRIVILEGES命令,以使权限表由MariaDB重新加载:
MariaDB [(none)]>FLUSH PRIVILEGES;
最后,使用以下命令退出MariaDB shell:
MariaDB [(none)]>\q
数据库设置正确后,您可以继续下一步。
3安装NextCloud
首先,您需要从官方网站下载最新版本的NextCloud。 您可以使用以下命令来执行此操作:
wget https://download.nextcloud.com/server/releases/nextcloud-12.0.0.zip
文件下载后,使用以下命令解压缩下载的文件:
unzip nextcloud-12.0.0.zip
接下来,使用以下命令将提取的目录移动到apache Web根目录:
mv nextcloud /var/www/html/
接下来,使用以下命令给予nextcloud适当的权限:
chown -R www-data:www-data /var/www/html/nextcloud
接下来,您将需要为NextCloud创建apache虚拟主机文件。 您可以通过创建nextcloud.conf文件来执行此操作,如下所示:
nano /etc/apache2/sites-available/nextcloud.conf
添加以下行:
<VirtualHost *:80> ServerAdmin admin@example.com DocumentRoot "/var/www/html/nextcloud" ServerName 192.168.0.187 <Directory /> Options FollowSymLinks AllowOverride All <Directory "/var/www/html/nextcloud/"> Options MultiViews FollowSymlinks
AllowOverride All Order allow,deny Allow from all </Directory> TransferLog /var/log/apache2/nextcloud_access.log ErrorLog /var/log/apache2/nextcloud_error.log </VirtualHost>
保存并关闭文件,然后启用NextCloud虚拟主机文件,并使用以下命令禁用默认虚拟主机文件:
a2dissite 000-default
a2ensite nextcloud
最后,重新启动apache服务以应用这些更改:
systemctl restart apache2
4访问NextCloud Web界面
一旦所有配置正确,您将需要通过UFW防火墙允许端口80。
要这样做,首先使用以下命令安装ufw:
apt-get install ufw -y
一旦安装了UFW,请使用以下命令启用它:
ufw enable
接下来,使用以下命令将端口80通过UFW:
ufw allow 80
最后打开网页浏览器并浏览到http://192.168.0.187 ,您应该看到以下屏幕:
提供所有必需的信息,如管理员用户名,密码,数据库名称,数据库用户名和密码,然后单击完成设置按钮。 您应该在以下屏幕中看到NextCloud仪表板:
5配置NextCloud Client
在这里,我们将在Ubuntu Desktop 14.04上安装NextCloud客户端,并将其连接到NextCloud服务器。
要安装NextCloud客户端,您需要将NextCloud存储库添加到系统中。 您可以通过运行以下命令来执行此操作:
add-apt-repository ppa:nextcloud-devs/client
apt-get update -y
apt-get install nextcloud-client -y
一旦安装了NextCloud客户端,从Ubuntu Dash启动它,你应该看到以下屏幕:
在这里,提供您的服务器地址并单击下一步按钮,您应该看到以下屏幕:
提供您的NextCloude服务器凭据并单击下一步按钮,您应该看到以下屏幕:
现在点击连接按钮,你应该看到如下屏幕:
在这里,点击本地文件夹 ,你应该看到以下屏幕:
恭喜! 您的NextCloud服务器和客户端已安装并配置。 您现在可以轻松地将数据从本地的NextCloud客户端同步到NextCloud服务器。