如何在CentOS 7上使用Apache安装和配置Nextcloud
Nextcloud是一个开放源代码,自托管的文件共享和协作平台,类似于Dropbox。
它与媒体播放器,日历和联系人管理捆绑在一起。
Nextcloud可通过应用程序进行扩展,并具有适用于所有主要平台的桌面和移动客户端。
本教程将引导我们完成在CentOS 7系统上使用Apache安装和配置Nextcloud的过程。
准备工作
在开始本教程之前,请确保我们以具有sudo特权的用户身份登录。
步骤1:建立MySQL资料库
NextCloud可以使用SQLite,PostgreSQL或者MySQL数据库存储其所有数据。
在本教程中,我们将使用MySQL作为首选数据库。
如果我们尚未在CentOS服务器上安装MySQL或者MariaDB,则可以按照以下说明之一进行安装:
- 在CentOS 7上安装MySQL
- 在CentOS 7上安装MariaDB
首先通过键入以下命令登录到MySQL Shell:
sudo mysql
运行以下SQL语句以创建名为“ nextcloud”的数据库和名为“ nextclouduser”的用户,并向该用户授予必要的特权:
CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;GRANT ALL ON nextcloud.* TO 'nextclouduser'@'localhost' IDENTIFIED BY 'change-with-strong-password';FLUSH PRIVILEGES;EXIT;
步骤2:安装PHP和Apache
Nextcloud是一个PHP应用程序。
CentOS 7附带了Nextcloud不支持的PHP 5.4.
我们将从Remi存储库安装PHP 7.2.
以下命令将启用EPEL和Remi存储库:
sudo yum install epel-release yum-utilssudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpmsudo yum-config-manager --enable remi-php72
启用存储库后,请使用以下命令安装Apache PHP 7.2和所有必需的PHP扩展:
sudo yum install httpd php php-gd php-json php-mysql php-curl php-mbstring php-intl php-mcrypt php-imagick php-xml php-zip
步骤3:配置防火墙
如果我们在CentOS服务器上运行防火墙,则需要打开HTTP('80')和HTTPS('443')端口。
我们可以通过运行以下命令来做到这一点:
sudo firewall-cmd --permanent --zone=public --add-service=httpsudo firewall-cmd --permanent --zone=public --add-service=httpssudo firewall-cmd --reload
步骤4:下载Nextcloud
使用wget从Nextcloud下载页面下载最新版本的Nextcloud:
wget -P /tmp https://download.nextcloud.com/server/releases/nextcloud-15.0.0.zip
在撰写本文时,Nextcloud的最新版本是15.0.0。
下载完成后,将存档解压缩到/var/www目录:
sudo unzip /tmp/nextcloud-15.0.0.zip -d /var/www
设置正确的所有权,以便Apache Web服务器可以完全访问Nextcloud的文件和目录:
sudo chown -R apache: /var/www/nextcloud
步骤5:配置Apache
打开文本编辑器并创建以下Apache配置文件。
sudo nano /etc/httpd/conf.d/nextcloud.conf
/etc/httpd/conf.d/nextcloud.conf
Alias /nextcloud "/var/www/nextcloud/" <Directory /var/www/nextcloud Options +FollowSymlinks AllowOverride All <IfModule mod_dav.c> Dav off </IfModule> SetEnv HOME /var/www/nextcloud SetEnv HTTP_HOME /var/www/nextcloud </Directory>
通过重新启动Apache服务来激活更改:
sudo systemctl restart httpd
步骤6:安装Nextcloud
现在,下载了Nextcloud并配置了所有必要的服务后,打开浏览器并通过访问服务器的域名或者IP地址(后跟“/nextcloud”)开始Nextcloud的安装:
http://domain_name_or_ip_address/nextcloud
我们将看到Nextcloud设置页面。
输入所需的管理员用户名和密码以及先前创建的MySQL用户和数据库详细信息。
单击“完成设置”按钮,安装过程完成后,我们将被重定向到以admin用户身份登录的Nextcloud仪表板。