设为首页 收藏本站
查看: 972|回复: 0

[经验分享] Linux服务管理之httpd-2.4常用配置及phpMyAdmin的安装配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-9-22 09:23:45 | 显示全部楼层 |阅读模式
一、何为httpd
    httpd是Apache超文本传输协议(HTTP)服务器的主程序。被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。
    Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。

二、httpd-2.4较httpd-2.2
新特性:
    (1) MPM支持运行DSO机制;以模块形式按需加载;
    (2) 支持event MPM;
    (3) 支持异步读写;
    (4) 支持每模块及每个目录分别使用各自的日志级别;
    (5) 每请求配置;<If>
    (6) 增强版的表达式分析器;
    (7) 支持毫秒级的keepalive timeout;
    (8) 基于FQDN的虚拟主机不再需要NameVirtualHost指令;
    (9) 支持用户自定义变量
    (10)不再支持使用Order, Deny, Allow来做基于IP的访问控制机制

新增的模块:
    (1) mod_proxy_fcgi:  支持用fastcgi的方式连接后端的php
    (2) mode_ratelimit:  速率限定,限制用户访问时传输的速率
    (3) mod_request:  对用户请求做更强的过滤功能
    (4) mod_remoteip: 对用户访问的IP地址有更强的控制能力
apache portable runtime(Apache可移植运行库):
    (1) httpd-2.4需求apr-1.4以上的版本
    (2) httpd-2.4需求apr-util-1.4以上的版本

三、httpd-2.4的配置文件
    主配置文件:
        /etc/httpd/conf/httpd.conf
    服务脚本:
        /usr/lib/systemd/system/httpd.service
    模块配置文件:
        /etc/httpd/conf.modules.d/*.conf
    辅助配置文件:
        /etc/httpd/conf.d/*.conf
     日志文件目录:
        /var/log/httpd
            access_log: 访问日志
            error_log:错误日志

四、httpd-2.4的常用配置
①、切换使用MPM
1
2
3
4
5
vim /etc/httpd/conf.modules.d/00-mpm.conf
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
#LoadModule mpm_worker_module modules/mod_mpm_worker.so
#LoadModule mpm_event_module modules/mod_mpm_event.so
#httpd2.4把对应的功能的配置文件模块化管理。这样既简洁又方便。需要使用那个MPM直接开启对应的即可




②、基于IP的访问控制法则(不再支持使用Order, Deny, Allow来做基于IP的访问控制机制)
        允许所有主机访问:Require all granted
        拒绝所有主机访问:Require all denied
1
2
3
4
5
<Directory />
    AllowOverride none
    Require all denied
#   Require all granted
</Directory>




    控制特定IP访问:
        Require ip IPADDR:授权指定来源地址的主机访问
        Require not ip IPADDR:拒绝指定来源地址的主机访问
            IPADDR:(1)IP: 192.168.0.113,(2) Network: 172.16.0.0/16
1
2
3
4
5
6
7
8
<Directory />
    <RequireAll>
        Require all granted
        Require not ip 192.168.0.113
        Require not ip 192.168.1.0/24
    </RequireAll>
</Directory>
#这个需要特别注意,在控制特定的IP或主机时候。如果定义了Require not ip/host的时候需要用<RequireAll>Require not ip/host</RequireAll>标签,不然会报错。





    控制特定主机(HOSTNAME)访问
        Require host HOSTNAME
        Require not host HOSTNAME
            HOSTNAME:(1)FQDN: 特定主机,(2)DOMAIN:指定域内的所有主机
1
2
3
4
5
6
7
<Directory />
    <RequireAll>
        Require all granted
        Require not ip wlw.com
        Require not ip www.wlwtest.com
    </RequireAll>
</Directory>




④、虚拟主机
    基于IP、Port和FQDN都支持;基于FQDN的不再需要NameVirtualHost指令;
    为了以后的扩展和模块化管理,我们可以在/etc/httpd/conf.d/创建一个VirtualHost目录,当然,目录名你可以自己起,我这里创建一个VirtualHost以后再里面创建一个又一个单独的虚拟主机,命令为host.conf。然后在/etc/httpd/conf/httpd.conf中添加IncludeOptional conf.d/VirtualHost/*.conf。然后重启服务器。这样的话就可以每个虚拟主机创建一个配置文件,以后需要删除某个虚拟主机直接改名或删除即可。这个在以后的自动化运维有很好的作用。

⑤、启用模块:
1
2
3
4
LoadModule ssl_module modules/mod_ssl.so
#LoadModule asis_module modules/mod_asis.so
#需要开启某个模块只需要把注释的#号去掉然后重新加载配置文件即可。这里我们可以看到,模块路径使用的是相对路径,
#相对于ServerRoot(/etc/httpd)指向的路径而言。




这里只列出有别与httpd-2.2的一些配置项目,其他的配置基本与httpd-2.2一样,如果需要跟多的详细配置,可以查看另一篇博客:Linux服务管理之httpd-2.2常用配置文件
    接下来我们开始安装phpMyAdmin、wordpress、Discuz,因为上面的程序包都是基于lamp环境运行的。所以请自行搭建好lamp环境。并下载相关的源代码,下面是个源代码官网链接,后续会在此链接搭建lamp环境的相关博客。
phpMyAdmin: http://www.phpmyadmin.net/
wordpress : https://cn.wordpress.org/
Discuz    : http://www.discuz.net/forum-10-1.html

五、phpMyAdmin的安装

①、phpMyAdmin简介
    phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。借由此Web接口可以成为一个简易方式输入繁杂SQL语法的较佳途径,尤其要处理大量资料的汇入及汇出更为方便。其中一个更大的优势在于由于phpMyAdmin跟其他PHP程式一样在网页服务器上执行,但是您可以在任何地方使用这些程式产生的HTML页面,也就是于远端管理MySQL数据库,方便的建立、修改、删除数据库及资料表。也可借由phpMyAdmin建立常用的php语法,方便编写网页时所需要的sql语法正确性。
②、phpMyAdmin的搭建
(1) 因为使用虚拟主机,所以注释主配置文件中的#DocumentRoot
1
#DocumentRoot "/var/www/html"



(2) 为了模块化管理,我这里使用独立的目录来存放虚拟主机的配置
1
2
3
vim /etc/httpd/conf/httpd.conf
IncludeOptional conf.d/VirtualHost/*.conf
#在主配置文件中添加上面语句。然后在/etc/httpd/conf.d/创建VirtualHost来存放我的虚拟主机文件



(3) 创建并配置虚拟主机,并把代码copy到对应的虚拟主机目录中
1
2
3
4
5
6
7
8
9
10
vim /etc/httpd/conf.d/VirtualHost/wlw.com.conf
<VirtualHost 192.168.0.108:80>
    ServerName pma.wlw.com
    DocumentRoot "/var/www/html/phpMyAdmin"
    DirectoryIndex index.php
    <Directory "/var/www/html/phpMyAdmin">
        Options FollowSymLinks
        AllowOverride None
    </Directory>
</VirtualHost>



(4) 修改phpMyAdmin的配置文件和初始化配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[iyunv@localhost ~]# cd /var/www/html/phpMyAdmin/
[iyunv@localhost phpMyAdmin]# cp config.sample.inc.php config.inc.php
#默认情况下配置文件为重命名的,所以我们把名字改会phpmyadmin识别的配置文件config.inc.php
[iyunv@localhost phpMyAdmin]# tr -dc A-Za-z0-9_</dev/urandom | head -c 30 | xargs
BrsXH6_YnXbm1pDazDYOsHzQv2WnD1
#因为在配置文件中等一下要用到随机数,我们使用此命令先生成一个随机数
[iyunv@localhost phpMyAdmin]# vim config.inc.php
$cfg['blowfish_secret'] = 'BrsXH6_YnXbm1pDazDYOsHzQv2WnD1'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
#将随机数填入即可,其他暂时保持默认
[iyunv@localhost phpMyAdmin]# mysql
MariaDB [(none)]> SET PASSWORD FOR 'root'@'127.0.0.1'=PASSWORD('wlw');
MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost'=PASSWORD('wlw');
FLUSH PRIVILEGES;
#默认安装完的mysql,默认是没有密码的,如果建议为配置数据库密码



(5) 万事俱备只欠东风,现在我们在浏览器中输入http://pma.wlw.com/测试
wKiom1X_NWOSHK2oAAHHHpC7aqE029.jpg
    打开后发现登录框没有了。千万不要有奔溃的心,其实IT很多东西都是这样,你照着别人做,别人成功了,你失败了。而且还是各种原因的失败。幸福的家庭总是相似的,不幸的家庭各有各的不幸。其实这些问题大多数在谷歌都能找到解决方法。所以。不要谷歌走起。
1
2
3
4
5
[iyunv@localhost phpMyAdmin]# vim libraries/plugins/auth/AuthenticationCookie.class.php
  <!-- Login form -->
    <form method="post" action="index.php" name="login_form"' . $autocomplete .
            ' class="disableAjax login hide js-show">
#打开此配置文件后把hide去掉即可。



wKioL1X_Oc-g2S5_AAIk-QxKZCg200.jpg

输入账号密码,登录成功,为了安全,建议root管理员不要允许远程登录,因为管理员权限之大,是很危险的。这里我们还可以基于用户的访问控制的basic认证添加多一层认证。Linux服务管理之httpd-2.2常用配置文件 ,中有详细配置,可以参考,这里不做详细说明

wKioL1X_PPfjUIlBAAPQ1p80SkA104.jpg


双重认证后我们进入了phpMyAdmin,虽然有双重认证,但是重要事情说三遍,root管理员不建议开启远程。
wKioL1X_PZSjC-ZBAARXcQBt-mU100.jpg




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-117052-1-1.html 上篇帖子: apache 日志轮询三种方法 下篇帖子: 使用Apache + knewcode,用传统C++构建Web网站 Linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表