作者: itgeeker

  • 如何使用logrotate分割管理dnsmasq的日志 CentOS6.5 64bit

    logrotate 程序是一个日志文件管理工具,Centos系统基本都默认已安装。它可以用来把旧的日志文件删除,并创建新的日志文件,我们把它叫做“转储”。也可以根据日志文件的大小,也可以根据其天数来转储,这个过程一般通过 cron 程序来执行。logrotate 程序还可以用于压缩日志文件,以及发送日志到指定的E-mail 。

    logrotate

    目前logrotate的版本是logrotate-3.7.8,它的默认配置文件及中文说明:
    cat /etc/logrotate.conf

     

    # see "man logrotate" for details
    # 所有的日志文件每周转储一次
    weekly
    
    # 转储的文件保留4份,也就是4周的文件
    rotate 4
    
    # 转储日志后,logrotate自动创建新的日志文件
    create
    
    # 给转储的日志文件加上日期后缀
    dateext
    
    # 压缩日志文件。默认是注释掉的
    #compress
    
    # 读入/etc/logrotate.d目录下的日志转储参数,当系统中安装了RPM软件包时,RPM包的日志转储参数一般会自动建立在/etc/logrotate.d目录下
    include /etc/logrotate.d
    
    # 对/var/log/wtmp日志转储的配置
    /var/log/wtmp {
        monthly
        create 0664 root utmp
         minsize 1M
        rotate 1
    }
    
    /var/log/btmp {
        missingok
        monthly
        create 0600 root utmp
        rotate 1
    }
    
    # system-specific logs may be also be configured here.

     

    dnsmasq日志分割案例

    1. 首先需要开启dnsmasq的日志记录

    vi /etc/dnsmasq.conf
    
    log-queries
    log-facility=/var/log/dnsmasq/dnsmasq.log

    2. 建立logrotate的配置文件

    vi /etc/logrotate.d/dnsmasq
    输入:
    /var/log/dnsmasq/dnsmasq.log {
    notifempty
    weekly
    dateext
    rotate 58
    sharedscripts
    postrotate
    [ ! -f /var/run/dnsmasq.pid ] || kill -USR2 `cat /var/run/dnsmasq.pid`
    endscript
    }

    参数说明:

    notifempty :如果是空文件的话,不转储。
    weekly :日志文件每天转储一次。
    rotate 5 ;转储文件分为5份。
    postrotate/endscript :日志转储后执行的脚本。

    完整参数参考

    compress            通过gzip 压缩转储以后的日志
    nocompress        不需要压缩时,用这个参数
    copytruncate       用于还在打开中的日志文件,把当前日志备份并截断
    nocopytruncate   备份日志文件但是不截断
    create mode owner group 转储文件,使用指定的文件模式创建新的日志文件
    nocreate              不建立新的日志文件
    delaycompress 和 compress 一起使用时,转储的日志文件到下一次转储时才压缩nodelaycompress 覆盖 delaycompress 选项,转储同时压缩。
    errors address     专储时的错误信息发送到指定的Email 地址
    ifempty                 即使是空文件也转储,这个是 logrotate 的缺省选项。
    notifempty            如果是空文件的话,不转储
    mail address         把转储的日志文件发送到指定的E-mail 地址
    nomail                  转储时不发送日志文件
    olddir directory     转储后的日志文件放入指定的目录,必须和当前日志文件在同一个文件系统
    noolddir                转储后的日志文件和当前日志文件放在同一个目录下
    prerotate/endscript     在转储以前需要执行的命令可以放入这个对,这两个关键字必须单独成行
    postrotate/endscript   在转储以后需要执行的命令可以放入这个对,这两个关键字必须单独成行
    daily                     指定转储周期为每天
    weekly                 指定转储周期为每周
    monthly                指定转储周期为每月
    rotate count          指定日志文件删除之前转储的次数,0 指没有备份,5 指保留5 个备份
    tabootext [+] list 让logrotate 不转储指定扩展名的文件,缺省的扩展名是:.rpm-orig, .rpmsave, v, 和 ~
    size size               当日志文件到达指定的大小时才转储,Size 可以指定 bytes (缺省)以及KB(sizek)或者MB (sizem).

    3. 执行logrotate

    /usr/sbin/logrotate -vf /etc/logrotate.conf
    
    logrotate命令格式解释:
    logrotate [OPTION...] <configfile>
    -d, --debug :debug模式,测试配置文件是否有错误。
    -f, --force :强制转储文件。
    -m, --mail=command :发送日志到指定邮箱。
    -s, --state=statefile :使用指定的状态文件。
    -v, --verbose :显示转储过程。

    如果没有报错,生成了转储文件,dnsmasq正常运行,就OK了。

    4. cron定时自动执行logrotate

    在/etc/cron.daily目录下有logrotate执行的脚本。你可以通过crontab程序每天执行一次。也可以自己设定特定的计划来执行自己的日志切割脚本。
    测试一下脚本先:
    sh /etc/cron.daily/logrotate
    vi /etc/crontab
    33 3 * * * root run-parts /etc/cron.daily
  • CentOS6.5 64bit如何安装配置FTP服务(vsftpd)

    FTP看似一个简单的服务,但在Linux上配置起来往往并没那么容易。ITGeeker技术奇客分享简单而使用的CentOS FTP配置服务,让你不在为架设FTP服务而困扰。
    vsftpd-install-by-itgeeker2014

    一、 vsftpd安装


    一般在CentOS上都自动安装了vsftd,若没有安装则可以使用以下步骤进行安装
    yum -y install vsftpd
    service vsftpd start
    chkconfig vsftpd on
    touch /var/log/vsftpd.log # 创建vsftp的日志文件

    在CentOS中,这样就可以完成了一个简单的匿名FTP的搭建。你可以通过文件资源管理器访问 ftp://YOURIPADDRESS 来进行访问,这个时候你可以看到里面有一个目录“pub”,其它什么都不能干。

    二、 vsftpd虚拟用户配置

    1. 编辑配置文件vi /etc/vsftpd/vsftpd.conf

    anonymous_enable=NO                #设定不允许匿名访问
    local_enable=YES                   #设定本地用户可以访问
    chroot_list_enable=YES             #使用户不能离开主目录
    xferlog_file=/var/log/vsftpd.log   #设定vsftpd的服务日志
    ascii_upload_enable=YES
    ascii_download_enable=YES          #设定支持ASCII
    pam_service_name=vsftpd            #PAM认证文件名,PAM将根据/etc/pam.d/vsftpd进行认证

    以下这些是关于Vsftpd虚拟用户支持的重要CentOS FTP服务配置项目。

    默认vsftpd.conf中不包含这些设定项目,需要自己手动添加CentOS FTP服务配置。
    guest_enable=YES         #设定启用虚拟用户功能。
    guest_username=ftp       #指定虚拟用户的宿主用户。-CentOS中已经有内置的ftp用户了
    user_config_dir=/etc/vsftpd/vuser_conf  #设定虚拟用户个人vsftp的配置文件存放路径。存放虚拟用户个性化的配置文件名,和虚拟用户名相同

    2. 创建chroot list,将用户ftp加入其中

    touch /etc/vsftpd/chroot_list
    echo ftp >> /etc/vsftpd/chroot_list

    3. 进行虚拟用户认证配置

    安装Berkeley DB工具,后面找不到db_load的问题就是没有安装这个软件包的原因。
    yum install db4 db4-utils

    然后,创建用户密码文本vuser_passwd.txt

    vi /etc/vsftpd/vuser_passwd.txt
    
    ftpuser1
    ftppass1
    ftpuser2
    ftppass2

    #注意奇数行是用户名,偶行是密码

    生成虚拟用户认证的db文件
    db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db

    编辑认证文件/etc/pam.d/vsftpd,全部注释掉原来语句,并增加以下两行

    vi /etc/pam.d/vsftpd
    
    auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
    account required pam_userdb.so db=/etc/vsftpd/vuser_passwd

    现在可以创建虚拟用户个性化FTP服务配置文件

    mkdir /etc/vsftpd/vuser_conf/
    vi /etc/vsftpd/vuser_conf/ftpuser1
    
    local_root=/opt/var/ftp1 #虚拟用户的根目录(根据实际修改)
    write_enable=YES 可写
    anon_umask=022 #掩码
    anon_world_readable_only=NO 
    anon_upload_enable=YES 
    anon_mkdir_write_enable=YES
    anon_other_write_enable=YES

    4.建立目录和设定权限

    mkdir /opt/var/ftp/ftpuser1        #给刚建立的用户创建目录
    chmod 777 /opt/var/ftp/ftpuser1    #设定目录权限

    5. 启动vsftp服务

    service vsftpd restart
    CentOS上的FTP服务假设完毕!!!
  • CentOS6.5如何修改和设定FQDN

    FQDN是Fully Qualified Domain Name的缩写, 含义是完整的域名. 例如, 一台机器主机名(hostname)是www, 域后缀(domain)是itgeeker.net, 那么该主机的FQDN应该是www.itgeeker.net.

    FQDN-itgeekr

    1. FQDN查询命令

    hostname -f
    #显示全域名(FQDN,Fully Qualified Domain Name)

    2. 设置Linux的FQDN方法(永久修改)

    /etc/sysconfig/network + /etc/hosts文件组合修改

    a. vi /etc/sysconfig/network 配置文件

    NETWORKING=yes
    HOSTNAME=localcentos6.itgeeker.net #此处输入你想显示的主机名

     b. 在/etc/hosts文件中增加一行主机记录

    第一个字段是该主机的IP地址, 第二个字段是你希望设置的FQDN, 最后是刚刚设置的主机名。

    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    #原始的可以保留不变
    
    192.168.188.200 localcentos6.itgeeker.net localcentos6

    #如果ip地址使用环回地址127.0.0.1,结果还是不对,在重启httpd会告诉你无法确定你的FQDN

    [root@localcentos6 ~]# service httpd restart
    Stopping httpd:        [FAILED]
    
    Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
                          [  OK  ]

    #注意顺序,网上有把hostname主机名localcentos6放在fqdn前面的就是192.168.188.200 localcentos6 localcentos6.itgeeker.net 结果用hostname -f查出来是不是fqdn.正确顺序应该是:

    ip fqdn hostname

    设置好之后, 重启主机就可以看到新的主机名了。

    通过hostname -f看到的FQDN就应该是:

    localcentos6.itgeeker.net
  • CentOS6.5 64bit如何关闭Selinux

    SELinux是「Security-Enhanced Linux」的简称,是美国国家安全局「NSA=The National Security Agency」 和SCC(Secure Computing Corporation)开发的 Linux的一个扩张强制访问控制安全模块。

    selinux

    但是SElinux是php的天敌,经常由于CentOS系统默认系统的安全性配置导致些莫名其妙的问题,比如SElinux本来是用于安全子系统的权限控制,可是搞不好就发现限制多多。所以很多软件安装之前要求关闭SElinux.

    如何查看SELinux状态?

    1. SELinux status参数为enabled即为开启状态

    /usr/sbin/sestatus -v
    SELinux status: enabled

    2、getenforce命令检查

    如何关闭SElinux

    1. 临时快速关闭SElinux,不用重启机器

    /usr/sbin/setenforce 0 立刻关闭 SELINUX
    /usr/sbin/setenforce 1 立刻启用 SELINUX

    2. 在启动时加载Selinux禁用命令行

    echo "/usr/sbin/setenforce 0" >> /etc/rc.local

    3. 编辑配置文件达到一劳永逸,当然会对安全有所影响

    vi /etc/selinux/config
    
    #SELINUX=enforcing #注释此行
    #SELINUXTYPE=targeted #注释此行
    
    SELINUX=disabled #增加此行
    
    :wq 保存并关闭
    
    shutdown -r now #重启系统

     

  • CentOS 6 64-bit如何安装Webmin1.700 Linux管理器

    如果你是一个ITGeeker,喜欢用Shell敲打命令,并且觉得那样很酷,那就没必要安装Webmin. 如果你有时候想使用图形界面来调整或更改Linux的某些设置,那么Webmin是你绝佳的选择。

    webmin

    Webmin是一个开源的基于网页的Unix/Linux系统管理工具。通过使用Webmin,你可以在浏览器上设置和安装所有的系统服务,包括:DNS、DHCP、Apache、NFS和Samba等等。因此,有了Webmin,你就再也不需要去记住所有的修改配置的命令了。

    Webmin最新的版本是1.700,已经支持CentOS 7了。官方下载页面:http://webmin.com/download.html

    RPM安装 Webmin 1.700 16.3 MB

    RPM suitable for Redhat, Fedora, CentOS, SuSE or Mandrake Linux

    1. 下载RPM文件

    cd /tmp && wget http://prdownloads.sourceforge.net/webadmin/webmin-1.700-1.noarch.rpm

    2. 安装命令

    rpm -i webmin-1.700-1.noarch.rpm

    3. 打开操作界面

    记得打开防火墙10000端口
    
    http://youripaddress:10000
     用户名root,密码就是root密码

     Webmin密码更改

    #/usr/libexec/webmin/changepass.pl /etc/webmin admin

     Webmin卸载

    #/etc/webmin/uninstall.sh

     

     

     

  • 如何安装开源网站分析工具Piwik Centos 6 64-bit

    因为悲催的Google Analytics在国内越来越不好用,添加谷歌分析的代码会严重拖慢网站的打开速度。国内有没有什么好的网站流量分析工具,国外的开源网站分析工具Piwik是个不错的选择,而且原生支持中文。

    piwik_app

    Piwik最大的特点便是容许用户将这款网站分析工具安装在自己的服务器上,使用者独立拥有自己的统计数据,而不是寄存在服务商那里,这样就可以更灵活的使用统计数据,不用担心数据丢失问题, 数据安全,反应速度都比谷歌分析好。

    Piwik的官方Demo:http://demo.piwik.org

    安装完成之后会有一段Js代码,将这段代码贴至Body标签之前就可实现对相应页面的跟踪。

    Piwik在Centos上的安装方法:

    第一步,首先要确定安装好PHP环境和MYSQL数据库。

    CENTOS6 64-BIT如何安装PHP

    第二步,下载piwik安装包

    cd /tmp
    wget http://builds.piwik.org/piwik.zip

    第三步,解压缩piwik到你的apache或其它网站服务的目录

    unzip -o piwik.zip /www/html

    第四步,设置好httpd的网站绑定和设置

    vi /etc/httpd/conf/httpd.conf

    第五部,打开piwik的网址,进入配置向导

    http://server-ip-address/

     可能需要解决的问题:

    • 安装pdo_mysql包

    Piwik是一套基于Php+MySQL技术建的开源网站访问统计系统,前身是phpMyVisites。Piwik可以给你详细的统计信息,比 如网页 浏览人数, 访问最多的页面, 搜索引擎关键词等等,并且采用了大量的AJAX/Flash技术,使得在操作上更加便易。

    Piwik还采用了插件扩展及开放API架构,可以让开发人员根据 自已的实际需求创建更多的功能.Pwiki容许用户将这款网站分析工具安装在自己的服务器上,而不用寄存在别的服务商,这就是Piwik自称为实时网站分析工具的原因,不用像谷歌分析至少需要几个小时才能更新数据。

奇客罗方公众号 奇客罗方小程序 奇客罗方客服 ITGeeker Telegram

网站由ITGeeker技术奇客开发并管理;隶属于GeekerCloud奇客罗方智能科技
Site designed and developed by ITGeekerwhich is a sub-website of GeekerCloud
网站地图 | 沪ICP备2021031434号-4