当前位置: 首页 > 科技观察

使用Fedora31和NextcloudServer构建您自己的云

时间:2023-03-13 18:53:43 科技观察

Nextcloud是一个用于在多个设备之间存储和同步数据的软件套件。您可以从https://github.com/nextcloud/server了解更多关于NextcloudServer的特性。本文通过几个简单的步骤演示了如何使用Fedora和Nextcloud构建个人云。对于本教程,您将需要一台独立计算机或运行Fedora31服务器版的虚拟机和互联网连接。第1步:安装前先决条件在安装和配置Nextcloud之前,必须满足一些先决条件。首先,安装ApacheWeb服务器:#dnfinstallhttpd接下来,安装PHP和其他一些模块。确保安装的PHP版本满足Nextcloud的要求:#dnfinstallphpphp-gdphp-mbstringphp-intlphp-pecl-apcuphp-mysqlndphp-pecl-redisphp-opcachephp-imagickphp-zipphp-过程安装PHP之后,启用并启动ApacheWeb服务器:#systemctlenable--nowhttpd接下来,允许HTTP流量通过防火墙:#firewall-cmd--permanent--add-service=http#firewall-cmd--reload接下来,安装MariaDB服务器和客户端:#dnfinstallmariadbmariadb-server然后启用并启动MariaDB服务器#systemctlenable--nowmariadb现在MariaDB正在运行,您可以运行mysql_secure_installation命令来保护它:#mysql_secure_installation注意:建议在生产使用中的所有MariaDB服务器运行此脚本的所有部分!请仔细阅读每一步!为了登录MariaDB以保护它,我们需要root用户的当前密码。如果你刚刚安装了MariaDB,还没有设置root密码,那么密码将为空,所以你应该在这里按回车。输入当前的root密码(不输入):OK,成功用过的assword,继续...设置root密码可确保任何人在未经适当授权的情况下都无法登录MariaDBroot用户。设置root密码?[Y/n]Newpassword:Your_Password_HereRe-enternewpassword:Your_Password_HerePasswordupdatedsuccessfully!Reloadingprivilegetables......Success!默认情况下,MariaDB安装有一个匿名用户,允许任何人登录MariaDB而无需必须为他们创建一个用户帐户。这仅用于测试,并使安装更顺利。你应该在进入生产环境之前删除它们。删除匿名用户?[Y/n]...成功!通常,只允许root从“本地主机”连接。这可确保有人无法从网络中猜出root密码。是否允许远程root登录?[Y/n]...成功!默认情况下,MariaDB带有一个名为“test”的数据库,任何人都可以访问该数据库。这也仅用于测试,应在进入生产环境之前将其删除。删除测试数据库并访问它?[Y/n]-删除测试数据库......成功!-删除测试数据库的权限......成功!重新加载权限表将确保到目前为止所做的所有更改将立即生效。现在重新加载权限表?[是/否]...成功!清理...全部完成!如果您已完成上述所有步骤,那么您的MariaDB安装现在应该是安全的。感谢您使用MariaDB!接下来,为您的Nextcloud实例创建一个单独的用户和数据库:#mysql-p>createdatabasenextcloud;>createuser'nc_admin'@'localhost'identifiedby'SeCrEt';>grantallprivilegesonnextcloud.*to'nc_admin'@'localhost';>flushprivileges;>exit;第二步:安装Nextcloud服务器现在,你已经满足了Nextcloud安装的前提条件,请下载并解压Nextcloud压缩包:#wgethttps://download.nextcloud.com/server/releases/nextcloud-17.0.2.zip#解压nextcloud-17.0.2.zip-d/var/www/html/接下来,创建一个数据文件夹并授予Apache对nextcloud目录树的读写权限:#mkdir/var/www/html/nextcloud/data#chown-Rapache:apache/var/www/html/nextcloudSELinux必须配置为与Nextcloud一起使用基本命令如下所示,但在nexcloud安装中还有许多其他命令,张贴在这里:NextcloudSELinux配置。#semanagefcontext-a-thttpd_sys_rw_content_t'/var/www/html/nextcloud/config(/.*)?'#semanagefcontext-a-thttpd_sys_rw_content_t'/var/www/html/nextcloud/apps(/.*)?'#semanagefcontext-a-thttpd_sys_rw_content_t'/var/www/html/nextcloud/data(/.*)?'#semanagefcontext-a-thttpd_sys_rw_content_t'/var/www/html/nextcloud/.user.ini'#semanagefcontext-a-thttpd_sys_rw_content_t'/var/www/html/nextcloud/3rdparty/aws/aws-sdk-php/src/data/logs(/.*)?'#restorecon-Rv'/var/www/html/nextcloud/'第3步:配置Nextcloud您可以使用其Web界面或在命令行上配置Nextcloud。使用网络界面在您喜欢的浏览器中,访问http://your_server_ip/nextcloud并输入字段:使用命令行在命令行中,只需输入以下内容,替换适当的值:#sudo-uapachephpocc维护:安装--data-dir/var/www/html/nextcloud/data/--database"mysql"--database-name"nextcloud"--database-user"nc_admin"--database-pass"DB_SeCuRe_PaSsWoRd"--admin-user"admin"--admin-pass"Admin_SeCuRe_PaSsWoRd"最后几点我使用的是http协议,但是Nextcloud也可以在https上运行。我可能会在以后的文章中写一篇关于保护Nextcloud的文章。我禁用了SELinux,但如果您配置它,您的服务器会更加安全。Nextcloud建议的PHP内存限制为512M。要更改它,请编辑/etc/php.ini配置文件中的memory_limit变量并重新启动httpd服务。默认情况下,只能使用http://localhost/URL访问Web界面。如果你想允许从其他域访问,你可以编辑/var/www/html/nextcloud/config/config.php来这样做。*字符可用于绕过域名限制并允许从解析为服务器IP的任何URL进行访问。'trusted_domains'=>array(0=>'localhost',1=>'*',),