《Apache反向代理認證源碼安裝》由會員分享,可在線閱讀,更多相關(guān)《Apache反向代理認證源碼安裝(7頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、文檔供參考,可復制、編制,期待您的好評與關(guān)注! Apache -楊章明一.apache反向代理情景描述: 內(nèi)部的Web服務器和文件服務完全與外部世界隔開,不直接連接到外部,通過防火墻上運行的Apache服務提供對內(nèi)部的代理訪問,以增強服務器的安全性. 同時在防火墻上運行的Apache服務應用基于域名的虛擬主機技術(shù),使得防火墻上的 主頁不會被訪問到,符合了作為防火墻要求運行服務越少越安全的準則.內(nèi)部的Web服務器的內(nèi)容在防火墻上進行緩存,起到加速響應的效果.網(wǎng)絡結(jié)構(gòu):192.168.0.0/24(LAN_web)-192.168.0.2|10.0.0.2(web_proxy)-10.0.0.1(
2、internet)內(nèi)網(wǎng)www服務器ip地址為私有ip192.168.0.x提供網(wǎng)頁服務,iptables網(wǎng)關(guān)服務器有兩塊網(wǎng)卡192.168.0.2連接內(nèi)網(wǎng),10.0.0.2是公網(wǎng)ip連接外網(wǎng),10.0.0.2綁定域名. (若有3臺web服務器)實現(xiàn)反向代理: 防火墻上設(shè)置apache反向代理技術(shù),由防火墻代理對內(nèi)部網(wǎng)段上的訪問.1.在網(wǎng)關(guān)服務器上安裝apache,其他設(shè)置采用默認值,然后配置虛擬主機,如下: NameVirtualHost *:80 ServerName ProxyPass / http:/192.168.0.1/ ProxyPassReverse / http:/192.16
3、8.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)可看到內(nèi)網(wǎng)web服務器(192.168.0.1)內(nèi)容.二.apache認證訪問情景描述:公司web服務器要求用戶訪問必須有用戶名和密碼才能訪問1.修改apache配置文件,對要訪問的網(wǎng)站根目錄做認證配置.例如.我們對網(wǎng)站的根
4、目錄/var/www/html/目錄做認證配置,在住配置文件添加如下行: allowoverride authconfig說明:在Drectory容器中可添加的其他選項在此不做說明.2.進入此網(wǎng)站根目錄/var/www/html/新建.htaccess文件并添加如下行:rootaccp # ls -a. . .htaccess index.htmlrootaccp # cat .htaccess authname 訪問認證測試authtype basicauthuserfile /var/www/html/require valid-user說明:2.1.認證名稱自定義2.2.認證類型為bas
5、ic(基本類型apache默認支持,我們在這里不討論ldap,mysql認證)2.3.認證文件名稱(用來存放用戶名和密碼),文件名可自定義2.4.只有在第三行中指定的文件內(nèi)用戶才有權(quán)訪問網(wǎng)站3.如下命令建立了認證文件.webpassword并向該文件內(nèi)添加了用戶tomyang.rootaccp # htpasswd -c /var/www/html/ tomyangNew password: Re-type new password: Adding password for user tomyang3.1.如果文件以存在我們可以這樣添加用戶rootaccp # htpasswd /var/ww
6、w/html/ tonyzhang3.2.如果要刪除某個用戶rootaccp # htpasswd -D /var/www/html/ tomyang說明:-c選項指定要創(chuàng)建認證文件(此文件不存在的情況下),文件存在時不能加-c選項,否則將刪除舊的認證文件創(chuàng)建一個新的認證文件, tomyang是指定要添加的用戶.4.在客戶端瀏覽器輸入網(wǎng)站地址將要求輸入用戶名和密碼,如下三.源碼包安裝lamp環(huán)境安裝mysqlrootaccp /#rpm qa |grep mysql(查看系統(tǒng)有沒有安裝mysql,如果有裝,使用rpm -e卸載) rootaccp /#cd /usr/local/src/roo
7、taccp src#mkdir /usr/local/mysql (mysql安裝目錄)rootaccp src#mkdir /usr/local/mysql/etc(mysql配置文件存放目錄) rootaccp src#mkdir /usr/local/mysql/database (mysql數(shù)據(jù)庫存放目錄) rootaccp src#tar -zxvf mysql-6.0.8-alpha.tar.gzrootaccp src#cd mysql-6.0.8-alpha/rootaccp mysql-6.0.8-alpha#groupadd mysql rootaccp mysql-6.0
8、.8-alpha#useradd g mysql c “mysql server” mysql (創(chuàng)建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-charsets=latin1 -enable-local-infile
9、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數(shù)據(jù)庫)rootaccp mysql#cp /usr/local/mysql/
10、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/mysqld_safe -user=mysql & rootaccp mysql#ch
11、kconfig -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 (創(chuàng)建mysql管理員和密碼)rootaccp mysql#mysql u root p (進入my
12、sql)安裝apacherootaccp /#rpm qa |grep http(查看系統(tǒng)有沒有安裝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/local/httpd/ -enable-modules=so -enable-so -en
13、able-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 -zxvf php-5.2.8.tar.gz rootaccp src#cd php-5
14、.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 加入兩行參數(shù):不然訪問.php網(wǎng)頁有問題。 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.php7 / 7