分类
Database

phpPgAdmin连接postgresql数据库的配置 CentOS6_64bit

phpPgAdmin是Postgresql的图形化操作界面,但是很多ITGeeker往往在安装的时候很难一次性成功,根据多次实践,技术奇客在此与大家分享实战经验,此案例以postgresql9.3版本为例。

 

确认一下是否已安装Postgresql数据库并启动:

netstat -lnp|grep 5432

1. 安装图形客户端phppgadmin

yum install phpPgAdmin

如果没有,安装一下EPEL源吧

yum install epel-release

 

2. phpPgAdmin.conf配置

vi /etc/httpd/conf.d/phpPgAdmin.conf

Alias /phpPgAdmin /usr/share/phpPgAdmin

<Location /phpPgAdmin>
    Order allow,deny
#   Deny from all
    Allow from all
#   Allow from 127.0.0.1
    Allow from ::1
# Allow from .example.com
</Location>

把Allow from改为客户端的ip地址或者本地127.0.0.1(安全性更好),或者改为Allow from all也可。

3. pg_hba.conf配置

vi /var/lib/pgsql/9.3/data/pg_hba.conf
主要修改ipv4部分内容,都改成trust,这样最省事。

# IPv4 local connections:
host all all 127.0.0.1/32        trust
host all all your IP/24          trust
host all all your company IP/24  trust

可以只添加公司的公网ip和自己家里的ip地址,这样比较安全。

修改认证方式,将md5改为trust,然后保存

4. postgresql.conf配置

vi /var/lib/pgsql/9.3/data/postgresql.conf

listen_addresses = '*'

此处主要修改监听本地为监听所有ip,方便远程登入用。

5. phpPgAdmin.conf配置

vi \etc\httpd\conf.d\phpPgAdmin.conf

Alias /phpPgAdmin /usr/share/phpPgAdmin

Order allow,deny
# Deny from all
Allow from all
# Allow from 127.0.0.1
Allow from ::1
# Allow from .example.com

这里一定要配置好allow from all,不要让deny在前面,否则无法登入。

6. phpPgAdmin的config.inc.php配置

\usr\share\phpPgAdmin\conf\config.inc.php
第18行改为

$conf['servers'][0]['host'] = 'localhost';

修改未localhost本地还是其它ip就看你要从哪里登入了。

7. 现在准备登入phpPgAdmin了

service httpd restart

重启web apache服务

service postgresql-9.3 restart

重启postgresql服务,使刚才做的修改生效。
访问 http://your ip address/phpPgAdmin/

注意区分phpPgAdmin的大小写

在Postgresql的web管理界面,输入登陆名及密码 -安装数据库时创建的用户和密码

 

8. 相关问题及碰到困难

 

1. 重置PostgreSQL密码:

 

 

sudo - postgres

psql

#ALTER USER postgres with password '你的密码';
\q

exit
或者有时需要重置postgres用户的linux密码:
sudo passwd -d postgres 删除linux postgres的密码
sudo -u postgres passwd 创建linux postgres的密码

 

 

2. 如果碰到403 forbidden,请检查文件夹权限。

3. 浏览器提示“您的 PHP 中没有完整的数据库支持”

这表明没有安装php和php-pgsql软件包

yum install php-pgsql

yum会同时安装2个依赖包php-pdo,php-common,它们的安装顺序为php-common php-pdo php-pgsql,也可以手动依次安装。

4. 网站打开后直接显示源码

这表明没有安装php

yum install php

5. 如果碰到版本冲突

Error: Package: php-pgsql-5.3.3-40.el6_6.x86_64 (updates)
           Requires: php-common(x86-64) = 5.3.3-40.el6_6
           Installed: php-common-5.4.33-2.el6.remi.x86_64 (@remi)
               php-common(x86-64) = 5.4.33-2.el6.remi
           Available: php-common-5.3.3-38.el6.x86_64 (base)
               php-common(x86-64) = 5.3.3-38.el6
           Available: php-common-5.3.3-40.el6_6.x86_64 (updates)
               php-common(x86-64) = 5.3.3-40.el6_6
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

解决方案

rpm -qa | grep php-common 
rpm -e --nodeps php-common-5.4.33-2.el6.remi.x86_64

使用强制移出冲突版本需注意其它软件和它依赖的关系,否则会引起其它软件无法运行等问题。

 

分类
Linux PHP

CentOS 7 64bit如何安装php soap模块

错误提示:
Your server does not have the SOAP Client class enabled – some gateway plugins which use SOAP may not work as expected.
查看soap模块是否安装的办法:在php的安装目录下运行php -m来查看
/usr/bin/php -m |grep 'sosap'

如果没有安装,则进入php的安装源文件夹

cd /tmp && tar zxvf php-5.4.16.tar.gz && cd php-5.4.16/ext/soap

此处自己去php官方下载相应的版本。

进入后运行phpize命令
/usr/bin/phpize

碰到错误提示,安装两个依赖包解决

# /usr/bin/phpize
Can’t find PHP headers in /usr/include/php
The php-devel package is required for use of this command.
yum install php-pear
yum install php-devel

查看信息是否有还有错误,没有出错的话运行如下命令:

./configure –-with-php-config=/usr/local/php/bin/php-config –enable-soap
./configure --with-php-config=/usr/bin/php-config --enable-soap

然后是安装编译

make
最后是安装
make install
安装好之后会提示soap.so文件的保存路径
# make install
Installing shared extensions:     /usr/lib64/php/modules/
接着修改php.ini文件
vi /etc/php.ini
查找/etc/php.ini中的extension_dir = “./”,默认是注释掉的
修改为

extension_dir = "/usr/lib64/php/modules/"

并在此行后增加如下,然后保存:

extension = "soap.so"

执行php-fpm看看有没有错误

没有php-fpm,安装一个吧
yum install -y php-fpm
重新启动apache:
systemctl restart php-fpm
再运行php -m就已经能看到扩展的soap模块了。
分类
Linux

CentOS 7 x86_64适用的EPEL安装源 国内镜像列表

EPEL 是 Extra Packages for Enterprise Linux 的缩写(EPEL),是用于 Fedora-based Red Hat Enterprise Linux (RHEL) 的一个高质量软件源EPEL(http://fedoraproject.org/wiki/EPEL) 是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。

epel468x120

安装EPEL源

官方源直接安装

rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

国内的往往速度会更快

#中科大镜像源 高质量源
rpm -Uvh http://mirrors.ustc.edu.cn/centos/7.0.1406/extras/x86_64/Packages/epel-release-7-5.noarch.rpm
 
#浙大源 也非常不错
rpm -Uvh http://mirrors.zju.edu.cn/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
 
#上海交大源,更新比较快
rpm -Uvh http://ftp.sjtu.edu.cn/fedora/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

#还有东北的活雷锋东软的源,最近有些抽风,经常打不开
http://mirrors.neusoft.edu.cn/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

#sohu镜像源,更新比较慢 
rpm -Uvh http://mirrors.sohu.com/fedora-epel/7/x86_64/e/epel-release-7-2.noarch.rpm

这是来自官方公布的数据(2015-01-28)

http://mirrors.fedoraproject.org/publiclist/EPEL/7/x86_64/#CN

配置EPEL源

vi /etc/yum.repos.d/epel.repo

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
baseurl=http://ftp.sjtu.edu.cn/fedora/epel/7/$basearch
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
baseurl=http://ftp.sjtu.edu.cn/fedora/epel/7/$basearch/debug
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
baseurl=http://ftp.sjtu.edu.cn/fedora/epel/7/SRPMS
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

vi /etc/yum.repos.d/epel-testing.repo

[epel-testing]
name=Extra Packages for Enterprise Linux 7 - Testing - $basearch
baseurl=http://ftp.sjtu.edu.cn/fedora/epel/testing/7/$basearch
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=testing-epel7&arch=$basearch
failovermethod=priority
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

[epel-testing-debuginfo]
name=Extra Packages for Enterprise Linux 7 - Testing - $basearch - Debug
baseurl=http://ftp.sjtu.edu.cn/fedora/epel/testing/7/$basearch/debug
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=testing-debug-epel7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

[epel-testing-source]
name=Extra Packages for Enterprise Linux 7 - Testing - $basearch - Source
baseurl=http://ftp.sjtu.edu.cn/fedora/epel/testing/7/SRPMS
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=testing-source-epel7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

这是已经替换好上海交大源的文件,如果想使用中科大的,请用http://mirrors.ustc.edu.cn/来替换http://ftp.sjtu.edu.cn/fedora/就可。其它以此来推。

检查源是否已添加

yum repolist

运行命令生成缓存

yum clean all && yum makecache

选择速度最快的yum源

yum安装插件yum-plugin-fastestmirror

yum install yum-plugin-fastestmirror

 

分类
Linux

CentOS 7 64bit Minimal安装后的初步10项优化和配置(更新epel和remi源安装)

CentOS官方于2014年7月7日发布64位CentOS 7.0.1406开始,不知不觉已快半年了。也已经有越来越多的软件开始支持CentOS7了。ITGeeker也尝试将越来越多的服务架构于其之上。

CentOS 7是一个大版本更新,应该有不少提升。连服务的启动停止命令也有了很大的变化。

CentOS 6及之前:

service httpd restart

CentOS 7:

systemctl start httpd.service

centos7

1. 更新系统并安装必备的组件

yum upgrade or yum update
yum install wget telnet perl perl-devel net-tools kernel-devel 
yum groupinstall "Development tools" -y

安装这些之后会大大方便今后安装其他应用是碰到的依赖包问题。其中net-tools是为了提供dig, nslookup, ipconfig等命令,方便配置CentOS 7初始化网络环境。如果不安装这个,在CentOS 7中,可以使用ip addr命令来代替ipconfig进行当前ip地址查询。

2. 添加源(repository)REMI & EPEL

yum安装时,要想安装比较新的版本软件,可以试试这两个源。都有一些国内镜像,我添加的EPEL是阿里云镜像的。

这是适合CentOS 6的源

cd /tmp && wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm && wget http://mirrors.yun-idc.com/epel/6/x86_64/epel-release-6-8.noarch.rpm && rpm -Uvh remi-release-6.rpm epel-release-6-8.noarch.rpm

真正适合CentOS 7的epel和remi源

rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

如果国外没法用,那用国内的镜像源

#中科大镜像源
rpm -Uvh http://mirrors.ustc.edu.cn/centos/7.0.1406/extras/x86_64/Packages/epel-release-7-5.noarch.rpm

#浙大源
rpm -Uvh http://mirrors.zju.edu.cn/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

#上海交大源
rpm -Uvh http://ftp.sjtu.edu.cn/fedora/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

#sohu镜像源,更新比较慢 
rpm -Uvh http://mirrors.sohu.com/fedora-epel/7/x86_64/e/epel-release-7-2.noarch.rpm

使用方法:

yum --enablerepo=remi install php mysql php-mysql mysql-server phpmyadmin 

或者

yum --enablerepo=epel install php mysql php-mysql mysql-server phpmyadmin

3. FQDN配置,全称Fully Qualified Domain Name

有些软件,特别是邮件系统对这个要求比较高。

vi /etc/hosts

127.0.0.1 localhost.localdomain localhost geeker
::1 localhost.localdomain localhost geeker

vi /etc/sysconfig/network
HOSTNAME=geeker

设置好之后,查询是否完整

hostname -f

4. 关闭Selinux

这是Centos系统的安装机制,单单往往导致很多软件无法正常安装,让我们关掉它吧!

/etc/selinux/config
在 SELINUX=enforcing 前面加个#号注释掉它
#SELINUX=enforcing
然后新加一行
SELINUX=disabled
#SELINUXTYPE=targeted #注释掉这行

保存,退出,重启系统,搞定。

不想重启,可以使用

setenforce 0 #使配置立即生效

5. CentOS 7的防火墙关闭和iptables安装

CentOS 7.0默认使用的是firewall作为防火墙,但可能一下子很难适应,让我们先改回原先的iptables防火墙吧!

关闭CentOS 7的firewall:

systemctl stop firewalld.servic #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动

安装iptables防火墙

yum install iptables-services #安装
vi /etc/sysconfig/iptables #编辑防火墙配置文件

启动iptables防火墙

systemctl restart iptables.service #最后重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动

6. 本地SMTP邮件发送功能(Postfix)

很多软件和服务可以用到这个功能给用户发送通知邮件,需要配置一下。

最好加上一个认证,使用Postfix + Saslauthd

yum remove sendmail   #如果有原先的sendmail,先移除
yum install postfix   
vi /etc/postfix/main.cf   #编辑postfix主配置文件
useradd itgeeker   #增加用户
passwd itgeeker   #设置用户密码
yum install cyrus-sasl*

/bin/systemctl restart saslauthd.service && /bin/systemctl restart postfix.service   #启动postfix和saslauth服务

最好用telnet测试一下,前面安装的telnet就发挥作用了。

telnet localhost smtp
ehlo localhost
mail from:
rcpt to:<alanljj@qq.com>
data
Welcome to itgeeker mail server
.
quit
#查看邮件内容
less /var/log/maillog
cd /root/Maildir/new #注意M要大写
ll
cat ***** #*代表列出的文件名,可以查看新的邮件内容
vi /var/log/maillog
Tips小技巧:
有时候telnet登陆后就退不出来了ctrl+c也不管用此时可以使用ctl+] 切换,然后quit退出。

7.  CentOS 7时间同步及更改

和之前基本一样:

date

yum install ntpdate -y
ntpdate time.windows.com && hwclock -w

#连网更新时间,如果成功,将系统时间,写入BOIS

hwclock -w 或 hwclock --systohc

date -s 20150119
date -s 17:28:00

8. Shell登陆操作显示中文乱码问题(和CentOS 6一样,问题还是存在)

方法一:

vi /etc/sysconfig/i18n 文件中修改LANG的设置为:
#LANG="en_US.UTF-8"
#SYSFONT="latarcyrheb-sun16"
LANG="zh_CN.GBK"
LANGUAGE="zh_CN.GBK:zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"

然后在/etc/profile文件中增加export LC_ALL=zh_CN.GBK内容。使得全部的LC*都统一了。

重启主机

方法二: 更改shell的显示语言

ITGeeker技术奇客使用的是xshell,直接在当前链接的属性-终端-选择UTF-8为编码即可。如果你经常使用变换使用shell,那就用第一种方法吧。

9. FTP服务安装(vsftpd安装)

 

为主机开通FTP服务还是非常有必要的,我们为主机快速安装vsftpd吧。

可以参考详细教程 CentOS6.5 64bit如何安装配置FTP服务(vsftpd)

yum install vsftpd -y
vi /etc/vsftpd/vsftpd.conf

#记得CentOS 7启动命令有所不同

systemctl restart vsftpd
systemctl enable vsftpd

10.  Vmware Tools安装

如果你使用的是虚拟机,那最好装一下Vmware Tools

 

先点击Vmwar虚拟机管理界面菜单,虚拟机–安装Vmware Tools安装。

mkdir /mnt/cdrom && mount -t iso9660 /dev/cdrom /mnt/cdrom && cd /mnt/cdrom && cp VMwareTools-9.6.2-1688356.tar.gz /root

mount -t iso9660 /dev/cdrom /mnt/cdrom && cd /mnt/cdrom && cp VMwareTools-9.6.2-1688356.tar.gz /root

cd /root && tar zxvf VMwareTools-9.6.2-1688356.tar.gz && cd vmware-tools-distrib

安装vmware tools
./vmware-install.pl

中间的问题全部选择默认,可能会有错误提示,基本没啥问题。

依赖包,如果有需要 yum -y install perl perl-devel

请使用你的版本代替VMwareTools-9.6.2-1688356.tar.gz

分类
日志分析

如何使用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
分类
FTP

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服务假设完毕!!!
分类
Linux

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 #重启系统

 

分类
Linux

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 技术奇客

如何安装开源网站分析工具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自称为实时网站分析工具的原因,不用像谷歌分析至少需要几个小时才能更新数据。

分类
PHP

Centos6 64-bit如何安装PHP

作为LANMP组件的重要组成部分,学会快速安装和测试PHP显得非常重要。

php

PHP(全称:PHP:Hypertext Preprocessor,即“PHP:超文本预处理器”)是一种开源的通用计算机脚本语言,尤其适用于网络开发并可嵌入HTML中使用。PHP的语法借鉴吸收了C语言、Java和Perl等流行计算机语言的特点,易于一般程序员学习。PHP的主要目标是允许网络开发人员快速编写动态页面,但PHP也被用于其他很多领域。

Centos Shell底下安装和测试PHP

# yum install php -y

安装非常简单,但要是想安装比较新的稳定版本PHP 5.4.30,可能需要更改CentOS源Repository进行安装,ITGeeker建议你参考:

 在 CENTOS 6 上安装 PHP 5.4.30

据说新版本的PHP比原先的版本速度高出将近一倍。

测试PHP是否安装正确

1. 建立测试文件 “testphp.php”,放在Apache网站服务的根目录

# vi /var/www/html/testphp.php

2. 添加以下内容:

<?php
phpinfo();
?>

3. 重启httpd服务

# service httpd restart

4. 打开页面

http://server-ip-address/testphp.php

testphp

这里会显示关于PHP版本等所有的详细信息。

如果你想让你的Mysql支持你的php,只要安装php-mysql就可以了

# yum install php-mysql -y

如果现在打开testphp.php文件就会看到mysql module的所有信息。