这里使用是四款软件分别是Discuz_7.2_FULL_SC_GBK.zip,phpbb3.0.7_pl1_zh_phpbbchina.zip,wordpress-3.0.4-zh_CN.zip,phpwind_GBK_8.3.zip
这个可以网上搜索的。很好找到的这里就不在提供下载路径了。笔者下载后是把这四个文件都放在了/usr/local/apache/htdocs目录下
首先来设置wordpres
解压缩后#unzip wordpress-3.0.4-zh_CN.zip把文件命名为wordpress这样便于在后面添加虚拟主机时好管理,
#cd /usr/local/apache/htdocs/wordpress //这里的路径是我wordpress的存放路径,可以改的
#cd
/wordpress
#cp
wp-config-sample.php wp-config.php //这一步是拷贝个配置文件,事先该程序提供有配置模板
#vim
wp-config.php
修改一下内容
/**
WordPress 数据库的名称 */^M
define('DB_NAME',
'bbs');^M //这里是创建数据库的名字
^M
/**
MySQL 数据库用户名 */^M
define('DB_USER',
'root');^M //数据库登录使用的用户
^M
/**
MySQL 数据库密码 */^M
define('DB_PASSWORD',
'');^M //密码,一般默认都是为空
^M
/**
MySQL 主机 */^M
define('DB_HOST',
'localhost');^M //数据库位置这里我们使用的同一个主机所以就是localhost
这样wordpress就配置完成了很简单把,我们介绍把他做成一个虚拟主机,使用域名访问
首先我们来配置httpd的httpd.conf找到
#
Virtual hosts
Include
/etc/httpd/extra/httpd-vhosts.conf这两行默认是注释的,我们可以把打开,还有一定要把主配置文件里的DocumentRoot给注释掉,然后开始编辑/etc/httpd/extra目录下的虚拟主机配置文件httpd-vhost.conf
文件有模板的这里就不多说了。完成后可以使用虚拟主机的域名访问了。这里由于没有搭建DNS服务器所以改动hosts文件将域名和ip都写入
例子:<VirtualHost
*:80>
#This is
wordpress
ServerAdmin webmaster@mylog.com
DocumentRoot
"/usr/local/apache/htdocs/wordpress"
ServerName www.mylog.com
ServerAlias www.mylog.com
ErrorLog
"logs/mylog.com-error_log"
CustomLog
"logs/mylog.com-access_log" common
</VirtualHost>
Phpwind设置
这里的更改没有什么好说的我们还是建好对应的数据库和虚拟主机后正常访问后会有个安装说明和改动文件属性的,很详细的按照一步一步坐下来没有问题的
其他的虚拟主机可以参照上面的方法写下。一定要记得的唯一不用的是ServerName的不同。接下来说下apache 的basic认证这时就需要在Document里加上这样<Directory></Directory>
Apache的配置文件httpd.conf是主要的配置文件,但是针对每个目录,apache还允许在它们各自的目录下防止一个叫做.htacess的文件,这个文件同样也能控制这个目录的属性
AllowOverride参数就是指明Apache服务器是否去找.htacess文件作为配置文件,如果设置为none,那么服务器将忽略.htacess文件,如果设置为All,那么所有在.htaccess文件里有的指令都将被重写。对于AllowOverride,还可以对它指定如下一些能被重写的指令类型.
All 缺省值,使访问控制文件可以覆盖系统配置
None 服务器忽略访问控制文件的设置
Options 允许访问控制文件中可以使用Options参数定义目录的选项
FileInfo 允许访问控制文件中可以使用AddType等参数设置
AuthConfig 允许访问控制文件使用AuthName,AuthType等针对每个用户的认证机制,这使目录属主能用口令和用户名来保护目录 Limit 允许对访问目录的客户机的IP地址和名字进行限制
AuthName
认证域名称:指定用户认证域的名称。
AuthType
Basic:配置用户认证的方式,一般只使用Basic。
AuthUserFile
文件名:指定认证用户文件名及其保存路径。
AuthGroupFile
文件名:指定认证组群文件名及其保存路径。
使用认证参数后还需要使用Require参数进行授权,指定哪些认证用户或认证组群有权访问指定的目录,Require参数有以下三种格式:
Require 用户名列表:授权给指定用户。
Require 组群名列表:授权给指定组群。
Require
valid—User:授权给认证用户文件中所有的用户
生成人质用户名:htpasswd 命令
-c创建 -m新增用户
htpasswd
–c –m /etc/httpd/ssl/.ptpasswd username
注意的是:在新增的时候不要再加-c参数,否则会覆盖原有的用户
例子:
<VirtualHost
*:80>
#This is
phpbb
ServerAdmin webmaster@mylog.edu
DocumentRoot
"/usr/local/apache/htdocs/phpbb"
ServerName www.mylog.edu
ErrorLog
"logs/mylog.edu-error_log"
CustomLog
"logs/mylog.edu-access_log" common
<Directory
"/usr/local/apache/htdocs/phpbb">
AllowOverride all
AuthName "phpbbs forum"
AuthType Basic
AuthUserFile /etc/httpd/.htpasswd
Require
valid-user
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
这时访问网站就需要用户认证了。
二讲解下https的安全访问
我们就需要用到CA和CA颁发的证书了就需要用到前的openssl的使用,我们使用本主机即做CA又做http的服务这样操作会简化很多。首先是建立CA和自签证书
1首先编辑/etc/pki/tls/openssl.conf文件找到[CA_default]中dir 改成dir =
/etc/pki/CA
[req-distinguished-name]可以自行修改的
2,生成密钥对
#cd
/etc/pki/CA
#(umask
77;openssl genrsa 1024 >private/cakey.pem)
3,生成自签证书
#openssl
req –new –x509 –key private/cakey.pem –out cacert.pem –days 3655
4,创建需要的文件
#mkdir
certs newcerts crl
#touch
index.txt serial
#echo 00
> serial
这样CA就建立好了,然后配置httpd
#cd
/etc/httpd
#mkdir
ssl
#cd ssl
#(umask
77;openssl genrsa 1024 >httpd.key)
//生成密钥
#openssl
req –new –key httpd.key –out httpd.crt
//生成证书请求
#openssl ca –in httpd.crt –out httpd.crt //由于我们CA和httpd在同一主机上就直接颁发证书了
需注意的是这里所填写的信息是我们要做https访问主机的域名,信息一定要完整,否则会出错的
这样的我们的证书就生成了,接下来编辑/etc/httpd/httpd.conf
找到这两行# Secure
(SSL/TLS) connections
#Include
/etc/httpd/extra/httpd-ssl.conf默认是不开启的,我们将注释去掉
接下来设置/etc/httpd/extra/httpd-ssl.conf文件
找到如下几行:
DocumentRoot
"/usr/local/apache/htdocs/phpwind"
定义我们网站的主目录
SSLCertificateFile
"/etc/httpd/ssl/httpd.crt"
定义我们证书的位置
SSLCertificateKeyFile
"/etc/httpd/ssl/httpd.key"
定义我们密钥的位置
这样就可以了,我们重启httpd服务就可以使用https加密的方式访问了。
注意的是我们在设置时还是要把SElinux关闭,配置完配置文件后需要重新读取配置文件和检查语法
#httpd –t
或service httpd configtest
#service
httpd reload|restart