Apache2.2.4+PHP5.2.1+MySQL5.0.41+openssl0.98e安装笔记(RedHat9.0)(+discuz5.5.0)

Apache2.2.4+PHP5.2.1+MySQL5.0.41+openssl0.98e安装笔记(RedHat9.0)(+discuz5.5.0)

Apache2.2.4+PHP5.2.1+MySQL5.0.41+openssl0.98e(+discuz-5.5.0)安装笔记

此实验在RedHat9.0上实现,特把过程写下来,希望能给初学者以指点;并肯请高手给予更多的改进方面的指点。并欢迎各位朋友关注本人博客:http://marion.cublog.cn

其中所需软件包均可以从网上下载得到,就不再指出路径。

1.1.安装mysql-5.0.41
#groupadd mysql
#useradd -g mysql mysql
#tar zxvf mysql-5.0.41.tar.gz
#cd mysql-5.0.41
#./configure --prefix=/usr/local/mysql --enable-thread-safe-client --enable-local-infile --with-charset=gbk --with-extra-charset=all --with-low-memory
#make
#make install
#cp support-files/my-medium.cnf /etc/my.cnf
#cd /usr/local/mysql
#chown -R mysql .
#chgrp -R mysql .
#bin/mysql_install_db --user=mysql
#chown -R root .
#chown -R mysql var
#bin/mysqld_safe --user=mysql &
#cd /usr/local/src/mysql-5.0.41
#cp support-files/mysql.server /etc/rc.d/init.d/mysqld
#chmod 700 /etc/rc.d/init.d/mysqld
#chkconfig --add mysqld
#chkconfig --level 345 mysqld on


测试
#/usr/local/mysql/bin/mysqladmin ping
#/usr/local/mysql/bin/mysqladmin version
#/usr/local/mysql/bin/mysql

添加root密码
#/usr/local/mysql/bin/mysqladmin -uroot -p

2.安装zlib-1.2.3

#tar zxvf zlib-1.2.3.tar.gz
#cd zlib-1.2.3
#./configure --prefix=/usr/local/zlib
#make
#make install

3.安装openssl-0.9.8e

#tar zxvf openssl-0.9.8e.tar.gz
#cd openssl-0.9.8e
#./config shared zlib
#make
#make test
#make install
mv /usr/bin/openssl /usr/bin/openssl.OFF
mv /usr/include/openssl /usr/include/openssl.OFF
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl

配置库文件搜索路径

#echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
#ldconfig -v


4.安装httpd-2.2.4

#tar zxvf httpd-2.2.4.tar.gz
#cd httpd-2.2.4
#./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --with-ssl=/usr/local/ssl --enable-track-vars --enable-rewrite --with-z-dir=/usr/local/zlib --enable-mods-shared=most
#make
#make install

#echo "/usr/local/apache/bin/apachectl start" >> /etc/rc.local(系统启动时服务自动启动)

5.安装libpng-1.2.14

#tar zxvf libpng-1.2.14.tar.gz   
# cd libpng-1.2.14
# cp scripts/makefile.linux makefile
# make (若是提示找不到zlib库文件或者头文件,多半是makefile文件里zlib的默认路径有误。可编辑makefile文件,找到zlib项并重新指定路径到/usr/local/zlib/lib和/usr/local/zlib/include)。
# make install

6.安装freetype-2.1.10

# tar -zvxf freetype-2.1.10.tar.gz
# cd freetype-2.1.10
# mkdir -p /usr/local/freetype
# ./configure --prefix=/usr/local/freetype
# make;make install  

7.安装jpegsrc.v6b

jpeg默认不会自建目录,因此需手动建立目录:
# mkdir -pv /usr/local/jpeg6/{,bin,lib,include,man/man1,man1}

安装
#tar zxvf jpegsrc.v6b.tar.gz   
# ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
# make
# make install  
# make install-lib

8.安装libxml2-2.6.19

# tar -zxf libxml2-2.6.19.tar.gz
# cd libxml2-2.6.19
# mkdir -p /usr/local/libxml2
# ./configure --prefix=/usr/local/libxml2
# make; make install
#cp xml2-config /usr/bin

9.安装GD-2.0.33库

# tar -zvxf gd-2.0.33.tar.gz
# mkdir -p /usr/local/gd2
# cd gd-2.0.33
# ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg6/
--with-png=/usr/local/lib/
--with-zlib=/usr/local/zlib/
--with-freetype=/usr/local/freetype/
# make; make install

10.安装php-5.2.1

# tar -zvxf php-5.2.1.tar.gz
# mkdir -p /usr/local/php
# cd php-5.2.1
  # ./configure --prefix=/usr/local/php              (注意使用续行符)
  --with-apxs2=/usr/local/apache/bin/apxs
  --with-mysql=/usr/local/mysql
  --with-mysqli=/usr/local/mysql/bin/mysql_config
  --with-xml=/usr/local/libxml2
  --with-png=/usr/local/lib
  --with-jpeg-dir=/usr/local/jpeg6
  --with-zlib=/usr/local/zlib
  --with-freetype=/usr/local/freetype
  --with-gd=/usr/local/gd2  
  --enable-track-vars  
  --enable-mbstring=all
# make
# make install
# cp php.ini-dist /usr/local/php/lib/php.ini

11.编辑apache配置文件httpd.conf
  
  # vi /etc/httpd/httpd.conf
  要改的有如下几处:
  找到LoadModule php5_module modules/libphp5.so
  前面的#号去掉(默认已去掉注释)
  #AddType application/x-gzip .gz .tgz
  下加二行
  AddType application/x-httpd-php .php
  AddType application/x-httpd-php-source .phps
  还有找到DirectoryIndex index.html
  加上 index.php 让它把index.php做为默认页

12.测试PHP
  
# vi /usr/local/apache/htdocs/index.php(其中/usr/local/apache/htdocs为网页主目录)
  添加:
   <?
    phpinfo();
   ?>
  
重新启动apache服务器
# /usr/local/apache/bin/apachectl restart
浏览器里http://localhost测试一下

13.安装ZendOptimizer-3.2.6-linux-glibc21-i386

#tar zxvf ZendOptimizer-3.2.6-linux-glibc21-i386.tar.gz
#cd ZendOptimizer-3.2.6
#./install.sh
接下去按提示输入php.ini文件的位置等即可


14.启用ssl

(1)下载ssl.ca-0.1.tar.gz(适合新手使用)到/etc/httpd(Apache2.2.4安装时指定的配置文件目录)
#tar zxvf ssl.ca-0.1.tar.gz
#cd ssl.ca-0.1

生成根证书
#./new-root-ca.sh
No Root CA key round. Generating one
Generating RSA private key, 1024 bit long modulus
...............................++++++
.......++++++
e is 65537 (0x10001)
Enter pass phrase for ca.key:   (此处要输入一个密码,至少四位)
Verifying - Enter pass phrase for ca.key: (重复以上密码)
Self-sign the root CA...
Enter pass phrase for ca.key:   (刚刚输过的密码)
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [MY]:CN
State or Province Name (full name) [Perak]:HeNan
Locality Name (eg, city) [Sitiawan]:Zhengzhou
Organization Name (eg, company) [My Directory Sdn Bhd]:Benet Ltd
Organizational Unit Name (eg, section) [Certification Services Division]:Marion
Common Name (eg, MD Root CA) []:Benet CA
Email Address []:knightma@yeah.net
如此可以生成ca.key和ca.crt两个文件;其中的省份、公司等内容可以按照你自己的相法来设定。

接下来要为服务器生成一个证书:
# ./new-server-cert.sh server (这个证书的名字是server)
No server.key round. Generating one
Generating RSA private key, 1024 bit long modulus
....++++++
.............++++++
e is 65537 (0x10001)
Fill in certificate data
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [MY]:CN
State or Province Name (full name) [Perak]:HeNan
Locality Name (eg, city) [Sitiawan]:Zhengzhou
Organization Name (eg, company) [My Directory Sdn Bhd]:Benet Ltd
Organizational Unit Name (eg, section) [Secure Web Server]:Marion
Common Name (eg, www.domain.com) []:localhost
Email Address []:knightma@yeah.net
You may now run ./sign-server-cert.sh to get it signed
执行结束后生成了server.csr和server.key这两个文件。但它们还需要签署一下才能使用。

# ./sign-server-cert.sh server
CA signing: server.csr -> server.crt:
Using configuration from ca.config
Enter pass phrase for ./ca.key:
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName           RINTABLE:'CN'
stateOrProvinceName   RINTABLE:'HeNan'
localityName          RINTABLE:'Zhengzhou'
organizationName      RINTABLE:'Benet Ltd'
organizationalUnitNameRINTABLE:'Marion'
commonName            RINTABLE:'localhost'
emailAddress          :IA5STRING:'knightma@yeah.net'
Certificate is to be certified until Nov 21 11:58:38 2007 GMT (365 days)
Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
CA verifying: server.crt <-> CA cert
server.crt: OK

(2)接下来要按照/etc/httpd/extra/httpd-ssl.conf里面的设置,将证书放在适当的位置。
#cp ./server.key /etc/httpd
#cp ./server.crt /etc/httpd
#cd ..
#chmod 400 server.key

(3)编辑/etc/httpd/httpd.conf
找到如下一句,将前面的注释#去掉
#Include /etc/httpd/extra/httpd-ssl.conf
而后重启apache即可
#killall -9 httpd
#/usr/local/apache/bin/apachectl start

(4)查看监听端口,确认里面有:443端口
#netstat -tnl

(5)https://localhost


附:安装discuz5.5.0论坛,实现应用测试

1.获得discuz5.5.0论坛源码
下载地址为:
http://www.discuz.net/download/download.html
建议下载使用简体中文的GBK版本。

2.按其说明将upload文件夹中的文件上传至网站根目录中
此处应为上文中的/usr/local/apache/htdocs

3.修改网站根目录中相关文件的权限
#cd /usr/local/apache/htdocs
#chmod 777 templates
#chmod 777 templates/default
#chmod 777 templates/default/*.*
#chmod 777 attachments
#chmod 777 customavatar
#chmod 777 forumdata
#chmod 777 forumdata/cache
#chmod 777 forumdata/templates
#chmod 777 forumdata/threadcaches
#chmod 777 forumdata/logs

4.修改全局配置文件
#vi config.inc.php
$dbhost = 'localhost';    //数据库服务器,如果是本机,可不做更改
$dbuser = 'dbuser';     //数据库用户名,此处可改为root
$dbpw = 'dbpw';     //数据库密码,即以上用户的密码
$dbname = 'discuz';  //数据库名
$adminemail = 'admin@your.com'; //论坛系统 Email
$dbreport = 0;   //是否发送数据库错误报告? 0=否, 1=是
此处可先将其权限更改为666,等论坛安装完毕后再改为原权限
#chmod 666 config.inc.php

5.安装论坛
在你的浏览器输入以下地址即可实现安装了
http://你的linux主机IP/install.php
安装脚本会检查您的服务器系统环境、剩余空间、数据库环境,并具备一定的纠错功能。

6.其它设置
安全起见,安装完成后最好删除install.php文件,并将config.inc.php改为只读
#rm -f install.php
#chmod 444 config.inc.php

不知道我写的够不够详细,欢迎各位进行探讨!
学习一下!
呵呵~!~!
详细是够详细了,可是我觉得有点不足,通常这类文章都是写给我们菜鸟们看的,所以我觉得应该加上注释,告诉读者,这个整合实现了什么功能,各模块是用来做什么的。
学习中,,,
--with-gd=/usr/local/gd   
应该为
--with-gd=/usr/local/gd2
测试一下看看ssl行不行先。。哈哈


QUOTE:
原帖由 marion 于 2006-11-30 01:49 发表
不知道我写的够不够详细,欢迎各位进行探讨!


确实好,了解一些常用的知识
RedHat9.0 为何还要用这个版本?
make 很正常的编译过去了!
但是到 make test就出现错误了!
为什么我的openssl总是编译出错!
错误信息是make (1) ****与(乱码...)与(乱码...)同文件
error   1

very good