说明:这篇只是apache网站初期的简单配置,详细的LAMP组合配置会尽快整理.
我自己也在不断学习中,在大家参考文章发现错误的地方,请指点,还望海涵.
谢谢.
apache:
安装相应httpd包
关闭防火墙 service iptables stop
apache主配置文件为 /etc/httpd/conf/httpd.conf
存放网页的目录为: /var/www/html/index.html
------------------------------
基于多主机头的虚拟主机的建立:
------------------------------
在 /etc/httpd/conf/httpd.conf 最后几行配置
NameVirtualHost 10.0.0.204:80
ServerAdmin abc@abc.com
DocumentRoot /var/www/www1 虚拟主机的真实主目录
ServerName www1.abc.com 客户端访问的域名定义
Error logs/www1.abc.com-error_log 错误日志记录地址。 日志存放目录为 /etc/httpd/logs/
CustomLog logs/www1.abc.com-access_log common 日志记录 。 存放目录为 /etc/httpd/logs/
ServerAdmin abc@abc.com
DocumentRoot /var/www/www2
ServerName www2.abc.com
Error logs/www2.abc.com-error_log
CustomLog logs/www2.abc.com-access_log common
这样,访问www1.abc.com就会跳转到/var/www/www1 (需要自己添加) 目录下寻找默认显示文件。设置默认显示文件为 DirectoryIndex index.html index.html.var index.htm 有执行先后顺序。。
访问www2.abc.com 会跳转到/var/www/www2目录下执行相应的默认文件
需要在dns服务器正向区域解析文件中给这些主机名配置相应的A记录。以便于解析域名
在/var/named/abc.com.zone 中添加
www1 IN A 10.0.0.204
www2 IN A 10.0.0.204 重新启动服务 #service named restart ; service httpd restart
即可利用浏览器访问。。会提示没有FQDN
---------------------------------------
基于多ip地址的虚拟主机访问
---------------------------------------
复制网卡配置文件,只是对ip地址进行修改即可。
然后再修改主机头
在dns正向解析文件中添加相应的记录
www1 IN A 10.0.0.204
www2 IN A 10.0.0.205 重启服务即可#service named restart ; service httpd restart
------------------------
apache服务器认证访问配置
------------------------
换个主页 在/var/www/html 下增加一个文件 echo "hello welcome to apache" > index.html
建立虚拟主机www2.abc.com
ServerAdmin abc@abc.com
DocumentRoot /var/www/www1
ServerName www2.abc.com
Error logs/www2.abc.com-error_log
CustomLog logs/www2.abc.com-access_log common
这个块可以添加到任何地方。在这里只对这个虚拟目录生效(好像不是如此。需要更改设置基于iP的虚拟主机)
----------------------------------------------------
(这里的地址可以改,改为.htaccess文件存放的路径)
(.htaccess可以改名,但是需要在httpd.conf 中更改:"AccessFileName:.htaccess")
Options FollowSymLinks
AllowOverrride AuthConfig #(表示进行身份验证)
Order allow,deny
Allow from all #(允许从哪些地方访问此目录,deny则为拒绝)
如果需要限制IP地址登录。在/etc/hosts.deny或/etc/hosts.allow 中添加 httpd:ipaddress
或者在上段代码中添加 Deny from all
Allow from 10.0.0. 只允许10.0.0 网段访问
----------------------------------------------------
在/var/www/www2下建立.htaccess 文件 并写入
-----------------
AuthName "I'm abc" #描述。自定义
AuthType Basic
AuthUserFile /var/www/www2/.htpasswd #指定用户密码文件的位置
require valid-user #限制是所有合法还是指定用户
-----------------
使用命令添加httpd用户
#htpasswd /var/www/www1/.htpasswd xp
123 密码
123 确认密码
----------------
设置 一个 基于ip地址的虚拟主机(复制一个网卡,然后改变ip地址就行)
然后再虚拟主机的定义区域内定义 就可以实现
在dns中定义这个虚拟主机
重启httpd named network 服务
访问www.abc.com 可以全部
访问 www1.abc.com 需要密码验证
---------------------------
创建基于ssl验证的虚拟主机
----------------------------
rpm -Uvh distcache-
rpm -Uvh mod_ssl-
这样才会在/etc/httpd/modules 下产生""mod_ssl.so"" (后面会用到在httpd.conf中)
mod_ssl 会在/var/httpd/conf.d下产生ssl.conf 文件
配置此文件(没有配置)
修改httpd.conf证书文件存放路径为 SSLCertificateFile /etc/httpd/ssl.crt/ 下的server.crt(证书文件)
修改httpd.conf密钥KEY存放路径为 SSLCertificateKeyFile /etc/httpd/ssl.key/ 下的server.key(密钥文件)
制作密钥:#openssl genrsa -out /etc/httpd/ssl.key/server.key
制作证书:#openssl req -new -x509 -key /etc/httpd/ssl.key/server.key -out /etc/httpd/ssl.crt/server.crt
提示输入国家,省,市,机构,单位,域名(请保持与客户端访问的地址一致),邮箱。
设置密钥和 证书的权限 ,,(先暂时设置server.crt server.key ssl.key ssl.crt 为777)
****************************************
*****************************************
NameVirtualHost 10.0.0.204:443 重启服务会提示:【ware】NameVirtualHost 10.0.0.204:443 has no VirtualHosts 但是还 是可以访问有证书出现 >>改成NameVirtualHost 10.0.0.205:443 就不提示了
ServerAdmin abc@abc.com
DocumentRoot /var/www/www2
ServerName www2.abc.com
Error logs/www2.abc.com-error_log
CustomLog logs/www2.abc.com-access_log common
----------------------------
Options FollowSymLinks
AllowOverrride AuthConfig
Order allow,deny
Allow from all
LoadModule ssh.module modules/mod_ssl.so
-----------------
Include conf.d/ssl.conf
------------- 自认为这句没有用,,可以把ssl.conf 中的东西都拷贝到这里来,, (最好加上把)
SSLEngine on # 开启ssl功能
SSLCipherSuite ALL:!ADH:! EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile conf/ssl.crt/server.crt
SSLCertificateKeyFile conf/ssl.key/server.key
SSLOptions +StdEnvVars
SSLOptions +StdEnvVars
***********************
***********************
基于ssl的安全通信 (超级简单 相对于上面的笨办法。。)
将下列项直接写入/etc/httpd/conf.d/ssl.conf 中
ServerAdmin abc@abc.com
DocumentRoot /var/www/www2
ServerName www2.abc.com
Error logs/www2.abc.com-error_log
CustomLog logs/www2.abc.com-access_log common
----------------------------
Options FollowSymLinks
AllowOverrride AuthConfig
Order allow,deny
Allow from all
AuthName "i'm abc"
AuthType Bisic
AuthUserFile /var/www/www2/.htpasswd
require valid-user
修改httpd.conf证书文件存放路径为 SSLCertificateFile /etc/httpd/ssl.crt/ 下的server.crt(证书文件)
修改httpd.conf密钥KEY存放路径为 SSLCertificateKeyFile /etc/httpd/ssl.key/ 下的server.key(密钥文件)
mkdir /var/www/www2
cd /var/www/www2
echo "hello this is ssl page www2.abc.com" > index.html
mkdir /etc/httpd/ssl.key
mkdir /etc/httpd/ssl.crt
openssl genrsa -out /etc/httpd/ssld.key/server.key
openssl req -new -x509 -key /etc/httpd/ssl.key/server.key -out /etc/httpd/ssl.crt/server.crt
echo "" > /var/www/www2/.htpasswd
htpasswd -c /var/www/www2/.htpasswd xp 创建httpd用户。。以便于利用此用户访问
123
123
修改httpd.conf证书文件存放路径为 SSLCertificateFile /etc/httpd/ssl.crt/ 下的server.crt(证书文件)
修改httpd.conf密钥KEY存放路径为 SSLCertificateKeyFile /etc/httpd/ssl.key/ 下的server.key(密钥文件)
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com