此时此刻

  • httpd配置SSL证书

    httpd配置SSL证书

    一、申请免费SSL证书

    1. 免费SSL证书网站

    沃通:https://www.wosign.com

    StartSSL:http://www.startssl.com

    亚洲诚信TrustAsia DV SSL证书:https://www.qcloud.com

    1. 证书类型介绍

    DV SSL:Domain Validation SSL 的缩写,指只验证网站域名所有权的简易型SSL证书,此类证书仅能起到网站机密信息加密的作用,无法向用户证明网站的真实身份,但优势是能够快速签发,快速建立网站SSL加密。

    OV SSL:Organization Validation SSL 的缩写,指需要验证网站所有单位的真实身份的标准型SSL证书,不仅能起到网站机密信息加密的作用,而且能向用户证明网站的真实身份。

    EV SSL:Extended Validation SSL 的缩写,指遵循全球统一的严格身份验证标准颁发的SSL证书,是目前业界最高安全级别的SSL证书。最大的特点就是浏览器显示绿色地址栏,通过鲜明醒目的标示,告知用户该网站正受到严密的安全防护、身份可信,值得高度信赖。

     

    1. 证书文件

    以下为沃通申请的免费证书通过之后会通过邮件发送下载地址,下载解压会得到四个文件:

    cross.crt —交叉根证书

    issuer.crt           —CA证书(中级)

    xxx.com.crt      —服务器证书

    xxx.com.key     —密匙

    root.crt             —顶级根证书

    83-4

    二、配置Httpd服务支持SSL

    1. 安装ssl_mod

    #yum install ssl_mod

    安装完成之后会httpd 配置目录生成 /etc/httpd/conf.d/ssl.conf 文件

     

    1. 上传证书文件

    把证书文件上传到服务器某个目录下,例如:/etc/httpd/conf/ssl.crt/(手动创建)

    83-1

    1. 修改配置

    #vim /etc/httpd/conf.d/ssl.conf

    修改virtualhost部分:

    DocumentRoot “/var/www/html”

    ServerName www.xxx.com:443

     

    以下部分如有注释先取消注释,然后修改文件地址即可

    SSLCertificateFile /etc/httpd/conf/ssl.crt/xxx.com.crt

    SSLCertificateKeyFile /etc/httpd/conf/ssl.crt/xxx.com.key

    SSLCertificateChainFile /etc/httpd/conf/ssl.crt/issuer.crt (非必要)

    SSLCACertificateFile /etc/httpd/conf/ssl.crt/root.crt或issuer.crt

     

    1. 配置http跳转到https

    修改虚拟主机配置,添加如下内容

    RewriteEngine on

    RewriteCond %{HTTP_HOST} ^www.xxx.com [NC]

    RewriteRule ^(.*) https://www.xxx.com [L]

     

    我的服务器配置:

    83-2

    1. 重启httpd服务,加载配置文件

      三、配置检查及注意事项

    1. 访问https://www.xxx.com,查看是否正常访问
    2. 访问http://www.xxx.com,查看是否会跳转到https://www.xxx.com
    3. 分别测试不同浏览器访问情况,谷歌浏览器、IE浏览器、火狐浏览器等
    4. SSL状态检查:https://www.trustasia.com/tools/ssl-checker.htm

     

    注意:

    1. HTTPS必须开启443端口,如果访问不正常先检查防火墙端口情况;
    2. 备份你的证书文件。
  • LAMP环境配置

    LAMP环境配置

    因为经常配置这种类型的环境,所以记录此文来方便参考复制,也通过网页的形式分享给朋友们使用。

    名词解释:LAMP = linux + apache + mysql + php

    77

    注:以下文件中,红色标记的命令为必要执行命令,黑色部分只做提示,可根据需求使用

    一、升级linux版本

    默认安装的是centos 6.5 64位版本,现在通过yum升级到最新版本。

    #yum update

    运行以上命令查找并升级到最新版本的CentOS,询问是否升级输入Y回车即可,等待完成之后继续下一步操作。

    查看现在运行系统的版本:

    #cat /etc/redhat-release

    修改主机登录之后的名称:#vim /etc/sysconfig/network (编辑替换hostname部分值)

     

    二、安装配置httpd服务

    1.安装httpd服务:

    #yum –y install httpd

    2.运行服务并测试:

    #service httpd start (第一次运行会有警告提示,不用关心稍后处理)

    3.编辑配置文件:

    #vim /etc/httpd/conf/httpd.conf

    找到#ServerName www.example.com:80 去掉前面的井号注释,修改成 ServerName 127.0.0.1:80,保存退出。

    4.重启httpd服务:

    #service httpd restart (正常情况不报任错误)

     

    三、安装PHP

    1.安装php主程序:

    #yum -y install php

    2.安装php扩展程序:

    #yum –y install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring

    3.重启httpd加载新的配置文件(/etc/httpd/conf.d/php.conf):

    #service httpd restart

    以上步骤安装完成,可以在www目录中放一个phpinfo文件检查是否生效。

     

    四、安装Mysql数据库

    1.安装mysql

    #yum -y install mysql-server

    2.安装完成,启动mysql服务:

    #service mysqld start

    启动的时候会有一些提示信息,提示修改root用户密码等。

    3.修改安全配置

    77-1

     

    #/usr/bin/mysql_secure_installation

    提示输入密码,默认密码为空,直接回车就行

    询问是否设置root密码,这里需要设置一个符合要求的密码才能继续。

    询问是否删除匿名用户,我们选择是Y

    询问是否允许root用户远程连接,我们根据自己需求,我们选允许N

    询问是否删除测试数据库test,我们选择是Y

    询问重新加载权限表,我们选择是Y,因为以上配置加载完成之后会生效。

    4.重启数据服务:

    #service mysqld restat

    5.测试本地登录数据库服务:

    #mysql –uroot –p

    以上配置完成,整个数据库服务就配置好了,默认情况下,数据库配置文件在/etc/my.cnf文件,数据库表文件存储在/var/lib/mysql中。

     

    五、其他配置

    1. 查询各个服务安装的文件布局可以通过命令查询详细:

    #rpm –ql httpd

    #rpm –ql php

    #rpm –ql mysql-server

    1. 配置服务开机启动

    默认情况下,httpd和mysqld都需要开机启动设置好了才会起来,php是一个执行文件,本省不需要开机启动。

    配置开机启动项目可以通过命令:chkconfig 来执行,检查现有开机启动项目:#chkconfig –list

    设置httpd服务开机启动:

    #chkconfig httpd on

    设置mysqld服务开机启动:

    #chkconfig mysqld on

    1. 配置httpd虚拟机主机

    默认情况下,网站的根目录为/var/www/html,但是往往一个服务器上会有多个网站,我们需要通过httpd的虚拟主机配置来实现。

    修改httpd.conf文件,开启虚拟主机配置支持:#vim /etc/httpd/conf/httpd.conf

    打开配置文件后,翻页到最后,找到被注释掉的#NameVirtualHost *:80,把前面的井号去掉保存退出,开启虚拟主机支持。

    复制配置文件,给子域名单独配置:

    #tail –n 7 /etc/httpd/conf/httpd.conf>/etc/httpd/conf.d/xxx.conf

    注意:在httpd服务配置文件中,所有配置文件为 .conf 结尾才能加载生效

    以上复制完成之后,再编辑配置文件,把文件里面的注释符号都去掉

    #vim /etc/httpd/conf.d/xxx.conf

    77-2

    修改为类似以上内容,在html目录中建立了一个www目录来做第一个子站点的根目录,其他子域名类似即可。

    #service httpd restart (重启加载配置文件)

    1. 开启伪静态支持

    #vim /etc/httpd/conf/httpd.conf

    找到 AllowOverride None 这行,修改成  AllowOverride All

    #service httpd restart (重启加载配置文件)

  • SAN存储多路径multipath配置

    SAN存储多路径multipath配置

    72-1

    一、服务器端

    1. 因为刀片本身硬盘默认是RAID 0,所以需要手动配置为RAID 1,磁盘总大小为300G;
    2. 开启服务器的两块光纤存储网卡,并且在交换机上开启这两个接口;
    3. 安装操作系统(centos 6.5),默认选择安装在刀片服务器自身的硬盘上。

    二、存储端

    1. 新建服务器,添加两个光纤卡到两个机头上;
    2. 新建一个lun大小为1T = 1024G,映射到刚建立的服务器;

    三、配置multipath

    1. 安装 multipath 支持软件

    #yum –y install device-mapper device-mapper-multipath

    1. 配置multipath

    #mpathconf –enable –find_multipaths y –user_friendly_names n

    参数说明:

    –enable 启用多路径

    –find_multipaths 自动发现多路径设备

    –user_friendly_names 友好的设备名称(这里设置为no是因为使用wwid作为设备名称)

    1. 启动multipathd 服务,并且加入到chkconfig启动项目列表

    #service multipathd start

    #chkconfig multipathd on

    这里省略了其他配置参数,因为默认compellent 存储在系统的默认配置文件已经设置好

     

    四、磁盘分区和分区挂载

    1. 查看现在已有的磁盘

    #fdisk –l

    1. 发现有很多磁盘,我们使下面的命令来过滤出来磁盘列表(如下图)

    #fdisk -l|grep ‘Disk /dev/’

    72-2

    图中,mapper下的第一个带有WWID的磁盘就是系统默认做好的多路径磁盘,而下一个则是我把它作为一个分区的磁盘分区。

    *磁盘可以不做分区,直接格式化并挂载使用,但是这样会有安全风险,因为假设出了故障没有分区表读不了数据的。

    1. 挂载磁盘并且设置到分区表开机加载

    #mount /dev/mapper/36000d3100052f3000000000000000019p1 /var/www/html

    1. 编辑分区文件在最后一行加入如下语句进行挂载

    #vim /etc/fstab

    /dev/mapper/36000d3100052f3000000000000000019p1 /var/www/html ext4 defaults 1 2

    语法解释如下:

    ——————————————————————————————————

    /dev/mapper/36000d3100052f3000000000000000019p1 需要挂载的分区

    /var/www/html              挂载的目标文件夹(挂载到哪个目录)

    ext4                                  文件系统分区格式(类似于windows的NTFS)

    defaults                           defaults是挂载时所要设定的参数(只读,读写,启用quota等),输入defaults包括的参数有(rw、dev、exec、auto、nouser、async)

    1是使用dump是否要记录,0是不要。

    2是开机时检查的顺序,是boot系统文件就为1,其他文件系统都为2,如不检查就为0

    ——————————————————————————————————

    1. 修改文件夹权限

    查看现有的权限

    #ls -Z

    参照现有正常文件夹权限修改新的文件夹权限

    #chcon -R –reference=error html

    *以上信息可以不修改或停用seliux服务,不然运行httpd会提示292行配置不是一个目录。

    五、卸载磁盘并挂在到其他服务器

    1. 正常卸载

    停止httpd服务,防止对磁盘读写不能umount磁盘分区

    #service httpd stop

    #umount /var/www/html

    #vim /etc/fstab (删除分区对应的挂载语句)

    #service multipathd stop

    #multipath –F (刷新多路径配置)

    #halt (关闭服务器)

    1. 服务器已经故障或者关闭

    在存储控制器上直接把磁盘映射到其他服务器,然后按照上面的新装的操作步骤,跳过磁盘分区和格式化操作,直接挂载磁盘即可,其他步骤照旧。

     

    相关链接:

    1. Redhat 6 M Multipath 的配置与管理

    https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/6/html/DM_Multipath/index.html

  • 虚拟机上传vsphere开机失败的问题处理

    虚拟机上传vsphere开机失败的问题处理

    一、问题描述

    从网上下载了一个做好的虚拟机文件,整个打包上传到vsphere的存储里面,然后添加到清单,开机时候报错,提示找不到磁盘。虚拟机源文件在本地的workstation可以正常打开并且开机使用,那也就是说明虚拟机文件是完整的,有可能存在版本兼容性问题。

    1

    二、通过workstation 上载虚拟机到vsphere

    既然存在兼容性问题,通过vmware自家的软件应该可以解决这个问题,通过使用workstation 将该虚拟机上载到vsphere 6.0集群中,正常开机。

    步骤:在workstation中将虚拟机停止,然后右键选中虚拟机之后选择【管理】->【上载】,分别填写上载目标vsphere的帐号密码和IP地址,下一步选择存储位置,完成之后开始上载即可。

    以下是我本地的workstation 虚拟机文件截图,原来的虚拟机文件是很少的,但是因为本地下载过来之后会自动分段。

    2

    3

    三、可选方法:更改硬件兼容性

    也可以通过workstation的更改虚拟机硬件兼容性来解决,具体操作和上载类似(两个方法二选一),在选择虚拟机之后右键【管理】->【更改硬件兼容性】,选择对应版本,参考兼容产品列表,然后进行下一步,选择【创建此虚拟机的新克隆】,下一步开始转换。

    转换完成之后,克隆的虚拟机就是更改了兼容性的新虚拟机,原机器没有作更改。将新虚拟机上传到vsphere中即可添加清单运行即可。

    4

    5

    6

    以上遇到的问题是本身虚拟机文件不存在问题,需要没有快照,有时候有快照会多存在很多问题,当然如果我们打开虚拟机本身只是需要里面的文件,我们其实可以直接通过将虚拟机硬盘挂载本地驱动器,直接浏览文件即可。

  • httpd配置用户访问认证

    httpd配置用户访问认证

    需求:单用户访问网站的某个目录,需要使用帐号密码来登录才能访问。

    一、编辑虚拟主机的配置文件,添加目录级访问限制

    <Directory "/var/www/html/demo">
      Options -Indexes FollowSymLinks
      AllowOverride AuthConfig
      Order allow,deny
      Allow from All
    
      AuthName "Login Notice" —— 认证时显示的提示
      AuthType Basic —— 认证类型
      AuthUserFile /etc/httpd/conf.d/htpasswd —— 用户配置文件
      require valid-user —— 限制为所有合法用户
    </Directory>

    二、用户认证配置文件
    1.创建apache的验证用户

    #htpasswd -c /etc/httpd/conf.d/htpasswd testuser 
    黑色部分表示认证文件的路径,可以自己选定其他路径

    回车后提示输入该用户的密码,输入两遍完成设置,第一次创建用户要用到 -c 参数,以后添加用户,就不用 -c 参数。

    2.如果想修改某个用户的密码:

    #htpasswd -m /etc/httpd/conf.d/htpasswd testuser

    三、测试效果
    1.认证页面效果如下

    58-1

    2.认证失败如下提示:

    58-2