返回
编程
分类

这就导致了这些组件经常在一起使用,下载最新版本的编译源代码程序

日期: 2020-01-02 08:09 浏览次数 : 77

前言:网上有好多关于LAMP+论坛、博客之类的帖子,但是写的都不是很全,而初学的用户经常为此而烦恼,因为好多版本使用的方法都有一些小的差别,导致无法完成全部的安装,在这里为了便于大家安装调试,我下载了最新的httpd、mysql、php、wordpress、phpmyadmin编译程序(都可以在官方网站找得到),搭建一个个人博客,并全面介绍了其安装过程,做到条理清晰,内容易懂,希望能给学习这方面知识的同志有所帮助!准备工作:下载最新版本的编译源代码程序
httpd-2.2.9.tar.gz #apache服务源代码
mysql-5.0.22.tar.gz #mysql数据库源代码
php-5.2.10.tar.gz #php环境源代码
wordpress-2.8.4-zh_CN.zip #wordpress压缩包程序
phpMyAdmin-3.2.1-all-languages.tar.gz #phpmysql管理源代码一、安装mysql:
1、创建mysql的用户组和用户
>groupadd mysql #创建mysql组
>useradd -g mysql mysql #创建用户mysql并添加到mysql组中,这个用户主要是作为mysql服务运行的用户2、编译安装 mysql
>tar -zxvf mysql-5.0.22.tar.gz #解压缩
>cd mysql-5.0.22
>./configure --prefix=/usr/local/mysql #指定安装路径及目录
>make #编译源代码
>make install #安装3、配置并启动mysql
>cp support-files/my-medium.cnf /etc/my.cnf #复制配置文件模板
>cd /usr/local/mysql
>usr/local/bin/mysql_install_db --user=mysql #初始化安装mysql数据库
>chown -R root:mysql . #修改当前目录的属主为root,属组为mysql
>chown -R mysql var #修改当前目录的var目录属组为mysql
>bin/mysqld_safe --user=mysql & #使用用户mysql安全启动mysql程序并放到后台允许4、更改mysql的root密码
>/usr/local/mysql/bin/mysqladmin -u root password 123,abc #为进入mysql数据库添加一个用户以及密码,假如用户为"root",密码为"123,abc"(注意:这个和系统root是两个概念)
5、测试mysql是否可用
>/usr/local/mysql/bin/mysql -u root -p #使用用户root连接mysql
Enter password:123,abc #输入上一步显示的密码"123,abc"
mysql>使用"status"或者"select version();"命令可以查看当前mysql版本(这样可以保证你的版本是正确的,我有一次下了个5.0的,装下来是3.0的版本)6、设置mysql开机自启动
在/etc/rc.d/rc.local添加
/usr/local/mysql/bin/mysqld_safe --user=mysql &
二、安装Apache>tar -zxvf httpd-2.2.9.tar.gz #解压缩
>cd httpd-2.2.9
>./configure --prefix=/usr/local/apache --with-mysql=/usr/local/mysql --enable-module=so --enable-shared=max --enable-rewrite #“--prefix”设置了程序安装目录的绝对路径。如果不设置就安装到默认路径“/usr/local/bin”中。“--ebable-module=so”选项设置了Apache服务器可以使用动态加载模块功能。--enable-shared=max max是指所有已配置模块都编译成DSO模块(除了so以外的,so不能被编译成DSO的)。使用动态加载方式会带来5%的性能下降,但和带来的好处相比更本不算什么:比如模块升级方便,系统升级风险降低,安装过程标准化。“--enable-rewrite”选项设置了Apache服务器具有rewrite功能。rewrite功能可以实现对动态网页地址的重写,从而使网页访问者可以通过更加简单和容易记忆的网页地址访问动态网页系统中的页面。>make #编译源代码
>make install #安装
>/usr/local/apache/bin/apachectl start #启动httpd服务,主要不要启动/etc/rc.d/init.d/httpd 了,这个是默认安装的。
安装完成之后,在IE浏览器输入' ok!”三、安装PHP环境
>tar -zxvf php-5.2.10.tar.gz
>cd php-5.2.10
>./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/php
>make
>make install
>cp php.ini-dist /usr/local/php/lib/php.ini #复制配置文件模板为默认配置文件
>vi /usr/local/php/bin/php.ini 修改 register_globals=On
四、配置httpd.conf
>vi /usr/local/apache/conf/httpd.conf
1、检查是否有LoadModule php5_module libexec/libphp5.so
2、在其后添加"AddType application/x-httpd-php .php"和"AddType application/x-httpd-php-source .phps"
3、找到"DirectoryIndex index.html" 在index.html 前添加 index.php
4、关闭然后重新启动httpd服务
>/usr/local/apache/bin/apachectl stop
>/usr/local/apache/bin/apachectl start五、测试PHP环境是否完好!
>vi /usr/local/apache/htdocs/index.php
内容为:
<?php
phpinfo();
?>
>/usr/local/apache/bin/apachectl restart #重新启动httpd服务
在IE浏览器中输入"httpd://ip"可是否能够访问到php信息页面
必威官网亚洲体育 ,六、创建数据库
/usr/local/mysql/bin/mysql -u root -p #连接mysql数据库
mysql>create database wordpress; #创建数据库wordpress,显示OK表明成功
mysql>show databases; #查看是否存在刚才创建的数据库七、安装wordpress
>cd /usr/local/apache/htdocs/
>unzip wordpress-2.8.4-zh_CN.zip
>cp wp-config-sample.php wp-config.php
>vi wp-config.php #编辑配置文件,输入数据库名、用户名以及密码
// ** MySQL设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress数据库的名称,替换掉 “putyourdbnamehere” */
define('DB_NAME', 'wordpress');/** MySQL数据库用户名,替换掉 “usernamehere” */
define('DB_USER', 'root');/** MySQL数据库密码,替换掉 “yourpasswordhere” */
define('DB_PASSWORD', '123,abc');八、在WEB浏览器进行安装在IE浏览器中输入".........
九、安装phpmyadmin
>tar -xzf phpMyAdmin-3.2.1-all-languages.tar.gz #解压缩到/usr/local/apache/htdocs/目录下
>cd /usr/local/apache/htdocs/phpMyAdmin-3.2.1-all-languages/ #进入phpMyAdmin目录
>cp config.sample.inc.php config.inc.php #复制配置文件模板为当前配置文件
>vi config.inc.php
修改
// $cfg['Servers'][$i]['controluser'] = 'pma';
// $cfg['Servers'][$i]['controlpass'] = 'pmapass';

$cfg['Servers'][$i]['controluser'] = 'root'; #mysql登录用户名
$cfg['Servers'][$i]['controlpass'] = '123,abc'; #mysql登录密码十、验证phpmyadmin
在IE浏览器中输入: 并输入登录mysql的用户名和密码即可。后续工作.........**

一、简介

本文出自 “小诺的Linux开源技术博客” 博客,请务必保留此出处

什么是LAMP
LAMP是一种Web网络应用和开发环境,是Linux, Apache, MySQL, Php/Perl的缩写,每一个字母代表了一个组件,每个组件就其本身而言都是在它所代表的方面功能非常强大的组件。
LAMP这个词的由来最早始于德国杂志“c't Magazine”,Michael Kunze在1990年最先把这些项目组合在一起创造了LAMP的缩写字。这些组件并不是开始就设计为一起使用的,但是,这些软件都是开源的,可以很方便的随时获得并免费使用,这就导致了这些组件经常在一起使用。这些组件的兼容性也在不断完善,为了改善不同组件之间的协作,已经创建了某些扩展功能,在一起的应用情形变得非常普便,因而成为目前最流行的web应用基础架构。

...

LAMP的组件
平台由四个组件组成,呈分层结构,每一层都提供了整个架构的一个关键部分:
Linux:Linux 处在最底层,提供操作系统。它的灵活性和可定制化的特点意味着它能够产生一种高度定制的平台,让其它组件在上面运行。其它组件运行于Linux 之上,但是并不一定局限于 Linux,也可以在 Microsoft Windows, Mac OS X 或 UNIX上运行。
Apache:Apache位于第二层,它是一个Web 服务平台,提供可让用户获得 Web 页面的机制。Apache 是一款功能强大、稳定、可支撑关键任务的Web服务器,Internet 上超过 50% 的网站都使用它作为 Web 服务器。
MySQL:MySQL 是最流行的开源关系数据库管理系统,是LAMP的数据存储端。在 Web 应用程序中,所有帐户信息、产品信息、客户信息、业务数据和其他类型的信息都存储于数据库中,通过 SQL 语言可以很容易地查询这些信息。
PHP/Perl:Perl是一种灵活的语言,特别是在处理文本要素的时候,这种灵活性使Perl很容易处理通过 CGI接口提供的数据,灵活地运用文本文件和简单数据库支持动态要素。PHP 是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到 HTML中,尤其适合 web 开发。可以使用 PHP 编写能访问 MySQL 数据库中的数据和 Linux 提供的一些特性的动态内容。

二、系统环境

系统平台:CentOS release 5.8 (Final)

Apache版本:httpd-2.2.9.tar.gz

Mysql 版本:mysql-5.0.41.tar.gz

Php版本:php-5.2.6.tar.gz

三、安装前准备

1、库文件准备

在安装PHP之前,应先安装PHP5需要的最新版本库文件,例如libxml2、libmcrypt以及GD2库等文件。安装GD2库是为了让PHP5支 持GIF、PNG和JPEG图片格式,所以在安装GD2库之前还要先安装最新的zlib、libpng、freetype和jpegsrc等库文件。而且中间还会穿插安装一些软件,读者可以按照本节提供的顺序安装。

autoconf-2.61.tar.gz

freetype-2.3.5.tar.gz

gd-2.0.35.tar.gz

jpegsrc.v6b.tar.gz

libmcrypt-2.5.8.tar.gz

libpng-1.2.31.tar.gz

libxml2-2.6.30.tar.gz

zlib-1.2.3.tar.gz

ZendOptimizer-3.2.6-linux-glibc21-i386.tar.gz

phpMyAdmin-3.0.0-rc1-all-languages.tar.gz

2、安装gcc、gcc-c++编译器

用gcc -v 命令检查安装时使用的编译工作是否存在

必威官网亚洲体育 1

如系统未安装,在系统联网的情况下使用yum install gcc和yum install gcc-c++安装

3、卸载默认的低版本环境

目前发行的Linux操作系统版本中,如果选择默认全部安装,就已经安装了LAMP环境,但是版本相对都比较低。我们可以再安装一个LAMP环境和原来的并存,但是这样做没有必要,因为同时只能开启一个LAMP环境。所要我们要在安装之前,先应检查一下系统中是否已经安装了低版本的环境,如果已经安装过了,停止原来的服务运行,或者把原来的环境卸载掉。

a. 卸载Apache

# rpm -qa | grep httpd

说明:检查是否安装了httpd软件包

必威官网亚洲体育 2

# rpm -e httpd-2.2.3-63.el5.centos --nodeps

说明:卸载软件包, --nodeps 如果有连带关系,也强制卸载

# cd /etc/httpd/

# rm -rf *

说明:到原来的apache安装目录下,将其所有的安装目录和文件都删掉

b. 卸载Mysql

# rpm -qa | grep mysql

# rpm -e mysql-5.0.77-4.el5_4.2 --nodeps

说明:卸载mysql

c. 卸载Php

# rpm -qa | grep php

# rpm -e php-common-5.1.6-27.el5 --nodeps

# rpm -e php-ldap-5.1.6-27.el5 --nodeps

# rpm -e php-cli-5.1.6-27.el5 --nodeps

# rpm -e php-5.1.6-27.el5 --nodeps

说明:卸载PHP

4、关闭selinux,清空防火墙规则

5、使用ssh shell将windows下的13个源码包上传到/usr/local/src

6、解包

编写一个shell脚本tar.sh进行解包。

#!/bin/sh cd /usr/local/src ls *.tar.gz > ls.list for TAR in `cat ls.list` do tar -zxvf $TAR done

执行脚本tar.sh进行解包

7、将源码包*.tar.gz全都删除

必威官网亚洲体育 3

四、安装LAMP

1、安装libxml2

# cd /usr/local/src/libxml2-2.6.30
# ./configure --prefix=/usr/local/libxml2
# make && make install

2、安装libmcrypt

# cd /usr/local/src/libmcrypt-2.5.8
# ./configure --prefix=/usr/local/libmcrypt
# make && make install

3、安装zlib

# cd /usr/local/src/zlib-1.2.3
# ./configure
# make && make install

4、安装libpng

# cd /usr/local/src/libpng-1.2.31
# ./configure --prefix=/usr/local/libpng
# make && make install

5、安装jpeg6

这个软件包安装有些特殊,其它软件包安装时如果目录不存在,会自动创建,但这个软件包安装时需要手动创建。

# mkdir /usr/local/jpeg6
# mkdir /usr/local/jpeg6/bin
# mkdir /usr/local/jpeg6/lib
# mkdir /usr/local/jpeg6/include
# mkdir -p /usr/local/jpeg6/man/man1

# cd /usr/local/src/jpeg-6b
# ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
# make && make install

6、安装freetype

# cd /usr/local/src/freetype-2.3.5
# ./configure --prefix=/usr/local/freetype
# make
# make install

7、安装autoconf

# cd /usr/local/src/autoconf-2.61
# ./configure
# make && make install

8、安装GD库

# cd /usr/local/src/gd-2.0.35
# ./configure
--prefix=/usr/local/gd2/
--enable-m4_pattern_allow
--with-zlib=/usr/local/zlib/
--with-jpeg=/usr/local/jpeg6/
--with-png=/usr/local/libpng/
--with-freetype=/usr/local/freetype/

# make

出现错误:

make[2]: *** [gd_png.lo] Error 1
make[2]: Leaving directory `/usr/local/src/gd-2.0.35'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/gd-2.0.35'
make: *** [all] Error 2

必威官网亚洲体育 4

分析:这个问题是因为gd库中的gd_png.c这个源文件中包含png.h时,png.h没有找到导致的。

解决:

在编译文件里

# vi gd_png.c

将include “png.h” 改成 include “/usr/local/libpng/include/png.h”

必威官网亚洲体育 5

其中/usr/local/libpng/为libpng安装路径。

# make install

9、安装Apache

# cd /usr/local/src/httpd-2.2.9
# ./configure
--prefix=/usr/local/apache2
--sysconfdir=/etc/httpd
--with-z=/usr/local/zlib
--with-included-apr
--enable-so
--enable-deflate=shared
--enable-expires=shared
--enable-rewrite=shared
--enable-static-support
# make && make install

10、配置Apache

启动Apache
# /usr/local/apache2/bin/apachectl start

关闭Apache
# /usr/local/apache2/bin/apachectl stop

查看80端口是否开启
# netstat -tnl|grep 80

访问Apache服务器

必威官网亚洲体育 6

添加自启动
# echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.local

11、安装Mysql

添加一个mysql标准组
# groupadd mysql

添加mysql用户并加到mysql组中
# useradd -g mysql mysql

# cd /usr/local/src/mysql-5.0.41
# ./configure
--prefix=/usr/local/mysql/
--with-extra-charsets=all

出现错误:

checking for tgetent in -lncurses... no
checking for tgetent in -lcurses... no
checking for tgetent in -ltermcap... no
checking for tgetent in -ltinfo... no
checking for termcap functions library... configure: error: No curses/termcap library found

必威官网亚洲体育 7

分析:缺少ncurses安装包

解决:

# yuminstall ncurses-devel

# make && make install

12、配置Mysql

创建MySQL数据库服务器的配置文件
# cp support-files/my-medium.cnf /etc/my.cnf

用mysql用户创建授权表,创建成功后,会在/usr/local/mysql目录下生成一个var目录
# /usr/local/mysql/bin/mysql_install_db --user=mysql

将文件的所有属性改为root用户
# chown -R root /usr/local/mysql

将数据目录的所有属性改为mysql用户
# chown -R mysql /usr/local/mysql/var

将组属性改为mysql组
# chgrp -R mysql /usr/local/mysql

启动数据库
# /usr/local/mysql/bin/mysqld_safe --user=mysql &

查看3306端口是否开启
# netstat -tnl|grep 3306

简单的测试
# /usr/local/mysql/bin/mysqladmin version

查看所有mysql参数
# /usr/local/mysql/bin/mysqladmin variables

设置Mysql开机自启动
# cp /usr/local/src/mysql-5.0.41/support-files/mysql.server /etc/rc.d/init.d/mysqld
# chown root.root /etc/rc.d/init.d/mysqld
# chmod 755 /etc/rc.d/init.d/mysqld
# chkconfig --add mysqld
# chkconfig --list mysqld
# chkconfig --levels 245 mysqld off

13、Mysql安全性设置

没有密码可以直接登录本机服务器
# /usr/local/mysql/bin/mysql -u root

查看mysql用户权限信息
mysql> select * from mysql.user;
必威官网亚洲体育 8

删除非localhost的主机
mysql> DELETE FROM mysql.user WHERE Host='localhost' AND User='';
必威官网亚洲体育 9

刷新授权表
mysql> FLUSH PRIVILEGES;
必威官网亚洲体育 10

为root用户添加密码
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('abc123');
必威官网亚洲体育 11

再次进入Mysql客户端
# /usr/local/mysql/bin/mysql -u root -h localhost -p
必威官网亚洲体育 12

关闭MySQL数据库
# /usr/local/mysql/bin/mysqladmin -u root -p shutdown
必威官网亚洲体育 13

14、安装PHP

# cd /usr/local/src/php-5.2.6
# ./configure
--prefix=/usr/local/php
--with-config-file-path=/usr/local/php/etc
--with-apxs2=/usr/local/apache2/bin/apxs
--with-mysql=/usr/local/mysql/
--with-libxml-dir=/usr/local/libxml2/
--with-png-dir=/usr/local/libpng/
--with-jpeg-dir=/usr/local/jpeg6/
--with-freetype-dir=/usr/local/freetype/
--with-gd=/usr/local/gd2/
--with-zlib-dir=/usr/local/zlib/
--with-mcrypt=/usr/local/libmcrypt/
--with-mysqli=/usr/local/mysql/bin/mysql_config
--enable-soap
--enable-mbstring=all
--enable-sockets
# make && make install

15、配置PHP

创建配置文件
# cp php.ini-dist /usr/local/php/etc/php.ini

使用vi编辑apache配置文件
# vi /etc/httpd/httpd.conf

添加这一条代码
Addtype application/x-httpd-php .php .phtml
必威官网亚洲体育 14

重启Apache
# /usr/local/apache2/bin/apachectl restart

以上安装步骤可以写成一个shell script,详细参考

16、安装Zend加速器

# cd /usr/local/src/ZendOptimizer-3.2.6-linux-glibc21-i386/
# ./install.sh

必威官网亚洲体育 15

必威官网亚洲体育 16

必威官网亚洲体育 17

必威官网亚洲体育 18

必威官网亚洲体育 19

必威官网亚洲体育 20

17、安装phpMyAdmin

拷贝目录到指定位置并改名为phpmyadmin# cp -a phpMyAdmin-3.0.0-rc1-all-languages /usr/local/apache2/htdocs/phpmyadmin# cd /usr/local/apache2/htdocs/phpmyadmin/# cp config.sample.inc.php config.inc.php

18、配置phpMyAdmin

# vi /usr/local/apache2/htdocs/phpmyadmin/config.inc.php将auth_type 改为http必威官网亚洲体育 21

$cfg['Servers'][$i]['auth_type'] = 'http';

必威官网亚洲体育 22

五、测试

1、编写info.php文件,查看php配置详细

# vi /usr/local/apache2/htdocs/info.php

必威官网亚洲体育 23

<?php phpinfo();?>

必威官网亚洲体育 24

通过浏览器访问

必威官网亚洲体育 25

2、Zend加速器信息

必威官网亚洲体育 26

3、访问phpMyAdmin

必威官网亚洲体育 27

至此LAMP环境配置完毕。

什么是LAMP LAMP是一种Web网络应用和开发环境,是Linux, Apache, MySQL, Php/Perl的缩写,每一个字母代表了一个组件,每个组件就其本身而...