• 2-19-使用apache搭建web网站


                    

     

    1 搭建一台测试web服务器

    案例:

    部门内部搭建一台WEB服务器,采用的IP地址和端口为192.168.10.34:80,首页采用index.html

    文件。管理员E-mail地址为 xuegod@xuegod.cn,网页的编码类型采用UTF-8,所有网站资源都存放在/var/www/html目录下,并将Apache的配置文件根目录设置为/etc/httpd目录。

    [root@xuegod4 ~]#yum -yinstall httpd

    [root@xuegod4 ~]#vim/etc/httpd/conf/httpd.conf

    修改配置文件相关参数:

    [root@xuegod4 ~]# vim /etc/httpd/conf/httpd.conf #以下参数需要我们掌握

    57 ServerRoot "/etc/httpd"#apache配置文件的根目录

    70 Timeout 60 #超时时间,接收和发送前超时秒数

    136 Listen 80 #监听的端口

    262 ServerAdmin root@localhost #设置管理员,e-mail 地址

    277 ServerName 192.168.1.163:80 #服务器主机名.

    293 DocumentRoot "/var/www/html" #网站页面根目录

    Options Indexes FollowSymLinks #当一个目录没有默认首页时,允许显示此目录列表

    禁止 Apache 显示目录结构列表,只需将 Option 中的 Indexes 去掉即可

    403 DirectoryIndex index.html index.html.var#指定默认首页

    编码:

    AddDefaultCharset UTF-8 # 设置服务器的默认编码为:UTF-8

    2 取消apache默认欢迎页:

    [root@xuegod4 ~]# vim/etc/httpd/conf.d/welcome.conf

    #

    # This configuration fileenables the default "Welcome"

    # page if there is nodefault index page present for

    # the root URL. To disable the Welcome page, comment

    # out all the linesbelow.

    #

    #<LocationMatch"^/+$"> #把红色内容进行注释

    # Options -Indexes

    # ErrorDocument 403 /error/noindex.html

    #</LocationMatch>

    重启:

    [root@xuegod4~]# service httpd restart

    创建首页文件:

    [root@xuegod4 ~]# echo 'welcome to www.xuegod.cn' >/var/www/html/index.html

     

    3 使用rpm搭建lamp 环境

    LAMP = linux+apache+mysql数据库+php

    [root@xuegod4 ~]# yum install httpd mysql-server php php-mysql

    测试数据库:

    [root@xuegod4 ~]# service mysqld start

    Starting mysqld:                                           [  OK  ]

    [root@xuegod4 ~]# chkconfig mysqld on

    [root@xuegod4 ~]# mysql

    mysql> show databases;

    mysql> exit;

    Bye

    [root@xuegod4 ~]# cd /var/www/html/

    [root@xuegod4 html]# vim index.php

    <?php

    phpinfo();

    ?>

    重启apache服务:

    [root@xuegod4 html]# service httpd restart

    Stopping httpd:                                            [  OK  ]

    Starting httpd:                                            [  OK  ]

    MaxClients 256 #设置客户端最大连接数为 256

     

    4 修改网站根目录及对应参数,设置访问权限

    设置文档目录为/var/www/html/bbs

     

    目录与访问控制:

    <Directory "/var/www/html/bbs"> #子目录会继承这个目录的属性

    Options FollowSymLinks #Options:Indexes:目录浏览 #Followsymlinks:可以用连接

    AllowOverrideNone #不允许任何Override

    Orderallow,deny

    Allow from192.168.1.0/24 #从哪里来的允许

    Deny from 192.168.1.0/24 #从哪里来的拒绝

    Allow from .baidu.com

    #Allow,Deny都会读取,如果有冲突和未说明的时候按照Order选项逗号后面的那个为准。

    谁写到后面,谁的优先级高。

    </Directory>

    配置完重启apache服务

    如果报错检查目录是否已创建?

    测试:

    service httpd restart #拒绝

     

    5 使用别名功能,引用网站根目录以外的路径

    将/usr/local/phpmyadmin 目录通过虚拟目录功能添加到网站根目录。当访问http://192.168.1.63/phpmyadmin/ 时,就可以访问目录/usr/local/phpmyadmin中的内容。

    注:apache的别名也叫虚拟目录

    语法:

    Alias URL路径 PATH物理路径

    创建测试目录和数据

    [root@xuegod4 ~]# mkdir/usr/local/phpmyadmin

    [root@xuegod4 ~]# cp -r/boot/grub/ /usr/local/phpmyadmin/

    [root@xuegod4 ~]# echo"test1" >/usr/local/phpmyadmin/a.html

    修改配置文件

    [root@xuegod4 ~]# vim/etc/httpd/conf/httpd.conf

     

    Alias /phpmyadmin"/usr/local/phpmyadmin/"

    <Directory"/usr/local/phpmyadmin/">

    Options Indexes MultiViews FollowSymLinks

    AllowOverride None

    Order allow,deny

    Allow from all

    </Directory>

    注:Alias/phpmyadmin/ "/usr/local/phpmyadmin/" #/phpmyadmin/ 可以随意起。比如改/phpmyadmin/ 为/php/ 则访问链接: http://192.168.1.63/php/

     

    当一个目录下没有默认首页时,访问http://192.168.1.63/phpmyadmin/禁止显示目录列表

    修改配置文件:

    [root@xuegod63 conf]# vim /etc/httpd/conf/httpd.conf # 修改红色标记内容

    Alias /phpmyadmin/ "/usr/local/phpmyadmin/"

    <Directory "/usr/local/phpmyadmin/">

    Options -Indexes FollowSymLinks #在Indexes 前加-减号,此目录下没有默认首页时,禁止显示目录

    AllowOverrideNone

    Orderdeny,allow

    Allow from all

    </Directory>

     

    6 打开软链接功能

    通过软链接直接引用网站根目录以外的内容

    [root@xuegod4 ~]# mkdir /web2

    [root@xuegod4 ~]# echo test1 > /web2/a.html

    [root@xuegod4 ~]# ln -s /web2/ /var/www/html/web2

    [root@xuegod4 ~]# rm -rf /var/www/html/index.html

    [root@xuegod4 ~]# rm -rf /var/www/html/index.php

    [root@xuegod4 ~]# vim /etc/httpd/conf/httpd.conf

     

    [root@xuegod4 ~]# service httpd restart

    Stopping httpd:                                            [  OK  ]

    Starting httpd:                                            [  OK  ]

     

    7 通过用户认证的方式,对网站下/usr/local/phpmyadmin/目录进行保护。 设置/usr/local/phpmyadmin/目录,只能通过用户名密码方式访问。

    方法一:

    Alias /phpmyadmin/ "/usr/local/phpmyadmin/"

    <Directory "/usr/local/phpmyadmin/">

    Options IndexesFollowSymLinks

    AllowOverrideNone

    Orderdeny,allow

    Allow from all

    authtype basic #基本认证

    authname "MySQL admin software"

    authuserfile /etc/httpd/conf/passwd.secret #密文配置文件路径

    #require usertom

    #require usertom bob

    require valid-user #有效用户

    </Directory>

    重启apache 访问http://192.168.1.63/phpmyadmin验证

     

    生成认证账号和密码

    [root@xuegod63 ~]#htpasswd -cm /etc/httpd/conf/passwd.secret man

    New password:

    Re-type new password:

    Adding password for user man

    验证:

     

    方法二:

    [root@xuegod63 ~]# vim/etc/httpd/conf/httpd.conf

    <Directory"/usr/local/phpmyadmin/">

    Options Indexes MultiViews FollowSymLinks

    AllowOverride None

    Order allow,deny

    Allow from all

    AllowOverride AuthConfig

    </Directory>

    # AllowOverride AuthConfig一行表示允许对/usr/local/phpmyadmin/目录下的文件进行用户认证。

    [root@xuegod63 ~]# vim/usr/local/phpmyadmin/.htaccess

    authtype basic

    authname "MySQL admin software by .htaccess"

    authuserfile /etc/httpd/conf/passwd.secret

    #require user tom

    require valid-user

    8 配置apache虚拟主机,实现在一台服务器上运行多个网站

    apache虚拟主机实现有三种方法:

    1、通过不同的IP地址

    2、通过不同的域名

    3、通过不同的端口号

    [root@xuegod63 ~]# vim/etc/httpd/conf/httpd.conf

    改:

    #NameVirtualHost*:80

    为:

    NameVirtualHost*:80

    8.1 通过不同的IP地址,解析不同的域名

    给服务器增加IP(另一个域名解析)

    [root@xuegod63 ~]# ifconfigeth0:1 192.168.1.65

    [root@xuegod63 ~]# mkdir/var/www/html/bbs

    [root@xuegod63 ~]# echo"bbs.xuegod.cn" >/var/www/html/bbs/index.html

    [root@xuegod63 ~]# echo"www.xuegod.cn" > /var/www/html/index.html

    修改httpd.conf

    [root@xuegod63 ~]# vim/etc/httpd/conf/httpd.conf

    <VirtualHost192.168.10.63:80>

    ServerAdmin root@xuegod.cn

    DocumentRoot /var/www/html/

    ServerName www.xuegod.cn

    ErrorLog logs/www.xuegod.cn-error_log

    CustomLog logs/www.xuegod.cn-access_logcommon

    </VirtualHost>

    <VirtualHost 192.168.10.65:80>

    ServerAdmin root@xuegod.cn

    DocumentRoot /var/www/html/bbs/

    ServerName bbs.xuegod.cn

    ErrorLog logs/bbs.xuegod.cn-error_log

    CustomLog logs/bbs.xuegod.cn-access_logcommon

    </VirtualHost>

    重启服务

    service httpd restart

    测试:

     

    8.2 通过不同的域名配置虚拟主机

    #vim httpd.conf

    NameVirtualHost *:80

    <VirtualHostwww.xuegod63.cn>

    ServerAdmin root@xuegod.cn

    DocumentRoot /var/www/html/

    ServerName www.xuegod.cn

    ErrorLog logs/www.xuegod.cn-error_log

    CustomLog logs/www.xuegod.cn-access_logcommon

    </VirtualHost>

    <VirtualHostbbs.xuegod63.cn>

    ServerAdmin root@xuegod.cn

    DocumentRoot /var/www/html/bbs/

    ServerName bbs.xuegod.cn

    ErrorLog logs/bbs.xuegod.cn-error_log

    CustomLog logs/bbs.xuegod.cn-access_logcommon

    </VirtualHost>

    重启服务

    service httpd restart

    修改电脑hosts文件C:WindowsSystem32driversetchosts作解析:

    192.168.10.34  www.xuegod63.cn

    192.168.10.34  bbs.xuegod63.cn

    测试:

     

    8.3 通过不同的端口配置虚拟主机

    [root@xuegod63 conf]# vim /etc/httpd/conf/httpd.conf

    改:

    Listen 80

    为:

    Listen 80

    Listen 81

    #更改为你要添加的端口

    再创建2个虚拟主机

    <VirtualHost *:80>

    ServerAdmin root@xuegod.cn

    DocumentRoot /var/www/html/

    ServerName www.xuegod.cn

    ErrorLog logs/www.xuegod.cn-error_log

    CustomLog logs/www.xuegod.cn-access_logcommon

    </VirtualHost>

    <VirtualHost *:81>

    ServerAdmin root@xuegod.cn

    DocumentRoot /var/www/html/bbs/

    ServerName bbs.xuegod.cn

    ErrorLog logs/bbs.xuegod.cn-error_log

    CustomLog logs/bbs.xuegod.cn-access_logcommon

    </VirtualHost>

    重启服务

    service httpd restart

    验证:

    http://192.168.10.34:80

    http://192.168.10.34:81

     

  • 相关阅读:
    国家语言,语言代码,locale id对应表
    SpringMVC,SpringBoot文件下载
    lombok使用基础教程
    博客园主题修改中用到的css属性
    Hexo next博客添加折叠块功能添加折叠代码块
    IntelIj IDEA运行JUnit Test OutOfMemoryError
    Spring Boot-JPA、Hibernate、Spring data jpa之间的关系
    IntelliJ IDEA-设置字体大小
    win10-mysql卸载干净
    IntelliJ IDEA Check out from git
  • 原文地址:https://www.cnblogs.com/hailun1987/p/9098050.html
Copyright © 2020-2023  润新知