如何在Ubuntu 18.04上使用Apache安装和配置Nextcloud
Nextcloud是一个开放源代码,自托管的文件共享和协作平台,类似于Dropbox。
它与媒体播放器,日历和联系人管理捆绑在一起。
Nextcloud可通过应用程序进行扩展,并具有适用于所有主要平台的桌面和移动客户端。
在本教程中,我们将向我们展示如何在Ubuntu 18.04计算机上使用Apache安装和配置Nextcloud。
准备工作
在开始本教程之前,请确保我们以具有sudo特权的用户身份登录。
步骤1:建立MySQL资料库
NextCloud可以使用SQLite,PostgreSQL或者MySQL数据库存储其所有数据。
在本教程中,我们将使用MySQL作为首选数据库。
如果Ubuntu服务器上未安装MySQL或者MariaDB,则可以按照以下说明之一进行安装:
- 在Ubuntu 18.04上安装MySQL
- 在Ubuntu 18.04上安装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应用程序。
PHP 7.2是Ubuntu 18.04中的默认PHP版本,它被完全支持,并建议用于Nextcloud。
运行以下命令以安装Apache,PHP和所有必需的PHP扩展以及:
sudo apt install apache2 php7.2 php7.2-gd php7.2-json php7.2-mysql php7.2-curl php7.2-mbstring php7.2-intl php7.2-imagick php7.2-xml php7.2-zip libapache2-mod-php7.2
步骤3:配置防火墙
假设我们使用“ UFW”来管理防火墙,则需要打开HTTP('80')和HTTPS('443')端口。
为此,我们可以启用“ Apache Full”配置文件,其中包括两个端口的规则:
sudo ufw allow 'Apache Full'
步骤4:下载Nextcloud
在撰写本文时,Nextcloud的最新稳定版本为15.0.0。
在继续下一步之前,请访问Nextcloud下载页面,并检查是否有可用的Nextcloud新版本。
首先使用以下wget命令下载Nextcloud的最新版本:
wget https://download.nextcloud.com/server/releases/nextcloud-15.0.0.zip -P /tmp
下载完成后,将存档解压缩到/var/www目录:
sudo unzip /tmp/nextcloud-15.0.0.zip -d /var/www
设置正确的所有权,以便Apache Web服务器可以完全访问Nextcloud的文件和目录。
sudo chown -R www-data: /var/www/nextcloud
步骤5:配置Apache
打开文本编辑器并创建以下Apache配置文件。
sudo nano /etc/apache2/conf-available/nextcloud.conf
/etc/apache2/conf-available/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 a2enconf nextcloudsudo a2enmod rewritesudo a2enmod headerssudo a2enmod envsudo a2enmod dirsudo a2enmod mime
通过重新启动Apache服务来激活更改:
sudo systemctl reload apache2
步骤6:安装Nextcloud
现在,下载了Nextcloud并配置了所有必要的服务后,打开浏览器并通过访问服务器的域名或者IP地址(后跟“/nextcloud”)开始Nextcloud的安装:
http://domain_name_or_ip_address/nextcloud
我们将看到Nextcloud设置页面。
输入所需的管理员用户名和密码以及先前创建的MySQL用户和数据库详细信息。
单击“完成设置”按钮,安装过程完成后,我们将被重定向到以admin用户身份登录的Nextcloud仪表板。