2007年3月5日星期一

Apache下生成SSL证书

这是如何生成证书的按部就班的描述。

为你的Apache服务器创建一个RSA私用密钥(Triple-DES加密并且进行PEM格式化)

# openssl genrsa -des3 -out server.key 1024

请在安全的地方备份这个server.key文件。记住你输入的通行短语(pass phrase)!你可以通过下面的命令看到这个RSA私用密钥的细节。

# openssl rsa -noout -text -in server.key

而且你可以为这个RSA私用密钥创建一个加密的PEM版本(不推荐),通过下列命令:

# openssl rsa -in server.key -out server.key.unsecure

用服务器RSA私用密钥生成一个证书签署请求(CSR-Certificate Signing Request)(输出将是PEM格式的):

# openssl req -new -key server.key -out server.csr

OpenSSL提示你"CommonName"时,确保你输入了服务器的FQDN("Fully Qualified Domain Name") ,即,当你为一个以后用https://www.foo.dom/访问的网站生成一个CSR时,这里输入"www.foo.dom"。你可借助下列命令查看该CSR的细节:

# openssl req -noout -text -in server.csr

CSR发到一个CA

现在你必须发送该CSR到一个CA以便签署,然后的结果才是可以用于Apache的一个真正的证书。

有两种选择:

第一种,你可以通过一个商业性CAVerisign Thawte签署证书。那么你通常要将CSR贴入一个web表格,支付签署费用并等待签署的证书,然后你可以把它存在一个server.crt文件中。关于商业性CA的更多信息,请参见下列链接:

Verisign - http://digitalid.verisign.com/server/apacheNotice.htm

Thawte Consulting - http://www.thawte.com/certs/server/request.html

CertiSign Certificadora Digital Ltda. - http://www.certisign.com.br

IKS GmbH - http://www.iks-jena.de/produkte/ca/

Uptime Commerce Ltd. - http://www.uptimecommerce.com

BelSign NV/SA - http://www.belsign.be

 

你自己的CA

第二种,你可以利用自己的CA并由该CA签署CSR。你可以创建自己的认证中心来签署证书。最简单的方法是利用OpenSSL提供的CA.sh CA.pl脚本。比较复杂而且是手工的方法是:

为你的CA创建一个RSA私用密钥( Triple-DES加密并且进行PEM格式化的):

# openssl genrsa -des3 -out ca.key 1024

请在安全的地方备份这个ca.key文件。记住你输入的通行短语(pass phrase)!你可以通过下面的命令看到这个RSA私用密钥的细节。

# openssl rsa -noout -text -in ca.key

而且你可以为这个RSA私用密钥创建一个加密的PEM版本(不推荐),通过下列命令:

# openssl rsa -in ca.key -out ca.key.unsecure

利用CARSA密钥创建一个自签署的CA证书(X509结构)(输出将是PEN格式的):

# openssl req -new -x509 -days 365 -key ca.key -out ca.crt

你可以通过下列命令查看该证书的细节:

# openssl x509 -noout -text -in ca.crt

准备一个签署所需的脚本,因为"openssl ca"命令有一些奇怪的要求而且缺省的OpenSSL配置不允许简单地直接使用"openssl ca"命令,所以一个名为sign.sh的脚本随mod_ssl分发一道发布(子目录pkg.contrib/)。 使用该脚本进行签署。

现在你可以使这个CA签署服务器的CSR,以便创建用于Apache服务器内部的真正的SSL证书(假定你手头已经有一个server.csr):

# ./sign.sh server.csr

它签署服务器的CSR并且结果在一个server.crt文件中。

现在你有两个文件:server.ketserver.crt。在你的Apachehttpd.conf文件中,如下使用它们:

SSLCertificateFile /path/to/this/server.crt

SSLCertificateKeyFile /path/to/this/server.key

server.csr不再需要了。

这是如何生成证书的按部就班的描述。

为你的Apache服务器创建一个RSA私用密钥(Triple-DES加密并且进行PEM格式化)

# openssl genrsa -des3 -out server.key 1024

请在安全的地方备份这个server.key文件。记住你输入的通行短语(pass phrase)!你可以通过下面的命令看到这个RSA私用密钥的细节。

# openssl rsa -noout -text -in server.key

而且你可以为这个RSA私用密钥创建一个加密的PEM版本(不推荐),通过下列命令:

# openssl rsa -in server.key -out server.key.unsecure

用服务器RSA私用密钥生成一个证书签署请求(CSR-Certificate Signing Request)(输出将是PEM格式的):

# openssl req -new -key server.key -out server.csr

OpenSSL提示你"CommonName"时,确保你输入了服务器的FQDN("Fully Qualified Domain Name") ,即,当你为一个以后用https://www.foo.dom/访问的网站生成一个CSR时,这里输入"www.foo.dom"。你可借助下列命令查看该CSR的细节:

# openssl req -noout -text -in server.csr

CSR发到一个CA

现在你必须发送该CSR到一个CA以便签署,然后的结果才是可以用于Apache的一个真正的证书。

有两种选择:

第一种,你可以通过一个商业性CAVerisign Thawte签署证书。那么你通常要将CSR贴入一个web表格,支付签署费用并等待签署的证书,然后你可以把它存在一个server.crt文件中。关于商业性CA的更多信息,请参见下列链接:

Verisign - http://digitalid.verisign.com/server/apacheNotice.htm

Thawte Consulting - http://www.thawte.com/certs/server/request.html

CertiSign Certificadora Digital Ltda. - http://www.certisign.com.br

IKS GmbH - http://www.iks-jena.de/produkte/ca/

Uptime Commerce Ltd. - http://www.uptimecommerce.com

BelSign NV/SA - http://www.belsign.be

 

你自己的CA

第二种,你可以利用自己的CA并由该CA签署CSR。你可以创建自己的认证中心来签署证书。最简单的方法是利用OpenSSL提供的CA.sh CA.pl脚本。比较复杂而且是手工的方法是:

为你的CA创建一个RSA私用密钥( Triple-DES加密并且进行PEM格式化的):

# openssl genrsa -des3 -out ca.key 1024

请在安全的地方备份这个ca.key文件。记住你输入的通行短语(pass phrase)!你可以通过下面的命令看到这个RSA私用密钥的细节。

# openssl rsa -noout -text -in ca.key

而且你可以为这个RSA私用密钥创建一个加密的PEM版本(不推荐),通过下列命令:

# openssl rsa -in ca.key -out ca.key.unsecure

利用CARSA密钥创建一个自签署的CA证书(X509结构)(输出将是PEN格式的):

# openssl req -new -x509 -days 365 -key ca.key -out ca.crt

你可以通过下列命令查看该证书的细节:

# openssl x509 -noout -text -in ca.crt

准备一个签署所需的脚本,因为"openssl ca"命令有一些奇怪的要求而且缺省的OpenSSL配置不允许简单地直接使用"openssl ca"命令,所以一个名为sign.sh的脚本随mod_ssl分发一道发布(子目录pkg.contrib/)。 使用该脚本进行签署。

现在你可以使这个CA签署服务器的CSR,以便创建用于Apache服务器内部的真正的SSL证书(假定你手头已经有一个server.csr):

# ./sign.sh server.csr

它签署服务器的CSR并且结果在一个server.crt文件中。

现在你有两个文件:server.ketserver.crt。在你的Apachehttpd.conf文件中,如下使用它们:

SSLCertificateFile /path/to/this/server.crt

SSLCertificateKeyFile /path/to/this/server.key

server.csr不再需要了。

 Your sincere,

朱恒
2007-03-06

Study Plan

My study plan on March
每天至少学习一个小时的数据库知识.重点学习Oracle,其次是Postgresql & Mysql.
 Your sincere,

朱恒
2007-03-06

2007年3月4日星期日

2007-3-4

今天是元宵节
 
做人什么都可以输,但是不可以输信心。
 

     朱恒
2007-03-04
Henry Zhu
QQ:284841013
MSN:ksharp1229@hotmail.com
Email:zhuheng1229@gmail.com
Homepage:http://ksharp.anyp.cn
 
 

2007年2月9日星期五

在APACHE2+PHP4+Mysql4环境下安装DMS

 Install DMS in the environment of APACHE2+PHP4+Mysql4 
[root@devtest1 src]# rpm -q httpd
httpd-2.0.52-28.ent.centos4
[root@devtest1 src]# rpm -q php
php-4.3.9-3.22
[root@devtest1 src]# rpm -q php-mysql
php-mysql-4.3.9-3.22
[root@devtest1 src]# mysqladmin --version
mysqladmin  Ver 8.41 Distrib 4.1.20, for redhat-linux-gnu on i686
 
KnowledgeTree (Document Management System) Install
   First, you must make sure PHP need Mysql support. You may need run this commond "yum install php-mysql"
   or you can get a rpm packet such as php-mysql-4.3.9-3.i386.rpm and run "rpm -ivh php-mysql-4.3.9-3.i386.rpm" to make mysql support PHP
 
    KnowledgeTree is a professional document management system, and it can manage documents easily.  The following is installation procedures:
Downlad KnowledgeTree from http://www.sourceforge.net/projects/kt-dms, and extract it to a destination, and copy it to /var/www/html/dms.
Change /var/www/html/dms/var to Apache's running user
       #chown �CR apache.apache /var/www/html/dms/var
Set database and other settting, such as database, config and so on.
       #vi /var/www/html/dms/config/config.ini
Import database schema
          #cd /var/www/html/dms   
          # mysql -p dms < sql/mysql/install/structure.sql
          # mysql -p dms < sql/mysql/install/data.sql
          # mysql -p dms < sql/mysql/install/user.sql
Install some index tools for special document index.
      # wget http://www.45.free.net/~vitus/software/catdoc
      #tar -zxf catdoc-0.94.2.tar.gz
      #cd catdoc-0.94.2
      #./configure
      #make 
      #make install 
      After compiling, copy all commands from /usr/local/bin to /usr/bin
      #wget ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/contrib/pstotext-1.9.tar.gz
      #tar xzf pstotext-1.9.tar.gz
      #cd pstotext-1.9
      #make
      After compiling, copy all commands from /usr/local/bin[or current path]to /usr/bin
Check environment by http://localhost/dms/setup, if errors appear, please modify /etc/php.ini file.
      if you modify the php.ini file, you need restart apache service such as #/etc/rc.d/init.d/httpd restart
 
Default user is admin/admin
Visit DMS home page, the default account name is admin and password is admin.
 
Reference:
http://www.ktdms.com/
Welcome to contact me by email zhuheng1229@gmail.com
 

朱恒
2007-02-09

2007年2月8日星期四

Linux上 安装 Bugzilla2.20

        Linux上 安装 Bugzilla
先安装mysql4.1.22在CENT OS 4.2
[root@devtest1 conf]# mysqladmin  --version
mysqladmin  Ver 8.41 Distrib 4.1.22, for pc-linux-gnu on i686
--------------------------------------------------------------
# cd /usr/local/src
# groupadd mysql
# useradd -g mysql mysql
# tar -xzf mysql-standard-4.1.22-pc-linux-gnu-i686.tar.gz
# mv mysql-standard-4.1.22-pc-linux-gnu-i686 /usr/local/mysql
# cd /usr/local/mysql
# cp support-files/my-medium.cnf /etc/my.cnf
# bin/mysql_install_db --user=mysql
# chown -R root  .
# chown -R mysql var
# chgrp -R mysql .
# bin/mysqld_safe --user=mysql &
修改/etc/profile,把bin加入PATH,然后#source /etc/profile
默认的安装是没有密码的,添加之
#mysqladmin -u root password your_password
添加DBD::mysql
在Unix中安装Perl模块最简单的方法是使用CPAN模块。例如:
# perl -MCPAN -e shell
cpan> install DBI
cpan> install DBD::mysql
接下来安装Bugzilla,DBD::mysql安装成功的前提下才能安装bugzilla,否则bugzilla是不可能安装成功的。
Bugzilla Install Procedure
这篇文档由同事Jacky Chan写的,有些粗略,欢迎电子邮件交流zhuheng1229@gmail.com
Description:
     The symbol "BUGZILLA_HOME" is the publication directory for bugzilla, such as "/usr/local/apache2/htdoc/bugzilla" or "/var/www/html/bugzilla".
    The symbol "APACHE_HOME" is the install directory for apache, such as "/usr/local/apache2".
 
1 Download BUGZILLA_TAR_FILE from "www.bugzilla.org" and extract this tar file.
        #tar zxpvf  bugzilla-2.20rc2.tar.gz
        #mv bugzilla-2.20rc2   BUGZILLA_HOME
2 Check the Perl modules then install required modules
       #cd BUGZILLA_HOME
       #./checksetup.pl
          Install required modules according to error messages.
3 Create a database for bugzilla and modify "localconfig" file under bugzilla. 
           Login into mysql system and create a database with name 'bugzilla'.
             # mysql �Cu root �Cpxxxx
            mysql>  create database bugzilla;
            mysql> exit
           Modify localconfig file under bugzilla home.
             #cd BUGZILLA_HOME
           # vi localconfig
             Modify this file as following.
              $db_host = 'mysql_hostname';          # where is the database?
             $db_name = bugzilla;                  # name of the SQL database
             $db_user = 'mysql_user';              # root
             $db_pass = 'password';                #your_password
             $db_sock = '/var/lib/mysql/mysql.sock';  //or '/tmp/mysql.sock'
4 Create database schema and administrator for bugzilla.
   #./checksetup.pl
   Input administrator email, real name and password, please write down password for administrator.
5 Modify Apache's configuration for bugzilla
   #vi APACHE_HOME/conf/httpd.conf
      Add following code:
      <Directory "/var/www/html/bugzilla">
     AddHandler cgi-script .cgi
     Options +Indexes +ExecCGI
     DirectoryIndex index.cgi
     AllowOverride Limit
      </Directory>
6 Restart Apache web server and test bugzilla.
     #service httpd restart
      Open a browser and visit this URL: http://localhost/bugzilla, and login as admin.
7 Bug graphs if you have installed perl graph module
#crontab �Ce
 Linux will open vi editor, and input following code:
   5 0 * * * cd /var/html/www/bugzilla ; ./collectstats.pl
Please Shift+ZZ to save cron info.
 

Some question about smmsp problem, such as error as following:
WARNING: RunAsGid for MSP ignored, check group ids (egid=48, want=51)
We should change smmsp's group to apache group.
First edit /etc/passwd, and add user smmsp.
      smmsp:x:15716:48::/var/spool/clientmqueue:/bin/sh
Then execute following command:
     # usermod -g 48 smmsp
And you can change /var/spool/clientmqueue directory mode to 777:
#chmod �CR 777 /var/spool/clientmqueue
And you should add apache user to /etc/mail/trusted-users file.
 

朱恒
2007-02-08

2007年2月6日星期二

我的春天一直有你

 
 
 
今天看到一句话,让我笑了一下:早起的鸟儿有虫吃,早起的虫儿被鸟吃.哈哈,努力哦,不要被吃就行啦



新年祝福短信免费发

Linux 命令 我的痛

一个命令,一场灾难
今天我犯了一个大错。我在一台应用程序服务器上运行了一个可以让我铭记一辈子的命令
#chown -R ver.ftp  /
我本意是给ftp组下的ver用户的home路径改在根目录下,没想到酿成了大错。
我虽然用其他办法
{#chown -R root.root /
   #chmod -R 777 /usr/local/apache2/htdocs 
}
暂时的弥补了这个错误,可是这个错误还是让我难过。
以后在服务器上运行的命令一定要先在其他机器上测试过才能用。
不然不小心就会酿成大错的。
 
 
 

     朱恒
2007-02-06
Henry Zhu
QQ:284841013
MSN:ksharp1229@hotmail.com
Email:zhuheng1229@gmail.com
Homepage:http://ksharp.anyp.cn