|
/****************************************************************************
* 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 了. |
|