debian apache2.4 virtual host 使用

篇说了debian下安装 debian apache2 和 php7 。但并没有体现apache2已经能使用php7了,这里我们和virtual host一起记录。

先进入到apache所在的目录:

如果有用过wamp的朋友可能会发现目录与windows下的不一样,是的之前我用的centos下的apache的目录结构和windows的一样,debian有点不同,之前在pixelos中安装apache的时候也是如此。

收回来,我们已知debian下apache的目录有点不一样,那区别在哪里呢?主要是把conf site mods分开归纳了。

这里的sites-enabled只是sites-available的一个软连接,conf, mods 同理。

看完了目录结构,我们再来看apache2.conf

apache2.conf和之前的conf最大的不同在这里:

我们可以看到apache会自动加载这几个文件夹下面的.load和.conf,方便了不少。mods基本上都是自动安装,但vhost之前如果要设置多个站点的话是全部写在一个vhost里,这样也不方便管理,如果要分的话也是手动设置多个,现在的话可以每个站点一个conf文件,十分清晰。

这里apache2.conf已经默认开启了vhost,那么我们只要在sites-enabled文件夹下面新建一个site1.conf,然后编辑

nano sites-enabled/site1.conf
<VirtualHost *:80>
        ServerName site1.test.dev
        ServerAdmin [email protected]
        DocumentRoot /web/htdocs

        <Directory /web/htdocs >
           Options Indexes FollowSymLinks
           RewriteEngine On
           RewriteCond %{REQUEST_FILENAME} !-d
           RewriteCond %{REQUEST_FILENAME} !-f
           RewriteRule ^ index.php [L]

           AllowOverride all
           Require all granted
        </Directory>

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

        #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

保存退出。

这里我需要用到地址重写,所以加入了rewrite,因此还要打开rewrite模块:

sudo a2enmod rewrite

现在重启服务:

sudo service apache2 restart

然后就是第一个坑:

这个坑和apache的服务没有什么关系纯粹是linux权限没开放。

然后这里还有坑,比如我的目录是 /web/htdocs,权限要从web开始开放,不然还是403。

好,先来先找到apache的运行用户

ps -ef | grep apache2

可以看到apache2的用户名是www-data,现在我们就要用www-data。

找到目录(这里是/web/htdocs),然后执行

chown -R www-data /web
chgrp -R www-data /web
chmod -R 755 /web

现在再去试试(已在/web/htdocs/  下新建 index.php 里面有<?php phpinfo(); ?>)

再去thinkphp的官网上下载 thinkphp_5.0_full.zip,放到服务器上去解压。

到此,apache2.4 virtual host 完成。

时间: 2024-08-05 09:07:19

debian apache2.4 virtual host 使用的相关文章

虚拟主机 (Virtual Host)

虚拟主机 (Virtual Host) 是在同一台机器搭建属于不同域名或者基于不同 IP 的多个网站服务的技术. 可以为运行在同一物理机器上的各个网站指配不同的 IP 和端口, 也可让多个网站拥有不同的域名. Apache 是世界上使用最广的 Web 服务器, 从 1.1 版开始支持虚拟主机. 本文将讲解在不同服务器 (Redhat Enterprise Linux, Ubuntu Linux, Windows) 上使用 Apache 搭建虚拟主机来搭建多个网站. Redhat Enterpri

设置virtual host

在http.conf确认已载入相关模块 LoadModule vhost_alias_module modules/mod_vhost_alias.so 在httpd-vhosts.conf或者在/home/http/conf/httpd.conf 添加以下配置. <VirtualHost *:80> DocumentRoot "f:/git/minyun" ServerName minyun <Directory "f:/git/minyun"&

Windows下Nginx Virtual Host多站点配置详解

Windows下Nginx Virtual Host多站点配置详解 此教程适用于Windows系统已经配置好Nginx+Php+Mysql环境的同学. 如果您还未搭建WNMP环境,请查看 windows7配置Nginx+php+mysql教程. 先说明一下配置多站点的目的:在生产环境中,如果将系统所有代码文件都放在公开目录中,则很容易被查看到系统源码,这样是很不安全的,所以需要只公开index.php的入口文件目录.而同一个服务器中,可能运行多个系统,这样就必须公开多个入口文件目录,以便用不同的

Apache Server 添加虚拟主机(Virtual Host )

当前许多虚拟服务器如阿里云的ECS服务器,都提供各式各样的虚拟机,常见的有Linux.Windows等,如果我们使用了Apache Server作为虚拟机的Web服务器,并且我们希望多个web应用程序绑定多域名,这时候可以使用Apache Server的Virtual Host 节点进行配置. 下面我们以Linux下,XAMPP一站式生成的web应用程序绑定多域名为例子,实现多个域名绑定多个web应用程序. 1.ssh终端输入vim /opt/lampp/etc/httpd.conf,找到 In

hello world to php( mac 配置 xmapp virtual host)

一.安装xmapp.安装完以后查看,服务是否都能启动(数据库和server) 二.配置自己的virtualhost 1.系统host文件加入server的域名(在浏览器中输入域名后会先通过host文件) sudo nano /private/etc/hosts(也能够使用vim打开进行编辑) 2.配置Apache,打开Apache的配置文件 /Applications/XAMPP/etc/httpd.conf # Virtual hosts  Include /Applications/XAMP

Nginx虚拟主机(Virtual Host)配置

虚拟主机(Virtual Host)可以在一台服务器上绑定多个域名,架设多个不同的网站,一般在开发机或者要部署多个小网站的服务器上需要配置虚拟主机.nginx的虚拟主机配置其实也挺简单,为了使得配置文件清晰,可以给每一个虚拟主机建立一个配置文件,然后在主配置文件(nginx.conf)里使用include语句包含所有的虚拟主机配置文件. 建立存放虚拟主机配置文件的文件夹: sudo mkdir /usr/local/etc/nginx/vhosts 建立虚拟主机配置文件: sudo vim /u

Apache配置基于端口号的虚拟主机 Apache virtual host configuration is based on the port

有可能只有一个ip出口,但却有多个项目,那么就需要基于端口号架设虚拟主机. Step 1: 检查是否开启 httpd-vhosts.conf apache/conf/httpd.conf文件 # Virtual hosts Include conf/extra/httpd-vhosts.conf 如果没有开启,必须在httpd.conf文件中设置:如果开启,则可以在apache/conf/extra/httpd-vhosts.conf文件中设置,当然也还是可以再httpd.conf文件中进行设置

Apache配置基于IP的虚拟主机 Apache virtual host configuration is based on the IP

Step 1: 检查是否开启 httpd-vhosts.conf apache/conf/httpd.conf文件 # Virtual hosts Include conf/extra/httpd-vhosts.conf 如果没有开启,必须在httpd.conf文件中设置:如果开启,则可以在apache/conf/extra/httpd-vhosts.conf文件中设置,当然也还是可以再httpd.conf文件中进行设置,同样有效. Step 2: httpd.conf文件 DocumentRo

Debian+Apache2服务器

版本 Debian 9.4 Apache 2.4 错误 - Invalid command '--' $ sudo service apache2 status (中略) 7月 05 09:46:40 hwajeon apachectl[9560]: AH00526: Syntax error on line 33 of /etc/apache2/sites-en 7月 05 09:46:40 hwajeon apachectl[9560]: Invalid command 'DavLockDB