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
确保配置如下:
<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
禁用任何未使用的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协议提供服务,有效保护数据安全和隐私。如果有任何问题或需要更多帮助,随时联系我!