apache配置
一、apache服务的基本配置
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器
执行如下命令进行apache服务的配置
.[root@localhost ~]# yum install httpd -y #安装apache服务
[root@localhost ~]# systemctl start httpd #打开apache服务
[root@localhost ~]# netstat -antuple | grep httpd #查看apache的网络端口信息
tcp6 0 0 :::80 :::* LISTEN 0 26089 1199/httpd
[root@localhost ~]# cd /var/www/html #切换到apache服务的目录下,为默认发布目录
[root@localhost html]# vim index.html #在http目录下编辑文件,并在网页进行验证,此文件为默认发布文件。
<h1>hello,world!</h1> #编辑的文件内容,此时在网页网文时字体偏大并且加粗
#如果编辑的内容,hello,world!此时在网页访问字体偏小,不加粗
[root@localhost html]# systemctl stop firewalld #关闭防火墙
最后一步:进行网页验证:http://id/
实例
安装http服务
…………….此处省略
开启服务,没有任何报错信息,所以重启服务成功
查看http服务的网络端口信息,由下图可以看出http服务的网络端口为80
切换到/var/www/html目录下,其实web服务器访问的就是这个目录下的内容
编辑文件内容:vim index.html
hello,world!
关闭防火墙,如果不关闭防火墙,那么通过网页访问不到。
验证1
如果将index.html的内容稍稍做一些改变呢
<h1>hello,world!</h1>
验证2
由上面两个图片可以明显看出,验证1的图片字体偏小,不加粗,验证2的图片字体偏大加粗,同时最重要的一点是apache服务配置成功。
验证apache服务的配置是否与网络端口有关
查看apache服务的监听端口
41 #Listen 12.34.56.78:80
42 Listen 80
如果我们将端口改为8080,是否可以访问;
41 #Listen 12.34.56.78:80
42 Listen 8080
重启服务,这里特别要注意的是第一次重启服务时,采用的是start ,后面重启服务时采用的都是restart ,不然服务启动不了;
此时网页访问不到,出现下面的报错信息
apache服务配置不好的原因:
(1)服务没重启
(2)防火墙没有关
(3)http服务的网络端口不对
(4)SElinux的状态
二、更改默认发布目录和默认发布文件
在我们没有进行任何更改之前,apache服务默认的发布目录是在/var/www/html下,当我们通过网页进行网页进行访问时,http://id/可以查看到以.html结尾的文件的内容。
[root@localhost ~]# mkdir /westos/html -p #建立目录westos并在westos目录下建立html目录
[root@localhost ~]# cd /westos/html/ #切换到/westos/html目录下
[root@localhost html]# vim index.html #在上面的那个目录下建立文件,并进行编辑内容
<h1>westos html</h1>
[root@localhost html]# mkdir linux #在/westos/html目录下新建一个目录
[root@localhost html]# cd linux/ #切换到/westos/html/linux目录下
[root@localhost linux]# vim red.html #在linux目录下创建文件,并进行编辑
<h1>欢迎光临</h1>
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf #编辑http服务的配置文件
119 #DocumentRoot "/var/www/html" #注释掉原有的默认发布目录
120 DocumentRoot "/westos/html" #修改apache服务的默认发布目录为/westos/html目录
121 <Directory "/westos/html/linux"> #默认发布目录为/westos/html/linux,我们在网页访问时需要输入http://ip/linux
122 DirectoryIndex red.html #默认发布文件为red.html文件
123 </Directory>
124 <Directory "/westos"> #默认发布目录为/westos
125 require all granted #允许所有人都可以进行访问
126 DirectoryIndex index.html #默认发布文件为index.html
127 </Directory>
128
[root@localhost ~]# systemctl restart httpd #重启服务
[root@localhost ~]# systemctl status firewalld #查看防火器墙的状态,如果此时的防火墙是打开的,那么需要执行"systemctl stop fiewalld"这个命令来关闭防火墙
firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled)
Active: inactive (dead)
5月 28 20:48:51 localhost systemd[1]: Stopped firewalld - dynamic firewall...n.
Hint: Some lines were ellipsized, use -l to show in full.
实例
创建目录
切换到创建的目录下
在/westos/html目录下创建index.html文件并进行编辑
<h1>westos html</h1>
在/westos/html/下创建目录linux
在linux目录下创建文件red.html,并编辑文件内容
<h1>欢迎光临</h1>
编辑http服务的配置文件进行修改默认发布目录
119 #DocumentRoot "/var/www/html" #注释掉原有的默认发布目录
124 <Directory "/westos"> #默认发布目录修改为/westos,在访问时实际访问的是/westos/html下的文件内容
125 require all granted #允许所有人都可以进行此目录下的文件内容
126 DirectoryIndex index.html #默认的发布文件为index.html文件
127 </Directory>
128
重新启动服务
查看防火墙的状态,此时的防火墙是关闭的
验证过程如下
访问/westos/html/index.html文件
访问/westos/html/linux目录下的red.html文件
重新配置http的主配置文件
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
119 #DocumentRoot "/var/www/html"
120 DocumentRoot "/westos/html"
121 <Directory "/westos/html/linux"> #默认发布目录为/westos/html/linux目录
122 DirectoryIndex red.html #默认发布文件为red.html
123 </Directory>
124 <Directory "/westos">
125 require all granted #所有人进行访问
126 DirectoryIndex index.html #修改默认发布文件
127 </Directory>
128
验证过程如下
三、黑白名单的设定
[root@localhost ~]# mkdir /var/www/html/admin #创建目录http的默认发布目录下创建admin目录
[root@localhost ~]# vim /var/www/html/admin/westos.html #并在admin的目录下建立westos.html文件,并编辑文件内容
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf #编辑httpd的主配置文件
119 DocumentRoot "/var/www/html" #打开默认发布目录
121 <Directory "/var/www/html/admin"> #打开默认的发布目录admin
122 order Deny,Allow #设置黑白名单的顺序,先Deny后Allow黑白名单的顺序会有冲突,此时以后一个为主。
123 Deny from All #所有人都不能访问
124 Allow from 172.25.254.118 #允许172.25.254.118的这台主机访问。
125 </Directory>
[root@localhost ~]# systemctl restart httpd #重启服务
实例1
在/var/www/html下创建admin目录
在admin目录下创建文件westos.html,并进行编辑内容
编辑主配置文件
重新启动服务
验证
在172.25.254.60这台主机上进行测试
在172.25.254.118这台主机测试
实例2
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf #编辑主配置文件
DocumentRoot "/var/www/html"
<Directory "/var/www/html/admin">
Order Allow,Deny
Allow from All
Deny from 172.25.254.118
</Directory>
[root@localhost ~]# systemctl restart httpd #重启服务
在172.25.254.118这台主机上进行测试
在172.25.254.60这台主机上进行测试
三、设置用户通过认证方式访问
htpasswd 是apache的一个工具,该工具主要用于建立和更新存储用户名,密码的文本文件,主要用于对基于httpd用户的认证
[root@localhost ~]# cd /etc/httpd #切换到/etc/httpd目录下
[root@localhost httpd]# htpasswd -cm apacheuser admin #创建apache服务的访问用户 -c 创建新的文件 -m 用md5的方式加密密码
New password: #输入新的密码
Re-type new password: #请再次输入密码
Adding password for user admin #为用户admin已经添加密码
[root@localhost httpd]# htpasswd -cm apacheuser tom #添加apache服务的tom用户
New password: #输入的新的密码
Re-type new password: #请再次输入密码
Adding password for user tom #为tom用户添加密码已经成功
[root@localhost httpd]# cat apacheuser #查看apache下的用户
tom:$apr1$IeHqu2H2$1LdCjyDlai.ZhxIuY0xkT1
admin:$apr1$J9nBUA7q$wRXaIWp9v8myNCevof.aQ.
[root@localhost httpd]# vim /etc/httpd/conf/httpd.conf #编辑apache服务的主配置文件
119 DocumentRoot "/var/www/html" #开启apache服务的默认发布目录
121 <Directory "/var/www/html/admin"> #开启默认目录下的admin目录
122 AuthUserFile etc/httpd/apacheuser #加密密码的文件
123 AuthName "please input user and password !!" #提示输入用户和密码
124 AuthType basic #基础认证类型
125 Require user admin #允许admin用户进行访问
127 </Directory>
[root@localhost httpd]# systemctl restart httpd #重新开启服务
实例
切换到/etc/httpd目录下
设置apache用户并设置密码
查看apache服务下的用户
编辑apache服务的主配置文件
119 DocumentRoot "/var/www/html"
121 <Directory "/var/www/html/admin">
122 AuthUserFile /etc/httpd/apacheuser
123 AuthName "please input user and password !!"
124 AuthType basic
125 Require admin
126 Require valid-user
127 </Directory>
重新启动服务
在网页进行访问:http://172.25.254/118/admin,此时会通过用户认证的方式进行访问,如下图所示,
然后我们就可以看到文件信息
四、通过域名认证访问
[root@localhost ~]# cd /etc/httpd/conf.d #切换到/etc/httpd/conf.d的目录下
[root@localhost conf.d]# vim default.conf #编辑default.conf的文件
1 <virtualHost _default_:80> #虚拟主机的端口为80
2 DocumentRoot /var/www/html #修改主机的默认发布目录/var/www/html
3 CustomLog "logs/default.log" combined #虚拟主机指定设置日志文件
4 </VirtualHost>
[root@localhost conf.d]# mkdir /var/www/virtual /westos.com/news -p #创建默认发布news目录
[root@localhost conf.d]# mkdir /var/www/virtual/westos.com/music -p #创建默认music目录
[root@localhost conf.d]# vim /var/www/virtual/westos.com /news/index.html #创建默认news目录下的index.html文件
<h1>news page</h1>
[root@localhost conf.d]# vim /var/www/virtual/westos.com/music/index.html #创建默认music目录下index.html文件
<h1>music page</h1>
[root@localhost conf.d]# vim news.conf #指定域名news.westos.com的访问默认目录
<VirtualHost *:80> #虚拟主机开启的端口
ServerName news.westos.com #指定站点的名称
DocumentRoot "/var/www/virtual/westos.com/news/" #更改默认发布目录,即网页文件存在的位置
CustomLog "logs/news.log" combined #指定设置日志文件
</VirtualHost>
<Directory "/var/www/virtual/westos.com/news/"> #默认发布目录
Require all granted #允许所有人都可以访问
</Directory>
[root@localhost conf.d]# vim music.conf #编辑域名music.westos.com的访问默认目录
<VirtualHost *:80> #虚拟主机开启的端口
ServerName music.westos.com #站点名称
DocumentRoot "/var/www/virtual/westos.com/music/" #修改默认发布目录
CustomLog "logs/music.log" combined #设置日志文件
</VirtualHost>
<Directory "/var/www/virtual/westos.com/music/"> #默认发布目录
Require all granted #允许所有人都可以访问
</Directory>
[root@localhost conf.d]# systemctl restart httpd #重启服务
真机里进行解析
主机解析
[root@foundation60 ~]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.25.254.250 content.example.com
172.25.254.118 www.westos.com news.westos.com music.westos.com login.westos.com
实例
切换到/etc/httpd/conf.d文件
编辑default.conf文件
创建目录news
创建目录music
在news目录下创建index.html文件,并进行编辑
在music目录下创建index.html文件,并进行编辑
编辑news的配置文件
编辑music的配置文件
重新启动服务
在真理编辑解析文件:vim /etc/hosts
验证1:www.westos.com
验证2:news.westos.com
验证3:music.westos.com
五、网页加密
[root@localhost ~]# yum install mod_ssl -y #安装mod_ssl安装包
[root@localhost ~]# ls /etc/httpd/conf.d/ #查看目录下的内容
autoindex.conf music.conf php.conf ssl.conf welcome.conf
default.conf news.conf README userdir.conf
[root@localhost ~]# yum install crypto-utils -y #下载加密软件
[root@localhost ~]# genkey news.westos.com #加密网页news.westos.com
此时就会出现以下的界面,选择next
此时选择N0
修改证书的地址及其需要认证的文件
此时genkey news.westos.com下就会出现下面的信息,以脚本的形式显现出来
/usr/bin/keyutil -c makecert -g 2048 -s "CN=news.westos.com, OU=linux, O=westos, L=xi'an, ST=Shannxi, C=CN" -v 1 -a -z /etc/pki/tls/.rand.7412 -o /etc/pki/tls/certs/news.westos.com.crt -k /etc/pki/tls/private/news.westos.com.key
cmdstr: makecert
cmd_CreateNewCert
command: makecert
keysize = 2048 bits
subject = CN=news.westos.com, OU=linux, O=westos, L=xi'an, ST=Shannxi, C=CN
valid for 1 months
random seed from /etc/pki/tls/.rand.7412
output will be written to /etc/pki/tls/certs/news.westos.com.crt
output key written to /etc/pki/tls/private/news.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 1682 bytes of encoded data to /etc/pki/tls/private/news.westos.com.key
Wrote the key to:
/etc/pki/tls/private/news.westos.com.key
[root@localhost ~]# vim /etc/httpd/conf.d/ssl.conf #修改ssl的配置文件
101 SSLCertificateFile /etc/pki/tls/certs/news.westos.com.crt
110 SSLCertificateKeyFile /etc/pki/tls/private/news.westos.com.key
[root@localhost ~]# systemctl restart httpd #重新启动服务
此时需要进行获得证书的许可
查看证书的信息
在网页进行访问:https://news.westos.com
六、http自动传到https
[root@localhost ~]# cd /etc/httpd/conf.d/ #切换到/etc/httpd/conf.d的目录下
[root@localhost conf.d]# vim login.conf #编辑login的配置文件
<VirtualHost *:443> #虚拟主机的默认端口
ServerName login.westos.com #站点的名称
DocumentRoot "/var/www/virtual/westos.com/login/" #更改默认的发布目录
CustomLog "logs/login.log" combined #设置日志文件
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/news.westos.com.crt #证书加密文件
SSLCertificateKeyFile /etc/pki/tls/private/news.westos.com.key #证书文件的钥匙
</VirtualHost>
<Directory "/var/www/virtual/westos.com/login/"> #更改默认发布目录
Require all granted #允许所有人访问
</Directory>
<VirtualHost *:80> #虚拟主机的默认端口
ServerName login.westos.com #站点名称
rewriteEngine on
RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]
</VirtualHost>
############
^(/.*)$ ##客户在浏览器地址栏输入的所有字符
https:// ##强制客户加密访问
%{HTTP_HOST} ##客户强求主机
$1 ##表示^(/.*)$ 的值
[redirect=301] ##临时重写,302表示永久重写
[root@localhost conf.d]# mkdir /var/www/virtual/westos.com/login/ #创建默认发布目录
[root@localhost conf.d]# vim /var/www/virtual/westos.com/login/index.html #创建默认发布文件,并编辑文件内容
<h1>login page</h1>
~
[root@localhost conf.d]# systemctl restart httpd #重新启动服务
验证
获取证书
七、apache支持语言
apache支持的语言是html
添加apache语言:php和ccgi
[root@localhost ~]# yum install php -y #安装php服务 -y直接安装,不需要任何提示
Loaded plugins: langpacks
Resolving Dependencies
--> Running transaction check
---> Package php.x86_64 0:5.4.16-21.el7 will be installed
--> Finished Dependency Resolution
Dependencies resolved
=======================================================================
Package Arch Version Repository Size
=======================================================================
Installing:
php x86_64 5.4.16-21.el7 rhel_dvd 1.3 M
Transaction Summary
=======================================================================
Install 1 Package
Total download size: 1.3 M
Installed size: 4.4 M
Downloading packages:
php-5.4.16-21.el7.x86_64.rpm | 1.3 MB 00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : php-5.4.16-21.el7.x86_64 1/1
Verifying : php-5.4.16-21.el7.x86_64 1/1
Installed:
php.x86_64 0:5.4.16-21.el7
Complete! #显示安装完成
[root@localhost ~]# cd /var/www/html/ #切换到apache服务的默认目录下
[root@localhost html]# vim index.html #在默认目录下建立index.html文件,并编辑文件内容
[root@localhost html]# cat index.html #查看文件里的内容
hello,qq
[root@localhost html]# vim index.php #编辑index.php文件内容
[root@localhost html]# cat index.php #查看index.php的内容
<?php
phpinfo();
?>
[root@localhost html]# mkdir cgi #创建cgi的目录
[root@localhost html]# ls #查看是否成功创建cgi目录
cgi index.html index.php test.html westos
[root@localhost html]# vim cgi/index.cgi #在cgi目录下编辑index.cgi文件及其内容
[root@localhost html]# cat cgi/index.cgi #查看文件内容
#!/usr/bin/per1
print "Content-type: text/html\n\n"; ##输出Content-type: text/html并执行两次换行
print "Hello, world."; ###优先执行反单引号内的内容,并将执行结果作为外部的输入信息
[root@localhost html]# vim /etc/httpd/conf/httpd.conf #编辑apache服务的主配置文件
173 <IfModule dir_module>
174 DirectoryIndex index.php index.html #在主配置文件中添加新建的默认发布文件index.php
175 </IfModule>
[root@localhost html]# systemctl restart httpd #开启httpd服务
在网页进行访问验证
[root@localhost html]# lftp 172.25.254.250 #在250这台主机上下载软件
lftp 172.25.254.250:~> cd pub #切换到pub目录下
cd ok, cwd=/pub
lftp 172.25.254.250:/pub> get Discuz_X3.2_SC_UTF8.zip #下载需要搭建的软件
12486177 bytes transferred
lftp 172.25.254.250:/pub> quit
[root@localhost html]# ls #查看是否已经下载Discuz安装包
cgi index.html test.html
Discuz_X3.2_SC_UTF8.zip index.php westos
[root@localhost html]# unzip Discuz_X3.2_SC_UTF8.zip #解压Discuz安装包
[root@localhost html]# ls #查看是否已经解压
cgi index.php upload
Discuz_X3.2_SC_UTF8.zip readme utility
index.html test.html westos
[root@localhost html]# chmod 777 /var/www/html/upload/ -R #将upload目录及其目录下所有内容修改权限
[root@localhost html]# mysql -uroot -plee #查看数据库的密码是什么
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.35-MariaDB MariaDB Server
Copyright (c) 2000, 2013, oracle, Monty Program Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> Ctrl-C -- exit!
[root@localhost html]# yum install php-mysql -y #安装php-mysql的数据库
Loaded plugins: langpacks
Resolving Dependencies
--> Running transaction check
---> Package php-mysql.x86_64 0:5.4.16-21.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
=======================================================
Package Arch Version Repository Size
=======================================================
Installing:
php-mysql x86_64 5.4.16-21.el7 rhel_dvd 96 k
Transaction Summary
=======================================================
Install 1 Package
Total download size: 96 k
Installed size: 232 k
Downloading packages:
php-mysql-5.4.16-21.el7.x86_64.rp | 96 kB 00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : php-mysql-5.4.16-21.el7.x86_64 1/1
Verifying : php-mysql-5.4.16-21.el7.x86_64 1/1
Installed:
php-mysql.x86_64 0:5.4.16-21.el7
Complete! #由complete可以看出已经安装成功
[root@localhost html]# systemctl restart mariadb.service #重启数据库
[root@localhost html]# systemctl restart httpd #重启httpd服务
网页进行论坛的搭建
同意授权协议
输入数据库的用户名和密码及其管理员两次密码,此时就会出现以下的界面
相关阅读
首要,声明一下,我写本文并不是教你们怎么去黑传奇私服,只是想以本文引起4f拥有者的留意如何入侵传奇私服刷元宝,温故下自己的水平。
一、什么是ISATAP隧道? ISATAP全名是 Intra-Site Automatic Tunnel Addressing Protocol,是一种IPv6隧道技术,使用户可以在IPv4网络
Android自定义字体样式Typeface的三种技术方案:Java代
Android实现自定义的字体Typeface,正常情况下有两种情况:第一种:把字体ttf文件放到assets/fonts目录下,然后通过读取字体文件.ttf获取
https://blog.csdn.net/zdgdq/article/details/78518508
1、下载压缩包,解压,选择32位或者64位版本进行安装 下载地址:https://download.csdn.net/download/qq_28189423/11257672 安装过程直