Apache + PHP + MySQL 的安装与配置
Cure
|
1#
Cure 发表于 2003-07-18 02:20
Apache + PHP + MySQL 的安装与配置
/****************************************************************************
* File: $HOME/Projects/LinuXP/HowTo_LAMP * Title: LAMP - Linux 下 Apache + MySQL + PHP 的安装与配置 * Author: Cure <angeleyes@eyou.com> * 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 了. |