实战CentOS5.2+Apache2.2.10+Mysql5.1.34+PHP5.2.9+ZendOptimizer-3.3.3(mysqli支持)

测试一下发文的滋味....下班了,明天再写,呵呵~~~
 
------------------接着写---------------------
 
=目录约定=
 
软件源代码包存放位置        /home/setups
源码包编译安装位置(prefix)        /usr/local/software_name
MySQL 数据库位置        /home/mysql/data
Apache 网站根目录        /home/www/wwwroot(虚拟主机在这个目录下)
Apache 虚拟主机日志根目录        /home/www/logs
Apache 运行组/账户        http:http
端口:80
SSL状态:enable

=源码包版本=
 
Apache2.2.10
Mysql5.1.34
PHP5.2.9
ZendOptimizer-3.3.3
 
=安装简介=
 
原则;是缺什么依赖包,安装什么包,yum 装也可以,在添加删除程序里查找安装也行 (PS:VNC server 我一直都开着,别BS我哈,有时候还是喜欢GUI的)
 
Step1:Apache安装从略
Step2: Mysql安装从略
Step3:
        php5安装:
        configure参数如下:
 
'./configure' '--prefix=/usr/local/php5' '--with-apxs2=/usr/local/apache2/bin/apxs' '--with-mysql=/usr/local' '--with-gd=/usr/local/libgd' '--enable-gd-native-ttf' '--with-ttf' '--enable-gd-jis-conv' '--with-freetype-dir=/usr/local/freetype' '--with-jpeg-dir=/usr/local/libjpeg' '--with-png-dir=/usr/local/libpng' '--with-libxml-dir=/usr/local/libxml2' '--with-zlib-dir=/usr/local/zlib' '--with-imap' '--with-kerberos' '--with-imap-ssl' '--enable-xml' '--enable-mbstring' '--enable-sockets' '--enable-calendar'
 
configure下来一定会缺少很多东西,按照原则缺啥补啥
 
之后就是常规的
make
 
之后遇到让你是否test php选择yes 
 
make install
 
 
Setp4:ZendOptimizer-3.3.3安装从略
我下的版本是ZendOptimizer-3.3.3-linux-glibc2.3-i386.tar.gz
直接进入目录./install
 
这样下来你会发现,安装部分已经差不多了。
对了还有Mysqli支持
这些ext可以在编译php的时候加,也可以编译之后加
后者就比较常见,因为大多数时候你不知道你的web服务器以后要运行什么样的程序
所以我就把这个单独出来说
位置在php5.2.9源码包下的ext目录,里面有各式各样的插件,可以单独编译安装
编译好之后找到,编译后的插件也就是.so的文件的位置,然后在php.in 指定位置就可以了。
 
=配置文件=
apache配置文件 /etc/httpd.conf
 
Listen 80 //服务监听端口
 
LoadModule php5_module        modules/libphp5.so
//去掉前面的#使php模块可以被加载
 
User http
Group http
 
//指定apache所属的组和用户,以后在修改wwwroot的之后可以归属给http用户
//命令是chown -hR http:http /home/www/wwwroot/
 
 DocumentRoot "/home/www"
//网站的根目录
 
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
//这两行是自己加入的,加入到相应的块中,也是以AddType开头的
//为的是能够解析.php等这些后缀的文件
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
//很多网站很好玩的错误页面估计就是在这里指定的,呵呵 我还没试过
 
<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>
//指定一个目录的default文件
 
接下来说说虚拟主机的格式,别告诉我不知道虚拟主机是什么
 
NameVirtualHost *
<VirtualHost *>
ServerName www.example.com
DocumentRoot /home/www/wwwroot/example1
</VirtualHost>

<VirtualHost *>
ServerName www.example2.com
DocumentRoot /home/www/wwwroot/example2
</VirtualHost>
 
<VirtualHost *>
ServerName   www.example3.com
DocumentRoot /home/www/wwwroot/example3
</VirtualHost>
php配置文件/usr/local/php5/lib/php.in (随便找下,估计就在这附近)
 
安装了Zend之后其实真正的php.in是在/usr/local/Zend/etc/php.ini
这里只是一个link. 要是有的话先把php.ini的备份,然后从zend的ln过来
 
里面的设置很多 自己慢慢找,每个模块区分很清晰
 
;;;;;;;;;;;;;;;;;;;;;;;
;    File Upload    ;
;;;;;;;;;;;;;;;;;;;;;;;
 
file_upload = on
 
upload_tmp_dir =
 
upload_max_filesize = 2 M
 
//这个就是控制上传文件的一个模块
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;    Dynamic Extension    ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
extension_dir =" /usr/local/php5/ext"
extension =mysqli.so
 
//这就是一个动态扩展的加载
 
其他的自己看我就不赘述了
 
=连接测试=
 
测试php
phpinfomation.php
 
内容
<?php
phpinfo();
?>
 
mysql.php 连接测试
 
<?php
    $link = mysql_connect("localhost", "root", "222")
        or die("Could not connect : " . mysql_error());
    print "Connected successfully";
    mysql_select_db("mysql") or die("Could not select database");
    print "Connected mysqldb successfully";
    mysql_close($link);
?>
 
mysqli.php 连接测试
<?php
$mysqli = new mysqli("localhost", "root", "", "5ibamboo");
/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %sn", mysqli_connect_error());
    exit();
}
printf("Host information: %sn", $mysqli->host_info);
/* close connection */
$mysqli->close();
?>
======end======

你可能感兴趣的:(linux,mysql,数据库,centos,web服务器)