目录php
Apache服务的安装html
yum源安装:mysql
目录文件linux
源码包安装:nginx
目录文件:c++
1:配置基于ip的虚拟主机apache
Apache 是世界使用排名第一的Web服务器软件。它能够运行在几乎全部普遍使用的计算机平台上,因为其跨平台和安全性被普遍使用,是最流行的Web服务器端软件之一。它快速、可靠而且可经过简单的API扩充,将Perl/Python等解析器编译到服务器中。可是Apache有一个缺点就是,从新加载配置文件时须要重启 httpd 服务,而nginx重载配置文件时只需重载reload配置文件便可。httpd服务默认监听 tcp / 80 端口
apache有两个日志文件,access.log记录了访问网站的日志;error.log记录了错误日志
主配置文件 /etc/httpd/conf/httpd.conf 的一些参数的意义
ServerRoot “/etc/httpd“ //服务配置文件目录 PidFile run/httpd.pid //PID文件 Listen 80 //默认监听端口 Include conf.modules.d/*.conf //包含模块目录的配置文件 User apache //启动用户 Group apache //启动组 ServerAdmin root@localhost //管理员邮箱 ServerName www.example.com:80 //域名主机名 DocumentRoot “/var/www/html“ //默认主页存放目录 DirectoryIndex index.html index.html.var //索引文件 <Directory "/var/www"> //规定网站根目录的位置 AllowOverride None # Allow open access: Require all granted </Directory> ErrorLog logs/error_log //错误日志 CustomLog logs/access_log combined //访问日志 AddDefaultCharset UTF-8 //默认字符集 IncludeOptional conf.d/*.conf //包含了 conf.d/*.conf 的配置文件 <IfModule dir_module> DirectoryIndex index.html //默认索引 </IfModule>
扩展配置文件: /etc/httpd/conf.d/ , 咱们能够在这个目录下新建一些咱们本身定义的配置文件,好比基于ip的虚拟主机,基于端口的虚拟主机,基于域名的虚拟主机等等
安装完成后,软件默认安装在 /usr/loca/apache2/ 下面,也能够编译的时候自定义安装目录
安装php的支持包 yum -y install php ,而后重启 httpd 服务便可
若是想让Apache识别默认的index.php文件,须要修改配置文件 /etc/httpd/conf/httpd.conf 中,在以下位置加入 index.php
<IfModule dir_module> DirectoryIndex index.php index.html </IfModule>
安装php-mysql的包便可:yum -y install php-mysql
如下无论是基于ip、端口仍是基于域名建立的虚拟主机,网站主页目录只能在 /var/www/ 下,若是想更改到其余的任意目录的话,须要修改配置文件 /etc/httpd/conf/httpd.conf
<Directory "/var/www"> //这里的目录更改成你的网站主页目录 AllowOverride None # Allow open access: Require all granted </Directory>
能够在一台服务器上配置多个网卡,也能够在一块网卡上配置爱多个ip
我这里在一块网上上配置多个ip: ifconfig eno16777736:1 10.96.10.204
而后在从配置文件中 /etc/httpd/conf.d/ 下建立一个配置文件,咱们新建一个 ip.conf 文件,而后加入下面几行
<VirtualHost 10.96.10.203> DocumentRoot /var/www/html/web1 //第一个ip的网站的主页面目录 </VirtualHost> <VirtualHost 10.96.10.204> DocumentRoot /var/www/html/web2 //第二个ip的网站的主页面目录 </VirtualHost>
而后在/var/www 下新建 web1和web2目录,在web1和web2目录里面分别放入咱们的网站页面。而后重启httpd服务便可。
在配置文件中 /etc/httpd/conf.d/ 下建立一个配置文件,咱们新建一个 port.conf 文件,而后加入下面几行
Listen 8080 <VirtualHost *:80> DocumentRoot /var/www/html/web1 //第一个端口的网站主目录 </VirtualHost> <VirtualHost *:8080> DocumentRoot /var/www/html/web2 //第二个端口的网站主目录 </VirtualHost>
而后在/var/www 下新建 web1和web2目录,在web1和web2目录里面分别放入咱们的网站页面。而后重启httpd服务便可。
在配置文件中 /etc/httpd/conf.d/ 下建立一个配置文件,咱们新建一个 domain.conf 文件,而后加入下面几行
NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot /var/www/web1 //第一个域名的网站主目录 ServerName web1.xie.com </VirtualHost> <VirtualHost *:80> DocumentRoot /var/www/web2 //第二个域名的网站主目录 ServerName web2.xie.com </VirtualHost>
而后在/var/www 下新建 web1和web2目录,在里面放入咱们的网站页面。而后再重启httpd服务便可。
控制对特定主页内容的访问,为相应网站目录添加访问控制
经常使用访问控制方式分类:
设置客户机地址访问
在配置文件中 /etc/httpd/conf.d/ 下建立一个配置文件,咱们新建一个 ip.conf 文件,而后加入下面几行
// 这个的意思的容许全部用户访问/var/www/html 目录下的网页,可是只容许 10.96.10.204/24这个网段的访问 /var/www/html/test/ 目录下的网页 <VirtualHost 10.96.10.203> //本机ip DocumentRoot /var/www/html //网站主页的目录 <Directory /var/www/html/test> //要设置限制的目录 Order allow,deny //匹配了容许的就拒绝全部 Allow from 10.96.10.204/24 //只容许10.96.10.204这个地址访问 </Directory> </VirtualHost>
访问控制的配置
<VirtualHost 10.96.10.203> //本机ip DocumentRoot /var/www/html //主页目录 <Directory /var/www/html/test> //设置认证的目录 AuthType Basic //认证的方法:密码 AuthName Password! //弹出登陆框 AuthUserFile /etc/httpd/webpasswd //用户名和密码保存的文件 require user tom jack //只容许 tom 和 jack 用户访问 </Directory> </VirtualHost>