####################10.HTTPS虚拟主机####################
>测试:https://news.westos.com/-->I Understand the Risks-->Add Exception-->Confirm Security Exception>显示:www.westos.com[root@web1 conf.d]# vim news.conf -----------------------------------------------:sp /etc/httpd/conf.d/ssl.conf ##将两个文件分屏显示,使用"ctrl+w 上|下"来切换 9 <Virtualhost *:443> 10 Servername news.westos.com 11 Documentroot /var/www/virtual/news/html 12 Customlog logs/news-443.log combined 13 SSLEngine on 14 SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt 15 SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key 16 </Virtualhost>:wq-----------------------------------------------/13行到15行的内容是从"ssl.conf"中拷贝过来的,以切换分屏来实现复制粘贴[root@web1 conf.d]# systemctl reload httpd>测试:https://news.westos.com(需清空缓存:ctrl+shift+delete)>显示:news.westos.com####################11.网页重写####################[root@web1 conf.d]# vim news.conf ----------------------------------------------- 1 <Virtualhost *:80> 2 Servername news.westos.com 3 RewriteEngine on 4 RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301] 5 </Virtualhost>:wq-----------------------------------------------[root@web1 conf.d]# systemctl reload httpd>测试:news.westos.com>重定向到:https://news.westos.com####################12.php####################http默认支持html,php,cgi,wsgi[root@web1 conf.d]# lsautoindex.conf manual.conf news.conf ssl.conf userdir.confdefault.conf music.conf README tmprequest welcome.conf[root@web1 conf.d]# cd /var/www/html/[root@web1 html]# lsindex.html[root@web1 html]# vim index.php----------------------------------------------- 1 <?php 2 phpinfo (); 3 ?>:wq-----------------------------------------------[root@web1 html]# vim /etc/httpd/conf/httpd.conf -----------------------------------------------164 DirectoryIndex index.php index.html:wq-----------------------------------------------[root@web1 html]# systemctl reload httpd.service >测试:http://172.25.50.100(需清空缓存:ctrl+shift+delete)>无任何显示[root@web1 html]# yum install php -y......[root@web1 html]# ls /etc/httpd/conf.d/autoindex.conf manual.conf news.conf README tmprequest welcome.confdefault.conf music.conf php.conf ssl.conf userdir.conf##多了php.conf[root@web1 html]# systemctl reload httpd.service ##"reload"无法使php生效>测试:http://172.25.50.100>无任何显示[root@web1 html]# systemctl restart httpd.service ##"restart"才能使php生效>测试:http://172.25.50.100>显示:php测试页面####################13.cgi####################[root@web1 html]# mkdir cgi[root@web1 html]# lscgi index.html index.php[root@web1 html]# cd cgi/>firefox打开http://172.25.50.100/manual/-->CGI: Dynamic Content[root@web1 cgi]# vim index.cgi----------------------------------------------- 1 #!/usr/bin/perl 2 print "Content-type: text/html\n\n"; 3 print `date`;:wq-----------------------------------------------/以上内容是从Apache手册中拷贝过来的,并将"Hello, World."改为`date`[root@web1 cgi]# perl index.cgi ##使用perl命令执行Content-type: text/htmlMon Dec 12 20:30:14 EST 2016 ##执行成功!表示index.cgi的内容正确,可以使用[root@web1 cgi]# chmod +x index.cgi [root@web1 cgi]# cd /etc/httpd/conf.d/[root@web1 conf.d]# vim default.conf ----------------------------------------------- 5 <Directory "/var/www/html/cgi"> 6 Options +ExecCGI 7 AddHandler cgi-script .cgi 8 </Directory>:wq-----------------------------------------------[root@web1 conf.d]# systemctl reload httpd>测试:http://172.25.50.100/cgi/inde.cgi>显示:Internal Server Error[root@web1 conf.d]# ls -Zd /var/www/cgi-bin/drwxr-xr-x. root root system_u:object_r:httpd_sys_script_exec_t:s0 /var/www/cgi-bin/[root@web1 conf.d]# ls -Zd /var/www/html/cgi/drwxr-xr-x. root root unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/html/cgi/[root@web1 conf.d]# semanage fcontext -a -t httpd_sys_script_exec_t '/var/www/html/cgi(/.*)?'[root@web1 conf.d]# restorecon -FvvR /var/www/html/cgi/restorecon reset /var/www/html/cgi context unconfined_u:object_r:httpd_sys_content_t:s0->system_u:object_r:httpd_sys_script_exec_t:s0restorecon reset /var/www/html/cgi/index.cgi context unconfined_u:object_r:httpd_sys_content_t:s0->system_u:object_r:httpd_sys_script_exec_t:s0>测试:http://172.25.50.100/cgi/index.cgi>显示:Mon Dec 12 20:59:34 EST 2016>点击刷新>显示:Mon Dec 12 20:59:52 EST 2016>点击刷新>显示:Mon Dec 12 20:59:59 EST 2016####################14.搭建论坛####################[root@web1 conf.d]# yum install mariadb-server -y......[root@web1 conf.d]# vim /etc/my.cnf----------------------------------------------- 10 skip-networking=1:wq-----------------------------------------------[root@web1 conf.d]# systemctl start mariadb[root@web1 conf.d]# mysql_secure_installation ......>Set root password "westos"[root@web1 conf.d]# cd /var/www/html/[root@web1 html]# lscgi index.html index.php[root@foundation50 pub]# pwd/root/Documents/RHCE/老李LFTP/pub[root@foundation50 pub]# scp Discuz_X3.2_SC_UTF8.zip root@172.25.50.100:/var/www/html/root@172.25.50.100's password: Discuz_X3.2_SC_UTF8.zip 100% 12MB 11.9MB/s 00:01 [root@web1 html]# lscgi Discuz_X3.2_SC_UTF8.zip index.html index.php[root@web1 html]# unzip Discuz_X3.2_SC_UTF8.zip ......[root@web1 html]# lscgi Discuz_X3.2_SC_UTF8.zip index.html index.php readme upload utility[root@web1 html]# less readme/readme.txt -----------------------------------------------截取重要内容:+----------------------------------+ Discuz! X 社区软件的安装+----------------------------------+1. 上传 upload 目录中的文件到服务器2. 设置目录属性(windows 服务器可忽略这一步) 以下这些目录需要可读写权限 ./config ./data 含子目录3. 执行安装脚本 /install/ 请在浏览器中运行 install 程序,即访问 http://您的域名/论坛目录/install/4. 参照页面提示,进行安装,直至安装完毕-----------------------------------------------[root@web1 html]# chmod 777 upload/data/ upload/config/>测试:http://172.25.50.100/upload/-->我同意>所有文件不可写,mysql不支持[root@web1 html]# setenforce 0>刷新网页>只有前4个文件显示可写,mysql不支持[root@web1 html]# chmod 777 upload/ -R>刷新网页>所有文件可写,mysql不支持[root@web1 html]# yum install php-mysql -y......[root@web1 html]# systemctl reload httpd>刷新网页>所有文件可写,mysql支持-->下一步-->下一步-->数据库密码:westos-->管理员密码:(自行设定)-->下一步>等待安装完成,重新输入网址:http://172.25.50.100/upload/>安装成功!!!--安装完成,以下为体验---->输入管理员密码-->登陆-->输入验证码-->登陆-->用户组:管理员-->模块管理-->管理中心####################15.squid正向代理####################[root@foundation50 ~]# ls /etc/httpd/conf.d/autoindex.conf README userdir.conf welcome.conf[root@foundation50 ~]# yum install squid -y......[root@foundation50 ~]# ls /etc/httpd/conf.d/autoindex.conf README squid.conf userdir.conf welcome.conf[root@foundation50 ~]# vim /etc/squid/squid.conf----------------------------------------------- 56 http_access allow all 62 cache_dir ufs /var/spool/squid 100 16 256:wq-----------------------------------------------[root@foundation50 ~]# ls /var/spool/squid/##什么都没有[root@foundation50 ~]# systemctl start squid[root@foundation50 ~]# systemctl enable squid.service Created symlink from /etc/systemd/system/multi-user.target.wants/squid.service to /usr/lib/systemd/system/squid.service.[root@foundation50 ~]# netstat -antlpe |grep squidtcp6 0 0 :::3128 :::* LISTEN 0 531476 7398/(squid-1) [root@web1 conf.d]# firefox &>测试:www.baidu.com>提示:一直是"Connecting..."状态-->Edit-->Preferences-->Advanced-->Network-->Settings...-->Manual proxy configuration-->HTTP Proxy:172.25.50.250-->Port:3128-->OK-->Close>再次测试:www.baidu.com>打开百度成功!!!--取消代理---->Edit-->Preferences-->Advanced-->Network-->Settings...-->Manual proxy configuration-->No proxy-->OK-->Close--删除squid服务--[root@foundation50 ~]# systemctl stop squid[root@foundation50 ~]# yum remove squid -y......[root@foundation50 ~]# rm -fr /etc/squid/在亚马逊租一台Linux服务器,装上squid,然后在本机指定代理后,就能访问国外的网站####################16.squid反向代理####################CDN加速交叉存储[root@web1 ~]# yum remove httpd -y......[root@web1 ~]# netstat -antlpe |grep :80[root@web1 ~]# yum install squid -y......[root@web1 ~]# vim /etc/squid/squid.conf----------------------------------------------- 56 http_access allow all 59 http_port 80 vhost vport 60 cache_peer 172.25.50.165 parent 80 0 no-query 62 cache_dir ufs /var/spool/squid 100 16 256:wq-----------------------------------------------[root@web1 ~]# systemctl start squid[root@web1 ~]# netstat -antlpe |grep :80tcp6 0 0 :::80 :::* LISTEN 0 41808 2069/(squid-1) >分别为虚拟机172.25.50.165和虚拟机172.25.50.171搭建好http服务,然后使用真机进行测试[root@foundation50 Desktop]# firefox &>测试:172.25.50.165>显示:172.25.50.165>测试:172.25.50.171>显示:172.25.50.171注意:同时开启三台虚拟机会有点卡,可以使用"init 3"关闭图形。需要时,再使用"init 5"打开图形>测试:172.25.50.100>显示:172.25.50.165[root@web1 ~]# vim /etc/squid/squid.conf-----------------------------------------------/修改 60 cache_peer 172.25.50.165 parent 80 0 no-query originserver round-robin name=web1/插入 61 cache_peer 172.25.50.171 parent 80 0 no-query originserver round-robin name=web2 62 cache_peer_domain web1 web2 www.taobao.com:wq-----------------------------------------------[root@web1 ~]# systemctl restart squid[root@foundation50 Desktop]# vim /etc/hosts----------------------------------------------- 4 172.25.50.100 www.taobao.com:wq----------------------------------------------->真机断开外网[root@foundation50 Desktop]# firefox &--> Ctrl+Shift+Delete --> 把最后两项打钩 --> Clear Now(清空缓存)>测试:172.25.50.100>显示:172.25.50.165>刷新>显示:172.25.50.171>刷新>显示:172.25.50.165>刷新>显示:172.25.50.171轮询生效!!!########################## bash脚本 ##########################/lib是系统库文件存放的位置,所谓"库"就是函数的集合执行脚本是打开一个新的shell,完成后关闭这个shell==bash==[root@localhost mnt]# vim 1.sh-----------------------------------------------#!/bin/bashecho hello world:wq-----------------------------------------------[root@localhost mnt]# sh 1.shhello world[root@localhost mnt]# chmod +x 1.sh[root@localhost mnt]# /mnt/1.shhello world[root@localhost mnt]# ./1.shhello world==tcsh==[root@localhost ~]# ps aux |grep tcshroot 2118 0.0 0.0 112640 936 pts/1 R+ 22:03 0:00 grep --color=auto tcsh[root@localhost mnt]# vim 2.sh-----------------------------------------------#!/bin/tcshwatch -n 1 date:wq-----------------------------------------------[root@localhost mnt]# sh 2.sh[root@localhost ~]# ps aux |grep tcshroot 2142 0.0 0.0 112640 940 pts/1 R+ 22:04 0:00 grep --color=auto tcsh[root@localhost mnt]# chmod +x 2.sh[root@localhost mnt]# /mnt/2.sh [root@localhost ~]# ps aux |grep tcshroot 2255 0.1 0.2 120228 2112 pts/0 S+ 22:05 0:00 /bin/tcsh /mnt/2.shroot 2283 0.0 0.0 112640 940 pts/1 S+ 22:05 0:00 grep --color=auto tcsh[root@localhost ~]# ==env==[root@localhost mnt]# which env/usr/bin/env[root@localhost mnt]# vim 1.sh-----------------------------------------------#!/usr/bin/env bash ##表示不知道bash在哪儿,通过env去找echo hello world:wq-----------------------------------------------[root@localhost mnt]# ./1.sh hello world[root@localhost mnt]# vim 2.sh-----------------------------------------------#!/usr/bin/env tcsh ##表示不知道tcsh在哪儿,通过env去找watch -n 1 date:wq-----------------------------------------------[root@localhost mnt]# ./1.sh >开启watch监控==脚本调式模式"-x"==[root@localhost mnt]# sh -x 1.sh+ echo hello worldhello world[root@localhost mnt]# vim 3.sh-----------------------------------------------#!/bin/bash -xcat /mnt/3.sh:wq-----------------------------------------------[root@localhost mnt]# sh 3.sh#!/bin/bash -xcat /mnt/3.sh[root@localhost mnt]# chmod +x 3.sh [root@localhost mnt]# ./3.sh+ cat /mnt/3.sh#!/bin/bash -xcat /mnt/3.sh==单引用和双引用==单引号是强引用,引号内全部被引用双引用是弱引用,不能引用$ ! `` \[root@localhost mnt]# echo $USERroot[root@localhost mnt]# echo "$USER"root[root@localhost mnt]# echo '$USER'$USER[root@localhost mnt]# echo '"$USER"'"$USER"[root@localhost mnt]# echo "'$USER'"'root'[root@localhost mnt]# echo $5[root@localhost mnt]# echo $"5"5[root@localhost mnt]# echo "$"5$5[root@localhost mnt]# echo '$'5$5[root@localhost mnt]# echo \$5 ##\和''的作用差不多$5[root@localhost mnt]# echo "\$5"$5[root@localhost mnt]# echo '\$5'\$5[root@localhost mnt]# echo '''' ##单引号就近引用[root@localhost mnt]# echo """" ##双引号就近引用[root@localhost mnt]# echo '""'""[root@localhost mnt]# echo "''"''[root@localhost mnt]# echo \'\'''[root@localhost mnt]# echo # hello #[root@localhost mnt]# echo \# hello ## hello[root@localhost mnt]# echo \# hello \## hello #[root@localhost mnt]# echo '`date`'`date`[root@localhost mnt]# echo "`date`"Tue Dec 13 22:45:05 EST 2016[root@localhost mnt]# echo * ##"*"显示当前目录下的所有文件名1.sh 2.sh 3.sh[root@localhost mnt]# echo * *1.sh 2.sh 3.sh 1.sh 2.sh 3.sh[root@localhost mnt]# echo "*"*[root@localhost mnt]# echo "*****`date`*****"*****Tue Dec 13 22:56:52 EST 2016*****==变量==--1.shell下直接定义--[root@localhost mnt]# a=1[root@localhost mnt]# echo $a1[root@localhost mnt]# echo $ab[root@localhost mnt]# echo ${a}b1b[root@localhost mnt]# a=`date`##`date`当下已被执行,所以a的值恒定[root@localhost mnt]# echo $aWed Dec 14 01:28:12 EST 2016[root@localhost mnt]# echo $aWed Dec 14 01:28:12 EST 2016--2.export--[root@localhost mnt]# vim 4.sh-----------------------------------------------#!/bin/bashecho $a:wq-----------------------------------------------[root@localhost mnt]# chmod +x 4.sh [root@localhost mnt]# ./4.sh [root@localhost mnt]# export a=1[root@localhost mnt]# ./4.sh 1[root@localhost mnt]# exitlogoutConnection to 172.25.50.100 closed.[root@foundation50 Desktop]# ssh root@172.25.50.100root@172.25.50.100's password: [root@localhost ~]# /mnt/4.sh--3.环境变量配置文件--~/.bash_profile ##用户级别/etc/profile ##系统级别[root@localhost ~]# vim .bash_profile ----------------------------------------------- 13 export a=1:wq-----------------------------------------------[root@localhost ~]# source .bash_profile [root@localhost ~]# /mnt/4.sh1##用户级别生效[root@localhost ~]# su - student[student@localhost ~]$ /mnt/4.sh [student@localhost ~]$ logout[root@localhost ~]# vim /etc/profile----------------------------------------------- 77 export a=5:wq-----------------------------------------------[root@localhost ~]# source /etc/profile[root@localhost ~]# /mnt/4.sh 5##这是因为"/etc/profile"是后读的,所以后读的生效[root@localhost ~]# logoutConnection to 172.25.50.100 closed.[root@foundation50 Desktop]# ssh root@172.25.50.100root@172.25.50.100's password: [root@localhost ~]# /mnt/4.sh 1##重新登陆,用户级别的生效。所以一般情况下,用户级别优先于系统级别[root@localhost ~]# su - student[student@localhost ~]$ /mnt/4.sh 5##系统级别生效[student@localhost ~]$ logout--4.PATH--[root@localhost ~]# 4.shbash: 4.sh: command not found...[root@localhost ~]# 1.shbash: 3.sh: command not found...[root@localhost ~]# vim .bash_profile ----------------------------------------------- 14 export PATH=$PATH:/mnt:wq-----------------------------------------------[root@localhost ~]# source .bash_profile [root@localhost ~]# 4.sh1[root@localhost ~]# 1.shhello world[root@localhost ~]# echo $PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin:/mnt##包含"/mnt"--5.故意写错,测试效果--[root@localhost ~]# vim .bash_profile ----------------------------------------------- 14 export PATH=$PAITH:/mnt ##故意写错成"PAITH":wq-----------------------------------------------[root@localhost ~]# source .bash_profile [root@localhost ~]# lsbash: ls: command not found...Similar command is: 'lz'[root@localhost ~]# /bin/lsanaconda-ks.cfg[root@localhost ~]# echo $PATH:/mnt ##只有"/mnt"[root@localhost ~]# 4.sh1[root@localhost ~]# /bin/vim .bash_profile -----------------------------------------------/删除 14 export PATH=$PAITH:/mnt:wq-----------------------------------------------[root@localhost ~]# /bin/source .bash_profile-bash: /bin/source: No such file or directory[root@localhost ~]# /sbin/source .bash_profile-bash: /sbin/source: No such file or directory......(各种尝试)##找不到source命令[root@localhost ~]# logoutConnection to 172.25.50.100 closed.[root@foundation50 Desktop]# ssh root@172.25.50.100root@172.25.50.100's password: [root@localhost ~]# which source/usr/bin/which: no source in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)##因为source命令是shell里的内建命令,所以找不着