Apacheを設定する方法

1. Apacheは何ですか

(1)世界で最も人気のあるWebサーバーのいずれかを使用して、

(2)は、ほとんどのコンピュータのオペレーティングシステム上で実行することができます。

(3)特徴:シンプル、高速で、安定した、プロキシサーバーを実行します。

(4)効果:ウェブにアクセスするときは、http定義://プロトコルモード(国内および他の企業といくつかの独立したプラットフォーム:Jingdongは(JFE);百度(nginxの));

[注]カールすることができます-あなたは、Iドメインのいくつかの種類のドメインネームサーバを表示することができます

2、Apacheの基本的な情報

ユーザー:アパッチ

サービス名: httpdの

プロフィール:。ある/etc/httpd/conf/httpd.conf(メイン設定ファイル);は/ etc / httpdの/ conf.d / * CONF( サブ設定ディレクトリ)

ログ:は/ etc / httpdの/ログ

公開されたデフォルトのディレクトリ: / var / www / htmlと設定

ファイルを公開デフォルト: index.htmlを

デフォルトポート: 80(HTTP); 443(HTTPS)

3、Apacheがインストールされて有効になっています

3.1インストールパッケージ:httpd.x86_64

3.2 Apacheは有効:HTTPDを起動systemctl

図1 Apacheの起動

【注意】ファイアウォールがHTTPサービスである場合は、あなたはまだアクセスできない、開いていません。

           ファイアウォールの情報を見る:ファイアウォール-CMD --list-すべてを

           サービスを開くためにビュー:ファイアウォール-CMD --get-サービス

           永久にオープンサービスのhttp:ファイアウォール-CMD --permanent --add-サービス= htttp(HTTPS)

           ファイアウォールの設定を更新し、設定を有効にする:ファイアウォール-CMD --reload

図2は、HTTP、HTTPSサービスを追加ファイアウォール

4は、Apacheの基本的な構成

設定オプション ある/etc/httpd/conf/httpd.conf:設定ファイルを変更します。 注意事項
ポートが変更され 8080を聞きます

1.本パラメータの変更は、設定ファイルを変更する必要があります

このポートの開始時に必要な2 selinuxを、ファイアウォールのポートが許可されています

ファイアウォール-CMD --permanent --add-ポート= 8080 / TCP

semanageポート-l | grepのHTTPポートsemanage -a -t http_port_t -p TCP 8080

3.変更が完了した後にhttpdサービスを再起動する必要があります

デフォルトのディレクトリを変更する公開

DocumentRoot "/ WWW / HTML"

<ディレクトリ "/ www /のhtmlの">      

  すべての付与を要求します

</ディレクトリ>

1.テストリリースは、以下のように設定することができ、およそセキュリティコンテキストsselinuxsセットので、成功しないことがあります。

semanange fcontext -a -tのhttpd_sys_content_t '/www(/.*)?'

restoreconコマンド-RvvF / WWW /

2.完了後にサービスを再起動する必要性を修正

デフォルトのファイルを変更公開 DirectoryIndex index.htmlを

1.デフォルトでは、ディレクトリのindex.htmlが存在、index.htmlのページのコンテンツへのアクセスを公開

2.デフォルトでは、ディレクトリのindex.htmlが存在しないApacheのテストページを公開

3.複数のデフォルトのファイルは、デフォルトのディレクトリのアクセスに存在する場合、ファイルの更新順序を行うことができ、それは順序に従ってアクセスされますが、前者はターンアクセス背中には、しません

[注] 1.ビューHTTPサービスの現在のポート番号:netstatの-antulpe | grepのHTTP

           HTML言語として2のindex.htmlファイルの内容、読者は自己構成を学ぶことに興味を持っている場合。

図は、デフォルトのポートを変更する3

 

図4のオープンファイアウォールのポート8080のサービス

 

図5は、配置されたSELinuxの8080であります

 

図6は、ポート8080を介してアクセスされます

 

図7のデフォルトのパスを設定するには

 

図8のセキュリティコンテキストを変更するには

 

図9は、デフォルトのファイルのデフォルトのパスに設けられ、

 

図中の結果。10は、デフォルトのパスにアクセス

 

図のデフォルトのファイル11には、デフォルトのパスに存在しません。

 

12デフォルトのページは存在しません。デフォルトのファイルパスにアクセスするとき

 

5、Apacheのアクセス制御

アクセス制御条件 ある/etc/httpd/conf/httpd.conf:設定ファイルを変更します。 注意事項
IPベースのクライアントアクセス

ホワイトリスト:

<ディレクトリ "/ var / www / htmlと設定/ westos">       

注文拒否、許可       

192.168.0.10から許可       

すべてから拒否

</ディレクトリ>

クライアントのIPホワイトリストやブラックリストに調整するアクセス順序の順番に従って1。

2.ここだけIPアドの形式で、ファイルが配信のため使用できません。

ブラックリスト:

<ディレクトリ "/ var / www / htmlと設定/ westos">      

注文を許可、拒否      

すべてから許可       

192.168.0.10から拒否

</ディレクトリ>
 

ユーザ認証アクセスに基づいて、

ディレクトリの設定:

<ディレクトリ "/ var / www / htmlと設定/ westos">       

AuthUserFileはは/ etc / httpdの/ htpasswdfile 

AuthName "Please input your name and password"

AuthType basic

Require user admin  </Directory>

Require 后面所跟的参数可以限制用户的访问权限;

valid-user 允许所有用户通过认证

user username 允许对应的用户名可访问

生成认证文件:

htpasswd -cm /etc/httpd/htpasswdfile admin

若/etc/httpd/htpasswdfile存在,则添加用户时不要加-c参数否则会覆盖源文件内容

【注】在访问过程中,由于浏览器存在缓存,可能会影响实验想过,故在每次验证前,建议清楚浏览器的缓存。

图 13 设定ip访问方式的白名单
图 14 白名单访问结果

 

图 15 设定ip访问的黑名单

 

图16 黑名单下访问结果

 

 

图 17 设定用户访问权限

 

图 18 设定访问用户名单和密码

 

图 19 访问时根据要求输入用户及密码

 

图 20 当输入错误的用户或密码时,取消输入结果

6、Apache的虚拟主机服务

为了使不同的网页信息,在同一站点下,故可使用虚拟的主机服务,在同一站点下,给不同网页分配不同的配置也页,从而达到目的。

6.1 为了效果明显我们建立以下素材:

mkdir -p /var/www/test.com/{news,wenku}

echo "wenku's page" > /var/www/test.com/wenku/index.html

echo "news's page" > /var/www/test.com/news/index.html

echo "default's page" > /var/www/html/index.html

图 21 设置不同站的访问页面

6.2 虚拟站点的配置设置

(1)在/etc/httpd/conf.d/自配置目录下,建立虚拟站点配置服务文件: vim Virtualhost

(2)编写Virtualhost文件内容:

文件设置 配置结果

<Virtualhost _default_:80>

    Documentroot "/var/www/html"

    Customlog logs/default.log combined

</Virtualhost>

配置默认登录界面

 

<Virtualhost *:80>

    Servername wenku.test.com

    Documentroot "/var/www/test.com/wenku"

    Customlog logs/wenku.logs combinded

</Virtualhost>

配置域名访问为wenku.test.com的页面

<VirtualHost *:80>

    ServerName news.test.com

    DocumentRoot "/var/www/test.com/news"

    CustomLog logs/news.log combined </VirtualHost>
 

配置域名访问为news.test.com的页面

【注】日志的存放路径在上述配置文件中写的是相对路径,因为路径在主配置文件中已经写过。

图 22 进行不同站点虚拟主机的配置

 

(3)内容测试:在客户主机中输入所要访问的IP,若需要通过域名访问,可在/etc/hosts的本地解析中添加解析:

图23 访问默认站点时

 

图24 访问wenku.tes.com

 

图 25 访问news.test.com

【例】192.168.1.10 www.test.com wenku.test.ocm news.test.com

图 26 设置本地解析地址

 

7、Apache支持的语言

默认 HTML
常用 php,cgi

HTML:可直接使用

PHP:在默认的访问页配置目录中书写文件,php语言的文件需要以.php结尾;语言的支持需要安装php的软件包。

【例】vim  /var/httpd/index.html(php的测试页)

                     <?php

                               phpinfo();

                     ?>

图 27 安装php语言支持包

 

图 28 编写php测试页

 

图 29 默认显示php测试界面

CGI:同样在访问的配置页面中可以填写cgi的测试页;cgi测试是一个脚本语言,所以需要给与测试文件执行的权限,且需要在子配置目录中写配置文件:

测试页(/var/www/html/cgidir)内容:

#!/usr/bin/perl

print "Content-type: text/html\n\n";

print `date`;

配置文件(/etc/httpd/conf.d/vhost.conf)内容:
 <Directory "/var/www/html/cgidir">

         Options +ExecCGI

         AddHandler cgi-script .cgi

</Directory>

图 30 编写cgi语言测试文件

 

图 31 cdi语言测试结果

8、Apache的加密访问

rhel7中,可以通过genkey,来直接生成证书;

【例】genkey IP(站点)

安装软件:mod_ssl.x86_64,crypto-utils

图 32 软件包的安装

 

图 33 证书基本信息阐述

 

图 34 选择证书加密大小

 

图 35 证书制作的过程

 

图 36 是否通过CA认证

 

图 37 编写证书基本信息

 

生成之后,可同伙https://进行访问,并查看证书。

rhel8中,需要通过openssl服务生成证书。

【例】采用工具openssl产生密钥,并对证书进行签密

(1)安装mod_ssl软件包;

(2)产生密钥:openssl genrsa -out /etc/pki/tls/private/www.test.com.key 2048(genrsa:以rsa的方式加密,-out:输出密钥到文件***,2048:加密长度);

(3)生成证书签密文件:openssl req -new -key /etc/pki/tls/private/www.test.com.key -out /etc/pki/tls/certs/www.test.com.csr(根据新的密产生证书);

图 38 生成密钥和证书

(4)证书生成:openssl x509 -req -days 365 -in /etc/pki/tls/certs/www.test.com.csr -signkey /etc/pki/tls/private/www.test.com.key -out /etc/pki/tls/certs/www.test.com.crt(-req:证书请求,-days:加密有效天数;-in:加载密签名称,-signkey:加密的密钥)

图 39 用x509对密钥用证书加密

(5)修改ssl.conf(对所有网页均生效):

SSLCertificateFile /etc/pki/tls/certs/www.test.com.crt

SSLCertificateKeyFile /etc/pki/tls/private/www.test.com.key

(6)在conf.d子配置目录下编写virtualhost.conf虚拟主机配置(单独设置,对某个网页生效):

<VirtualHost *:443>

        ServerName login.test.com

        DocumentRoot "/www/test.com/login"

        CustomLog logs/login.log combined

        SSLEngine on

        SSLCertificateFile /etc/pki/tls/certs/www.test.com.crt

        SSLCertificateKeyFile /etc/pki/tls/private/www.test.com.key

</VirtualHost>

图 40 修改加密认证页面

【注】因为加密是443端口,所以需要设定端口为443;此时在访问特定页面时需要手动添加https的服务;

图 41 设定火墙服务

(7)将手动添加转化为自动转化

<VirtualHost *:80>

        ServerName login.test.com

        RewriteEngine on

        RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1

</VirtualHost>

图 42 网页加密

【注】^(/.*)$ :表示客户主机地址栏中输入的内容;%{HTTP_HOST}:客户主机;$1 :RewriteRule后面跟的第一串字符的值;
 (8)重启服务即可在浏览器中进行验证,查看证书是否为我们自己产生的证书。

图 43 查看加密证书为我们所设定的信息

9、Squid+Apache

(1)Squid正向代理(代理主机<翻墙>)

实验环境:设定单网卡主机不可上网;双网卡主机可以上网;

图 44 设定网络环境

步骤:

<1> 在双网卡主机中安装squid服务;

图 45 查看squid环境

<2>编辑squid的配置文件(/etc/squid/squid.conf):http_access allow all;cache_dir ufs /var/spoll/squid 100 16 256;

图 46 修改squid配置文件

<3>启动squide服务,设定火墙允许squid端口工作(firewall-cmd --add-port=3218/tcp)

图 47 修改火墙设定

<4>在当网卡主机中的浏览器中,选择NetWork Proxy;输入双网卡中可连接的主机IP和端口,即可在浏览器中上网。

图 48 修改浏览器访问方式

 

图 49 在单网卡主机测试

(2)Squid反向代理(缓存网页)

实验环境:在192.168.1.10 中安装Apace服务(交互界面);在192.168.1.200 中安装Squid (负责上网) ;

步骤:

<1> 配置squid的配置目录(/etc/squid/squid.conf):http_port 80 vhost vport (主机80端口支持虚拟主机和虚拟端口);cache_peer 192.168.1.100 parent  80      0       proxy-only (当访问192.168.1.100的80端口时,会从192.168.1.10的80端口缓存数据)

图 50 设定squid为缓存器

<2>  重启squid服务:ystemctl restart squid;

<3> 在网页中访问192.168.1.100即可看到192.168.1.10的配置也页内容。

图 51 测试实验结果

 

上述为Linux中Apache服务的基本介绍,若有问题,欢迎大家指出;因实验有时结果会覆盖上一条命令的操作,若上述内容还有所不懂,欢迎留言,会在第一时间给尽自己所能,给大家解决。愿上述内容有所用! 

发布了30 篇原创文章 · 获赞 0 · 访问量 936

おすすめ

転載: blog.csdn.net/qq_41056224/article/details/104723583