测试一下发文的滋味....下班了,明天再写,呵呵~~~
------------------接着写---------------------
=目录约定=
软件源代码包存放位置 /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======