分类目录归档:CentOS

linux红帽分支的一个免费+开源的系统~!

centos6.5 yum 安装php7,nginx1.8.1

#更新系统服务

yum -y update

#导入remi源

#64
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

#32
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

#资源库
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

#创建nginx.repo源文件

touch /etc/yum.repos.d/nginx.repo

#打开源文件内容

vim /etc/yum.repos.d/nginx.repo

#编辑器源文件内容

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

 

#更新源

yum –enablerepo=remi -y update 

#安装服务 php70,mysql,nginx,php-fpm
yum -y –enablerepo=remi,remi-php70 install nginx php-fpm php-common

#安装PHP模块
yum -y –enablerepo=remi,remi-php70 install php-opcache php-pecl-apcu php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongodb php-pecl-redis php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml

#安装Mysql
yum -y install mysql mysql-server

#安装mysql扩展
yum -y install mysql-connector-odbc mysql-devel libdbi-dbd-mysql

#创建fastcgi.conf
touch /etc/nginx/fastcgi.conf

#打开fastcgi.conf
vim /etc/nginx/fastcgi.conf

#编辑fastcgi.conf

if ($request_filename ~* (.*)\.php) {
set $php_url $1;
}
if (!-e $php_url.php) {
return 403;
}
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;

fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;

fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;

fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;

# PHP only, required if PHP was built with –enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;

#打开nginx.conf (ps:我的nginx是最新文档版本1.8.1)
vim /etc/nginx/nginx.conf

#编辑以下内容

user nginx;
worker_processes auto;

error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;

#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 65535;

events
{
use epoll;
worker_connections 65535;
}

http
{
include /etc/nginx/mime.types;
default_type application/octet-stream;

server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 8m;

sendfile on;
tcp_nopush on;

keepalive_timeout 15;

tcp_nodelay on;

fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;

gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;
gzip_disable msie6;
#limit_zone crawler $binary_remote_addr 10m;
log_format ‘$remote_addr – $remote_user [$time_local] “$request” ‘
‘$status $body_bytes_sent “$http_referer” ‘
‘”$http_user_agent” “$http_x_forwarded_for”‘;
#access_log /var/log/nginx/access.log main;
include /etc/nginx/conf.d/*.conf;
}

#设置nginx 自启服务
/sbin/chkconfig –add nginx
/sbin/chkconfig nginx on

#nginx 启动
/sbin/service nginx start

#设置php-fpm 自启服务
/sbin/chkconfig –add php-fpm
/sbin/chkconfig php-fpm on

#php-fpm 启动
/sbin/service php-fpm start

#添加mysql 自启服务
/sbin/chkconfig –add mysqld
/sbin/chkconfig mysqld on

#mysql 启动
/sbin/service mysqld start

#设置MYSQL密码
mysqladmin -u root password ‘new passwd’
#打开mysql
mysql -u root -p
#删除test数据库
DROP DATABASE test;
#删除匿名帐户
DELETE FROM mysql.user WHERE user =”;
#重载权限
FLUSH PRIVILEGES;

#设置一个独立的nginx 虚拟主机配置
cd /etc/nginx/conf.d

#创建一条zmq.conf
touch zmq.conf

#打开zmq.conf
vim zmq.conf

#编辑以下内容,对应请修改需要的ROOT目录

server {
listen 80;
server_name Domain name
index index.html index.htm index.php;
root you in path
location ~ .*\.(php|php5|php7)?$
{
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 1h;
}
location / {
try_files $uri $uri/ /index.php?$query_string;
}
access_log you in url/you in name.log;
}

其余提示

php-fpm 需要配置相关的权限

nginx 执行的程序目录也需要配置权限

centos6.5 yum install nginx php mysql

一、下载Remi源

32位系统选择:
rpm -ivh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
64位系统选择:
rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
导入key:
rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

远程导入Remi包

rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

导入key:
rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-remi

二、安装lnmp
更新系统rmp
yum –enablerepo=remi -y update
安装php

yum –enablerepo=remi,remi-php55 -y install nginx php-fpm php-common

安装Mysql
yum -y install mysql mysql-server
安装mysql扩展
yum  -y install mysql-connector-odbc mysql-devel libdbi-dbd-mysql
安装php的扩展
yum –enablerepo=remi,remi-php55 -y install php-opcache php-pecl-apcu php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml php-redis php-soap php-ldap php-mysql php-devel
三、启动服务配置
#增加mysql启动对象
/sbin/chkconfig –add mysqld
#开启启动mysql
/sbin/chkconfig mysqld on
 #设置php
/sbin/chkconfig php-fpm on
 #重启MySql
/etc/init.d/mysqld restart
#重启nginx
/etc/init.d/nginx  restart
 #启动php-fpm
/etc/rc.d/init.d/php-fpm start
配置系列:
一、配置nginx支持php
#备份原有配置文件
cp /etc/nginx/nginx.conf  /etc/nginx/nginx.confbak

#编辑
vi /etc/nginx/nginx.conf

#修改nginx运行账号为:nginx组的nginx用户
user  nginx  nginx;

#备份原有配置文件
cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.confbak

#编辑
vim /etc/nginx/conf.d/default.conf

#增加index.php
index index.php index.html index.htm index.php;

#取消FastCGI server部分location的注释,并要注意fastcgi_param行的参数,改为$document_root$fastcgi_script_name,或者使用绝对路径
# pass the PHPscripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root          html;
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
include       fastcgi_params;
}

二、配置php

#编辑
vim /etc/php.ini

#设置时间格式
date.timezone= PRC

#在386行列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。

disable_functions=passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status
,ini_alter,ini_restore,dl,openlog,syslog,readlink
,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen
,disk_free_space,checkdnsrr,getservbyname,getservbyport,disk_total_space
,posix_ctermid,posix_get_last_error,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid
,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp
,posix_getpid,posix_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid
,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid
,posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname

#在432行 禁止显示php版本的信息
expose_php = Off

#大约745行 magic_quotes_gpc改为On = 防止SQL注入

magic_quotes_gpc = On

5.3以上版本为放弃的,不然报错
Starting php-fpm: [07-Sep-2015 14:17:22] NOTICE: PHP message: PHP Warning:  Directive ‘magic_quotes_gpc’ is deprecated in PHP 5.3 and greater in Unknown on line 0

#在380行,设置表示允许访问当前目录(即PHP脚本文件所在之目录)和/tmp/目录,可以防止php木马跨站,如果改了之后安装程序有问题,可注销此行,或者直接写上程序目录路径/var/www/html/www.osyunwei.com/:/tmp/
open_basedir = .:/tmp/

三、配置php-fpm

#备份原有配置文件
cp /etc/php-fpm.d/www.conf   /etc/php-fpm.d/www.confbak

#编辑
vi /etc/php-fpm.d/www.conf

#修改用户为nginx
user = nginx
#修改组为nginx
group = nginx

:wq

#############################################################################

测试篇
cd /var/www/html   #进入nginx默认网站根目录
vi  index.php   #新建index.php文件
<?php
phpinfo();
?>

:wq! #保存

#设置目录所有者
chown -R nginx:nginx /var/www/html
#设置目录权限
chmod -R  700 /var/www/html

在客户端浏览器输入服务器IP地址,可以看到相关的配置信息!

#############################################################################

备注
设置nginx默认站点目录是:/var/www/html
权限设置:
chown -R nginx:nginx /var/www/html

MySQL数据库目录是:
/var/lib/mysql
权限设置:
chown -R mysql:mysql  /var/lib/mysql

四、设置MYSQL
设置MYSQL密码
mysqladmin -u root password  ‘new passwd’
让mysql数据库更安全
此时会要求你输入刚刚设置的密码,输入后回车即可
选择Mysql数据库用户
        mysql -u root -p
 [删除test数据库]
        DROP DATABASE test;
 [删除匿名帐户]
        DELETE FROM mysql.user WHERE user =”;
 [重载权限]
         FLUSH PRIVILEGES;
#重启MySql
/etc/init.d/mysqld restart
#重启nginx
/etc/init.d/nginx  restart
#重启php-fpm
/etc/rc.d/init.d/php-fpm  restart
参考资料:
http://www.if-not-true-then-false.com/2010/install-apache-php-on-fedora-centos-red-hat-rhel/
http://www.myhack58.com/Article/sort099/sort0102/2014/42632_2.htm

 

centos 6.5 yum install nginx

查询rpm包是否存在nginx
yum list | grep nginx
如果不存在,执行yum 安装rpm包
yum install http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
ps:该项只有centos6.5 使用,其余版本未证实可使用
设置开机启动

chkconfig nginx on

# 启动Nginx服务

/etc/init.d/nginx start
# 停止Nginx服务
/etc/init.d/nginx stop
# Nginx配置文件位置
/etc/nginx/nginx.conf

yum 源Remi 安装lnmp in php5.5X

一、下载Remi源

32位系统选择:
rpm -ivh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
64位系统选择:
rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
导入key:
rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

远程导入Remi包

rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

导入key:
rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-remi

二、安装lnmp
更新系统rmp
yum –enablerepo=remi -y update
安装apache和php

yum –enablerepo=remi,remi-php55 installhttpdphpphp-common

安装Mysql
yum –enablerepo=remi -y install mysql mysql-server
安装mysql扩展
yum –enablerepo=remi -y install mysql-connector-odbc mysql-devel libdbi-dbd-mysql
安装php的扩展
yum –enablerepo=remi,remi-php55 install php-pecl-apcu php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml php-redis php-soap php-ldap php-mysql
安装apache扩展
yum –enablerepo=remi -y install httpd-manual mod_ssl mod_perl mod_auth_mysql
三、启动服务配置
[设置apache为自启动]
/sbin/chkconfig httpd on
[mysql服务]
/sbin/chkconfig –add mysqld
 [mysqld服务]
/sbin/chkconfig mysqld on
 [自启动 httpd 服务]
/sbin/service httpd start
[自启动mysqld服务]
/sbin/service mysqld start
四、设置MYSQL
设置MYSQL密码
mysqladmin -u root password  ‘new passwd’
让mysql数据库更安全
此时会要求你输入刚刚设置的密码,输入后回车即可
选择Mysql数据库用户
        mysql -u root -p
 [删除test数据库]
        DROP DATABASE test;
 [删除匿名帐户]
        DELETE FROM mysql.user WHERE user =”;
 [重载权限]
         FLUSH PRIVILEGES;
参考资料:http://www.if-not-true-then-false.com/2010/install-apache-php-on-fedora-centos-red-hat-rhel/

linux上SVN解决冲突的办法

 

工程师A修改了a.txt的第一行,提交了。
工程师B也修改了a.txt的第一行,然后执行svn up,这时SVN提示了:(以下,你开始扮演工程师B的角色了)
$ svn up
在 “a.txt” 中发现冲突。
选择: (p) 推迟,(df) 显示全部差异,(e) 编辑,
(mc) 我的版本, (tc) 他人的版本,
(s) 显示全部选项:

我一般选择p(推迟),即引入冲突到本地,不过不会影响到SVN服务器端,可以放心。

OK,开始解决冲突了。

这时,会生成几个文件:

a.txt  a.txt.mine  a.txt.r6328  a.txt.r6336

其中a.txt中包含了工程师A、B的所有修改,以<<<<<<<、=======、>>>>>>>分隔。

a.txt.mine是工程师B的修改,也就是未update前的a.txt。

a.txt.r6328 是工程师A提交前的版本,即未导致冲突的版本。

a.txt.r6336是工程师A提交后的版本,即导致冲突的版本。

一般,查看a.txt就可以看到冲突的详情了:

[yicheng@chengyi svntest]$ cat a.txt

<<<<<<< .mine

i also modify ,agndagnagasdg;

=======

i modify this line;

>>>>>>> .r6336

以上,<<<<<<< .mine和=======之间是工程师B(当前的“你”)修改的内容,=======与>>>>>>> .r6336之间是工程师A修改的内容。这时,最好的办法是,叫上工程师A,你们一起确定这些修改是否都需要,是否相互兼容,然后留下需要的部分,删 除<<<<<<< .mine、=======和>>>>>>> .r6336。

然后,测试,测试!确定没问题之后,就可以告诉SVN,你解决冲突了:

svn resolve –accept working a.txt (该命令会删除a.txt.mine  a.txt.r6328  a.txt.r6336)

svn ci -m ’some comment’ a.txt

这里需要注意的是,a.txt.mine  a.txt.r6328  a.txt.r6336这几个文件的存在代表着有冲突产生。如果不解决冲突,就手工删除它们,SVN服务器也会很傻的认为你解决了冲突,允许你继续之后 的工作。但是,冲突依旧存在,你的a.txt中不但有别人的修改,还有那些讨厌的<=>符号。

在冲突未解决前,试图提交代码是肯定会失败的:

$ svn ci -m ”

svn: 提交失败(细节如下):

svn: 提交终止: “/path/to/svntest/a.txt” 处于冲突状态

 

在使用svn update 的时候,会出现如下一些信息:
$ svn update
U  INSTALL
G  README
C  bar.c
Updated to revision 46.

那么,U 开头的信息提示你,这个文件在你本地没有修改过,文件已经根据版本库的新版本更新了。G 开头的信息提示你,这个文件在你本地已经修改过,但是和版本库中对应的版本并没有冲突的地方,svn已经合并更新了。而C 开头的信息提示你,这个文件有点麻烦,你在本地的修改和版本库中的版本修改的地方重叠了,也就是说,你修改了某一行,你的同事也修改了同一行。这个就需要你自己手工去解决了。当冲突发生时,要注意到有三件事情可以帮助你解决问题。

 

Linux下开源的虚拟主机管理系统

收费的虚拟主机控制面板(比如CPanel,DirectAdmin)由于价格昂贵,花钱买不划算。于是一直在苦苦寻找免费或者破解的类似于DirectAdmin的虚拟主机管理系统,没想到开源界已经产生了如此多优秀的免费的虚拟主机管理系统:ZPanel,web-cp,VHCS,virtualmin,PHPMyWebHosting,SysCP。另外还有Kloxo
 
 1. ZPanel – 在Windows下的免费Hosting Panel
  ZPanel已经更名为RapidCP,最新版本为RapidCP 3.0
  网址:
  http://sourceforge.net/projects/zpanel/
  http://www.rapidcp.com/
  RapidCP新功能介绍:http://www.rapidcp.com/features/
  ZPanel 2.6 is the latest stable release. It is recommended for production environments.
  RapidCP 3.0 is the latest beta release. It is intended for testing purposes only.
 
 2. web-cp – *nix的虚拟主机管理
  网址:
  http://sourceforge.net/projects/webcp/
  http://www.web-cp.net/
  用PHP-CLI写的一个Web服务器
  支持多种脚本Scripting PHP,sun asp,cf,perl…
  支持shell access
  支持 SSI
  支持.htacess
  支持多种DNS服务 bind,powerdns,mydns,tinydns
  完全使用PHP开发,支持Shell Access
  要安装PHP CLI(Command-LIne ) 控制面板的后端服务器 server/webcp.php 和 httpd服务器 server/webcp-httpd.php 都需要 PHP CLI二进制支持,以便能够操作系统进程
  个人:个人信息,密码,邮件,ftp
  域:允许域的所有者在该域下增删用户,设定别名,子域名,数据库
  销售商:增加domain
  服务器: 监视服务,管理服务
  
3. VHCS – Virtual Hosting Control System
  支持*nix系统的,用Perl和C实现核心功能,PHP实现管理界面。
  网址:
  http://sourceforge.net/projects/vhcs/
  http://www.vhcs.net/
 
 4、webmin的虚拟主机管理模块virtualmin
  webmin是一个可运行于Linux/freebsd的web界面的主机管理系统,有中文包
  而virtualmin则是它的一个虚拟主机管理模块,提供中文支持。
  webmin官方站: http://www.webmin.com/
  virtaulmin站点: http://www.swelltech.com/virtualmin/
 
 5、基于php/mysql的虚拟主机控制程序PHPMyWebHosting
  PHPMyWebHosting是个开源的,基于php/mysql的虚拟主机控制面板程序,你可以用它建立带有邮箱,mysql支持的多域名虚拟主机,它须建立在Linux/freebsd之上,不支持windows。
  安装phpmywebhosting你必须拥有系统管理员(root)权限,并依次安装以下套件:
  MySQL
  Apache and PHP
  Postfix
  Maildrop
  Courier
  ProFTPd
  PHPMyWebHosting
  官方站上有基于各平台详细的安装说明 http://www.ladse.de
  phpmywebhosting下载:http://www.ladse.de/index.php/Files
  
6、SysCP虚拟主机管理系统[全php版]
  1.有中文包
  2.admin,reseller,client 三级管理
  3.全部为php代码构成
  4.有不少模块(modules)供选择安装
  5.开源,免费(基于GPL)
  6.Linux/bsd环境,特别是debian(最初是专为它开发的)
  是德国人写的,有简体中文,英文,法文,德文语言包,是多语言的
  具有以下特性:
  Customer Interface
  * managing email accounts
  * managing email forwarders
  * managing subdomains
  * managing mysql databases
  * managing additional ftp account
  * managing .htaccess password protections for directories
  * managing path options for example directorylisting
  Admin Interface:
  * managing of customers: you can define exactly what kind of resources your customers get (e.g. amount of pop accounts, amount of mysql databases etc.)
  * manage domains: you can individualy edit zone files and directory index per domain
  支持以下配套服务器或引擎:
  # webserver: [Apache 1.3] with [PHP4] (apache2.0.x也可以)
  # mail transfer agent: [Postfix]
  # pop/imap server: [Courier]
  # ftp server: [ProFTPd]
  # database server: [MySQL]
  # nameserver: [Bind9]
  # traffic accounting and statistics: [Webalizer]
  官方站:http://www.syscp.de/ 
  下载:http://www.syscp.de/wiki/EnDownloads
  模块下载:http://modules.syscp.de/
  在线演示:http://www.syscp.de/onlinedemo/index.php

  Webmin是目前功能最强大的基于Web的Unix系统管理工具
  Webmin是目前功能最强大的基于Web的Unix系统管理工具。管理员通过浏览器访问Webmin的各种管理功能并完成相应的管理动作。目前Webmin支持绝大多数的Unix系统,这些系统除了各种版本的linux以为还包括:AIX、HPUX、Solaris、Unixware、Irix和FreeBSD等。

 Webmin 让您能够在远程使用支持 HTTPS (SSL 上的 HTTP)协议的 Web 浏览器通过 Web 界面管理您的主机。这在保证了安全性的前提下提供了简单深入的远程管理。这使得 Webmin 对系统管理员非常理想,因为所有主流平台都有满足甚至超出上述需求的 Web 浏览器。而且,Webmin 有其自己的“Web 服务器”,因此不需要运行第三方软件(比如 Web服务器)。万事具备。Webmin 的模块化架构允许您在需要时编写您自己的配置模块。除了在此介绍的模块之外,Webmin 还包括许多模块。尽管目前我们将主要关注网络服务,但是您会看到,几乎您系统的每一部分都能够通过 Webmin 来配置和管理。
  开源主机/虚拟主机管理系统
  ISPCONFIG:安装简单,可以满足基本的虚拟主机服务商需求.
  VHCS:感觉安装复杂,相关说明文档少.
  WEB-CP,SYSCP:功能有点弱.
  PHPMyWebHosting:需要改动的东西很多.
  GNUHH:功能最强大,管理模块最多,用户和管理员的操作流程也比较清晰.推荐系统管理员和IDC使用.
  评价参考
  用户群最多的 VHCS. 而 Web-CP,DTC和SysCp也都有许多用户
  功能最强大的 GNU Hosting Helper 支持机群,文档,订单
  单机版本功能最强大的是ISPConfig
  结构最好的 SysCP, 采用类似结构的有Web-Cp,DTC,VHCS
  结论:大型IDC,推荐GNU Hosting Helper,备选ISPMan
  单台主机,推荐 VHCS2,备选 Web-CP,DTC,ISPConfig,WHT,RavenCore(推荐程度依次降低,其实这几个系统都不错,看个人的喜好了)
  DTC是一个即适合单机使用,也适合集群使用的主机管理系统,Apple欧洲公司就是选用这套系统在Mac OS X上使用

  ——————————–华丽的分割线———————————-
  Case1: ISPConfig
  Download ==) http://www.ispconfig.org/downloads.htm
  Forums ==) http://www.howtoforge.com/forums
  The current version is: 2.2.22 (== 2008/15/04
  Case2: ISP-Manager
  Download ==) http://www.projektfarm.com/updates_en.html
  The current version is: 2.0.4 (== 2005/24/10
  ispconfig使用手冊
  ispconfig user_guide ==) http://ispconfig.org/downloads/manual_big5/toc.html
  中文版的管理員手冊_chinese: Administrator manual
  ref: http://ispconfig.org/downloads/manua…n_big5_src.htm
  中文版的reseller手冊_chinese: Reseller manual
  ref: http://ispconfig.org/downloads/manua…r_big5_src.htm
  中文版的客戶手冊_chinese: Clients manual
  ref: http://ispconfig.org/downloads/manua…e_big5_src.htm

  ———————————-再分————————————–
  一些独立主机之_Control_Panel_全部都免费.
  1. xpanel.com
  2. webmin
  3. webcp ==) http://web-cp.net/
  4. vhcs.net
  5. isp-control.net
  6. syscp ==) http://www.syscp.de
  7. dtc ==) http://www.gplhost.com/?rub=softwares&sousrub=dtc
  8. zpanel ==) http://www.thezpanel.com/
  9. http://phpanel.net
  0. http://www.ispconfig.org/
  a. http://www.parsv.com/winpanel.htm
  b. http://cubepanel.com/download/index.htm

Linux端口以及防火墙端口的查看命令

Linux下如果我们需要知道2809号端口的情况的话,我们可以这样,如下命令:
$netstat -pan|grep 2809
tcp    0   0 0.0.0.0:2809   0.0.0.0:*   LISTEN   9493/java
下面是常用参数的解释:
NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval]
-a            显示所有连接和监听端口。
-b            显示包含于创建每个连接或监听端口的可执行组件。在某些情况下已知可执行组件
拥有多个独立组件,并且在这些情况下
包含于创建连接或监听端口的组件序列被显示。这种情况下,可执行组件名
在底部的 [] 中,顶部是其调用的组件,等等,直到 TCP/IP 部分。注意此选项
可能需要很长时间,如果没有足够权限可能失败。

-e            显示以太网统计信息。此选项可以与 -s选项组合使用。

-n            以数字形式显示地址和端口号。
-o            显示与每个连接相关的所属进程 ID。
-p proto      显示 proto 指定的协议的连接;proto 可以是
下列协议之一: TCP、UDP、TCPv6 或 UDPv6。
如果与 -s 选项一起使用以显示按协议统计信息,proto 可以是下列协议之一:
IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。
-r            显示路由表。
-s            显示按协议统计信息。默认地,显示 IP、
IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息;
-p 选项用于指定默认情况的子集。

-v            与 -b 选项一起使用时将显示包含于
为所有可执行组件创建连接或监听端口的组件。

interval      重新显示选定统计信息,每次显示之间
暂停时间间隔(以秒计)。按 CTRL+C 停止重新
显示统计信息。如果省略,netstat 显示当前
配置信息(只显示一次)
netstat -nl | grep 110
看到有结果的话就是可以使用了(则端口号开启了)
先可以看看/etc/services文件,改文件定义了linux里所有的服务及其使用的端口

防火墙端口:
当Linux打开防火墙后,你会发现,从本机登录23端口是没有问题的,但是如果从另一台pc登录该linux系统后,你会发现提示这样的错误:
不能打开到主机的连接, 在端口 23: 连接失败
因为linux防火墙默认是关闭23端口的,如果允许远程登录,可以关掉防火墙,也可以开防火墙开放23端口,具体如下:
即时生效,重启后失效
开启: service iptables start
关闭: service iptables stop
重启后生效
开启: chkconfig iptables on
关闭: chkconfig iptables off
在开启了防火墙时,做如下设置,开启相关端口
修改/etc/sysconfig/iptables 文件,添加以下内容:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 23 -j ACCEPT

查看防火墙 iptables -L
——————
netstat -nupl (UDP类型的端口)
netstat -ntpl (TCP类型的端口)
你可以使用 lsof 命令来查看某一端口是否开放。查看端口可以这样来使用,我就以80端口为例:
lsof -i:80
如果有显示说明已经开放了,如果没有显示说明没有开放。
linux端口和服务:
一、端口和服务的关系
端口号与相应服务的对应关系存放在/etc/services文件中,这个文件中可以找到大部分端口。使用netstat命令
显示的服务名称也是从这个文件中找的。有人说将这个文件中的相应端口号注释掉,就可以禁用该端口。
我试了却不起作用,这种方法应该是没有用的,是误传!将相应端口号注释掉,唯一的作用就是使用netsat
命令时,将不显示服务名(比如ftp)而是显示端口号(比如21)。原理也很简单:netstat无法在/etc/services
文件中找到端口号对应的服务名,自然就无法显示了。所以/etc/services文件只是起到端口号与相应服务的
映射关系,与端口的启动和关闭没有关系!
二、查看本机开放的端口
1、netstat 查看端口和连接
netstat 列出目前已经连接的服务名
netstat -a 列出目前已经连接的和正在监听的服务名
netstat -an 列出目前已经连接的和正在监听的端口号(与上面的命令功能一样,只是不解释端口号对应的服务名)
netstat -ap 在上面命令的基础上列出连接的PID(进程号),用这个PID,可以使用KILL 来杀死连接
例如:某个连接的PID=111,想踢出去就使用 KILL -9 111。ok!
netstat -rn 输出路由表
2、nmap
nmap 127.0.0.1 查看本机开放的端口,会扫描所有端口
nmap -p 1024 65535? 127.0.0.1 扫描指定端口范围
nmap -PT 192.168.1.1-111? 扫描一组范围的电脑
三、关闭和开启端口(服务)
关闭端口的方法:
1、因为每个端口都有对应的服务,因此要关闭端口只要关闭相应的服务就可以了。
2、用IPTABLE对端口进行限制,这样也能使端口不被访问,但端口本身并没有关闭。
在这儿只介绍关闭服务的方法,IPTABLE的应用以后再讨论。
linux中开机自动启动的服务一般都存放在两个地方:
/etc/init.d/文件夹下的服务:
这个文件夹下的服务都可以通过运行相应的SCRIPT来启动或关闭。
例如:启动sendmail服务 ./sendmail start (打开了TCP 25端口)
关闭sendmail服务 ./sendmail stop (关闭TCP 25 端口)
查看sendmail服务当前状态 ./sendmail? status (查看服务是否运行)
/etc/xinetd.d/文件夹下的服务:
这个文件夹下的服务需要通过更改服务的配置文件,并重新启动xinetd才可以。
例如:要启动其中的auth服务,打开/etc/xinetd.d/auth配置文件,更改“disable=no”,保存退出。运行/etc/rc.d/init.d/xinetd restart
要停止其中的auth服务,打开/etc/xinetd.d/auth配置文件,更改“disable=yes”,保存退出。运行/etc/rc.d/init.d/xinetd restart
四、控制开机自动启动的服务
上面说的控制服务开关方法是在启动linux之后进行操作的,如果我想在linux启动时控制哪些服务启动、哪些服务关闭怎么做
控制服务自动启动的方法有3个:
1、更改/etc/rc.d下的对应文件夹:
如果你登陆的默认界面是字符界面,那么修改rc.3文件夹,如果登陆界面默认是图形界面,那么修改rc.5。
在文件夹中,每个服务的名字前都带有“K”或“S”,S就代表这个服务开机自动运行了,把它删了或前缀改为“K”下次就不会启动了。
2、使用ntsysv命令:
输入ntsysv命令,将会出现一个服务列表,需要启动的打“*”,简单。
3、使用chkconfig命令:
让某个服务不自动启动:例如httpd:chkconfig –level 35 httpd? off ;35指的是运行级别
让某个服务自动启动:例如httpd:chkconfig –level 35 httpd? on ;
查看所有服务的启动状态:chkconfig –list
查看某个服务的启动状态:chkconfig –list |grep httpd

你需要知道的 16 个 Linux 服务器监控命令

如果你想知道你的服务器正在做干什么,你就需要了解一些基本的命令,一旦你精通了这些命令,那你就是一个 专业的 Linux 系统管理员。

有些 Linux 发行版会提供 GUI 程序来进行系统的监控,例如 SUSE Linux 就有一个非常棒而且专业的工具 YaST,KDE 的 KDE System Guard 同样很出色。当然,要使用这些工具,你必须在服务器跟前进行操作,而且这些 GUI 的程序占用了很多系统资源,所以说,尽管 GUI 用来做基本的服务器健康状态监测挺好,但如果你想知道真正发生什么,请关掉 GUI 开始命令行之旅吧。

你应该只在需要的时候去启动 GUI ,不用的时候关掉它。如果要让服务器保持最佳性能,你应该将 Linux 服务器的运行级别 runlevel 设置为 3 ,就是控制台模式,当你需要图形化桌面的时候使用 startx 命令来启动它。

如果你的服务器启动后就直接进入图形界面,你需要修改配置 /etc/inittab 找到 initdefault 一样,将 id:5:initdefault 修改为 id:3:initdefault。

如果你没找到 /etc/inittab 文件,那就创建一个新的,文件内容增加 id:3 这么一行。这样下次服务器启动的时候就不会进入图形界面。如果你不想等到服务器重启的时候才生效,你可以执行 init 3 这个命令。

一旦你的服务器是在控制台模式下运行,你就可以开始我们接下来的内容。

iostat

iostat 命令用来显示存储子系统的详细信息,通常用它来监控磁盘 I/O 的情况。要特别注意 iostat 统计结果中的 %iowait 值,太大了表明你的系统存储子系统性能低下。

meminfo 和 free

Meminfo 可让你获取内存的详细信息,你可以使用 cat 和 grep 命令来显示 meminfo 信息:

cat /proc/meminfo

另外你可以使用 free 命令来显示动态的内存使用信息,free 只是给你大概的内存信息,而 meminfo 提供的信息更加详细。例如在 oschina 上的 free 命令执行结果:

mpstat

mpstat mpstat是MultiProcessor Statistics的缩写,是实时系统监控工具。其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中。在多CPUs系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息。

再来看看 oschina 上的 mpstat 命令执行结果:

关于 mpstat 执行结果中的参数意思请参考此贴

netstat

Netstat 和 ps 命令类似,是 Linux 管理员基本上每天都会用的工具,它显示了大量跟网络相关的信息,例如 socket 的使用、路由、接口、协议、网络等等,下面是一些常用的参数:

-a Show all socket information
-r Show routing information
-i Show network interface statistics
-s Show network protocol statistics

nmon

Nmon, 是 Nigel’s Monitor 的缩写,是一个使用很普遍的开源工具,用以监控 Linux 系统的性能。Nmon 监控多个子系统的性能数据,例如处理器的使用率、内存使用率、队列、磁盘I/O统计、网络I/O统计、内存页处理和进程信息。Nmon 也提供了一个图形化的工具:

sjvn_LinuxServerMonitoring_nmon.png

要运行 nmon,你可以在命令行中启动它,然后选择要监控的子系统,这些子系统都对应有一个快捷键,例如输入 c 可查看 CPU 信息,m用于查看内存,d用来查看磁盘信息等,你也可以使用 -f 命令将 nmon 的执行结果保存到一个 CSV 文件中,便于日后分析。

在每日的监控工作中,我发现 nmon 是我最常用的工具。

pmap

pmap 命令用来报告每个进程占用内存的详细情况,可用来看是否有进程超支了,该命令需要进程 id 作为参数。

ps 和 pstree

pspstree 命令是 Linux 系统管理员最好的朋友,都可以用来列表正在运行的所有进程。ps 告诉你每个进程占用的内存和 CPU 处理时间,而 pstree 显示的信息没那么详细,但它以树形结构显示进程之间的依赖关系,包括子进程信息。一旦发现某个进程有问题,你可以使用 kill 来杀掉它。

sar

sar 程序是系统监控工具里的瑞士军刀。该程序包含三个工具:sar 用来显示数据,sa1 和 sa2 用来收集数据并保存。sar 可用来显示 CPU 使用率、内存页数据、网络 I/O 和传输统计、进程创建活动和磁盘设备的活动详情。sar 和 nmon 最大的不同就是 sar 跟适合用作长期的监控,而 nmon 可以让你快速的了解系统当前状态。

strace

strace 经常被认为是程序员调试的工具,但不止如此。它可以记录进程进行系统调用的详情,因此它也是一个非常好的诊断工具,例如你可以使用它来找出某个程序正在打开某个配置文件。

Strace 也有一个缺陷,但它在跟踪某个进程时会让该进程的性能变得非常差,因此请谨慎使用。

tcpdump

Tcpdump 是一个简单、可靠的网络监控工具,用来做基本的协议分析,看看那些进程在使用网络以及如何使用网络。当然,如果你要获取跟详细的信息,你应该使用 Wireshark (下面我们会介绍).

top

top 命令显示当前的活动进程,默认它是按消耗 CPU 的厉害程度进行排序,每5秒钟刷新一次列表,你也可以选择不同的排序方式,例如 m 是按内存占用方式进行排序的快捷键。

uptime

uptime 命令告诉你这台服务器从开机启动到现在已经运行了多长时间了。同时也包含了从启动到现在服务器的平均负载情况,看看 oschina 的数据:

我已经忘了上次是为什么重启机器了,好像是换了个机柜。

vmstat

你可以使用 vmstat 来监控虚拟内存,一般 Linux 上的开发者喜欢使用虚拟内存来获得最佳的存储性能。该命令报告关于内核线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息。由 vmstat 命令生成的报告可以用于平衡系统负载活动。系统范围内的这些统计信息(所有的处理器中)都计算出以百分比表示的平均值,或者计算其总和。

在 oschina 上执行 vmstat 的结果:

Wireshark

Wireshark, 前身是 Ethereal ,是一个网络协议检测程序,让您经由程序抓取运行的网站的相关资讯,包括每一封包流向及其内容、资讯可依操作系统语系看出,方便查看、监控TCP session动态等等.

这里罗列的是大多数最有价值的 Linux 监控程序,当然,你可能还会使用其他的工具,不妨跟大家分享下。

英文原文 hp.com OSCHINA 原创翻译

centos6.2下配置apache多个虚拟主机

NameVirtualHost 42.121.123.229:80

#根目录
<VirtualHost 42.121.123.229:80>
ServerAdmin code@zmq.cc
DocumentRoot 你的目录/hoem/www
ServerName upadd.cn
ErrorLog logs/upadd.cn-error_log
CustomLog logs/upadd.cn-access_log common
</VirtualHost>

#多域名和目录设置
<VirtualHost 42.121.123.229:80>
ServerAdmin code@zmq.cc
DocumentRoot 你的目录/hoem/www
ServerName test.upadd.cn
ErrorLog logs/test.upadd.cn-error_log
CustomLog logs/test.upadd.cn-access_log common
</VirtualHost>

<VirtualHost 42.121.123.229:80>
ServerAdmin code@zmq.cc
DocumentRoot 你的目录/hoem/www
ServerName sql.upadd.cn
ErrorLog logs/sql.upadd.cn-error_log
CustomLog logs/sql.upadd.cn-access_log common
</VirtualHost>

重起 /etc/init.d/iptables restart

CentOS 6.3安装设置vsftpd及多用户登录

Centos 6.3 通过yum来安装vsftpd,主要是编译安装老是出错,特别麻烦,以后有空的话再研究研究。

1.通过yum来安装vsftpd

[root@localhost ~]# yum -y install vsftpd

加-y是因为出现提示默认直接按Y。这里yum安装的vsftpd版本应该是2.2.2的。

[root@localhost ~]# service vsftpd status  //查看状态,默认是关闭的        [root@localhost ~]# service vsftpd start    //开启vsftpd服务

2.设置为开机启动

[root@localhost ~]# chkconfig vsftpd on        

[root@localhost ~]# netstat -tl            //可以查看ftp端口是否在侦听了!

3.进行相关配置,配置修改在/etc/vsftpd/vsftpd.conf里面;

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf

用vim对代码着色更容易修改。比vi要清楚。自己按照需求进行设置,请看下面的vsftpd.conf的相关配置说明。

4.设置vsftp的帐号。

普通的添加帐号的话,可以用该帐号登录服务器,使用nologin禁止FTP帐户登录服务器。

只需要执行命令:

[root@localhost ~]# useradd -d /usr/local/apache/htdocs -s /sbin/nologin 用户名 

添加上帐号指定好ftp帐号的根目录。例如下面的代码,创建ftp帐号ftpuser在网站的根目录htdocs下。

[root@localhost ~]# useradd -d /usr/local/apache/htdocs -s /sbin/nologin ftpuser

帐号设置好了,但是还没有给帐号加上密码。使用passwd给帐号设置密码。

[root@localhost ~]# passwd ftpuser        New password:        //输入密码        Retype new password:        //再次输入密码

输入好了就可以通过帐号密码来访问vsftpd了。

vsftpd.conf的相关配置说明:(下面这段摘抄自网络。)

1) 匿名服务器的连接

Anonymous_enable=yes (允许匿名登陆)

Dirmessage_enable=yes (切换目录时,显示目录下.message的内容)

Local_umask=022 (FTP上本地的文件权限,默认是077)

Connect_form_port_20=yes (启用FTP数据端口的数据连接)*

Xferlog_enable=yes (激活上传和下载的日志)

Xferlog_std_format=yes (使用标准的日志格式)

Ftpd_banner=XXXXX (欢迎信息)

Pam_service_name=vsftpd (验证方式)*

Listen=yes (独立的VSFTPD服务器)*

功能:只能连接FTP服务器,不能上传和下载

注:其中所有和日志欢迎信息相关连的都是可选项,打了星号的无论什么帐户都要添加,是属于FTP的基本选项

2)开启匿名FTP服务器上传权限(看看即可,一般不开启匿名上传权限)

Anon_upload_enable=yes (开放上传权限)

Anon_mkdir_write_enable=yes (可创建目录的同时可以在此目录中上传文件) 

Write_enable=yes (开放本地用户写的权限)

Anon_other_write_enable=yes (匿名帐号可以有删除的权限)

3)开启匿名服务器下载的权限

在配置文件中添加如下信息即可:

Anon_world_readable_only=no

注:要注意文件夹的属性,匿名帐户是其它(other)用户要开启它的读写执行的权限

(R)读,下载 (W)写,上传 (X)执行。如果不开FTP的目录都进不去

4)普通用户FTP服务器的连接

Local_enble=yes (本地帐户能够登陆)

Write_enable=no (本地帐户登陆后无权删除和修改文件)

功能:可以用本地帐户登陆vsftpd服务器,有下载上传的权限

注:在禁止匿名登陆的信息后匿名服务器照样可以登陆但不可以上传下载

5) 用户登陆限制进其它的目录,只能进它的主目录

设置所有的本地用户都执行chroot

Chroot_local_user=yes (本地所有帐户都只能在自家目录)

设置指定用户执行chroot

Chroot_list_enable=yes (文件中的名单可以调用) 

Chroot_list_file=/任意指定的路径/vsftpd.chroot_list

注意:vsftpd.chroot_list 是没有创建的需要自己添加,要想控制帐号就直接在文件中加帐号即可

6) 限制本地用户访问FTP

Userlist_enable=yes (用userlist来限制用户访问)

Userlist_deny=no (名单中的人不允许访问)

Userlist_file=/指定文件存放的路径/ (文件放置的路径)

注:开启userlist_enable=yes匿名帐号不能登陆

7)安全选项

Idle_session_timeout=600(秒) (用户会话空闲后10分钟)

Data_connection_timeout=120(秒) (将数据连接空闲2分钟断)

Accept_timeout=60(秒) (将客户端空闲1分钟后断)

Connect_timeout=60(秒) (中断1分钟后又重新连接)

Local_max_rate=50000(bite) (本地用户传输率50K)

Anon_max_rate=30000(bite) (匿名用户传输率30K)

Pasv_min_port=50000 (将客户端的数据连接端口改在

Pasv_max_port=60000 50000—60000之间)

Max_clients=200 (FTP的最大连接数)

Max_per_ip=4 (每IP的最大连接数) 

Listen_port=5555 (从5555端口进行数据连接)

8) 查看谁登陆了FTP,并杀死它的进程

ps –xf |grep ftp

kill 进程号

CentOS vsftpd多用户配置

1、安装vsftp,本文采用yum安装:

Yum  install  vsftpd

2、安装后运行:

service vsftpd restart

Shutting down vsftpd: OK ]

Starting vsftpdforvsftpd: OK ]

3、新增加系统用户:

#useradd -d /home/www.haojifang.cn -s /sbin/nologin haojifang.cn //增加新用户不让在本机登陆

#chown –R haojifang.cn /home/www.haojifang.cn //更改新增目录的权限,只允许haojifang.cn访问此目录;

#chmod 777 -R /home/www.haojifang.cn

passwd haojifang.cn //为用户设置密码;

Changing passwordforuser haojifang.cn.

New UNIX password:

BAD PASSWORD: it does not contain enough DIFFERENT characters

RetypenewUNIX password:

passwd: all authentication tokens updated successfully.

5、修改vsftpd.conf 禁止匿名帐号登陆及允许自建帐号登陆:

vi /etc/vsftpd/vsftpd.conf

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

listen=YES

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

4、修改/etc/vsftpd/chroot_list 添加haojifang.cn 帐号允许该帐号登陆FTP服务器
5、在linux Shell 命令模式下

#setsebool ftpd_disable_trans // 关闭掉Selinux ftp服务的保护;

#vi /etc/selinux/config

SELINUX=disabled//将此处设置为Disable

SELINUXTYPE= type of policy in use. Possible values are:

targeted – Only targeted network daemons are protected.

strict – Full SELinux protection.

SELINUXTYPE=targeted

重启服务

service vsftpd restart

Shutting down vsftpd: OK ]

Starting vsftpdforvsftpd: OK ]

 

转自:http://blog.sina.com.cn/s/blog_6aa178410101dvlj.html