Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):
# mysql -u root
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 32
Server version: 10.0.33-MariaDB-0ubuntu0.16.04.1 Ubuntu 16.04
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> CREATE DATABASE wordpress_db;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON `wordpress_db`.* TO 'wordpress_user'@'localhost' IDENTIFIED BY 'passw0rd';
Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]> exit
sudo apt-get update
sudo apt-get install apache2
sudo ufw app list
sudo ufw allow 'Apache Full'
sudo ufw status // Status will be inactive.
sudo systemctl status apache2 // Apache server will be Active.
检查 Apache 服务器 您可以通过您的 IP 检查您的 Apache 服务器是否正常工作。在您的浏览器中输入
我假设你有一个正在运行的 Ubuntu 安装。这是在考虑 16.04 的情况下编写的,但也应该适用于其他版本的一些改编。
在此答案中,
#
表示根 shell,同时$
表示普通用户 shell。example.org 在此答案中用作示例(D'oh),应根据您的安装进行更改。
安装 Apache2、PHP、MariaDB 等
这将安装 Apache2、PHP、MariaDB 和一些依赖项,以及用于访问 mysql 的 PHP 绑定。
在这个阶段,您应该能够访问http://example.org,并看到一个默认页面:
设置虚拟主机
vhosts是虚拟主机,用于为不同的域名提供不同的内容。
/etc/apache2/sites-available/01-example.org.conf
开始编辑在您最喜欢的编辑器中调用的新文件:输入以下配置:
首先,我们定义主 ServerName。这是用于访问该站点的域。每个虚拟主机只能定义一个。此外,我们定义了一个 ServerAlias,以防有人在他们的浏览器中输入 www.example.org。这可确保 Apache 回复这两个名称。这两个名称都必须指向您的服务器,无论是在 DNS 中,还是在
/etc/hosts
本地测试中。可以指定任意数量的服务器别名,它们不必包含 ServerName 的一部分。因此,
ServerAlias example.com
将是有效的。创建新的 DocumentRoot
我已将新的 documentroot 放在
/var/www/html/example.org
. 这是 Ubuntu 中允许由 Apache 提供服务的位置。例如,如果我将它放在 中/srv/
,我将不得不为它包含一个 Directory 节。现在,创建 webroot,填充一些内容,然后激活新配置:如果您现在访问http://example.org,您应该会看到输出 *This is a test"。恭喜!您的第一个虚拟主机正在运行!
安装letsencrypt并获取证书
要从 Let's Encrypt 接收证书,我们需要一个客户端。16.04 中包含的letsencrypt 包是古老的,所以我们需要一个ppa。
以 root 身份运行 certbot:
选择您要为其获取证书的域,然后按照 certbot 屏幕上的说明进行操作。当询问您是否要重定向时,如果您只需要 https,请选择重定向,如果您同时需要 http 和 https,请选择不重定向。今天,几乎没有理由不重定向。
再次尝试访问http://example.com - 它应该会更改以表明它是安全的。
恭喜,您尚未使用有效的 TLS 证书设置 apache2 以确保流量被加密!
安装 WordPress
下一步是安装一些应用程序。我选择了 WordPress 作为安装示例。
首先通过输入成为root
sudo -i
。接下来,将目录更改为您的 webroot,然后下载、解压缩并将所有权更改为 Apache 的用户:您现在将在https://example.com/wordpress/拥有一个 WordPress 实例- 让我们去那里。
该向导告诉您需要一个 MySQL 表、用户和密码。让我们制作它们!
默认情况下,Ubuntu 将为 MariaDB 使用 unix 套接字身份验证。因此,要以 root 身份登录 MariaDB,您必须使用
或在 root shell 中运行命令(例如
sudo -i
)。这将使您无需输入任何密码即可登录在 WordPress 的配置中填写用户名
wordpress_user
、数据库名wordpress_db
和密码。passw0rd
基本上就是这样;剩下的就是遵循 WordPress 的安装指南。要添加更多虚拟主机,只需从“设置虚拟主机”开始。
进一步阅读
/var/www/html
在 Ubuntu 中安装 Apache
检查 Apache 服务器 您可以通过您的 IP 检查您的 Apache 服务器是否正常工作。在您的浏览器中输入
http://server_domain_or_IP
您将找到默认页面。
管理 Apache 进程