linux apache mysql php 安装总结(lamp)
lamp环境搭建如果在用linux、centos及ubuntu等软件包管理工具工具安装挺容易的,但往往在生产环境下要求源码安装,所以再次重点强调源码安装。
需要的软件包及版本
Red hat enterprise linux 5
httpd-2.2.11.tar.bz2
mysql-5.1.34.tar.gz
php-5.2.9.tar.bz2
phpMyAdmin-3.1.4-all-languages.tar.bz2
由于上传附件不能超过2MB,就没上传软件
源码安装过程
apache源码包安装
tar jxvf ......
cd httpd....
./configure --prefix=/usr/local/apache2 --enable-mods-shared=most --enable-so --enable-rewrite --enable-ssl
注解:
--enable-mods-shared=most:把apache的大部分功能编译成模块
--enable-so:让apache核心装载DSO
make && make install
Mysql的源码包安装
#tar –xzvf mysql-version.tar.gz –C /usr/local/src
#cd /usr/src/mysql-version
如果不存在mysql 用户,则建立之
./configure --with-mysqld-user=mysql --prefix=/usr/local/mysql --with-extra-charsets=all --exec-prefix=/usr/local/mysql --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --with-innodb --with-plugins=partition
注解:
--with-mysqld-user=mysql:以mysql用户的身份运行mysqld进程
--with-extra-charsets=all:支持所有字符集
--exec-prefix=/usr/local/mysql:mysql的执行文件安装位置,会在mysql目录下产生bin目录
--with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static:静态编译mysql,理论上提高性能13%
--with-innodb:支持innodb存储引擎
--with-plugins=partition:支持分区
#make && make install
数据库的初始化:
cd /usr/local/mysql/bin
执行
./mysql_install_db 此命令是初始化脚本,为Mysql运行做准备:来创建MySQL许可表。
此命令执行成功时会在/usr/local/mysql目录下生成var目录,如果执行失败则有可能mysql用户没有创建,需要手工创建:useradd mysql,再把系统的mysql卸载:rpm -e mysql。
cd /usr/local/
chown mysql mysql/ -R
chown mysql:mysql mysql/var -R
cd /usr/local/mysql/bin/
执行 ./mysqld_safe --user=mysql &启动mysql服务器.这时可用ps -e 命令看到mysql 的进程
为mysql数据库添加密码
缺省地,mysql 已经存在一个root 用户,密码为空
/usr/local/mysql/bin/mysqladmin password YOURPASS
/usr/local/mysql/bin/mysql -u root -pYOUR_PASS 可以进入,用exit 退出
遍译php
解压php- 到/usr/local/src下,进入该目录进行编译工作
cd /usr/local/src/php-5.2.9
#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php
注解:
--with-apxs2=/usr/local/apache2/bin/apxs:用apache的apxs工具把php编译成apache的一个模块
--with-mysql=/usr/local/mysql:与mysql结合
make && make install
cp php.ini-dist /usr/local/php/php.ini
如果一切顺利的话,apache2/modules 下应该有个libphp5.so 的文件
为apache 添加php 支持
编辑/usr/local/apache2/conf/httpd.conf 文件
增加一行
AddType application/x-httpd-php .php
在DirectoryIndex指令的最后,添加 index.php
测试Apache及php支持
apache 的控制文件在 /usr/local/apache2/bin 下
apachectl stop 停止apache 服务
apachectl start 启动apache 服务
自行完成一个php 测试页1.php, 包含一行:
<? phpinfo() ?> ,放在DocumentRoot下