在迁移时发现的letsencrypt的认证问题

在通常情况下本站使用letsencrypt的自动部署脚本进行认证,但是在此次迁移中发现letsencrypt的认证出现了问题。
具体表现为在certbot对本站进行认证时,http://www.corpama.com/.well-known/achmeacme-challenge/**************************, 对该网址的认证出现404报错,无法访问该网址,最后可发现问题出在/etc/apache2/sites-availble/000-default.conf的配置上,该项虚拟主机的名称中,我将*替换为www.corpama.com, 结果出现了404报错,将其保持默认不变,便没再出现报错。这是一个典型的错误的配置办法,正确的配置办法为设置SeverName项。

Ubuntu_LAMP_NextCloud(普通版_Ver1.0)

Ubuntu 16.04 LTS部署基础LAMP及NextCloud 13.0.1

##1.LAMP部分
(一)安装语言编码冲突解决模块

apt install language-pack-en-base -y
locale-gen en_US.UTF-8

(二)添加ppa源,本次安装使用ppa方式

apt install -y software-properties-common
LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php

使用 apt-cache madison php 来查询php版本

apt install php=version
apt install php-fpm7.2

(三)安装apache2与相应连接模块

apt install -y apache2
apt install -y libapache2-mod-php7.2

(四)安装mysql-server及相应连接模块

apt install -y mysql-server (ubuntu在安装过程中便会出现root密码设置环节)
apt install -y libapache2-mod-auth-mysql php- mysql(如出现未找到包等报错,可略过)

(五)安装phpmyadmin,方便后续后台数据库管理

apt install -y phpmyadmin (安装过程中会出现选择,选apache2即可)

建议在LAMP安装完成后从let’s encrypt获取ssl证书来部署HTTPS

git clone https://github.com/letsencrypt/letsencrypt ,随后根据提示完成部署

至此,LAMP的基本安装完成

2.NextCloud部分

(一)从官网下载nextcloud项目包,并安装unzip以解压项目包

cd /var/www
apt install -y unzip
wget https://download.nextcloud.com/server/releases/nextcloud-13.0.1.zip
unzip nextcloud*.zip
chown -R www-data:www-data nextcloud/

(二)根据官网教程(English)更改相应的php模块设置与nextcloud的项目配置
官网配置教程:
https://docs.nextcloud.com/server/13/admin_manual/installation/source_installation.html#ubuntu-installation-label
完整安装nextcloud需要的所有php-moudle包:

apt install -y php-gd php-zip php-curl php-bz2 php-intl php-mcrypt openssl php-ldap php-smbclient php-imap php-gmp php-apcu php-memcached php-redis libcurl4-openssl-dev libssl-dev

创建/etc/apache2/sites-available/nextcloud.conf文件,并编辑:

(请参照官方教程)

使nextcloud.conf启用:

ln -s /etc/apache2/sites-available/nextcloud.conf /etc/apache2/sites-enabled/nextcloud.conf

启用各个模块:

a2enmod rewrite
a2enmod headers
a2enmod env
a2enmod dir
a2enmod mime
a2enmod setenvif

至此,NextCloud已可通过 www.corpama.com/nextcloud 进入,随后将完善nextcloud的安全与实用性配置
启用.htaccess文件,将此加入/nextcloud/config/config.php:

‘overwrite.cli.url’ => ‘https://example.org/nextcloud’,
‘htaccess.RewriteBase’ => ‘/nextcloud’,

随后完善HTTPS的安全设置,编辑/etc/apach2/sites-available/000-default-le-ssl.conf,在文件最后追加ifmoudle模块:


Header always set Strict-Transport-Security “max-age=15552000; includeSubDomains”

配置php.ini(在php-fpm之下)中的:
upload_max_filesize:
post_max_size:
memory_limit:
max_file_uploads =
注意:memory_limit > post_max_size > upload_max_filesize

参考:http://fjanchen.blogspot.com/2013/10/phpini.html

至此,nextcloud的所有安全性与实用性配置完成(最后可自行添加memcached完善性能)