Linux下安装Apache+配置web服务器+设置虚拟主机

 

一、安装Apache

1.sudo su

2.apt update

3.apt install apache2

4.安装完成,验证版本:apache2 -version

5.配置UFW防火墙:

为了配置Apache,我们首先需要允许外部访问我们系统的某些Web端口,并在UFW防火墙上允许Apache。

第1步:列出UFW应用程序配置文件:ufw app list

 

在上面的输出中,可以看到三个Apache配置文件都提供不同级别的安全性;Apache是一一个提供最大限制但端口80仍处于打开状态的Apache。(http)Apache Secure  端口43 https 安全带

第2步:在UFW上允许Apache并验证其状态

在UFW_上允许Apache将为网络流量打开端口80,同时为服务器提供最大的安全性。

通过以下命令配置UFW以允许Apache访问:ufw alow 'Apache'

 

 

 

二、配置Apache Web服务器

步骤1:验证Apache服务是否正在运行:systemctl status apache2

如果看见下面绿色的active(running)说明apache是启动成功的

 

第2步:验证Apache是否正常运行并侦听IP地址还可以通过从Apache服务器请求页面来验证Apache是否正在运行。首先可以使用服务器的IP来访问Apache登录页面。

使用以下命令了解服务器的IP: hostname -I

 

用该ip地址在浏览器中访问,验证Apache服务器是否正常工作

 

现在我们已经可以用ip访问了,下面我们来配置虚拟主机,然后可以用域名访问,若想在一个服务器上配置多个网站,可以重复一下操作多次。

 

三、在Apache中设置虚拟主机

虚拟主机类似于Nginx中的服务器块。它用于管理来自一个服务器的多个域的配置。我们将提供一个如何通过 Apache服务器设置虚拟主机的示例。

我们将使用Apache for Ubuntu 18中默认启用的服务器块来建立一个名为linuxidc.com的网站。

1.设置域名

默认情况下启用的服务器块能够提供来自/var/www/html的文档。但是,我们将在/var/www/创建一个目录,保留默认目录。

 

通过以下命令创建此目录,将linuxidc.com替 换为各自的域名。

sudo mkdir -p /var/www/linuxidc.com/html

然后通过以下命令分配目录的所有权:

sudo chown -R $USER:$USER /var/www/linuxidc.com/htmI

sudo chmod -R 755 /var/www/linuxidc.com

 

 

2.现在让我们创建一个索引页面

如果Apache运行我们的域名,我们以后可以访问它们进行测试。通过Nano编辑器 或任何其他文本编辑器创建HTML文件。

nano /var/www/linuxidc com/html/index.html

 

<html>

<head>

<title>欢迎来到Linux公社页面www.linuxidc.com</title>

</head>

<body>

<h1>你真是棒!您的linuxidc.com服务器块已启动! </h1>

</body>

</html>

 

Ctrl+x离开 根据提示输入Y保存内容

 

3.创建配置文件:

Apache需要一个虚拟主机文件来提供服务器的内容。已经创建了用于此目的的默认配置文件,但我们将为自定义配置创建一个新配置文件。

sudo nano /etc/apache2/sites-available/linuxidc.com.conf

 

 

<VirtualHost *:80>

ServerAdmin [email protected]

ServerName linuxidc.com      //域名

ServerAlias www.linuxidc.com   //别名

DocumentRoot  /var/www/linuxidc.com/html//解析上面域名的对应地址

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined

< /VirtualHost>

 

 

 

4.启用域配置文件

让我们启用使用刚刚创建的配置文件: sudo a2ensite linuxidc.com.conf

 

Ps:上面这条命令实际上是把配置文件从available目录拷贝到enabled目录下(原因如下)

 

 

5.输出将建议激活新配置,但我们可以在运行以下禁用原始配置文件的命令后集体执行此操作:

sudo a2dissite 000-default.conf

(默认配置文件中会默认启动上面输入ip自动出现的那个网址)

 

6.现在重启Apache服务: sudo systemctl restart apache2

 

7.测试错误

最后,让我们通过以下命令测试是否存在任何配置错误:

sudo apache2ctl configtest

如果没有收到任何错误,将获得以下输出:

Syntax OK

常见错误:(ServerName没有映射)

解决:将映射写入配置文件,也可以直接打开文件编辑

echo "ServerName linuxidc.com"|sudo tee /etc/apache2/conf-available/servername.conf

使该配置文件生效:sudo a2enconf servername

 

 

再次测试:下面这样就算配置好了

如果还有别的错误,先百度,百度能解决最好,不能解决可以去看错误日志。

 

四、让Apache为域名提供服务

这可以通过在系统上运行的任何Web浏览器中输入服务器名称来验证:

1.通过ip访问网站:

 

 

 

2.Apache 2网页中文乱码的解决方法: sudo nano /etc/apache2/conf-availble/charset.conf

修改charset.conf的AddDefaultCharset UTF-8,把AddDefaultCharset UTF 8前面的#去掉即可。

 

3.然后重启apache2  sudo systemctl restart apache2

再次打开,OK,中文网页乱码解决了。

 

4.修改hosts文件配置

 

5.修改完成后可用域名访问

发布了17 篇原创文章 · 获赞 1 · 访问量 1013

猜你喜欢

转载自blog.csdn.net/weixin_44822335/article/details/105437137