1、Apache 杨章明一.apache 反向代理情景描述: 内部的 Web 服务器和文件服务完全与外部世界隔开,不直接连接到外部,通过防火墙上运行的 Apache 服务提供对内部的代理访问,以增强服务器的安全性. 同时在防火墙上运行的 Apache 服务应用基于域名的虚拟主机技术,使得防火墙上的 主页不会被访问到,符合了作为防火墙要求运行服务越少越安全的准则.内部的 Web 服务器的内容在防火墙上进行缓存,起到加速响应的效果.网络结构:192.168.0.0/24(LAN_web)ServerName ProxyPass / http:/192.168.0.1/ProxyPassReverse
2、/ http:/192.168.0.1/ServerName ProxyPass / http:/192.168.0.3/ProxyPassReverse / http:/192.168.0.3/ServerName ProxyPass / http:/192.168.0.4/ProxyPassReverse / http:/192.168.0.4/2.在客户机上测试,输入 (10.0.0.2)可看到内网 web 服务器(192.168.0.1)内容.二.apache 认证访问情景描述:公司 web 服务器要求用户访问必须有用户名和密码才能访问1.修改 apache 配置文件,对要访问的网站根
3、目录做认证配置.例如.我们对 网站的根目录/var/www/html/ 目录做认证配置,在住配置文件添加如下行:allowoverride authconfig说明:在 Drectory 容器中可添加的其他选项在此不做说明.2.进入此网站根目录/var/www/html/ 新建.htaccess 文件并添加如下行:rootaccp # ls -a. .htaccess index.htmlrootaccp # cat .htaccess authname “访问认证测试“authtype basicauthuserfile /var/www/html/ valid-user说明:2.1.认证名
4、称自定义2.2.认证类型为 basic(基本类型 apache 默认支持,我们在这里不讨论 ldap,mysql 认证)2.3.认证文件名称(用来存放用户名和密码),文件名可自定义2.4.只有在第三行中指定的文件内用户才有权访问网站3.如下命令建立了认证文件.webpassword 并向该文件内添加了用户 tomyang.rootaccp # htpasswd -c /var/www/html/ tomyangNew password: Re-type new password: Adding password for user tomyang3.1.如果文件以存在我们可以这样添加用户root
5、accp # htpasswd /var/www/html/ tonyzhang3.2.如果要删除某个用户rootaccp # htpasswd -D /var/www/html/ tomyang说明:-c 选项指定要创建认证文件(此文件不存在的情况下),文件存在时不能加-c 选项,否则将删除旧的认证文件创建一个新的认证文件, tomyang 是指定要添加的用户.4.在客户端浏览器输入网站地址将要求输入用户名和密码,如下三.源码包安装 lamp 环境安装 mysqlrootaccp /#rpm qa |grep mysql(查看系统有没有安装 mysql,如果有装,使用 rpm -e 卸载)r
6、ootaccp /#cd /usr/local/src/rootaccp src#mkdir /usr/local/mysql (mysql 安装目录)rootaccp src#mkdir /usr/local/mysql/etc(mysql 配置文件存放目录) rootaccp src#mkdir /usr/local/mysql/database (mysql 数据库存放目录) rootaccp src#tar -zxvf mysql-6.0.8-alpha.tar.gzrootaccp src#cd mysql-6.0.8-alpha/rootaccp mysql-6.0.8-alpha
7、#groupadd mysql rootaccp mysql-6.0.8-alpha#useradd g mysql c “mysql server” mysql (创建 mysql 用户和组)rootaccp mysql-6.0.8-alpha#./configure -prefix=/usr/local/mysql -sysconfdir=/usr/local/mysql/etc -localstatedir=/usr/local/mysql/database -with-charset=utf8 -with-collation=utf8_general_ci -with-extra-ch
8、arsets=latin1 -enable-local-infile rootaccp mysql-6.0.8-alpha#echo $?显示为:0,表示编译过程没有错误,显示其它都有错.rootaccp mysql-6.0.8-alpha#make rootaccp mysql-6.0.8-alpha#make install rootaccp mysql-6.0.8-alpha#cd /usr/local/mysql/ rootaccp mysql#./bin/mysql_install_db -user=mysql (安装 mysql、test 和information_schema 数
9、据库)rootaccp mysql#cp /usr/local/mysql/share/mysql/my-f /etc/f (mysql 配置文件)rootaccp mysql#cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysql rootaccp mysql#chown R mysql:mysql /usr/local/mysql/database/ rootaccp mysql#chown R mysql:mysql /usr/local/mysql/lib/rootaccp mysql#./bin/mysq
10、ld_safe -user=mysql & rootaccp mysql#chkconfig -list|grep mysql rootaccp mysql#chkconfig -add mysql rootaccp mysql#chkconfig -level 35 mysql . rootaccp mysql#service mysql start rootaccp mysql#cp /usr/local/mysql/bin/* /sbin rootaccp mysql#mysqladmin u root h localhost password loleafver (创建 mysql 管
11、理员和密码)rootaccp mysql#mysql u root p (进入 mysql)安装 apacherootaccp /#rpm qa |grep http(查看系统有没有安装 http,如果有装,使用 rpm -e卸载)rootaccp /#cd /usr/local/src/rootaccp src#mkdir /usr/local/httpd rootaccp src#tar -zxvf httpd-2.2.11.tar.gzrootaccp src#cd httpd-2.2.11rootaccp httpd-2.2.11#./configure -prefix=/usr/lo
12、cal/httpd/ -enable-modules=so -enable-so -enable-cgirootaccp httpd-2.2.11#echo $? rootaccp httpd-2.2.11#make rootaccp httpd-2.2.11#make install rootaccp httpd-2.2.11#cp /usr/local/httpd/bin/apachectl /sbin/rootaccp httpd-2.2.11#apachectl start 安装 phprootaccp src#mkdir /usr/local/php rootaccp src#tar
13、 -zxvf php-5.2.8.tar.gz rootaccp src#cd php-5.2.8rootaccp php-5.2.8#./configure -prefix=/usr/local/php -with-mysql=/usr/local/mysql -with-apxs2=/usr/local/httpd/bin/apxs rootaccp php-5.2.8#echo $?rootaccp php-5.2.8#make rootaccp php-5.2.8#make install rootaccp php-5.2.8#cp php.ini-dist /usr/local/php/lib/php.ini (PHP 配置文件)rootaccp php-5.2.8#vi /usr/local/httpd/conf/httpd.conf 加入两行参数:不然访问.php 网页有问题。 AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps 在 httpd 的主目录 htdocs 下新建一个 PHP 测试页。rootaccp php-5.2.8#vi /usr/local/httpd/htdocs/index.php