CA,DNS,LAMP实现wordpress

拓扑图见编译实现LAMP,bind,CA.jpg

CA,DNS,LAMP实现wordpress

test3配置:

    yum -y install bind

    修改named.conf配置文件:

    //      listen-on port 53 { 127.0.0.1; };   //监听IP与端口

    //      allow-query     { localhost; }; //供查询的主机,这里的localhost为只允许查询本机

    dnssec-enable no;   //启动安全的开关

    dnssec-validation no; //安全相关选项

    注释掉根解析的相关配置

    //zone “.” IN {

    //      type hint;

    //      file “named.ca”;

    //};

    修改name.rfc1912.zones

    添加如下内容:

    zone “.” IN {

           type master;

           file “root.zone”;

    };

    写一个解析数据库

    $TTL 1D

    @       IN      SOA     rootdns         rootadmin ( 1 1H 1H 1W 1D )

                   NS      rootdns

    com             NS      comdns.

    rootdns.        A       172.18.35.102

    com.            A       172.18.35.111

    修改named.ca文件:这个文件是寻找根DNS服务器的文件,所有的DNS服务器上的这个文件都修改为以下形式:

    .                        3600000      NS    A.ROOT-SERVERS.NET.

    A.ROOT-SERVERS.NET.      3600000      A     172.18.35.102

    

test5配置:

    安装bind:yum -y install bind

    修改配置文件/etc/named.conf

    //      listen-on port 53 { 127.0.0.1; };

    //      allow-query     { localhost; };

    dnssec-enable no;

    dnssec-validation no;

    配置一个区域:/etc/named.rfc1912.zones

     zone “com” IN {

           type master;

           file “com.zone”;

    };

    配置com区域数据库

    $TTL 1D

    @       IN      SOA     comdns  comadmin ( 1 1H 1H 1W 1D )

                   NS      comdns

    tom             NS      tomdns

    comdns          A       172.18.35.111

    tomdns          A       172.18.35.112

    配置named.ca

    .                       518400  IN      NS      a.root-servers.net.

    a.root-servers.net.     3600000 IN      A       172.18.35.102

    

test6配置;

    安装bind:yum -y install bind

    配置/etc/named.conf文件

    //      listen-on port 53 { 127.0.0.1; };

    //      allow-query     { localhost; };

    dnssec-enable no;

    dnssec-validation no;

    配置一个区域:/etc/named.rfc1912.zones

    zone “tom.com” IN {

           type master;

           file “tom.com.zone”;

    };

    配置一个区域数据库:

    $TTL 1D

    @       IN      SOA     tomdns  tomadmin        ( 1 1H 1H 1W 1D )

                   NS      tomdns

    tomdns          A       172.18.35.112

    webserver       A       172.18.35.100

    www             CNAME   webserver

    修改/var/named/named.ca

    .                       518400  IN      NS      a.root-servers.net.

    a.root-servers.net.     3600000 IN      A       172.18.35.102

test7配置DNS:

    修改配置文件/etc/named.conf

    //      listen-on port 53 { 127.0.0.1; };

    //      allow-query     { localhost; };

    dnssec-enable no;

    dnssec-validation no;

    修改/var/named/named.ca

    .                       518400  IN      NS      a.root-servers.net.

    a.root-servers.net.     3600000 IN      A       172.18.35.102

    以上为DNS配置,关闭防火墙,与SELinux,启动服务即可,如果服务无法启动,检查配置文件与区域文件,可以使用以下命令进行检查

    named-checkconf //检查配置文件

    named-checkzone “tom.com” tom.com.zone   //检查区域文件

test1配置

    下载httpd,apr,apr-util程序

    由于这里编译的apache程序是2.4.25,需要apr1.4与apr-util1.4以上而yum库提供的apr与apr-util为1.39,所以这里需要编译apr与apr-util程序

    解压apr-1.5.0.tar.bz2,apr-util-1.5.3.tar.bz2,httpd-2.4.25.tar.bz2

    tar xf ….

    编译apr-1.5.0.tar.bz2:

    cd apr-1.5.0

    ./configure –prefix=/usr/local/apr

    出错,提示gcc没有,安装

    yum -y install gcc

    echo $?:如果为0就成功了,如果不为0那就挂了

    -j 4 && make install

    echo $?

    cd ..

    编译apr-util-1.5.3.tar.bz2:

    cd apr-util-1.5.3

    ./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr

    echo $?

    make -j 4 && make install

    echo $?

    cd ..

    编译httpd-2.4.25.tar.bz2

    ./configure –prefix=/usr/local/httpd –sysconfdir=/etc/httpd –enable-modules=most –enable-mods-shared=most –enable-so –enable-proxy –enable-proxy-fcgi –enable-ssl –enable-cgi –enable-rewrite –with-apr=/usr/local/apr –with-apr-util=/usr/local/apr-util –with-mpm=profork –with-z  –with-libxml2 –with-pcre –enable-cgid

    出错:提示缺少perc-config

     yum provides */pcre-config  //查出这个文件是在pcre-devel包下

    yum -y install pcre-devel

    出错:提示openssl有点旧了

    yum -y install openssl-devel

    出错:提示MPM选项没有叫profork的,回头一看原来是写错了,叫prefork

    echo $?

    make -j 4 && make install

    echo $?

test4配置:

    下载一个mariadb程序

    tar xf mariadb-10.1.22-linux-x86_64.tar.gz -C /usr/local/

    cd /usr/local

    ln -sv mariadb-10.1.22-linux-x86_64 mysql

    useradd -r -M -s /sbin/nologin mysql

    cd mysql/

    chown -R root.mysql ./*

    mv /etc/my.cnf /etc/my.cnf.bak

    mkdir -p /data/mysql

    chown -R mysql.mysql /data

    cp support-files/my-huge.cnf /etc/my.cnf   //具体复制那个文件要看你的内存有多大了,各个文件对应的内存不一样

    cp support-files/mysql.server /etc/init.d/mysqld    //启动脚本文件

    chmod +x /etc/init.d/mysqld //给脚本的小权利

    配置/etc/my.cnf文件

    datadir = /data/mysql   //指定数据库目录

    skip_name_resolve = ON //优化性能

    innodb_file_per_table = ON   //优化性能

    ./scripts/mysql_install_db –user=mysql –datadir=/data/mysql     //数据库初始化

    出错了,说没有libaio.so.1这个玩意

    yum provides */libaio.so.1

    yum -y install libaio-0.3.109

    service mysqld start

    启动成功

    export PATH=$PATH:/usr/local/mysql/bin    //写个命令路径

    mysql -u root     //登陆数据库

    grant all privileges on *.* to test@’%’ identified by ‘test’;  //创建一个用户,并允许在其它主机登陆

    grant all privileges on *.* to test@’localhost’ identified by ‘test’;   //允许在本地登陆

    create database mydata;   //创建一个库

    flush privileges;     //刷新数据库

    \q      //退出数据库

test2配置:

    上传数据库,并解压到/usr/local/下,做一个软链接为mysql指向解压目录

    下载php:

    tar xf php-5.6.4.tar.xz

    cd php-5.6.4

    ./configure –prefix=/usr/local/php –with-mysql=/usr/local/mysql –with-openssl –with-mysqli=/usr/local/mysql/bin/mysql_config –enable-mbstring –with-freetype-dir –with-jpeg-dir –with-png-dir –with-zlib –with-libxml-dir=/usr –enable-xml –enable-sockets  –with-mcrypt –with-config-file-path=/etc –with-config-file-scan-dir=/etc/php.d –with-bz2 –enable-maintainer-zts –enable-fpm

    出错了,没有安装gcc

    yum -y install gcc

    出错了,没有找到xml2-config文件

    yum provides */xml2-config

    yum -y install libxml2-devel

    出错了,说,没有打到openssl的<evp.h>

    yum provides */evp.h

    yum -y install openssl-devel

    出错了,说需要重新安装bzip2

    yum -y install bzip2

    出问题了,说有bzip2这个包了,那就装一下bzip2的开发包吧

    yum -y install bzip2-devel

    出错了,说找不到mcrypt.h头文件,看看这个头文件那里有

    yum provides */mcrypt.h

    yum -y install libmcrypt-devel

    echo $?

    make -j 4 && make install

    echo $?

    mv /usr/local/php/etc/php-fpm.conf.default  /usr/local/php/etc/php-fpm.conf

    修改配置文件:/usr/local/php/etc/php-fpm.conf

    listen = 172.18.35.101:9000   //修改监听IP与端口

    

    在test1上搭建nfs服务:

    修改/etc/export文件添加如下内容

    /www/root       172.18.35.101(async,rw)

    yum -y install showmount

    service rpcbind start

    service nfs start

    在test2挂载nfs目录

    yum -y install showmount

    mkdir /www/root -p

    mount -t nfs 172.18.35.100:/www/root /www/root

test7配置CA

    cd /etc/pki/CA/

    openssl genrsa -out private/cakey.pem 2048   //生成CA私钥

    openssl req -x509 -new -key private/cakey.pem -out cacert.pem -days 3650    //生成自签证书

    touch index.txt serial     //创建必要文件

    echo 01 > serial   //文件中添加编号

在test1上生成CA请求文件

    cd /etc/httpd      //在此目录中生成文件以后配置文件就可以不改了

    openssl genrsa -out server.key 1024     //生成私钥文件

    openssl req -new -key server.key -out server.p    //生成请求文件server.p,将请求文件给CA服务器,名声然后确认并生成证书

    scp server.p 172.18.35.113:/etc/pki/CA/certs/    //发送请求文件给CA服务器

在test7上确认证书

    openssl ca -in certs/server.p -out certs/server.crt -days 365    //确认证书

    scp certs/server.crt 172.18.35.100:/etc/httpd/    //将证书发送给http服务器

配置test1上的https服务:

    修改主配置文件/etc/httpd/httpd.conf

    LoadModule proxy_module modules/mod_proxy.so   //将注释去掉

    LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so   //将注释去掉

    LoadModule rewrite_module modules/mod_rewrite.so      //启动URL重写功能

    LoadModule ssl_module modules/mod_ssl.so     //启动ssl功能

    LoadModule socache_shmcb_module modules/mod_socache_shmcb.so    //启动shmcb功能

    <Directory />

       AllowOverride none

       Require all granted    //这个是禁止访问其它所有目录修改为granted后就为允许了

    </Directory>

     <IfModule dir_module>

       DirectoryIndex index.html index.php   //添加可以运行以.php结尾的文件

    </IfModule>

    AddType application/x-http-php .php //添加的行,增加一种应用类型

        AddType application/x-http-php-source .phps   //添加的行,增加一种应用类型

        DocumentRoot “/www/root” 修改网页根目录

        #DocumentRoot “/usr/local/httpd/htdocs”   //注释掉,中心主机不可以与虚拟主机同时启动,这里关闭中心主机

        Include /etc/httpd/extra/httpd-ssl.conf    //去掉注释,启动ssl的配置文件

    配置etc/httpd/extra/httpd-ssl.conf文件:

    <VirtualHost 172.18.35.100:443>    //监听的端口与IP

        DocumentRoot “/www/root/wordpress”   //网页的存放地

        ServerName www.tom.com   //访问https的域名

        #ServerAdmin you@example.com     //管理员邮箱

        ProxyRequests off       //关闭正向解析文件

        ProxyPassMatch ^(.*\.php)$ fcgi://172.18.35.101:9000/www/root/$1     //指定反解方式

         rewriteEngine on   //启动重写功能

        rewritecond %{HTTP_HOST} !^www.tom.com [NC]      //申明client请求的不是以www.tom.com为前缀[NC]为忽略大小写

        rewritecond %{HTTP_HOST} !^$       //申明client请求的不是以空为前缀

        rewriterule ^(.*) https://www.tom.com/ [L]   //如果请求符合上述要求,那么就进行跳转,跳转为https://www.tom.com/;[L]为立即停止重写,并不再使用其它规则

        <Directory “/www/root/wordpress”>

               Options none

               AllowOverride none

               Require all granted

        </Directory>

在test1上进行配置wordpress:

    下载wordpress:

    解压到/www/root/目录下,并给其写权限

将客户端的DNS修改为172.18.35.113,将根证书导入浏览器,访问www.tom.com进行测试

测试成功

原创文章,作者:gaomei,如若转载,请注明出处:http://www.178linux.com/74020

(0)
gaomeigaomei
上一篇 2017-04-23
下一篇 2017-04-23

相关推荐

  • Python入门之迭代,列表解析,生成器及文件操作

    迭代器是访问集合元素的一种方式,迭代器包含了__iter__()(返回迭代器对象本身)next()(返回迭代器的下一个元素)迭代器只能往前不会退后 以下类型支持迭代 序列类型:list,str,tuple 非序列类型:dict,file 自定义类 通过内建的函数iter()或对象自带方法__iter__可以获取迭代器对象 l1=range(5) iter1=…

    Linux干货 2015-12-13
  • Linux发展史

    前言     Linux属于类Unix中的一个当下比较流行的操作系统,占领了服务器大部分江山。作为一个专业复杂的操作系统,了解其发展过程是很有必要的。如果要讲linux的历史,肯定是从三个团体开发Multics系统说起,贝尔实验室离开Multics项目后,Tompson和他的同事一起创造了unix,而在unix的各种分支中BSD则是迅速发…

    Linux干货 2016-10-14
  • ntp时间服务器搭建实例

    ntp时间服务器采用stratum分级架构来处理时间同步;举例说明:你搭建了一台ntp服务器,然后同步的server为stratum-1,你的ntp则为stratum-2,你的下级ntp则为tratum-3。依此类推,最多为15层。 1.ntp server安装: [root@localhost ~]# yum -y …

    Linux干货 2015-11-10
  • configure –help 参数详解

    configure –help 参数详解及apache2.2静态编译和动态编译参考

    Linux干货 2016-05-25
  • 运维监控大数据的提取与分析

    本文内容整理来自【敏捷运维大讲堂】蒋君伟老师的线上直播分享。分别从以下3个维度来分享:1、云时代监控分析的窘境;2、使用标签标记监控数据的维度;3、监控数据应用场景。 云时代监控分析的窘境 在虚拟化与容器技术广泛应用的情况下,运维对象大规模地增长,监控平台每天存储的指标都以亿计,所以监控数据如今已经成了大数据。传统的监控工具在这种场景下,对于数据的提取分析,…

    系统运维 2017-01-09
  • 初识MySQL(一)

        数据库(DATABASES)      数据库是一个单位或是一个应用领域的通用数据处理系统,存储有企业和事业部门、团体和个人的有关数据的集合,该集合中数据是从全局观点出发建立的,按一定的数据模型进行组织、描述和存储。其结构基于数据间的自然联系,从而可提供一切必要的存取路径,且数据不…

    Linux干货 2015-08-24