如何在Ubuntu上为多个站点配置Apache

时间:2020-02-23 14:37:51  来源:igfitidea点击:

在本教程中,将介绍如何配置一个apache2web服务器来运行ubuntu16.04lts上的多个(虚拟主机)

有时,我们可能希望将不同的域指向一个单独的web宿主。这是一个经济有效的,可以通过简单的配置完成。你所需要的只是对你的Ubuntu服务器的根访问。

准备工作

本教程假设我们已经在linux主机上安装并运行了Apache2. 本教程还介绍了如何为站点设置不同的MySQL用户,因此如果我们想继续这一步,MySQL也应该安装在服务器上。

指向域

你首先需要做的是指出你的领域,例如https://theitroad.local到web服务器IP地址。

使用以下命令找出服务器的公共IP地址

curl ipinfo.io/ip

登录到域提供商(例如GoDaddy,或者我们用于注册域的任何服务)

转到DNS并更改A记录以指向服务器IP

更改DNS A记录

我把这个步骤列为# 1,因为DNS刷新可能需要几个小时或者几天。耐心一点,别指望你的域名会立即被重定向。

创建目录结构和用户权限

默认情况下,web服务器为提供一个根目录,即

/var/www/html/

. 我们将更改此设置,并为每个要添加的创建单独的文件夹。例如

/var/www/theitroad

创建单独文件夹

sudo mkdir /var/www/theitroad

将目录的所有权授予apacheweb用户(即www数据)

sudo chown YOUR_USER_NAME_HERE:www-data -R /var/www/theitroad

将用户名添加到web组

sudo usermod -aG www-data YOUR_USER_NAME_HERE

向Apache添加虚拟主机

转到Apache的配置文件夹

/etc/apache2/sites-available

并创建一个新文件名为


theitroad.conf

编辑的内容

theitroad.conf
<VirtualHost *:80>
  ServerAdmin [email protected]
  ServerName theitroad.local
  ServerAlias www.theitroad.local
  DocumentRoot /var/www/theitroad
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

启用新配置

sudo a2ensite theitroad.conf

重新加载Apache以激活新配置

service apache2 reload

为新站点创建MySQL数据库和用户

我们将创建一个新的MySQL数据库和用户以及以下凭据:

数据库名称:javatut

数据库用户:tututuser

用户密码:tutpass123

以root用户身份登录MySQL

mysql -u root -p

现在我们创建新的数据库和用户。为用户设置密码并授予此新用户使用数据库的权限

mysql> CREATE DATABASE javatut;
mysql> CREATE USER tutuser@localhost;
mysql> SET PASSWORD FOR dbuser@localhost= PASSWORD("tutpass123");
mysql> GRANT ALL PRIVILEGES ON javatut.* TO tutuser@localhost IDENTIFIED BY 'tutpass123';
mysql> FLUSH PRIVILEGES;