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 [email protected]     //管理员邮箱

        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 21:53
下一篇 2017-04-23 23:00

相关推荐

  • Linux磁盘管理

    一、磁盘简介 机械硬盘的组成部件主要有:盘片、机械手臂、磁头与主轴马达;盘片又可以细分为扇区(Sector)和磁道(Track),所有盘片的同一个磁道称之为柱面(Cylinder) 目前主流的磁盘接口有SCSI、SATA、SAS、USB等 Linux一切皆文件,硬件设备也有对应的文件,linux访问设备,其实就是访问与其对应的文件系统接口 设备文件: &nb…

    Linux干货 2016-06-01
  • Linux文本搜索工具grep

    Linux文本搜索工具grep Linux文本搜索工具grep grep 基本正则表达式 egrep 扩展正则表达式 fgrep 简介 grep(全称Globally search a Regular Expression and Print,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,根据用户指定的“模式(pattern)”对目标文本进行匹…

    2016-04-05
  • 推荐-MySQL存储日志并使用Loganalyzer作为前端展示

    MySQL存储日志并使用Loganalyzer作为前端展示 MySQL存储日志并使用Loganalyzer作为前端展示 为什么要使用日志 本文目标 实验拓扑图 实验环境 实验步骤 syslog主机上rsyslog设置 Server1主机上rsyslog设置 Web服务器配置 总结 为什么要使用日志 在生产环境中我们可能需要一个较为完整的日志系统来查看运行中主…

    Linux干货 2016-03-30
  • 【盘点】2017年9-11月运维大会(时间+地点)

    到底未来的运维模式是什么?如今运维人员面临着怎样的转变? 活动家为您精心挑选整理了9-11月七场运维大会希望本文能帮您! CNUTCon 全球运维技术大会2017 大会简介: CNUTCon全球运维技术大会是由InfoQ主办的运维&容器技术盛会。大会为期2天,主要面向各行业对运维&容器技术感兴趣的中高端技术人员。秉承着“同步前沿技术、共享实战…

    2017-08-31
  • 配置LAMP (php-fpm模式)部署步骤

    配置LAMP (php-fpm模式)部署步骤 1.安装mariadb yum install maridb-server -y 1).配置server.cnf cp /etc/my.cnf.d/server.cnf{,.back} vim /etc/my.cnf.d/server.cnf ##mariadb服务器端配置文件 [mysqld] ##以下项是优化…

    Linux干货 2017-06-02
  • 8月5日第七节课作业

    一、当天练习 1、找出ifconfig命令结果中本机的所有IPv4地址 2、查出分区空间使用率的最大百分比值 3、查出用户UID最大值的用户名、UID及shell类型 4、查出/tmp的权限,以数字方式显示 5、统计当前连接本机的每个远程主机IP的连接数,并按从大 到小排序 1、显示/proc/meminfo文件中以大小s开头的行;(要求:使 用两种方式) …

    Linux干货 2016-08-08