首页
学习
活动
专区
圈层
工具
发布

lamp配置vhost域名

基础概念

LAMP 是 Linux、Apache、MySQL 和 PHP 的缩写,是一种常见的 Web 开发环境。Vhost(Virtual Host)是指在同一台服务器上运行多个网站的技术,每个网站都有自己的域名和目录。

优势

  1. 资源共享:可以在同一台服务器上运行多个网站,节省硬件资源。
  2. 管理方便:通过 Vhost 可以轻松管理多个网站,每个网站可以有不同的配置。
  3. 安全性:可以为每个网站设置不同的权限和安全策略。

类型

  1. 基于域名的 Vhost:根据请求的域名来区分不同的网站。
  2. 基于 IP 的 Vhost:根据请求的 IP 地址来区分不同的网站。
  3. 基于端口的 Vhost:根据请求的端口号来区分不同的网站。

应用场景

适用于需要在同一台服务器上托管多个网站的场景,例如个人博客、企业官网、电商平台等。

配置步骤

以下是一个基于域名的 Vhost 配置示例:

1. 安装 Apache 和 MySQL

代码语言:txt
复制
sudo apt update
sudo apt install apache2 mysql-server php libapache2-mod-php

2. 创建网站目录

代码语言:txt
复制
sudo mkdir -p /var/www/example.com/public_html
sudo chown -R www-data:www-data /var/www/example.com/public_html
sudo chmod -R 755 /var/www/example.com

3. 创建 Vhost 配置文件

代码语言:txt
复制
sudo nano /etc/apache2/sites-available/example.com.conf

在文件中添加以下内容:

代码语言:txt
复制
<VirtualHost *:80>
    ServerAdmin webmaster@example.com
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com/public_html

    <Directory /var/www/example.com/public_html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

4. 启用 Vhost

代码语言:txt
复制
sudo a2ensite example.com.conf
sudo systemctl reload apache2

5. 配置 DNS

确保你的域名解析指向你的服务器 IP 地址。

可能遇到的问题及解决方法

1. 网站无法访问

  • 检查 DNS 解析:确保域名解析正确。
  • 检查防火墙设置:确保服务器防火墙允许 HTTP(端口 80)和 HTTPS(端口 443)流量。
  • 检查 Apache 配置:确保 Vhost 配置文件没有语法错误,并且已经启用。
代码语言:txt
复制
sudo apache2ctl configtest

2. 权限问题

  • 检查目录权限:确保网站目录和文件的权限设置正确。
代码语言:txt
复制
sudo chown -R www-data:www-data /var/www/example.com
sudo chmod -R 755 /var/www/example.com

3. PHP 代码执行问题

  • 检查 PHP 配置:确保 PHP 模块已经安装并启用。
代码语言:txt
复制
sudo a2enmod php7.x
sudo systemctl reload apache2

参考链接

通过以上步骤,你应该能够成功配置一个基于域名的 Vhost。如果遇到其他问题,可以参考相关文档或寻求社区帮助。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • LAMP环境搭建与配置

    到这里,LAMP环境就搭建好了,下面熟悉一下httpd的配置!...效果: (3)配置域名跳转             编辑httpd配置文件httpd.conf:vim /usr/local/apache2.4/conf/httpd.conf            ...,使用curl进行测试   (4)配置访问日志             定义访问日志的格式在主配置文件httpd.conf             继续修改vhost配置文件:(默认是common...在站点的配置文件vhost中加入过滤代码: (5)配置静态元素过期时间             修改vhost:     (6)配置防盗链     (7)访问控制             ①...通过限制IP访问:             修改vhost配置文件:         效果:(192.168.159.131和127.0.0.1都是本机IP)             ②也可以针对某个文件做限制

    1.7K20

    LAMP Linux路由和Libpcap配置

    1、Ubuntu安装:sda会覆盖MBR,选择这个,sda1会导致找不到系统 2、配置路由 在/etc/rc.local 开机时候自动加载 sudo iptables -F  //清除所有规则 sudo...POSTROUTING -o eth1 -j MASQUERADE 具体内容忘记了 eth1 为 wan口网卡 iptables -t nat -L 列出nat表内容 nat filter 等 3、网卡配置...网卡显示 not managed 未托管 配置 /etc/NetworkManager/NetworkManager.conf 将managed 改为 true 先配置路由 再改这个文件 sudo...install 老李原创:老李发现ubuntu环境下的apache配置和其他linux环境下的设置是不同, 1>apache 的配置文件路径 /etc/apache2/apache2.conf 2>apache...网站字符编码配置路径 /etc/apache2/conf.d/charset 3>php.ini 路径 /etc/php5/apache2/php.ini 4>MySQL配置文件 路径 /etc/mysql

    4.8K20

    TP5报错总结

    LNMPA或LAMP 模式1.2版本以上的防跨目录的设置使用的对应apache虚拟主机配置文件(lnmp管理工具添加的话文件是 /usr/local/apache/conf/vhost/域名.conf...3.pathinfo设置 LNMP上各个版本pathinfo各个版本的设置基本一样: lnmp v1.1上,修改对应虚拟主机的配置文件(/usr/local/nginx/conf/vhost/域名....1.2,1.3,1.4,1.5及以上版本,修改对应虚拟主机的配置文件(/usr/local/nginx/conf/vhost/域名.conf) 将include enable-php.conf;替换为include...1.5版本多PHP版本开启pathinfo的话,可以在lnmp vhost add 是选择启用pathinfo,如果存在多PHP版本就会提示你选择,也可以直接修改虚拟主机配置文件将include enable-php.conf...注:如果是一件安装的LAMP或者LNMP,创建虚拟主机的时候pathinfo选择你使用的框架的就可以了 验证码输入正确却一直报验证码错误 1.代码问题 2.存储满了 TP5报错找不到模块Index 在windows

    1.5K10

    https域名配置

    [warning] 注: 1.微信规定小程序必须使用https域名,也就是必须配置ssl证书。 2.证书申请方法请查看本文档:源码安装(必看)- 1.服务器及域名配置-SSL证书申请。...请根据你的服务器web环境查看下列文档: Nginx环境配置证书方法 进入nginx(证书)目录,有以下两个文件 其中 红色框 .key 后缀的是服务器私钥,填入面板证书的左边框中(用文本编辑器打开,全选完整复制粘贴进去...Apache环境配置证书方法 进入apache(证书)目录,有以下三个文件 其中红色框.key 后缀的是服务器私钥,填入面板证书的左边框中(用文本编辑器打开,全选完整复制粘贴进去) 另外两个证书(黄色框...root根证书、蓝色框域名证书),则需要合并后,填入面板证书的右边框中(用文本编辑器完整复制粘贴进去) 合并方法 1.本地文本编辑器新建文本文件。...2.打开 蓝色框的域名证书文件,全选复制,粘贴到新建文本里 3.再打开黄色框root根根证书,全选复制,粘贴到新建文本里刚才内容的下方,合并成一个文件。

    7K20

    Centos7下配置LAMP过程记录

    LAMP指的Linux(操作系统)、Apache HTTP 服务器,MySQL(有时也指MariaDB,数据库软件)和PHP(有时也是指Perl或Python)的第一个字母,一般用来建立web应用平台。...所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,和Java/J2EE架构相比,LAMP具有Web资源丰富、轻量、快速开发等特点,微软的.NET架构相比,LAMP具有通用...、跨平台、高性能、低价格的 优势,因此LAMP无论是性能、质量还是价格都是企业搭建网站的首选平台。...下面讨论如何在RHEL/CentOS/Scientific Linux 7上搭建LAMP环境....on RHEL/CentOS/Scientific Linux 7) yum install epel-release 安装 phpMyAdmin: yum install phpmyadmin -y 配置

    91931

    运维之LAMP环境安装与配置

    [TOC] 0x00 快速入门 LAMP发展 LAMP这个特定名词最早出现在1998年,是Linux操作系统、Apache网页服务器、MySQL数据库管理系统和PHP程序模块,四种技术名称开头字母缩写组成的.../php.ini php7核心配置文件 /etc/php/7.0/php.ini WeiyiGeek.配置文件加载流程 配置1:LAMP之给PHP添加常用扩展(Extension) #测试方法:重启...2:apache虚拟主机工作原理通过域名来指向访问 在同一台服务器上,可以访问不同的网站二级域名,让Apache来区分用户是通过哪个二级域名访问这台服务器的,根据不同的二级域名访问对应项目所在的目录,也就是说一台服务器上可以同时放置多个完全独立的网站或者系统...,用不同的域名访问对应的系统。...WeiyiGeek.域名访问 0x03 Apache安全配置 主要是对httpd进行安全配置,有效的防止网站被入侵; #配置1.禁止上传目录脚本执行 <Directory ~ "/website/uploads

    3.4K20
    领券