如何在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;