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

相关推荐

  • http协议(2.2&2.4)RPM搭建配置

    http协议(2.2&2.4)RPM搭建配置 httpd的程序环境: 主程序文件:/usr/sbin/httpd CentOS6系列(默认httpd2.2) 1)配置文件: /etc/httpd/conf/httpd.conf、  /etc/httpd/conf.d/*.conf 2)服务脚本: /etc/rc.d/init.d/…

    Linux干货 2016-10-17
  • 自定义命令提示符

     命令提示符的格式放在变量PS1中         命令提示符特殊字符定义             \u  当前用户      &…

    Linux干货 2017-05-02
  • linux基础学习之AWK

    内容: 1、awk输出(print、printf) 2、awk变量(内建变量和定义变量) 3、awk数组 4、awk重定向输出 5、awk操作符 6、awk常见模式类型 7、awk控制及循环语句 8、awk内置函数 awk:(其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母)…

    Linux干货 2016-09-22
  • 软件包管理利器之一&RPM

      概述:我们知道使用源代码进行软件编译可以具有定制化的设置,但对于Linux distribution的发行商来说,则有软件管理不易的问题,毕竟不是每个人对于操作系统都非常的熟悉,不是每个人都会进行源代码编译的,因此如果能够将软件现在相同的硬件与操作系统上编译好才发行的话,如果再加上简易的安装/删除/管理等机制,则对于软件管理会简单的多…

    Linux干货 2016-08-24
  • 一位老it工程师的忠告,新手进来学习,老手进来体会,收获很大。

    诸位,咱当电子工程师也是十余年了,不算有出息,环顾四面,也没有看见几个有出息的!回顾工程师生涯,感慨万千,愿意讲几句掏心窝子的话,也算给咱们师弟师妹们提个醒,希望他们比咱们强! [1]好好规划自己的路,不要跟着感觉走!根据个人的理想决策安排,绝大部分人并不指望成为什么院士或教授,而是希望活得滋润一些,爽一些。那么,就需要慎重安排自己的轨迹。从哪个行业入手,逐…

    Linux干货 2015-02-26
  • Linux命令基础

    Linux命令基础

    2018-03-25