|  | 
 
| /**************************************************************************** * File:        $HOME/Projects/LinuXP/HowTo_LAMP
 * Title:       LAMP - Linux 下 Apache + MySQL + PHP 的安装与配置
 * Author:      Cure <[email protected]>
 * Date:        03-05-20 21:24
 * --------------------------------------------------------------------------
 * Description:
 *                LAMP 以及 phpMyadmin 的安装与配置
 * --------------------------------------------------------------------------
 * Change Logs:
 *        03.07.18 12:58 Cure        添加 "软件版本"
 *      03.07.18 02:08 Cure     整理毕
 ****************************************************************************/
 
 LAMP - Linux 下 Apache + MySQL + PHP 的安装与配置
 
 
 目标读者:
 
 有兴趣体验 LAMP 却在安装配置中遇到难题的朋友
 
 软件版本:
 Linux:                Redhat 9.0
 Apache:         Apache 1.3.27
 MySQL:                MySQL 4.0.12
 PHP:                PHP 4.3.2rc3
 
 (注意: 现在 MySQL 的最新稳定版本为 4.0.13, PHP 为 4.3.2, 安装起来应该
 没有区别. 至于这些软件的老版本, 理论上应该差别不大. 如果有任何问题, 请
 查阅官方文档)
 
 本文分六部分:
 
 . MySQL 的安装
 . Apache 的安装
 . PHP 的安装
 
 . 配置 Apache 以支持 PHP
 . 配置 PHP 以连接 MySQL
 
 . phpMyadmin 的中文问题
 
 
 1. 安装 mysql:
 
 phpMyAdmin 暂时不支持 mysql version >= 4.1.0, 所以直接下稳定的 4.0.12
 的各个 rpm 包 (Server, Max, Client 等) 安装.
 
 如果之前安装过别的版本不成功, 或者不想要原来的版本了, 在 rpm -e 之后,
 记得删除 /var/lib/mysql 整个目录, 并且以 root 删去 mysql 用户组和用户
 否则会导致旧版本的 mysql 权限设置影响新装的 mysql. (吃过亏)
 
 mysql_install_db 会在安装 Server 之后自动运行, 所以, 不必自己动手初始
 化数据库.
 
 然后记得用 mysqladmin -u root password 'new_password' 为 root 用户添加
 密码!
 
 启动 mysql: shell>mysqld_safe --user=mysql
 关闭 mysql: shell>mysqladmin -u root -p shutdown
 (然后会提示输入密码, 正确则数据库会关闭)
 
 2. 安装 apache
 
 拷自 php 官方网站: http://www.php.net/manual/en/install.apache.php
 
 1.  gunzip apache_xxx.tar.gz
 2.  tar -xvf apache_xxx.tar
 3.  gunzip php-xxx.tar.gz
 4.  tar -xvf php-xxx.tar
 5.  cd apache_xxx
 6.  ./configure --prefix=/www --enable-module=so
 7.  make
 8.  make install
 
 1/2 步可以直接: tar zvxf apache_xxx.tar.gz 解决
 
 
 3. 安装 php
 
 php 4.3.1 在 make 的时候会出如下错误:
 
 ext/mysql/libmysql/my_tempnam.lo(.text+0x4c): In function `my_tempnam':
 /Data/php-4.3.0/ext/mysql/libmysql/my_tempnam.c:103: the use of
 `tempnam' is
 dangerous, better use `mkstemp'
 ext/mysql/libmysql/my_lib.lo(.text+0x3d1): In function `my_dir':
 /Data/php-4.3.0/ext/mysql/libmysql/my_lib.c:169: undefined reference to
 `errno'
 ext/mysql/libmysql/my_lib.lo(.text+0x5ef): In function `my_stat':
 /Data/php-4.3.0/ext/mysql/libmysql/my_lib.c:588: undefined reference to
 `errno'
 ext/mysql/libmysql/my_malloc.lo(.text+0xde): In function `my_malloc':
 /Data/php-4.3.0/ext/mysql/libmysql/my_malloc.c:24: undefined reference
 to
 `errno'
 ext/mysql/libmysql/my_realloc.lo(.text+0xd5): In function `my_realloc':
 /Data/php-4.3.0/ext/mysql/libmysql/my_realloc.c:44: undefined reference
 to
 `errno'
 ext/mysql/libmysql/my_delete.lo(.text+0x86): In function `my_delete':
 /Data/php-4.3.0/ext/mysql/libmysql/my_delete.c:16: undefined reference
 to
 `errno'
 ext/mysql/libmysql/my_tempnam.lo(.text+0x89):/Data/php-4.3.0/ext/mysql/l
 ibmy
 sql/my_tempnam.c:108: more undefined references to `errno' follow
 collect2: ld returned 1 exit status
 make: *** [sapi/cli/php] Error 1
 
 详细参看:
 
 http://bugs.php.net/bug.php?id=23283
 以及:
 
 http://bugs.php.net/bug.php?id=23330
 
 下载最新的 4.3.2rc3 则已解决该问题.
 
 
 具体安装:
 
 还是来自官方网站 -
 
 10. ./configure --with-mysql --with-apxs=/www/bin/apxs
 11. make
 12. make install
 
 在 configure 的时候, 记得制定 php.ini 的安装目录! 否则装完我也不知道
 默认的跑哪里去了, 要改配置就很麻烦. 另外, mysql 已经默认就是支持的了
 所以, 可以不必显式说明, 因此, 可以写成:
 
 shell>./configure --prefix=/usr/local/PHP \
 --with-apxs=/usr/local/Apache/bin/apxs \
 --with-config-file-path=/usr/local/lib
 
 然后 make, make install.
 
 接着把 php 安装包目录下的 php.ini-recommended (这个好) 拷成为
 /usr/local/lib/php.ini .这样就把 php 和 apache 以 DSO 方式装一起了.
 (DSO: http://httpd.apache.org/docs/dso.html)
 
 4. 配置 Apache:
 
 "14. Edit your httpd.conf or srm.conf file and check that these lines are
 present and not commented out:
 
 AddType application/x-httpd-php .php
 
 LoadModule php4_module         libexec/libphp4.so
 "
 
 LoadModule 这句默认就有了. 所以不用加.
 
 设置自己的 DocumentRoot 和访问控制.
 
 5. 配置 php 对 mysql 的连接:
 
 做完刚才这些步骤之后, php 默认通过 /tmp/mysql.sock 连接 mysql, 而实际上
 现在这个文件是不存在的, 所以会报无法连接的错误, 应该在 php.ini 中找到
 
 mysql.default_socket =
 
 改成 mysql client 真正用以连接的 sock :
 
 mysql.default_socket = /var/lib/mysql/mysql.sock
 
 重启 apache 搞定.
 
 6. phpMyAdmin 的语言用简体中文时, e 文都显示成全角的 (linux 下用
 phoenix 0.5)
 那是因为字体设置问题, 简体中文语言包中没有为 e 文指定字体, 所以都用了
 simsun 的全角 e 文, 打开
 
 vi /path/to/phpMyAdmin/lang/chinese_gb.inc.php
 
 修改:
 
 $left_font_family = 'simsun, 宋体';
 $right_font_family = 'simsun';
 
 成为:
 
 $left_font_family = 'verdana, arial, helvetica, geneva, sans-serif,
 simsun, 宋体';
 $right_font_family = 'verdana, arial, helvetica, geneva, sans-serif,
 simsun';
 
 ok 了.
 | 
 |