Apache基本配置
一.默认发布文件:
1.yum install httpd -y 下载服务
![](https://i-blog.csdnimg.cn/blog_migrate/92ca1018be80205651416a9bc535df7c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9b4a75c7df6f6942a57ac890f2fea856.png)
2.systemctl start httpd 开启服务
3. cd /var/www/html/ 进入目录
![](https://i-blog.csdnimg.cn/blog_migrate/39d40bdff70c3d9e7385b29153e4260a.png)
4. vim index.html 编辑文件Apache默认发布文件
![](https://i-blog.csdnimg.cn/blog_migrate/fa22153c50b294beb8d6c7d51a980789.png)
内容:
<h1>hello westos</h1>
![](https://i-blog.csdnimg.cn/blog_migrate/5b7d8fca6b3bbe6fc66024351ce3c075.png)
5.firewall-cmd --permanent --add-service=http 针对http的防火墙策略
6. firewall-cmd --reload 重新加载防火墙
![](https://i-blog.csdnimg.cn/blog_migrate/76a8aa9d21f9d13a8ba676b01b991bc6.png)
7. firewall-cmd --list-all 查看防火墙策略
![](https://i-blog.csdnimg.cn/blog_migrate/cf81beb5b2e39cec1dab7fed4f2ccf5b.png)
8.systemctl restart httpd 重启服务
测试:
在浏览器输入:172.25.254.171就可看到默认发布文件的内容
二.默认发布目录:
1. mkdir /westos/html -p 建立目录(-p表示上层目录不存在自动建立)
vim /westos/html/index.html
写入内容:westos
![](https://i-blog.csdnimg.cn/blog_migrate/a2675d7b210a6c6e335470fa1960b57e.png)
2.vim /etc/httpd/conf/httpd.conf 编辑主配置文件修改默认发布文件
DirectoryIndex index.html 默认发布文件,可以有多个,哪个在前哪个优先级高
![](https://i-blog.csdnimg.cn/blog_migrate/ea30f80a33daafc00cb30ba9f2261895.png)
3.vim /etc/httpd/conf/httpd.conf 编辑主配置文件修改默认发布目录
内容:
DocumentRoot "/westos/html"
121行 <Directory "/westos">
122行 Require all granted
123行 </Directory>
5.systemctl restart httpd 重启服务
![](https://i-blog.csdnimg.cn/blog_migrate/9bf579050220186e2278f5108988c3b0.png)
6.semanage fcontext -a -t httpd_sys_content_t '/westos(/.*)?' 修改安全上下文
7. restorecon -RvvF /westos/ 刷新安全上下文列表
![](https://i-blog.csdnimg.cn/blog_migrate/22c31098b089c0440f71a0a088717cf9.png)
测试:在浏览器访问:172.25.254.171 可以看到默认发布目录文件的内容
三.虚拟主机
1.vim /etc/httpd/conf/httpd.conf 配置文件修改默认发布目录
![](https://i-blog.csdnimg.cn/blog_migrate/4e23f94840b96d7dd5e8c07305e5b9d6.png)
内容:
DocumentRoot "/var/www/html"
![](https://i-blog.csdnimg.cn/blog_migrate/0b71ff98f8b4939eef4dae561fdf418a.png)
2. mkdir /var/www/virtual/news/html -p
mkdir /var/www/virtual/music/html -p 建立目录
3.vim /var/www/virtual/music/html/index.html 编辑文件写入内容
![](https://i-blog.csdnimg.cn/blog_migrate/547b14549cacfed4563aca0b71f6a7bb.png)
![](https://i-blog.csdnimg.cn/blog_migrate/cb10266fc5f827ee600e03dabc4b2cdb.png)
vim /var/www/virtual/news/html/index.html 编辑文件写入内容
![](https://i-blog.csdnimg.cn/blog_migrate/d97a56554f79d3649d18f099efb1545e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/91a054bd4afa78ceb1f34ffabe705f39.png)
4. cd /etc/httpd/conf.d/ 进入目录
5. vim default.conf 编辑默认发布目录
内容:
<VirtualHost _default_:80>
DocumentRoot /var/www/html
CustomLog logs/default.log combined
</VirtualHost>
6. cp default.conf music.conf 复制默认发布目录
7.vim music.conf 编辑配置文件
内容:
<VirtualHost *:80>
ServerName music.westos.com
DocumentRoot /var/www/virtual/music/html
CustomLog logs/default.log combined
</VirtualHost>
<Directory "/var/www/virtual/music/html">
Require all granted
</Directory>
![](https://i-blog.csdnimg.cn/blog_migrate/0d499a0db72ec12bed05be3568d30c8d.png)
cp music.conf news.conf 复制文件
vim news.conf 编辑配置文件
内容:
<VirtualHost *:80>
ServerName news.westos.com
DocumentRoot /var/www/virtual/news/html
CustomLog logs/default.log combined
</VirtualHost>
<Directory "/var/www/virtual/news/html">
Require all granted
</Directory>
8. systemctl restart httpd 重启服务
![](https://i-blog.csdnimg.cn/blog_migrate/30d0624e648143cbab48d99b0578ef0c.png)
9.用真机root用户修改解析:vim /etc/hosts
内容:
172.25.254.171 www.westos.com news.westos.com music.westos.com
测试:在浏览器访问:www.westos.com news.westos.com music.westos.com
四.登陆权限:
1)用户创建
1. htpasswd -cm /etc/httpd/htuser admin 创建文件
New password: 输入密码
Re-type new password: 确认密码
Adding password for user admin
![](https://i-blog.csdnimg.cn/blog_migrate/4808dc0e6fb608dd6d98c342d74c9920.png)
2.cat /etc/httpd/htuser 查看用户
3. htpasswd -m /etc/httpd/htuser lee
![](https://i-blog.csdnimg.cn/blog_migrate/5d2c6d5827175ebc253420bce590e681.png)
4.vim /etc/httpd/conf.d/default.conf 编辑配置文件
内容:
<VirtualHost _default_:80>
DocumentRoot /var/www/html
CustomLog logs/default.log combined
</VirtualHost>
<Directory "/var/www/html">
Order Deny,Allow 先看Deny在看Allow。(哪个在前先看哪个)
Allow from 172.25.254.107 不允许107登
Deny from all 允许所有人登
</Directory>
![](https://i-blog.csdnimg.cn/blog_migrate/177fcb8d41203d1540a3be76c139a1a2.png)
5.systemctl restart httpd 重启服务
测试:在浏览器输入:172.25.254.107访问不了
2)允许用户通过认证方式登陆:
1.vim /etc/httpd/conf.d/default.conf 编辑配置文件
内容:
<VirtualHost _default_:80>
DocumentRoot /var/www/html
CustomLog logs/default.log combined
</VirtualHost>
<Directory "/var/www/html">
AuthUserFile /etc/httpd/htuser
AuthName "Please input username and password"
AuthType basic
Require valid-user
</Directory>
![](https://i-blog.csdnimg.cn/blog_migrate/b5cb8e9055bdea8edbb15f292cd77255.png)
2. systemctl restart httpd
![](https://i-blog.csdnimg.cn/blog_migrate/bd5eeddefaeccb8fa8d296dcd73db14a.png)
测试:在浏览器输入:www.westos.com 用户登陆即可查看
![](https://i-blog.csdnimg.cn/blog_migrate/338063488bb18a9ef15f7e1e949e97e0.png)
输入用户名和密码登陆可查看内容:
五.php页面发布
1.cd /etc/httpd/conf.d/ 进入目录
vim default.conf 编辑文件
![](https://i-blog.csdnimg.cn/blog_migrate/f841f6cb08127de74f6e2058084861a5.png)
内容:
<VirtualHost _default_:80>
DocumentRoot /var/www/html
CustomLog logs/default.log combined
</VirtualHost>
![](https://i-blog.csdnimg.cn/blog_migrate/1bc86ae65df029b2a3abe3e8f794e716.png)
2.[root@localhost conf.d]# cd /var/www/html/ 进入目录
[root@localhost html]# ls 查看文件
index.html
3. vim index.php 编辑文件
内容:(内容紫色,不对说明输入有误)
<?php
phpinfo();
?>
![](https://i-blog.csdnimg.cn/blog_migrate/444360084d1cd934b8d8bc1d231b737d.png)
4.yum install php -y 安装软件
![](https://i-blog.csdnimg.cn/blog_migrate/3a7700450983b98a2fef5e50243100bc.png)
5. systemctl restart httpd 重启服务
6. cd /etc/httpd/conf.d/ 进入目录查看会生成php.conf文件
7. ls 查看
测试:在浏览器输入:www.westos.com/index.php可以查看
六.访问mysql数据库:
1.cd /var/www/html 进入目录
2.phpMyAdmin-3.4.0-all-languages.tar.bz2 下载 软件
3. tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2 解压
4.mv phpMyAdmin-3.4.0-all-languages/ mysqladmin 重命名
![](https://i-blog.csdnimg.cn/blog_migrate/81fcc9332f71dfdcc9826b7d1f79bb4e.png)
5.cd mysqladmin 进入ls查看
6.cp config.sample.inc.php config.inc.php 复制文件
7.vim Documentation.txt 查看授权码
![](https://i-blog.csdnimg.cn/blog_migrate/bc0a400eda0ca88de66388cc806e6193.png)
8.vim config.inc.php 把授权码复制进去
内容:
17 $cfg['blowfish_secret'] = 'ba17c1ec07d65003';
![](https://i-blog.csdnimg.cn/blog_migrate/614ae25cb03ca262f20477ae1e0d2c90.png)
9.yum search php 查找插件
![](https://i-blog.csdnimg.cn/blog_migrate/ecde2a7758468acff1963245193f95da.png)
10.yum install php-mysql.x86_64 -y 下载插件
11.systemctl restart httpd 重启服务
测试:在浏览器输入:172.25.254.107/mysqladmin
输入用户和密码就可以访问mysql数据库
七.安装证书及其私钥
1. cd /etc/httpd/conf.d/ 即进入目录查看
autoindex.conf music.conf news.conf README welcome.conf
default.conf mysqladmin php.conf userdir.conf
![](https://i-blog.csdnimg.cn/blog_migrate/02f5dcf0b55c5e67f33b5dc177f21d1d.png)
2. yum install mod_ssl -y 安装插件
![](https://i-blog.csdnimg.cn/blog_migrate/dd9fa84054615d7598104a525de56a1e.png)
3. ls 查看会生成ssl.conf文件
autoindex.conf music.conf news.conf README userdir.conf
default.conf mysqladmin php.conf ssl.conf welcome.conf
4. systemctl restart httpd 重启服务
5. yum install crypto-utils.x86_64 -y 安装证书
![](https://i-blog.csdnimg.cn/blog_migrate/1d4578a59dac9f790b5fcbc8d4c51b81.png)
6. genkey www.westos.com 给域名加密
进入加密界面:点击下一步
![](https://i-blog.csdnimg.cn/blog_migrate/30cfc3d630ee1660a1ca1a6768968969.png)
选择加密长度:
![](https://i-blog.csdnimg.cn/blog_migrate/a4e513448e874a73161c4e788b3c4090.png)
选择no:
![](https://i-blog.csdnimg.cn/blog_migrate/8d3f89d1deac6cddd0e2db734b7ed715.png)
写入信息:
生成证书和钥匙:
/usr/bin/keyutil -c makecert -g 1024 -s "CN=www.westos.com, OU=linux, O=westos, L=Xi'an, ST=Shanxi, C=CN" -v 1 -a -z /etc/pki/tls/.rand.2542 -o /etc/pki/tls/certs/www.westos.com.crt -k /etc/pki/tls/private/www.westos.com.key
cmdstr: makecert
cmd_CreateNewCert
command: makecert
keysize = 1024 bits
subject = CN=www.westos.com, OU=linux, O=westos, L=Xi'an, ST=Shanxi, C=CN
valid for 1 months
random seed from /etc/pki/tls/.rand.2542
output will be written to /etc/pki/tls/certs/www.westos.com.crt 证书
output key written to /etc/pki/tls/private/www.westos.com.key
Generating key. This may take a few moments...
Made a key
Opened tmprequest for writing
/usr/bin/keyutil Copying the cert pointer
Created a certificate
Wrote 882 bytes of encoded data to /etc/pki/tls/private/www.westos.com.key 钥匙
Wrote the key to:
/etc/pki/tls/private/www.westos.com.key
7.vim ssl.conf 编辑配置文件
内容:
100 SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt
107 SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key
8. systemctl restart httpd 重启服务
![](https://i-blog.csdnimg.cn/blog_migrate/52e351651e8fd31e5a508dcb95d33bbd.png)
测试:在浏览器输入:https://www.westos.com 查看证书
八.http虚拟主机:(http与https之间的转换)
1. mkdir /var/www/virtual/loogin/html -p 建立目录
2. vim /var/www/virtual/loogin/html/index.html 写入内容
3. vim login.conf 编辑配置文件
内容:
<Virtualhost *:443>
ServerName login.westos.com
DocumentRoot /var/www/virtual/loogin/html
CustomLog logs/login.log combined
SSLCertificateFile on
SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt
SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key
</VirtualHost>
<Virtualhost *:80>
ServerName login.westos.com
RewriteEngine on
RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]
</VirtualHost>
配置文件每个字符含义:
^(/.*)$ 客户在浏览器地址栏输入的所有字符
https:// 强制客户加密访问
%{HTTP_HOST} 客户请求主机
$1 $1表示^(/.*)$的值
[redirect=301] 临时转换 302永久转换
![](https://i-blog.csdnimg.cn/blog_migrate/c4da91fc12436f11bad4d9fbdb022828.png)
4. systemctl restart httpd 重启服务
5. vim /etc/hosts 修改解析(真机)
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.25.254.107 www.westos.com news.westos.com music.westos.com login.westos.com
![](https://i-blog.csdnimg.cn/blog_migrate/da75ea98cadc1a2a1a80bd8218ed4052.png)
测试:在浏览器输入:login.westos.com 会转换成https://login.westos.com/
九.执行cgi脚本
1. yum install httpd-manual -y 下载httpd手册软件
![](https://i-blog.csdnimg.cn/blog_migrate/4e6e81421f8565db0c998fcf4d2e913f.png)
2. ls 查看会生成manual.conf文件
autoindex.conf manual.conf news.conf ssl.conf welcome.conf
default.conf music.conf php.conf tmprequest
login.conf mysqladmin README userdir.conf
![](https://i-blog.csdnimg.cn/blog_migrate/8fd986e0796276d2b0627aee98644292.png)
3. systemctl restart httpd 重启服务
在浏览器输入:172.25.254.107/manual 查看手册
![](https://i-blog.csdnimg.cn/blog_migrate/dc76ea58afc8f648924f24538785b825.png)
4. cd /var/www/html/ 进入目录查看
index.html index.php mysqladmin
5.mkdir cgi 建立目录
![](https://i-blog.csdnimg.cn/blog_migrate/16984e595a29f30a6c4805c851d704ee.png)
6. cd cgi/
vim index.cgi 进入目录,编辑配置文件
![](https://i-blog.csdnimg.cn/blog_migrate/eedb47f3911cc9723df19a9a1be47fe4.png)
内容:
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print `date`;
![](https://i-blog.csdnimg.cn/blog_migrate/5dd972296e8ff7fa400dae68747d695f.png)
7. chmod +x index.cgi 加执行权限
8. ./index.cgi 执行脚本
![](https://i-blog.csdnimg.cn/blog_migrate/bff5b1dea319f3f0690e699454605927.png)
测试在浏览器输入:172.25.254.107/cgi/index.cgi 显示脚本内容,没有执行
![](https://i-blog.csdnimg.cn/blog_migrate/f40afcd76e01e30a0fa56c653be5e619.png)
9. vim /etc/httpd/conf/httpd.conf 编辑配置文件
内容:
107 <Directory /var/www/html/cgi>
108 Options +ExecCGI
109 AddHandler cgi-script .cgi
110 </Directory>
![](https://i-blog.csdnimg.cn/blog_migrate/32260ca03dcc7cbc4dc6dbd45d1a0723.png)
10. systemctl restart httpd 重启服务
11. getenforce 查看selinux状态
注意:selinux状态是关闭时,直接在浏览器中输入:
172.25.254.107/cgi/index.cgi 会执行脚本,显示时间
![](https://i-blog.csdnimg.cn/blog_migrate/7ddb20ae5debaeba7e6da2adceb888d0.png)
如果selinux状态是开启时需要修改安全上下文后方可访问。
1. ls /var/www/html/cgi/ -Z -d 查看安全上下文
drwxr-xr-x. root root unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/html/cgi/
2. semanage fcontext -a -t httpd_sys_script_exec_t '/var/www/html/cgi(/.*)?' 修改安全上下文
3. restorecon -RvvF /var/www/html/cgi/ 刷新
测试在浏览器输入:172.25.254.107/cgi/index.cgi 执行脚本,显示时间
![](https://i-blog.csdnimg.cn/blog_migrate/c1e7d18f5eca6af8b9ddc0ebb58ff185.png)
注意:如果访问不了需要做一个虚拟主机:
1. cd /etc/httpd/conf.d/ 进入目录查看
autoindex.conf manual.conf news.conf ssl.conf welcome.conf
default.conf music.conf php.conf tmprequest
login.conf mysqladmin README userdir.conf
2. vim default.conf 编辑文件
内容:
<VirtualHost _default_:80>
DocumentRoot /var/www/html
CustomLog logs/default.log combined
</VirtualHost>
十.squid代理
squid正向代理
1. vim /etc/sysconfig/network-scripts/ifcfg-eth0 修改虚拟机网关,dns
内容:
IPADDR=172.25.254.107
GATEWAY=172.25.254.71
DNS1=114.114.114.114
![](https://i-blog.csdnimg.cn/blog_migrate/1380e3cbcbcc1333867a29110584672a.png)
2. systemctl restart network 重启网络
3. yum install squid -y 下载软件
![](https://i-blog.csdnimg.cn/blog_migrate/39076aa31983b526ba3de86e7f57b0da.png)
4. systemctl start squid 打开软件
5. netstat -antlupe | grep squid 查看squid使用的端口
![](https://i-blog.csdnimg.cn/blog_migrate/f51156472cf270aab9ea1ac119c26789.png)
6. vim /etc/squid/squid.conf 编辑配置文件
内容:
56 http_access allow all
62 cache_dir ufs /var/spool/squid 100 16 256
![](https://i-blog.csdnimg.cn/blog_migrate/7eddb513b5cf423d9b081b6fc14cf841.png)
7. systemctl restart squid.service 重启服务
8. cd /var/spool/squid/ 进入目录查看
会生成文件(16个100M的文件,超过100M会覆盖之前的文件)
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F swap.state
![](https://i-blog.csdnimg.cn/blog_migrate/5ee5dcebc2c7850e4a5933d00d6a4381.png)
打开浏览器:由上角3横---preferences---Advanced---Network---Settings---第四个,添加ip,和端口
![](https://i-blog.csdnimg.cn/blog_migrate/0048b92214f0be41f7a2fa27c57243f9.png)
测试:在浏览器输入:www.baidu.com就可以上网。
![](https://i-blog.csdnimg.cn/blog_migrate/fc28a8612425594dd084a33dffb0717e.png)