来一发炸裂的开场吧----LAMP+DNS+NFS构建论坛

来一发炸裂的开场吧----LAMP+DNS+NFS构建论坛

来一发炸裂的开场吧----LAMP+DNS+NFS构建论坛_第1张图片

部署环境

  • 未装系统的客户机一台
  • DNS服务器:地址192.168.100.10/24;提供域名解析
  • PXE服务:192.168.100.20/24;提供DHCP、TFTP、FTP功能,DHCP地址范围(192.168.100.100/24~192.168.100.200/24)
  • 网关:Linux系统作为服务器(内网口:192.168.100.1/24;外网口:20.0.0.1/24)
  • LAMP:20.0.0.12/24,提供web论坛服务,且Apache的网站站点由NFS提供,不实用本地存储空间
  • NFS:20.0.0.13/24,共享目录名为share。

需求:完成所有服务构建,给客户机自动部署Linux系统,且该客户机拥有系统后可以使用www.text1.com 直接访问:LAMP服务器中的论坛。

部署步骤:

  • 配置DNS域名解析
[root@DNS named]# vi /etc/named.conf 

options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };

        recursion yes;

        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

[root@DNS named]#  vi  /etc/named.rfc1912.zones

zone "text1.com" IN {
        type master;
        file "text1.com.zone";
        allow-update { none; };
[root@DNS named]# cp -p named.localhost text.com.zone
[root@DNS named]# vi /var/named/text1.com.zone

$TTL 1D
@       IN SOA  @ rname.invalid (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS    @
     IN A 192.168.100.10
www  IN A 20.0.0.12
                                                                                                             [root@DNS named]# systemctl restart named
[root@DNS named]# host www.text1.com
www.text1.com has address 20.0.0.12
                                                                                              
  • 配置linux网关
[root@iptables opt]# cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens36
[root@iptables opt]# nmcli connection show
[root@iptables opt]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
NAME="ens33"
UUID="ed3c086b-e0b1-47da-a8c8-69645ad6234d"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="20.0.0.10"
PREFIX="24"
GATEWAY="20.0.0.10"
[root@iptables ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens36
NAME="ens36"
UUID="7f73e723-00f4-339b-8cb5-db75b6715e3b"
DEVICE="ens36"
ONBOOT="yes"
IPADDR="192.168.100.30"
GATEWAY="192.168.100.30"
PREFIX="24"
IPV6_PRIVACY="no"   
[root@iptables opt]# echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf 
[root@iptables ~]# sysctl -p
net.ipv4.ip_forward = 1
  • PXE无人值守配置
####FTP共享安装文件
[root@iptables ~]# mkdir -p /var/ftp/centos7
[root@iptables ~]# mount /dev/cdrom /mnt 
[root@iptables ~]# cp -rf /mnt/* /var/ftp/centos7
[root@iptables ~]# yum -y install vsftpd
[root@iptables ~]# systemctl start vsftpd
[root@iptables ~]# systemctl enable vsftpd    
####安装TFTP服务
[root@iptables ~]# yum -y install tftp-server
[root@iptables ~]# vi /etc/xinetd.d/tftp
###
将disable=yes改成disable=no
[root@iptables ~]# systemctl start tftp
[root@iptables ~]# systemctl enable tftp
####配置引导文件
[root@iptables ~]# cd /mnt/images/pxeboot/
[root@iptables ~]# cp vmlinuz initrd.img /var/lib/tftpboot/
[root@iptables ~]# yum -y install syslinux
[root@iptables ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
####开启DHCP服务
[root@iptables ~]# yum -y install dhcp
[root@iptables ~]# vi /etc/dhcp/dhcpd.conf

subnet 192.168.100.30 netmask 255.255.255.0 {
option routers 192.168.100.20;
option subnet-mask 255.255.255.0;
default-lease-time 21600;
max-lease-time 43200;
range 192.168.100.100 192.168.100.200;
next-server 192.168.100.20;
filename "pxelinux.0";

[root@iptables ~]# systemctl start dhcpd
[root@iptables ~]# systemctl enable dhcpd
####配置启动菜单
[root@iptables ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@iptables ~]# vi /var/lib/tftpboot/pxelinux.cfg/default
default auto
prompt 0
label auto
        kernel vmlinuz
        append initrd=initrd.img method=ftp://192.168.100.20/centos7
~                                                                                                    
[root@iptables ~]# yum -y install  system-config-kickstart
[root@iptables ~]# cp /root/ks.cfg /var/ftp/ks.cfg
[root@iptables ~]# vi /var/lib/tftpboot/pxelinux.cfg/default
default auto
prompt 0
label auto
        kernel vmlinuz
        append initrd=initrd.img method=ftp://192.168.100.20/centos7 ks=ftp://192.168.100.20/ks.cfg

[root@iptables ~]# vim /var/ftp/ks.cfg
####最后一行插入
%post --interpreter=/bin/bash
echo "nameserver 192.168.100.10" >> /etc/resolv.conf
%end

%packages
@^gnome-desktop-environment
@core
%end

  • NFS服务
安装NFS以及rpcbind
[root@NFS ~]# yum install nfs-utils rpcbind
在根目录下创建共享目录share,然后发布
[root@NFS ~]# mkdir /share
[root@NFS ~]# vi /etc/exports
/share 20.0.0.12(rw,sync,no_root_squash)  ####设置读写
验证发布
[root@NFS /]# showmount -e
Export list for NFS:
/share 20.0.0.12
将论坛安装文件复制到share目录下,然后重命名
[root@NFS /]# cp -rf /opt/upload/ /share/bbs
[root@NFS /]# cd /share
[root@NFS share]# ll
总用量 4
drwxr-xr-x 12 root root 4096 10月 12 22:00 bbs
####给论坛文件权限
[root@NFS bbs]# chown -R daemon ./config/
[root@NFS bbs]# chown -R daemon  ./data/
[root@NFS bbs]# chown -R daemon  ./uc_client/
[root@NFS bbs]# chown -R daemon ./uc_server/
  • LAMP架构
#####编译安装apache、mysql和php服务,不会的可以看我之前的博客,这边就不在赘述
####安装NFS服务用语挂载共享文档
[root@lamp /]# yum -y install nfs-utils
[root@lamp /]# showmount -e 20.0.0.13
Export list for 20.0.0.13:
/share 20.0.0.12
[root@lamp /]#mount -t nfs 20.0.0.13:/share/bbs /usr/local/httpd/htdocs/
#####永久挂载
[root@lamp /]# vi /etc/rc.local
mount -t nfs 20.0.0.13:/share/bbs /usr/local/httpd/htdocs/
[root@lamp /]# chmod 711 /etc/rc.local 
[root@lamp /]# df -Th
20.0.0.13:/share/bbs    nfs4       83G  1.6G   82G    2% /usr/local/httpd/htdocs
####进入数据库,设置数据库账户
[root@lamp /]# mysql -uroot -p
mysql> CREATE DATABASE bbs;  ###创建bbs子数据库了
Query OK, 1 row affected (0.00 sec)

mysql> GRANT all ON  bbs.* TO ' bbsuser'@'lamp' IDENTIFIED BY 'admin123';     ##若没有bbsuser账户,则自动创建认证用户“bbsuser”,若有,则修改bbsuser的权限
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> GRANT all ON  bbs.* TO ' bbsuser'@'localhost' IDENTIFIED BY 'admin123';      ##授权给本地主机
Query OK, 0 rows affected, 1 warning (0.00 sec)

####修改httpd主配置
[root@lamp /]# vi /etc/httpd.conf 
Listen 20.0.0.12:80
#Listen 80

ServerName www.text1.com:80
####因为我们已经将论坛的文件挂载到了/usr/local/httpd/htdocs/目录下,可以在真机上直接进入20.0.0.12进行安装
  • 通过PXE安装客户机,接着在客户机上验证是否直接可以访问论坛

来一发炸裂的开场吧----LAMP+DNS+NFS构建论坛_第2张图片

部署成功!

  • 现在来说说遇到的坑吧

    • 在用linux做网关的时候,双网卡配置时,发现,内网跟外网不能互相ping通,排查了好久,最后发现,原来2张网卡的网关要跟2张网卡的IP地址一样,这样才能做网关,并且,这个服务里面所有的外网跟内网主机的网关地址都是要根据这2张网卡来定
    • 在PXE安装时,最后发现当安装进程到选择系统文件的之后,就自动暂停,并不会进行自动安装了,最后在排查ks.cfg这个文件时,发现,里面并没有安装包这个选项所以我们要自己添加安装包的配置,并且,结尾的时候要以%end结束,否则安装时候,会报错
    • 在最后安装论坛的时候,发现会到第一个报错,全是x的情况,那是没有属主没有配置,要配置属主,然后最后,在安装前一步发现无法连接本机的数据库,这个时候我试了好几次,一个是传统的"localhost",但是无法成功,然后发现有一个报错,是bbsuser@lamp这个账户,我当时发现我的账户并没有授权到lamp,所以我重新授权了下改成了bbsuser@lamp,当时也没成功,最有,我将服务器的地址改成了127.0.0.1,成功解决。希望会对看到本篇文章的效果版有帮助

在最后安装论坛的时候,发现会到第一个报错,全是x的情况,那是没有属主没有配置,要配置属主,然后最后,在安装前一步发现无法连接本机的数据库,这个时候我试了好几次,一个是传统的"localhost",但是无法成功,然后发现有一个报错,是bbsuser@lamp这个账户,我当时发现我的账户并没有授权到lamp,所以我重新授权了下改成了bbsuser@lamp,当时也没成功,最有,我将服务器的地址改成了127.0.0.1,成功解决。希望会对看到本篇文章的效果版有帮助

你可能感兴趣的:(lamp,dns服务器,pxe,nfs)