首页 文章 精选 留言 我的

精选列表

搜索[centos7],共1059篇文章
优秀的个人博客,低调大师

centos7抢先安装docker1.0

1.关闭selinux [root@localhost ~]#setenforce 0 2.安装FedoraEPEL [root@localhost ~]#yuminstall -yhttp://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm 3.安装docker [root@localhost ~]#yum install -y docker-io [root@localhost ~]#yum install -y docker 4.下载官方镜像 [root@localhost ~]#docker pull centos 5.查看安装好的虚拟机 [root@localhost ~]#docker images 6.进入安装的虚拟机 docker run -i -t centos /bin/bash 7.exit退出 8.查找centos版本 docker search centos 9.安装6.4虚拟机 docker pull gpmidi/centos-6.4 10.进入新安装的6.4虚拟机 docker run -i -t gpmidi/centos-6.4 /bin/bash 11.创建一个文件夹 bash-4.1# mkdir xieping 12.exit退出 13.保存镜像 [root@localhost ~]# docker ps -a [root@localhost ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 773d9abe1086 gpmidi/centos-6.4:latest /bin/bash 2 minutes ago Exited (130) 12 seconds ago naughty_hopper7 22d18ec7c779 e0463385c799 /bin/bash 2 minutes ago Exited (0) 2 minutes ago happy_mayer1 里面的信息会告诉你用的系统最近是几分钟前使用的,然后记住对应CONTAINER ID,然后退出 14.把ID提交到仓库中 docker commit 773d9abe1086 gpmidi/centos-6.4 15.下次进入就有你保存的信息了 未完待续 本文转自谢无赖51CTO博客,原文链接:http://blog.51cto.com/xieping/1439633,如需转载请自行联系原作者

优秀的个人博客,低调大师

Centos7下安装JDK1.8

卸载系统中的OpenJDK(阿里云上一般没有OpenJDK) OpenJDK与JDK的区别:http://www.cnblogs.com/sxdcgaq8080/p/7487369.html 卸载方法:http://www.cnblogs.com/ystq/p/5972608.html 下载JDK1.8的tar包 切换到 user/local/src目录下: cd /usr/local/src 下载jdk1.8的tar包: wget http://download.oracle.com/otn-pub/java/jdk/8u152-b16/aa0333dd3019491ca4f6ddbe78cdb6d0/jdk-8u152-linux-x64.tar.gz?AuthParam=1509694567_4fd52e1e14637e31d5aebc232fd4826a 下载地址到oracle官网点击下载后,在浏览器下载内容中获取。 下载页:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下载完成后解压tar包 tar -zxvf jdk-8u152-linux-x64.tar.gz 将解压后的文件夹剪切到usr/local 目录下,并改名为 jdk8 mv jdk1.8_152 ../jdk8 配置环境变量 vim /etc/profile 在该文件尾部追加如下代码: JAVA_HOME=/usr/local/jdk8 JRE_HOME=/usr/local/jdk8/jre CLASS_PATH=.:$JAVA_HOME/lib PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH export JAVA_HOME JRE_HOME PATH CLASS_PATH 追加完成后更新配置:source /etc/profile 查看是否安装成功:java -version

优秀的个人博客,低调大师

CentOS7 NAT模式固定IP设置

修改每台虚拟机的配置文件,设置固定IP cd/etc/sysconfig/network-scripts 修改配置内容 viifcfg-eno16777736 初始配置: 修改为: BOOTPROTO=static IPV6…..都注释 DNS1=114.114.114.114 #这个是国内的DNSip,是固定的,当然还有个8.8.8.8,是国外谷歌的,具体自行百度 IPADDR=192.168.183.130 # 设置一个和原来动态分配的ip在同一子网的IP NETMASK=255.255.255.0 #子网掩码 GATEWAY=192.168.183.2 #网关,vmvare的nat模式网关为x.x.x.2 ONBOOT=yes 重启 service network restart 查看 修改后的IP ifconfig 测试本机是否能Ping通虚拟机 测试虚拟机是否能连外网

优秀的个人博客,低调大师

centos7为用户添加root权限

1. useradd sha passwd sha 创建用户及密码 2. 一、gpasswd -a sha wheel 赋予 sha root权限 二、 vi /etc/sudoers Allow root to run any commands anywhere root ALL=(ALL) ALL #原有行 sha ALL=(ALL) ALL #添加此行 保存后 登陆sha用户 使用 sudo 即可 三、vi /etc/sudoers ## Allows people in group wheel to run all commands %wheel ALL=(ALL) ALL #找到此行 如果前面有 # 删掉#后保存 执行 usermod -g root sha 登陆sha 使用sudo

优秀的个人博客,低调大师

阿里云CentOS7中安装Redis

1.Redis安装 cd wget http://download.redis.io/releases/redis-4.0.2.tar.gz tar xzf redis-4.0.2.tar.gz mv redis-4.0.2 /usr/local/redis-4.0.2 cd /usr/local/redis-4.0.2 make make install redis-server redis.conf redis-cli ps -ef | grep redis 2.Docker使用Redis官方镜像 docker version docker pull redis docker run --name payredis -d redis docker run --rm -it --link payredis:redis redis /bin/bash redis-cli -h redis -p 6379 ./redis-cli -p 6379 shutdown

优秀的个人博客,低调大师

centos7编译安装php7.1

安装依赖: [html]view plain copy yum-yinstallgccgcc-c++libxml2libxml2-develbzip2bzip2-devellibmcryptlibmcrypt-developensslopenssl-devellibcurl-devellibjpeg-devellibpng-develfreetype-develreadlinereadline-devellibxslt-develperlperl-develpsmisc.x86_64recoderecode-devellibtidylibtidy-devel mcryptmhash 下载及解压php7.1: [html]view plain copy wgethttp://cn2.php.net/distributions/php-7.1.0.tar.gz tarzxvfphp-7.1.0.tar.gz cdphp-7.1.0 配销魂淑女 黯然销魂 寸寸销魂置及安装php7.1: [html]view plain copy ./configure\ --prefix=/usr/local/php7\ --exec-prefix=/usr/local/php7\ --bindir=/usr/local/php7/bin\ --sbindir=/usr/local/php7/sbin\ --includedir=/usr/local/php7/include\ --libdir=/usr/local/php7/lib/php\ --mandir=/usr/local/php7/php/man\ --with-config-file-path=/usr/local/php7/etc\ --with-mysql-sock=/usr/local/mysql/mysql.sock\ --with-mcrypt=/usr/include\ --with-mhash\ --with-openssl\ --with-mysql=shared,mysqlnd\ --with-mysqli=shared,mysqlnd\ --with-pdo-mysql=shared,mysqlnd\ --with-gd\ --with-iconv\ --with-zlib\ --enable-zip\ --enable-inline-optimization\ --disable-debug\ --disable-rpath\ --enable-shared\ --enable-xml\ --enable-bcmath\ --enable-shmop\ --enable-sysvsem\ --enable-mbregex\ --enable-mbstring\ --enable-ftp\ --enable-gd-native-ttf\ --enable-pcntl\ --enable-sockets\ --with-xmlrpc\ --enable-soap\ --without-pear\ --with-gettext\ --enable-session\ --with-curl\ --with-jpeg-dir\ --with-freetype-dir\ --enable-opcache\ --enable-redis\ --enable-fpm\ --enable-fastcgi\ --with-fpm-user=www\ --with-fpm-group=www\ --without-gdbm\ --disable-fileinfo make&&makeinstall 拷贝配置文件: [html]view plain copy cp/usr/local/php-7.1.0/php.ini-production/usr/local/php7/etc/php.ini cp/usr/local/php7/etc/php-fpm.conf.default/usr/local/php7/etc/php-fpm.conf cp/usr/local/php7/etc/php-fpm.d/www.conf.default/usr/local/php7/etc/php-fpm.d/www.conf cp/usr/local/php-7.1.0/sapi/fpm/php-fpm.service/lib/systemd/system/php-fpm.service 编辑php-rpm.conf,将pid=run/php-fpm.pid开启 创建php相关目录及给予权限: [html]view plain copy mkdir-p/var/log/php/ mkdir-p/var/log/php-fpm/ mkdir-p/run/php-fpm/ mkdir-p/var/lib/php/session touch/dev/shm/php-fpm.sock chownwww.www/dev/shm/php-fpm.sock chmod777/dev/shm/php-fpm.sock chown-Rwww:www/var/lib/php

优秀的个人博客,低调大师

CentOS7搭建Hadoop + HBase + Zookeeper集群

一、基础环境准备 1、下载安装包(均使用当前最新的稳定版本,截止至2017年05月24日) 1)jdk-8u131 2)hadoop-2.7.3 3)hbase-1.2.5 4)zookeeper-3.4.10 以上下载地址请点击“阅读原文” 2、修改hosts文件(使用的三台集群主机默认IP为192.168.0.100、192.168.0.101、192.168.0.102) #vim/etc/hosts 添加以下信息 192.168.0.100master 192.168.0.101slave1 192.168.0.102slave2 3、安装JDK --解压jdk安装包 #mkdir/usr/java #tar-zxvfjdk-8u131-linux-x64.tar.gx-C/usr/java --拷贝jdk至slave1及slave2中 #scp-r/usr/javaslave1:/usr #scp-r/usr/javaslave2:/usr --设置jdk环境变量 #vim/etc/environment JAVA_HOME=/usr/java/jdk1.8.0_131 JRE_HOME=/usr/java/jdk1.8.0_131/jre #vim/etc/profile exportJAVA_HOME=/usr/java/jdk1.8.0_131 exportJRE_HOME=${JAVA_HOME}/jre exportCLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar exportPATH=$PATH:$JAVA_HOME/bin 4、设置免密登陆 slave1 #ssh-keygen-trsa #cp~/.ssh/id_rsa.pub~/.ssh/slave1_id_rsa.pub #scp~/.ssh/slave1_id_rsa.pubmaster:~/.ssh/ slave2 #ssh-keygen-trsa #cp~/.ssh/id_rsa.pub~/.ssh/slave2_id_rsa.pub #scp~/.ssh/slave2_id_rsa.pubmaster:~/.ssh/ master #ssh-keygen-trsa #cat~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys #cat~/.ssh/slave1_id_rsa.pub>>~/.ssh/authorized_keys #cat~/.ssh/slave2_id_rsa.pub>>~/.ssh/authorized_kyes --拷贝文件至slave1及slave2 #scp~/.ssh/authorized_keysslave1:~/.ssh #scp~/.ssh/authorized_keysslave2:~/.ssh 5、关闭防火墙及SELINUX --关闭防火墙 #systemctlstopfirewalld.service #systemctldisablefirewalld.service --关闭SELINUX #vim/etc/selinux/config --注释掉 #SELINUX=enforcing #SELINUXTYPE=targeted --添加 SELINUX=disable 二、Hadoop环境搭建 1、解压缩安装包及创建基本目录 #tar-zxvfhadoop-2.7.3-x64.tar.gz-C/usr #cd/usr/hadoop-2.7.3 #mkdirtmplogshdfhdf/datahdf/name 2、修改hadoop配置文件 --修改slaves文件 #vim/usr/hadoop-2.7.3/etc/hadoop/slaves --删除localhost,添加 slave1 slave2 --修改core-site.xml文件 #vim/usr/hadoop-2.7.3/etc/hadoop/core-site.xml --在configuration节点中添加以下内容 <property> <name>fs.default.name</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/usr/hadoop-2.7.3/tmp</value> </property> --修改hdfs-site.xml文件 #vim/usr/hadoop-2.7.3/etc/hadoop/hdfs-site.xml --在configuration节点添加以下内容 <property> <name>dfs.datanode.data.dir</name> <value>/usr/hadoop-2.7.3/hdf/data</value> <final>true</final> </property> <property> <name>dfs.namenode.name.dir</name> <value>/usr/hadoop-2.7.3/hdf/name</value> <final>true</final> </property> --修改mapred-site.xml文件 #cp/usr/hadoop-2.7.3/etc/hadoop/mapred-site.xml.template/usr/hadoop-2.7.3/etc/hadoop/mapred-site.xml #vim/usr/hadoop-2.7.3/etc/hadoop/mapred-site.xml --在configuration节点添加以下内容 <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>master:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>master:19888</value> </property> --修改yarn-site.xml文件 #vim/usr/hadoop-2.7.3/etc/hadoop/yarn-site.xml --在configuration节点添加以下内容 <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.mapred.ShuffleHandler</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>master:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>master:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>master:8031</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>master:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>master:8088</value> </property> 3、复制hadoop到slave节点 #scp-r/usr/hadoop-2.7.3slave1:/usr #scp-r/usr/hadoop-2.7.3slave2:/usr 4、配置 master 和 slave 的 hadoop 环境变量 #vim/etc/profile --添加如下内容 exportHADOOP_HOME=/usr/hadoop-2.7.3 exportPATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH exportHADOOP_LOG_DIR=/usr/hadoop-2.7.3/logs exportYARN_LOG_DIR=$HADOOP_LOG_DIR --保存后执行 #source/etc/profile #vim~/.bashrc --添加如下内容 exportHADOOP_PREFIX=/usr/hadoop-2.7.3/ 5、格式化 namenode #/usr/hadoop-2.7.3/sbin/hdfsnamenode-format 6、启动 hadoop #/usr/hadoop-2.7.3/sbin/start-all.sh 到这一步已经成功完成了hadoop环境的搭建 三、Zookeeper 环境搭建 1、解压缩 zookeeper 安装包,并建立基本目录 #tar-zxvfzookeeper-3.4.10.tar.gz-C/usr #mkdir/usr/zookeeper-3.4.10/data 2、修改配置文件 --复制配置文件模板 #cp/usr/zookeeper-3.4.10/conf/zoo-sample.cfg/usr/zookeeper-3.4.10/conf/zoo.cfg --修改配置文件 #vim/usr/zookeeper-3.4.10/conf/zoo.cfg --添加如下内容 dataDir=/usr/zookeeper-3.4.10/data server.1=master:2888:3888 server.2=slave1:2888:3888 server.3=slave2:2888:3888 --创建myid文件(master、slave1、slave2均需更新) #touch/usr/zookeeper-3.4.10/data/myid #vim/usr/zookeeper-3.4.10/myid --添加如下内容 1(master节点添加) 2(slave2节点添加) 3(slave3节点添加) 3、启动zookeeper --master、slave1、slave2增需要执行 #cd/usr/zookeeper-3.4.10/bin #./zkServer.shstart #./zkServer.shstatus 到这一步完成了zookeeper环境的搭建 四、HBase环境搭建 1、解压缩 hbase 安装包 #tar-zxvfhbase-1.2.5-bin.star.gz-C/usr #mkdir/usr/hbase-1.2.5-bin/logs 2、修改配置文件 #vim/usr/hbase-1.2.5/conf/hbase-env.sh --添加如下内容 exportJAVA_HOME=/usr/java/jdk1.8.0_131 exportHBASE_LOG_DIR=${HBASE_HOME}/logs exportHBASE_MANAGES_ZK=false 3、修改regionservers #vim/usr/hbase-1.2.5/conf/regionservers --删除localhost,新增如下内容 master slave1 slave2 4、修改配置文件 #vim/usr/hbase-1.2.5/conf/hbase-site.xml --在configuration节点下添加如下内容 <property> <name>hbase.rootdir</name> <value>hdfs://master:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>master,slave1,slave2</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/usr/zookeeper-3.4.10/data</value> </property> <property> <name>hbase.master</name> <value>hdfs://master:60000</value> </property> 5、复制hbase到slave中 #scp-r/usr/hbase-1.2.5slave1:/usr #scp-r/usr/hbase-1.2.5slave2:/usr 6、启动hbase #/usr/hbase-1.2.5/bin/start-hbase.sh 到这一步hbase环境搭建完成 作者:kolbe 来源:51CTO

优秀的个人博客,低调大师

CentOS7下利用cobbler部署CentOS

1)安装epel源和cobbler [root@cobbler~]#yum-yinstallhttp://mirrors.163.com/centos/7/extras/x86_64/Packages/epel-release-7-9.noarch.rpm [root@cobbler~]#yuminstallcobblercobbler-webdhcptftp-serverpykickstarthttpdxinetd-y [root@cobbler~]#systemctlstartxinetd.service [root@cobbler~]#systemctlenablexinetd.service [root@cobbler~]#systemctlstarthttpd [root@cobbler~]#systemctlenablehttpd Createdsymlinkfrom/etc/systemd/system/multi-user.target.wants/httpd.serviceto/usr/lib/systemd/system/httpd.service. [root@cobbler~]#systemctlstartcobblerd.service [root@cobbler~]#systemctlenablecobblerd.service Createdsymlinkfrom/etc/systemd/system/multi-user.target.wants/cobblerd.serviceto/usr/lib/systemd/system/cobblerd.service. 2)配置cobbler 检查cobbler: [root@cobbler~]#cobblercheck Thefollowingarepotentialconfigurationitemsthatyoumaywanttofix: 1:The'server'fieldin/etc/cobbler/settingsmustbesettosomethingotherthanlocalhost,orkickstartingfeatureswillnotwork.ThisshouldbearesolvablehostnameorIPforthebootserverasreachablebyallmachinesthatwilluseit. 2:ForPXEtobefunctional,the'next_server'fieldin/etc/cobbler/settingsmustbesettosomethingotherthan127.0.0.1,andshouldmatchtheIPofthebootserveronthePXEnetwork. 3:change'disable'to'no'in/etc/xinetd.d/tftp 4:somenetworkboot-loadersaremissingfrom/var/lib/cobbler/loaders,youmayrun'cobblerget-loaders'todownloadthem,or,ifyouonlywanttohandlex86/x86_64netbooting,youmayensurethatyouhaveinstalleda*recent*versionofthesyslinuxpackageinstalledandcanignorethismessageentirely.Filesinthisdirectory,shouldyouwanttosupportallarchitectures,shouldincludepxelinux.0,menu.c32,elilo.efi,andyaboot.The'cobblerget-loaders'commandistheeasiestwaytoresolvetheserequirements. 5:enableandstartrsyncd.servicewithsystemctl 6:debmirrorpackageisnotinstalled,itwillberequiredtomanagedebiandeploymentsandrepositories 7:Thedefaultpasswordusedbythesampletemplatesfornewlyinstalledmachines(default_password_cryptedin/etc/cobbler/settings)isstillsetto'cobbler'andshouldbechanged,try:"opensslpasswd-1-salt'random-phrase-here''your-password-here'"togeneratenewone 8:fencingtoolswerenotfound,andarerequiredtousethe(optional)powermanagementfeatures.installcmanorfence-agentstousethem Restartcobblerdandthenrun'cobblersync'toapplychanges. 修改cobbler的配置文件: [root@cobbler~]#vim/etc/cobbler/settings #ifyoudonotsetthiscorrectly,thiswillbemanifestedinTFTPopentimeouts. 将“next_server:127.0.0.1”修改为“next_server:10.10.10.222” 将“server:127.0.0.1”修改为“server:10.10.10.222” #setto1toenableCobbler'sDHCPmanagementfeatures. #thechoiceofDHCPmanagementengineisin/etc/cobbler/modules.conf 将“manage_dhcp:0”修改为“manage_dhcp:1” 修改cobbler默认的密码: 将“default_password_crypted:"$1$mF86/UHC$WvcIcX2t6crBz2onWxyac."”修改为“default_password_crypted:"$1$wanwan$K9lP0CajD0pbFaxI0if84/"” 随机生成一个密码: [root@cobbler~]#opensslpasswd-1-salt'wanwan''redhat12345' $1$wanwan$K9lP0CajD0pbFaxI0if84/ [root@cobbler~]#vim/etc/xinetd.d/tftp 将“disable=yes”修改为“disable=no” 重启rsync服务: [root@cobbler~]#systemctlstartrsyncd.service [root@cobbler~]#systemctlenablersyncd.service Createdsymlinkfrom/etc/systemd/system/multi-user.target.wants/rsyncd.serviceto/usr/lib/systemd/system/rsyncd.service. 下载cobbler相关的包: [root@cobbler~]#cobblerget-loaders taskstarted:2017-03-20_110931_get_loaders taskstarted(id=DownloadBootloaderContent,time=MonMar2011:09:312017) downloadinghttps://cobbler.github.io/loaders/READMEto/var/lib/cobbler/loaders/README downloadinghttps://cobbler.github.io/loaders/COPYING.eliloto/var/lib/cobbler/loaders/COPYING.elilo downloadinghttps://cobbler.github.io/loaders/COPYING.yabootto/var/lib/cobbler/loaders/COPYING.yaboot downloadinghttps://cobbler.github.io/loaders/COPYING.syslinuxto/var/lib/cobbler/loaders/COPYING.syslinux downloadinghttps://cobbler.github.io/loaders/elilo-3.8-ia64.efito/var/lib/cobbler/loaders/elilo-ia64.efi downloadinghttps://cobbler.github.io/loaders/yaboot-1.3.17to/var/lib/cobbler/loaders/yaboot downloadinghttps://cobbler.github.io/loaders/pxelinux.0-3.86to/var/lib/cobbler/loaders/pxelinux.0 downloadinghttps://cobbler.github.io/loaders/menu.c32-3.86to/var/lib/cobbler/loaders/menu.c32 downloadinghttps://cobbler.github.io/loaders/grub-0.97-x86.efito/var/lib/cobbler/loaders/grub-x86.efi downloadinghttps://cobbler.github.io/loaders/grub-0.97-x86_64.efito/var/lib/cobbler/loaders/grub-x86_64.efi ***TASKCOMPLETE*** [root@cobbler~]#systemctlrestartcobblerd.service [root@cobbler~]#cobblercheck Thefollowingarepotentialconfigurationitemsthatyoumaywanttofix: 1:debmirrorpackageisnotinstalled,itwillberequiredtomanagedebiandeploymentsandrepositories 2:fencingtoolswerenotfound,andarerequiredtousethe(optional)powermanagementfeatures.installcmanorfence-agentstousethem [root@cobbler~]#cd/etc/cobbler/ [root@cobblercobbler]#ls auth.confdhcp.templateldappowerrsync.templateusers.confzone_templates cheetah_macrosdnsmasq.templatemodules.confpxesecondary.templateusers.digest cobbler_bashimport_rsync_whitelistmongodb.confreportingsettingsversion completionsisonamed.templatersync.excludetftpd.templatezone.template 3)配置服务 [root@cobblercobbler]#vimdhcp.template subnet10.10.10.0netmask255.255.255.0{ optionrouters10.10.10.2; optiondomain-name-servers10.10.10.2; optionsubnet-mask255.255.255.0; rangedynamic-bootp10.10.10.10010.10.10.200; default-lease-time21600; max-lease-time43200; next-server$next_server; class"pxeclients"{ matchifsubstring(optionvendor-class-identifier,0,9)="PXEClient"; ifoptionpxe-system-type=00:02{ filename"ia64/elilo.efi"; }elseifoptionpxe-system-type=00:06{ filename"grub/grub-x86.efi"; }elseifoptionpxe-system-type=00:07{ filename"grub/grub-x86_64.efi"; }else{ filename"pxelinux.0"; } } } 备注:主要修改网段、DNS、网关等信息 [root@cobblercobbler]#cobblersync 通过cobbler管理的dhcp的配置文件 [root@cobblercobbler]#egrep-v'^#|^$'/etc/dhcp/dhcpd.conf ddns-update-styleinterim; allowbooting; allowbootp; ignoreclient-updates; setvendorclass=optionvendor-class-identifier; optionpxe-system-typecode93=unsignedinteger16; subnet10.10.10.0netmask255.255.255.0{ optionrouters10.10.10.2; optiondomain-name-servers10.10.10.2; optionsubnet-mask255.255.255.0; rangedynamic-bootp10.10.10.10010.10.10.200; default-lease-time21600; max-lease-time43200; next-server10.10.10.222; class"pxeclients"{ matchifsubstring(optionvendor-class-identifier,0,9)="PXEClient"; ifoptionpxe-system-type=00:02{ filename"ia64/elilo.efi"; }elseifoptionpxe-system-type=00:06{ filename"grub/grub-x86.efi"; }elseifoptionpxe-system-type=00:07{ filename"grub/grub-x86_64.efi"; }else{ filename"pxelinux.0"; } } } group{ } 挂载并导入数据: [root@cobbler~]#mount/dev/cdrom/mnt mount:/dev/sr0iswrite-protected,mountingread-only [root@cobbler~]#df-h FilesystemSizeUsedAvailUse%Mountedon /dev/mapper/cl-root50G9.8G41G20%/ devtmpfs1.9G01.9G0%/dev tmpfs1.9G144K1.9G1%/dev/shm tmpfs1.9G9.0M1.9G1%/run tmpfs1.9G01.9G0%/sys/fs/cgroup /dev/mapper/cl-home46G36M46G1%/home /dev/sda11014M175M840M18%/boot tmpfs378M12K378M1%/run/user/0 /dev/sr04.1G4.1G0100%/mnt [root@cobbler~]#cobblerimport--path=/mnt--name=CentOS-7.3--arch=x86_64 taskstarted:2017-03-20_113200_import taskstarted(id=Mediaimport,time=MonMar2011:32:002017) Foundacandidatesignature:breed=redhat,version=rhel6 Foundacandidatesignature:breed=redhat,version=rhel7 Foundamatchingsignature:breed=redhat,version=rhel7 Addingdistrosfrompath/var/www/cobbler/ks_mirror/CentOS-7.3-x86_64: creatingnewdistro:CentOS-7.3-x86_64 tryingsymlink:/var/www/cobbler/ks_mirror/CentOS-7.3-x86_64->/var/www/cobbler/links/CentOS-7.3-x86_64 creatingnewprofile:CentOS-7.3-x86_64 associatingrepos checkingforrsyncrepo(s) checkingforrhnrepo(s) checkingforyumrepo(s) startingdescentinto/var/www/cobbler/ks_mirror/CentOS-7.3-x86_64forCentOS-7.3-x86_64 processingrepoat:/var/www/cobbler/ks_mirror/CentOS-7.3-x86_64 needtoprocessrepo/comps:/var/www/cobbler/ks_mirror/CentOS-7.3-x86_64 lookingfor/var/www/cobbler/ks_mirror/CentOS-7.3-x86_64/repodata/*comps*.xml Keepingrepodataas-is:/var/www/cobbler/ks_mirror/CentOS-7.3-x86_64/repodata ***TASKCOMPLETE*** 说明:cobbler导入的镜像放在:/var/www/cobbler/ks_mirror [root@cobblerks_mirror]#pwd /var/www/cobbler/ks_mirror [root@cobblerks_mirror]#ls CentOS-7.3-x86_64config 默认kickstart文件存放位置:/var/lib/cobbler/kickstarts/ [root@cobbler~]#cd/var/lib/cobbler/kickstarts/ [root@cobblerkickstarts]#ll total52 -rw-r--r--1rootroot115Nov1703:09default.ks -rw-r--r--1rootroot22Nov1703:09esxi4-ks.cfg -rw-r--r--1rootroot22Nov1703:09esxi5-ks.cfg drwxr-xr-x2rootroot56Mar2010:39install_profiles -rw-r--r--1rootroot1424Nov1703:09legacy.ks -rw-r--r--1rootroot292Nov1703:09pxerescue.ks -rw-r--r--1rootroot2916Nov1703:09sample_autoyast.xml -rw-r--r--1rootroot1825Nov1703:09sample_end.ks -rw-r--r--1rootroot0Nov1703:09sample_esx4.ks -rw-r--r--1rootroot324Nov1703:09sample_esxi4.ks -rw-r--r--1rootroot386Nov1703:09sample_esxi5.ks -rw-r--r--1rootroot1784Nov1703:09sample.ks -rw-r--r--1rootroot3419Nov1703:09sample_old.seed -rw-r--r--1rootroot5879Nov1703:09sample.seed [root@cobbler~]#cobblerlist distros: CentOS-7.3-x86_64 profiles: CentOS-7.3-x86_64 systems: repos: p_w_picpaths: mgmtclasses: packages: files: [root@cobbler~]#cobblerprofilereport Name:CentOS-7.3-x86_64 TFTPBootFiles:{} Comment: DHCPTag:default Distribution:CentOS-7.3-x86_64 EnablegPXE?:0 EnablePXEMenu?:1 FetchableFiles:{} KernelOptions:{} KernelOptions(PostInstall):{} Kickstart:/var/lib/cobbler/kickstarts/sample_end.ks KickstartMetadata:{} ManagementClasses:[] ManagementParameters:<<inherit>> NameServers:[] NameServersSearchPath:[] Owners:['admin'] ParentProfile: Internalproxy: RedHatManagementKey:<<inherit>> RedHatManagementServer:<<inherit>> Repos:[] ServerOverride:<<inherit>> TemplateFiles:{} VirtAutoBoot:1 VirtBridge:xenbr0 VirtCPUs:1 VirtDiskDriverType:raw VirtFileSize(GB):5 VirtPath: VirtRAM(MB):512 VirtType:kvm 查看cobbler profile的帮助: [root@cobbler~]#cobblerprofileedit--help Usage:cobbler[options] Options: -h,--helpshowthishelpmessageandexit --name=NAMEName(Ex:F10-i386-webserver) --uid=UID --owners=OWNERSOwners(Ownerslistforauthz_ownership(space delimited)) --distro=DISTRODistribution(Parentdistribution) --parent=PARENTParentProfile --enable-gpxe=ENABLE_GPXE EnablegPXE?(UsegPXEinsteadofPXELINUXfor advancedbootingoptions) --enable-menu=ENABLE_MENU EnablePXEMenu?(ShowthisprofileinthePXEmenu?) --kickstart=KICKSTART Kickstart(Pathtokickstarttemplate) --kopts=KERNEL_OPTIONS KernelOptions(Ex:selinux=permissive) --kopts-post=KERNEL_OPTIONS_POST KernelOptions(PostInstall)(Ex:clocksource=pit noapic) --ksmeta=KS_METAKickstartMetadata(Ex:dog=fangagent=86) --proxy=PROXYInternalproxy(InternalproxyURL) --repos=REPOSRepos(Repostoauto-assigntothisprofile) --comment=COMMENTComment(Freeformtextdescription) --virt-auto-boot=VIRT_AUTO_BOOT VirtAutoBoot(AutobootthisVM?) --virt-cpus=VIRT_CPUS VirtCPUs(integer) --virt-file-size=VIRT_FILE_SIZE VirtFileSize(GB) --virt-disk-driver=VIRT_DISK_DRIVER VirtDiskDriverType(Theon-diskformatforthe virtualizationdisk) --virt-ram=VIRT_RAMVirtRAM(MB) --depth=DEPTH --virt-type=VIRT_TYPE VirtType(Virtualizationtechnologytouse)(valid options:xenpv,xenfv,qemu,kvm,vmware,openvz,SETTINGS:d efault_virt_type) --virt-path=VIRT_PATH VirtPath(Ex:/directoryORVolGroup00) --virt-bridge=VIRT_BRIDGE VirtBridge --dhcp-tag=DHCP_TAGDHCPTag(Seemanpageorleaveblank) --server=SERVERServerOverride(Seemanpageorleaveblank) --ctime=CTIME --mtime=MTIME --name-servers=NAME_SERVERS NameServers(spacedelimited) --name-servers-search=NAME_SERVERS_SEARCH NameServersSearchPath(spacedelimited) --mgmt-classes=MGMT_CLASSES ManagementClasses(Forexternalconfiguration management) --mgmt-parameters=MGMT_PARAMETERS ManagementParameters(Parameterswhichwillbehanded toyourmanagementapplication(MustbevalidYAML dictionary)) --boot-files=BOOT_FILES TFTPBootFiles(Filescopiedintotftpbootbeyondthe kernel/initrd) --fetchable-files=FETCHABLE_FILES FetchableFiles(Templatesfortftporwget/curl) --template-files=TEMPLATE_FILES TemplateFiles(Filemappingsforbuilt-inconfig management) --redhat-management-key=REDHAT_MANAGEMENT_KEY RedHatManagementKey(RegistrationkeyforRHN, Spacewalk,orSatellite) --redhat-management-server=REDHAT_MANAGEMENT_SERVER RedHatManagementServer(AddressofSpacewalkor SatelliteServer) --template-remote-kickstarts=TEMPLATE_REMOTE_KICKSTARTS --clobberallowaddtooverwriteexistingobjects --in-placeedititemsinkoptsorksmetawithoutclearingthe otheritems 修改kickstart文件: [root@cobbler~]#cobblerprofileedit--name=CentOS-7.3-x86_64--kickstart=/var/lib/cobbler/kickstarts/CentOS-7.3-x86_64.cfg 修改内核参数: [root@cobbler~]#cobblerprofileedit--name=CentOS-7.3-x86_64--kopts='net.ifnames=0biosdevname=0' [root@cobbler~]#cobblerprofilereport Name:CentOS-7.3-x86_64 TFTPBootFiles:{} Comment: DHCPTag:default Distribution:CentOS-7.3-x86_64 EnablegPXE?:0 EnablePXEMenu?:1 FetchableFiles:{} KernelOptions:{'biosdevname':'0','net.ifnames':'0'} KernelOptions(PostInstall):{} Kickstart:/var/lib/cobbler/kickstarts/CentOS-7.3-x86_64.cfg KickstartMetadata:{} ManagementClasses:[] ManagementParameters:<<inherit>> NameServers:[] NameServersSearchPath:[] Owners:['admin'] ParentProfile: Internalproxy: RedHatManagementKey:<<inherit>> RedHatManagementServer:<<inherit>> Repos:[] ServerOverride:<<inherit>> TemplateFiles:{} VirtAutoBoot:1 VirtBridge:xenbr0 VirtCPUs:1 VirtDiskDriverType:raw VirtFileSize(GB):5 VirtPath: VirtRAM(MB):512 VirtType:kvm [root@cobbler~]#cobblersync taskstarted:2017-03-20_135014_sync taskstarted(id=Sync,time=MonMar2013:50:142017) runningpre-synctriggers cleaningtrees removing:/var/www/cobbler/p_w_picpaths/CentOS-7.3-x86_64 removing:/var/lib/tftpboot/pxelinux.cfg/default removing:/var/lib/tftpboot/grub/p_w_picpaths removing:/var/lib/tftpboot/grub/grub-x86.efi removing:/var/lib/tftpboot/grub/grub-x86_64.efi removing:/var/lib/tftpboot/grub/efidefault removing:/var/lib/tftpboot/p_w_picpaths/CentOS-7.3-x86_64 removing:/var/lib/tftpboot/s390x/profile_list copyingbootloaders tryinghardlink/var/lib/cobbler/loaders/pxelinux.0->/var/lib/tftpboot/pxelinux.0 copying:/var/lib/cobbler/loaders/pxelinux.0->/var/lib/tftpboot/pxelinux.0 tryinghardlink/var/lib/cobbler/loaders/menu.c32->/var/lib/tftpboot/menu.c32 copying:/var/lib/cobbler/loaders/menu.c32->/var/lib/tftpboot/menu.c32 tryinghardlink/var/lib/cobbler/loaders/grub-x86.efi->/var/lib/tftpboot/grub/grub-x86.efi tryinghardlink/var/lib/cobbler/loaders/grub-x86_64.efi->/var/lib/tftpboot/grub/grub-x86_64.efi copyingdistrostotftpboot copyingfilesfordistro:CentOS-7.3-x86_64 tryinghardlink/var/www/cobbler/ks_mirror/CentOS-7.3-x86_64/p_w_picpaths/pxeboot/vmlinuz->/var/lib/tftpboot/p_w_picpaths/CentOS-7.3-x86_64/vmlinuz tryinghardlink/var/www/cobbler/ks_mirror/CentOS-7.3-x86_64/p_w_picpaths/pxeboot/initrd.img->/var/lib/tftpboot/p_w_picpaths/CentOS-7.3-x86_64/initrd.img copyingp_w_picpaths generatingPXEconfigurationfiles generatingPXEmenustructure copyingfilesfordistro:CentOS-7.3-x86_64 tryinghardlink/var/www/cobbler/ks_mirror/CentOS-7.3-x86_64/p_w_picpaths/pxeboot/vmlinuz->/var/www/cobbler/p_w_picpaths/CentOS-7.3-x86_64/vmlinuz tryinghardlink/var/www/cobbler/ks_mirror/CentOS-7.3-x86_64/p_w_picpaths/pxeboot/initrd.img->/var/www/cobbler/p_w_picpaths/CentOS-7.3-x86_64/initrd.img WritingtemplatefilesforCentOS-7.3-x86_64 renderingDHCPfiles generating/etc/dhcp/dhcpd.conf renderingTFTPDfiles generating/etc/xinetd.d/tftp processingboot_filesfordistro:CentOS-7.3-x86_64 cleaninglinkcaches runningpost-synctriggers runningpythontriggersfrom/var/lib/cobbler/triggers/sync/post/* runningpythontriggercobbler.modules.sync_post_restart_services running:dhcpd-t-q receivedonstdout: receivedonstderr: running:servicedhcpdrestart receivedonstdout: receivedonstderr:Redirectingto/bin/systemctlrestartdhcpd.service runningshelltriggersfrom/var/lib/cobbler/triggers/sync/post/* runningpythontriggersfrom/var/lib/cobbler/triggers/change/* runningpythontriggercobbler.modules.scm_track runningshelltriggersfrom/var/lib/cobbler/triggers/change/* ***TASKCOMPLETE*** 客户端设置从网卡启动: 安装完的CentOS6: cobbler的图形化管理界面(默认用户名cobbler,默认密码cobbler): 补充下,如果重启cobbler后发现dhcpd服务不能正常使用,很有可能是因为没设置自动启动 [root@cobbler~]#systemctlstartdhcpd.service [root@cobbler~]#systemctlenabledhcpd.serviceCreatedsymlinkfrom/etc/systemd/system/multi-user.target.wants/dhcpd.serviceto/usr/lib/systemd/system/dhcpd.service.

优秀的个人博客,低调大师

centos7删除已经安装的docker

centos下可以使用yum来删除docker。 列出docker包的具体的名字。 $ yum list installed | grep docker docker-engine.x86_64 1.7.1-0.1.el7 删除docker。 $ sudo yum -y remove docker-engine.x86_64 备注:该命令只是删除docker运行环境,并不会删除镜像,容器,卷文件,以及用户创建的配置文件。 清除镜像和容器文件。 $ rm -rf /var/lib/docker 手工查找并删除用户创建的配置文件。

优秀的个人博客,低调大师

Centos7下Docker安装&配置&镜像加速

作者:三十三重天 博客:http://www.zhouhuibo.club 通过学习和分享的过程,将自己工作中的问题和技术总结输出,希望菜鸟和老鸟都能通过自己的文章收获新的知识,并付诸实施。 CentOS Docker 安装 Docker 支持以下的 64 位 CentOS 版本: CentOS 7 CentOS 8 更高版本... 卸载旧版本 较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。 $ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine 安装 Docker Engine-Community 使用 Docker 仓库进行安装 在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker。 设置仓库 安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。 sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 使用以下命令来设置稳定的仓库。 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 安装 Docker Engine-Community 安装最新版本的 Docker Engine-Community 和 containerd,或者转到下一步安装特定版本: 如果提示您接受 GPG 密钥,请选是。 有多个 Docker 仓库吗? 如果启用了多个 Docker 仓库,则在未在 yum install 或 yum update 命令中指定版本的情况下,进行的安装或更新将始终安装最高版本,这可能不适合您的稳定性需求。 Docker 安装完默认未启动。并且已经创建好 docker 用户组,但该用户组下没有用户。 要安装特定版本的 Docker Engine-Community,请在存储库中列出可用版本,然后选择并安装: 1、列出并排序您存储库中可用的版本。此示例按版本号(从高到低)对结果进行排序。 yum list docker-ce --showduplicates | sort -r docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable 2、通过其完整的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如:docker-ce-18.09.1。 sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io 启动 Docker。 sudo systemctl start docker 通过运行 hello-world 映像来验证是否正确安装了 Docker Engine-Community 。 sudo docker run hello-world Docker镜像加速 国内从 DockerHub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务 我主要使用阿里云进行Docker镜像加速,如果您也同样使用,可以使用以下方式 镜像加速地址获取方法 第一步:登录:https://cr.console.aliyun.com/ 第二步:点击“创建我的容器镜像”,得到专属加速地址。 是不是超级简单!!! 接下去就进行配置的修改操作 创建或修改 /etc/docker/daemon.json 文件,修改为如下形式 { "registry-mirrors": [ "生成的阿里云镜像加速地址", "http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn" ] } 当有多个时,代表的含义为如果上一个不行,使用下一个地址进行加速服务 附上配置参数详细解释 https://blog.csdn.net/java_xinshou1/article/details/102620028 加载重启docker $ sudo systemctl daemon-reload $ sudo systemctl restart docker 查看是否成功 $ docker info END 欢迎关注公众号 程序员工具集 👍👍 致力于分享优秀的开源项目、学习资源 、常用工具 回复关键词“关注礼包”,送你一份最全的程序员技能图谱。 回复关键词"wx"添加个人微信,勾搭作者,欢迎来聊^-^。

优秀的个人博客,低调大师

阿里云centos7 LNMP开发环境搭建

我购买的阿里云是centos7.3的.在Linux下,搭建服务最好当然是LNMP了,毕竟PHP是世界上最好的语言(开玩笑了 0.0)。当然LAMP也很好,我就是Apache从转投Nginx的,就因为Nginx配置简单,资源占用低.当然Apache也有他的优点,孰优孰劣,还是要根据自己的需要取舍吧。言归正传,LNMP是Linux、Nginx、MySQL(Mariadb)、PHP。在centos上,默认的数据不再是MySQL了,成了Mariadb,这是MySQL的社区版,基本上是完全兼容MySQL的,对普通开发者而言,基本感觉得不到差别的。开始搭建环境 安装Nginx 安装Nginx,在Linux上可是使用yum安装Nginx,也可以编译源码安装,鉴于我购买的服务器性能的原因,我还是用yum安装吧. 使用yum search nginx 查看是否Nginx包,阿里云的centos默认是有Nginx包的. 使用yum -y install nginx 使用-y会自动解决依赖问题 等待安装完成,没有报错的话,安装成功了。使用service nginx start开启Nginx服务,使用 systemctl enable nginx把Nginx设为开机启动。使用curl 127.0.0.1看一下,返回html代码,说明成功了 安装Mariadb或者MySQL 安装Mariadb或者MySQL,在centos中,Mariadb可以直接使用yum安装。由于centos的yum中默认没有MySQL的源,必须手动添加MySQL源,才能安装。 安装Mariadb: yum -y install mariadb mariadb-server 不出意外的话,会成功安装. service mariadb start开启Nginx服务,使用 systemctl enable mariadb把mariadb设为开机启动。 简单配置Mariadb 输入mysql_secure_installation1.显示 Enter current password for root (enter for none): 第一次运行直接回车 2.Set root password? [Y/n] 是否设置root用户密码,输入y并回车或直接回车3.New password: 设置root用户的密码4.Re-enter new password: 再输入一次你设置的密码5.Remove anonymous users? [Y/n] 是否删除匿名用户,回车6.Disallow root login remotely? [Y/n] 是否禁止root远程登录,回车,7.Remove test database and access to it? [Y/n] 是否删除test数据库,回车8.Reload privilege tables now? [Y/n] 是否重新加载权限表,回车 mysql -uroot -ppassword 登录测试一下 centos中的Mariadb版本是5.5,对标的MySQL5.5版本,最新的稳定版Mariadb是10.3,怎么安装最新版的Mariadb等以后有时间再更新 安装MySQL: 添加MySQL的yum源wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm rpm -Uvh platform-and-version-specific-package-name.rpm添加MySQL 现在默认会安装MySQL8.0版本,如果想要5.7大的话 1.yum-config-manager --disable mysql80-community 2.yum-config-manager --enable mysql57-community 开始安装yum install mysql-community-server service mysqld start开启MySQL服务, systemctl enable mysql 设为开机启动 这时候MySQL是没有没密码的,需要找到密码sudo grep 'temporary password' /var/log/mysqld.log能看到密码8.登录,mysql -uroot -p 看到的密码 修改密码 ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword'; 附上MySQL官网的安装教程传送门 安装php php可以使用源码安装,也可以使用yum安装,鉴于我的服务器的性能,还是选择了yum安装。yun安装首先要添加源。 配置yum源 rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm 。 rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm 安装php7.2和需要的拓展 yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml 开启php-fpm 服务, service php-fpm start systemctl enable php-fpm设为开机启动 好了LNMP需要的软件都安装好了,简单配置一下 配置 Nginx配置 cd /etc/nginx/ vim nginx.conf 修改配置文件 server { listen 80 default_server; listen [::]:80 default_server; server_name _; root /home/www/default; return 500;#我禁用了ip访问 # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } location ~ \.php$ { root /home/www/default; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } php相关的部分是这里 location ~ \.php$ { root /home/www/default; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } 重启Nginx,service nginx restart好了去 Nginx的的root目录里新建一个info.php文件,测试一下 <?php phpinfo(); ?> 访问一下你的服务器看一下,能看到php的信息,说明已经配置好了 到这里,LNMP开发环境已经搭建好了,可以愉快的开发了。 在实际应用中,一台服务上一般不会只有一个网站,一台服务器运行多个网站,最靠谱的办法就是建立多个虚拟主机,使用不同的域名,访问不同的网站。这个问题,等有空再更新, 下次更新,Nginx虚拟主机的配置

优秀的个人博客,低调大师

Centos7 搭建LDAP并启用TLS加密

简介 LDAP(轻量级目录访问协议,Lightweight Directory Access Protocol)是为了实现目录服务的信息服务。 目录服务是一种特殊的数据库系统,其专门针对读取,浏览和搜索操作进行了特定的优化。在网络中应用了LDAP后,用户只需要使用一个账号和密码就可以轻松访问网络中的所有服务,实现用户身份的统一认证。 简单来说:拿LDAP来统一管理一些账号,例如: Gitlab,JenKins,Samba,SVN,Zabbix等。 关于SSL/TLS LDAP over SSL # LDAP over SSL 也就是 ldaps # ldap默认不加密情况下是走的389端口 # 当使用ldaps的时候走的就是636端口了 # 可以简单理解成http和https的关系 # 当然ldaps已经淘汰了,不然也不会有LDAP over TLS出来 LDAP over TLS # TLS可以简单理解为ldaps的升级 # 它默认走389端口,但是会通讯的时候加密 # 客户端连接LDAP时,需要指明通讯类型为TLS,所以他可以跟不加密的模式一样,任意端口都行 对比一下连接方式: ldaps: ldapsearch -H ldaps://127.0.0.1 TLS: ldapsearch -ZZ -H ldap://127.0.0.1 环境 CentOS Linux release 7.5.1804 Kernel 4.20.0-1.el7.elrepo.x86_64 docker-ce 18.09 docker-compose 1.23.1 安装docker-compose yum install -y python-pip pip install docker-compose docker-compose -v 准备证书 安装cfssl wget -O /bin/cfssl https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 wget -O /bin/cfssljson https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 wget -O /bin/cfssl-certinfo https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64 for cfssl in `ls /bin/cfssl*`;do chmod +x $cfssl;done; 配置证书信息 cd $HOME && mkdir ssl && cd ssl # ca配置文件 cat > ca-config.json << EOF { "signing": { "default": { "expiry": "87600h" }, "profiles": { "ldap": { "usages": [ "signing", "key encipherment", "server auth", "client auth" ], "expiry": "87600h" } } } } EOF # 自签名ca的证书申请 cat > ldap-ca-csr.json << EOF { "CN": "ldap", "key": { "algo": "rsa", "size": 2048 }, "names": [ { "C": "CN", "ST": "Shenzhen", "L": "Shenzhen", "O": "ldap", "OU": "LDAP Security" } ] } EOF # ldap证书申请资料 # 下面hosts字段里就是使用这张证书的主机 # 特别注意一定要加上宿主机的IP地址,反正是自己颁发的证书,怎么加都行!!! # 加上本机回环地址,加上ldap容器名,我这里容器名待会设置成openldap # 如果你要放到公网去的话,那一可以加上FQDN地址 cat > ldap-csr.json << EOF { "CN": "ldap", "hosts": [ "127.0.0.1", "192.168.1.1", "openldap", "ldap.lotbrick.com", "lotbrick.com" ], "key": { "algo": "rsa", "size": 2048 }, "names": [ { "C": "CN", "ST": "Shenzhen", "L": "Shenzhen", "O": "ldap", "OU": "LDAP Security" } ] } EOF 给证书签名 # CA自签名 cfssl gencert -initca ldap-ca-csr.json | cfssljson -bare ca # LDAP证书签名,ldap需要的文件为:ca证书,ldap证书,ldap私钥 cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=ldap ldap-csr.json | cfssljson -bare ldap # 查看生成的证书 # 其中 ldap-key.pem ldap.pem ca.pem 是我们需要的 [root@master ssl]#ls ca-config.json ca.csr ca-key.pem ca.pem ldap-ca-csr.json ldap.csr ldap-csr.json ldap-key.pem ldap.pem 开始安装ldap 克隆仓库,获取docker-compose.yaml文件 cd $HOME git clone https://github.com/JyBigBoss/docker-compose.git cd docker-compose/LDAP/ 复制证书 mkdir ssl/ cp $HOME/ssl/{ldap-key.pem,ldap.pem,ca.pem} ssl/ 修改docker-compose.yaml文件 vi docker-compose.yaml # 修改下面的几项 # 镜像使用的是osixia/openldap # 详细的配置解释:https://github.com/osixia/docker-openldap LDAP_ORGANISATION: "lotbrick.com" LDAP_DOMAIN: "lotbrick.com" LDAP_ADMIN_PASSWORD: "admin" LDAP_CONFIG_PASSWORD: "admin" LDAP_TLS: "true" LDAP_TLS_CRT_FILENAME: "ldap.pem" LDAP_TLS_KEY_FILENAME: "ldap-key.pem" LDAP_TLS_CA_CRT_FILENAME: "ca.pem" LDAP_TLS_ENFORCE: "true" LDAP_TLS_VERIFY_CLIENT: "try" domainname: "lotbrick.com" hostname: "lotbrick.com" # 特别注意LDAP_TLS_VERIFY_CLIENT # 不要设置成demand,这个选项可以理解成双向认证,也就是客户端连接ldap时也许要提供证书,也就是客户端也需要有自己的证书 # 设置成try就行,客户端不提供证书也能连接,反正连接已经加密了。 # 官方文档:http://www.openldap.org/doc/admin24/tls.html 启动ldap #第一次启动会比较慢,淡定点 docker-compose pull docker-compose up -d ls docker ps -a # 启动之后会生成几个文件夹 # ldapconf保存的是ldap的配置文件 # ldapdata保存的是ldap的数据 # lam保存的是lam管理工具的配置 [root@master LDAP]#docker-compose up -d Creating network "ldap_default" with the default driver Creating openldap ... done Creating ldap-account-manager ... done [root@master LDAP]#ls docker-compose.yaml lam ldapconf ldapdata ssl [root@master LDAP]#docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9b4ebdad17eb jinyunboss/ldap-account-manager:6.6 "docker-php-entrypoi…" 2 minutes ago Up 2 minutes 0.0.0.0:8080->80/tcp ldap-account-manager a7ff3bd5dced osixia/openldap:1.2.2 "/container/tool/run" 2 minutes ago Up 2 minutes 0.0.0.0:389->389/tcp, 0.0.0.0:636->636/tcp openldap 打开浏览器,配置LDAP Account Manager LDAP Account Manager容器监听在8080端口 打开http://192.168.1.1:8080 # 配置一下lam管理页面 # lam管理界面默认密码是: lam # lam可以管理多个ldap服务器,所以可以拥有多个profile,每个profile对应一台服务器 # 简单添加个用户,然后用另一台linux机器测试ldap连接 测试LDAP 安装ldap客户端 yum install -y openldap-clients nss-pam-ldapd 配置配置客户端 # 配置系统使用ldap认证 authconfig-tui # 将自签名的ca证书给客户端 cd /etc/openldap/cacerts/ # 修改/etc/nslcd.conf,添加管理员凭据 echo "binddn cn=admin,dc=lotbrick,dc=com" >> /etc/nslcd.conf echo "bindpw admin" >> /etc/nslcd.conf cat /etc/nslcd.conf # 重启nslcd服务 systemctl restart nslcd 测试 # 执行命令看看能不能读取到LDAP用户 # 能连接上ldap的话,执行之后会出现ldap用户 getent passwd id bigboss # 切换成bigboss用户试试 su - bigboss

优秀的个人博客,低调大师

CentOS7 LNMP部署zabbix4.0(yum)

1 环境准备 1.1 需要的环境 CentOS 7 虚拟机两台(最少两台,分别安装Server和Agent,有条件可以准备更多) 网络环境(Yum安装需要网络) 2 开始安装 提醒:建议在安装前对虚拟机拍摄快照或者对虚拟机进行备份操作 2.1 安装前的准备 启用可选 rpms 的软件仓库 安装yum utils工具包,若不安装则会找不到命令yum-config-manager # yum -y install yum-utils 启用yum仓库 # yum-config-manager --enable rhel-7-server-optional-rpms 2.2 安装php 使用yum直接安装php,php-gd,php-mysql,php-fpm php-mbstring php-xml # yum install php php-gd php-mysql php-fpm 配置php 编辑/etc目录下php.ini文件 post_max_size = 16M max_execution_time = 300 max_input_time = 300 date.timezone = "Asia/Shanghai" 开机启动php-fpm # systemctl enable php-fpm.service 启动php-fpm # systemctl start php-fpm 2.3 安装Mysql/mariadb 对于Zabbix Server和Proxy来说,由于需要将数据储存起来,所以需要在安装Zabbix Server和Proxy的服务器上安装Mysql数据库。(由于CentOS 7 默认使用Mariadb替代Mysql,所以此处使用Mariadb。同时为了与Mysql的兼容性,所以使用Mariadb5.5版本) 安装mariadb使用以下命令 # yum install -y mariadb-server 设置开机启动并启动mariadb # systemctl enable mariadb # systemctl start mariadb 在命令行输入以下命令进入mariadb # mysql -uroot -p 注:密码不用输入直接回车就行 输入以下命令修改登录密码 # SET password for 'root'@'localhost'=password('newpassword'); 至此数据库部分安装完成 2.4 安装nginx 添加Nginx的yum源 在/etc/yum.repo.d下新增文件nginx.repo 在文件中写入以下代码: [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1 保存并退出 安装nginx 使用以下代码安装nginx # yum install nginx 如果出现nginx.pid文件找不到的情况下使用 # nginx -c /etc/nginx/nginx.conf 重新指定配置文件即可 设置开机启动并启动nginx # systemctl enable nginx # systemctl start nginx 2.5 开启防火墙80端口 在命令行输入以下命令来开启80端口 # firewall-cmd --zone=public --add-port=80/tcp --permanent 意义解释: --zone #作用域 --add-port=80/tcp #添加端口,格式为:端口/通讯协议 --permanent #永久生效,没有此参数重启后失效 重启防护墙生效 # systemctl restart firewalld.server 2.6 关闭SELinux 编辑/etc/selinux下的config文件 SELINUX=disabled 重启生效 2.7 测试nginx 是否安装成功 浏览器访问以下地址 http://{nginx主机的ip}:80 若出现Welcome to nginx! 则说明nginx安装成功 2.8 配置Nginx 编辑/etc/nginx目录下nginx.conf文件 去掉 gzip on的注释 编辑/etc/nginx/conf.d目录下的default.conf文件 修改 location /{ ... ... ... }模块中的路径和首页未zabbix的路径为: root /usr/share/zabbix; index index.php; 取消 location ~ \.php${ ... ... ... } 模块的注释,并且修改 Fastcgi_param SCRIPT_FILENAME /usr/share/zabbix$fastcgi_script_name; 添加(增大nginx 缓存,否则web页面会出错) fastcgi_buffers 8 128k; fastcgi_buffer_size 128k; 3 安装Zabbix 3.1 添加 Zabbix 软件仓库 安装软件仓库配置包,这个包包含了 yum(软件包管理器)的配置文件 # rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm 3.2 安装Zabbix Server 安装zabbix server # yum install zabbix-server-mysql 创建数据库 # mysql -uroot -p # create database zabbix character set utf8 collate utf8_bin; # grant all privileges on zabbix.* to zabbix@localhost identified by '<password>'; # quit; 导入数据 使用 MySQL 来导入 Zabbix server 的初始数据库 schema 和数据 # zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p Zabbix (如果没有这个文件夹可以尝试重复输入一遍yum install zabbix-server-mysql) 配置Zabbix Server所使用的数据库 编辑/etc/zabbix/zabbix_server.conf文件以下内容 DBHost=localhost 数据库地址 DBName=zabbix 数据库名字 DBUser=zabbix 数据库用户名 DBPassword=<password> 数据库用户密码 DBPort=3306 数据库端口 开机启动Zabbix Server进程并启动zabbix server # systemctl enable zabbix-server # systemctl start zabbix-server 3.3 安装Zabbix 前端 # yum install zabbix-web-mysql 配置zabbix前端/etc/httpd/conf.d/zabbix.conf php_value max_execution_time 300 php_value memory_limit 128M php_value post_max_size 16M php_value upload_max_filesize 2M php_value max_input_time 300 php_value always_populate_raw_post_data -1 php_value date.timezone Aisa/Shanghai 3.4 测试zabbix 访问nginx配置的虚拟主机地址,若出现以下画面则server配置成功 3.5 安装Zabbix Agent 安装Zabbix Agent (安装前请先在主机上安装软件仓库配置包,详见3.1,同时关闭selinx和防火墙或允许端口通过,详见2.5和2.6) # yum install zabbix-agent 配置Zabbix Agent 修改/etc/zabbix下zabbix_agentd.conf文件 Server=Server端IP地址 ServerActive=Server端IP地址 Hostname=主机名(此名称非常重要,请勿乱填,因为后面在web上添加主机时需要这个名字) 设置Zabbix Agent 开机启动并启动 # systemctl enable zabbix-agent # systemctl start zabbix-agent 如果有什么错误的地方,还希望大家在评论中指出,感谢观看!!!!

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册