Apache+Nextcloud搭建云盘

步骤 1: 系统和软件安装
安装软件这一步骤注意点就是软件来源要对,最好用官方 来源的软件。

更新系统:
sudo apt update && sudo apt upgrade -y
安装Apache, MariaDB, PHP及其扩展:
sudo apt install apache2 mariadb-server php libapache2-mod-php php-gd php-json php-mysql php-curl php-mbstring php-intl php-imagick php-xml php-zip -y
步骤 2: 配置MariaDB
安全配置:
sudo mysql_secure_installation
创建数据库和用户:
sudo mysql -u root -p
CREATE DATABASE nextcloud;
CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost';
FLUSH PRIVILEGES;
EXIT;
步骤 3: 安装和配置Nextcloud
这一步注意版本,可以用浏览器进入以下网址查看版本名称https://download.nextcloud.com/server/releases/

下载和解压Nextcloud:
wget https://download.nextcloud.com/server/releases/nextcloud-20.0.4.tar.bz2
tar -xjf nextcloud-20.0.4.tar.bz2 -C /var/www/html/
设置权限:
sudo chown -R www-data:www-data /var/www/html/nextcloud
步骤 4: 安装SSL证书
使用Certbot获取Let's Encrypt SSL证书:
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d your-domain.com
在此过程中,选择将所有HTTP流量重定向到HTTPS的选项。
步骤 5: 配置Apache以使用HTTPS
检查和编辑Apache SSL配置: Certbot通常会自动修改Apache配置。确认文件(例如000-default-le-ssl.conf)包含Nextcloud所需的设置:

sudo nano /etc/apache2/sites-available/000-default-le-ssl.conf
确保配置如下:

ServerAdmin admin@your-domain.com DocumentRoot /var/www/html/nextcloud ServerName your-domain.com
  <Directory /var/www/html/nextcloud/>
      Require all granted
      AllowOverride All
      Options FollowSymLinks MultiViews

      <IfModule mod_dav.c>
          Dav off
      </IfModule>
  </Directory>

  ErrorLog ${APACHE_LOG_DIR}/nextcloud_error.log
  CustomLog ${APACHE_LOG_DIR}/nextcloud_access.log combined

  SSLEngine on
  SSLCertificateFile /etc/letsencrypt/live/your-domain.com/fullchain.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/your-domain.com/privkey.pem
配置文件中的值记得按需求修改,最重要的是DocumentRoot和ServerName的值一定要对。

禁用任何未使用的HTTP配置(可选):

sudo a2dissite 000-default.conf
sudo systemctl reload apache2
也可通过设置一个重定向的http配置,http配置如下

<VirtualHost *:80>
ServerName your-domain.com
Redirect permanent / https://your-domain.com/

重启Apache:
sudo systemctl restart apache2
步骤 6: 最终检查和测试
访问 https://your-domain.com 来完成Nextcloud的Web安装。
确保网站通过HTTPS访问,并检查是否有SSL安全锁显示。
这一系列操作确保了从一开始你的Nextcloud安装就是通过安全的HTTPS协议提供服务,有效保护数据安全和隐私。如果有任何问题或需要更多帮助,随时联系我!