如何在CentOS 7上安装NextCloud 9

顾名思义,NextCloud是另一个开源文件托管解决方案OwnCloud的有前途的替代方案。

在本文中,我将向您展示如何在Vultr CentOS 7服务器实例上安装NextCloud。

先决条件

  • 新创建的Vultr CentOS 7服务器实例。
  • 用于登录的sudo用户

步骤1:更新系统

以sudo用户身份登录CentOS 7系统,然后将系统更新为最新的稳定状态:

sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now

重新启动后,仍然使用相同的sudo用户登录。

步骤2:安装Apache

将Apache安装为NextCloud的Web服务器:

sudo yum install httpd -y

禁用预设的Apache欢迎页面:

sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf

为了安全起见,请阻止Apache在Web根目录中显示内容/var/www/html

sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf

根据NextCloud的要求,阻止Apache加载WebDAV模块:

sudo sed -i 's/^/#&/g' /etc/httpd/conf.modules.d/00-dav.conf

启动Apache服务,并使其在启动时启动:

sudo systemctl start httpd.service
sudo systemctl enable httpd.service

步骤3:安装PHP和必要的PHP扩展

NextCloud建议使用PHP 5.6。在这里,您可以使用IUS YUM存储库安装PHP 5.6和必要的PHP扩展。

安装IUS YUM存储库:

cd
wget https://centos7.iuscommunity.org/ius-release.rpm
sudo rpm -Uvh ius-release.rpm

使用IUS YUM存储库安装PHP 5.6和必要的扩展:

sudo yum install php56u php56u-common php56u-xml php56u-gd php56u-mbstring php56u-process php56u-mysqlnd php56u-intl php56u-mcrypt php56u-imap php56u-cli -y

将上传文件的大小增加到适当的值,例如50 MB:

sudo cp /etc/php.ini /etc/php.ini.bak
sudo sed -i "s/post_max_size = 8M/post_max_size = 50M/" /etc/php.ini
sudo sed -i "s/upload_max_filesize = 2M/upload_max_filesize = 50M/" /etc/php.ini

重新启动Apache以应用上述修改:

sudo systemctl restart httpd.service

步骤4:安装MariaDB并为NextCloud设置数据库

安装MariaDB:

sudo yum install mariadb mariadb-server -y

启动MariaDB服务,并使其在启动时启动:

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

安全的MariaDB安装:

sudo /usr/bin/mysql_secure_installation

在此过程中,请按照下列步骤一一回答问题:

Enter current password for root (enter for none): Enter
Set root password? [Y/n]: Y
New password: <your-password>
Re-enter new password: <your-password>
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y

现在,是时候为NextCloud设置数据库了:

mysql -u root -p

输入您之前设置的MariaDB root密码登录。

在MySQL Shell中,您需要创建一个数据库和一个数据库用户,然后向该数据库用户授予特权。

使用以下命令完成工作。确保在每个命令中都用自己的命令替换数据库名称“ nextcloud”,数据库用户名“ nextclouduser”和数据库用户密码“ yourpassword”。

CREATE DATABASE nextcloud;
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

步骤5:安装NextCloud

从其官方网站下载NextCloud的最新稳定版本。在撰写本文时,最新的稳定版本号是9.0.53。

cd
wget https://download.nextcloud.com/server/releases/nextcloud-9.0.53.zip

解压缩NextCloud存档:

sudo yum install unzip -y
unzip nextcloud-9.0.53.zip

将所有NextCloud文件移动到Web根目录,然后为其授予适当的权限:

sudo mv nextcloud/* /var/www/html && sudo chown apache:apache -R /var/www/html

从命令行界面使用以下示例参数安装NextCloud。确保将它们替换为您自己的。

  • 数据库名称:nextcloud
  • 数据库用户:nextclouduser
  • 数据库密码:yourpassword
  • 管理员用户:admin
  • 管理员通过nextcloudadminpassword

跑:

cd /var/www/html/
sudo -u apache php occ maintenance:install --database "mysql" --database-name "nextcloud"  --database-user "nextclouduser" --database-pass "yourpassword" --admin-user "admin" --admin-pass "nextcloudadminpassword"

如果一切顺利,输出将显示为:

Nextcloud is not installed - only a limited number of commands are available
ownCloud was successfully installed

将您的服务器IP(例如203.0.113.1)和域名(例如www.example.com)添加到NextCloud的受信任域列表中:

sudo vi /var/www/html/config/config.php

找到这行:

0 => 'localhost',

在其下面插入以下两行:

1 => '203.0.113.1',
2 => 'www.example.com',

保存并退出:

:wq!

为了安全起见,您需要在安装后为Nextcloud文件和目录设置强权限:

sudo find /var/www/html -type f -print0 | sudo xargs -0 chmod 0640
sudo find /var/www/html -type d -print0 | sudo xargs -0 chmod 0750
sudo chown -R root:apache /var/www/html
sudo chown -R apache:apache /var/www/html/apps
sudo chown -R apache:apache /var/www/html/config
sudo chown -R apache:apache /var/www/html/data
sudo chown -R apache:apache /var/www/html/themes
sudo chown -R apache:apache /var/www/html/updater
sudo chmod 0644 /var/www/html/.htaccess
sudo chown root:apache /var/www/html/.htaccess
sudo chmod 0644 /var/www/html/data/.htaccess
sudo chown root:apache /var/www/html/data/.htaccess

此外,请记住,还有一个尚未创建的目录,名为/var/www/html/assets。如果将来要创建此目录,则还需要运行以下命令:

sudo chown -R apache:apache /var/www/html/assets

这些设置有助于防止NextCloud被未经授权的访问。

注意:如果以后需要更新NextCloud,则可以使用以下命令暂时放松权限:

sudo chown apache:apache -R /var/www/html

更新后,仍按上述设置强权限。

重新启动Apache,以使您的更改生效:

sudo systemctl restart httpd.service

修改防火墙规则,以允许访问者访问:

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload

而已。现在,您可以将Web浏览器指向http://203.0.113.1,并使用NextCloud管理员帐户登录。

感谢您的阅读。

留下評論

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息