lamp源码安装

先从Apache开始装-》MySQL-》PHP PHP在编译的时候需要用到MySQL的一些参数,需要用到Apache的参数。


准备工作:
1、查看系统中是否有自带的Apache
如果提示你不能卸载,有依赖先卸载掉
rpm -e gnome-user-shar

然后再卸载httpd
rpm -e httpd

2、必须安装gcc、GCC-c++(设置yum源)
yum install gcc*

3、关闭防火墙、selinux


如何确定报错:
1)、安装过程停止。
2)、停止之后,一个页面都出现error或warning

如何确定安装成功:
一般情况下进入安装目录,确认目录中是否有程序出现。


1、安装Apache
mkdir /Apache
准备工作:
1)、编译安装apr,Apache可移植运行库,主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。在早期的Apache版本中,应用程序本身必须能够处理各种具体操作系统平台的细节,并针对不同的平台调用不同的处理函数。随着Apache的进一步开发,Apache组织决定将这些通用的函数独立出来并发展成为一个新的项目。
mkdir /Apache/apr

./configure --prefix=/Apache/apr/
注意:在执行configure的时候必须进入到这个安装包的目录下。
make
make install


2)、编译安装apr-util,需要在apr的基础上安装,apr-util只不过比在apr的基础上提供了更多的底层支持接口。

mkdir /Apache/apr-util

./configure --prefix=/Apache/apr-util --with-apr=/Apache/apr

make

make install

 

3)、编译安装pcre,是一个工具库,提供了正则表达式库。很多开源软件都需要使用比如Apache和PHP。


mkdir /Apache/pcre

./configure --prefix=/Apache/pcre

make

make install

4)、编译安装Apache。

./configure --prefix=/Apache/ --with-apr=/Apache/apr --with-apr-util=/Apache/apr-util --with-pcre=/Apache/pcre

5)、启动Apache测试是否能够正常使用,/Apache/bin/apachectl start


7、安装MySQL

1)、安装cmake工具,和configure一样,用来输出各种各样的makefile文件。

yum install cmake
2)、安装bison软件,是一个自由软件,用于自动生成语法分析器程序。
cd /media/Packages/
yum install bison-2.4.1-5.el6.i686.rpm
rpm -q bison-2.4.1-5.el6.i686.rpm 查看安装上了木有
3)、安装perl语言,是一种功能丰富的计算机器程序语言,安装它是因为MySQL中有很多库和组件正好是perl语言中有的。
yum -y install perl*

或单独安装
autoconf
[root@lichihua Packages]# yum install autoconf-2.63-5.1.el6.noarch.rpm
automake
yum install automake-1.11.1-1.2.el6.noarch.rpm
zlib*,安装zlib函数库,是提供数据压缩用的函数库。(有可能已经安装,使用rpm -q zlib查看)
rpm -q zlib 如果安装了就不安了如果没安装yum install zlib*
flex*
yum install flex*

libtool-ltdl-devl*
yum install libtool-ltdl-devel*

4)、安装ncurses和ncurses-devel库,提供字符端终端处理库。包括一些面板和菜单,提供了一套控制光标,建立窗口改变前景背景颜色以及数据处理操作的函数。
yum install ncurses* 这样上面两个都安装成功了

5)、创建MySQL安装目录和数据文件放置的目录
想把MySQL装在哪就新建文件夹在哪这里 mkdir /MySQL/data
6)、解压源码包

7)、使用cmake进行编译。
cmake -DCMAKE_INSTALL_PREFIX=/apache/mysql -DMYSQL_UNIX_ADDR=/apache/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/apache/mysql/data -DMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS=1 -DWITH_MYISAM_STORAGE_ENGINE=1

由于mkdir /MySQL/data
-DCMAKE_INSTALL_PREFIX=/apache/mysql改成-DCMAKE_INSTALL_PREFIX=/MySQL
-DMYSQL_UNIX_ADDR=/apache/mysql/mysql.sock改成-DMYSQL_UNIX_ADDR=/MySQL/mysql.sock
-DMYSQL_DATADIR=/apache/mysql/data改成-DMYSQL_DATADIR=/MySQL/data

注意:-DENABLE_DOWNLOASDS自动下载可选文件,比如自动下载谷歌的测试包,如果不安装编译不过去
注意:如果配置出错需要删除CMakeCache.txt,然后重新编译。
make
make install

8)、为了安全起见需要有专门的系统用户来进行运行MySQL
groupadd mysql 组
useradd -r -g mysql mysql 第一个为组 第二个为 新建的用户

 

cat /etc/passwd    
mysql:x:496:501::/home/mysql:/bin/bash
vi /etc/passwd(可不改)    
mysql:x:496:501::/home/mysql:sshd:/sbin/nologin

更改mysql安装目录的所有者:
chown -R mysql:mysql /MySQL

9)、初始化mysql数据库
注意:必须进入到MySQL的安装目录下执行。
/MySQL/scripts/mysql_install_db --user=mysql --datadir=/MySQL/data/

10)、复制mysql服务启动配置文件
cp /MySQL/support-files/my-huge.cnf /etc/my.cnf
注意:如果已经提示/etc/my.cn文件存在则覆盖。

11)、启动mysql
/MySQL/bin/mysqld --user=mysql --datadir=/MySQL/data/ &

注意:如果已经开启那么应该用ps aux | grep mysql 能够看到

关闭在安装目录下使用 mysqladmin -u root -p shutdown

/MySQL/bin/mysqladmin -u root -p shutdown

12)、进入到MySQL测试一下/apache/mysql/bin/mysql -uroot -p默认密码为空。
/MySQL/bin/mysql -u root -p

注意:默认的时候密码为空。

13)、修改密码
/MySQL/bin/mysqladmin -u root -p password '1234@abcd'

问题:
1、[root@localhost mysql]# 150725 17:16:45 [ERROR] Unknown collation: 'utf8-general_ci'

原因:不认识utf8-general_ci校验字符集,只需要重新修正就可以,在my.cnf中的[mysqld]下面加入character_set_server=utf8即可

8、安装PHP
1)、安装apxs(已经安装放在安装目录下的bin/apxs目录下)

2)、安装libxml库。
xml,可扩展标记语言,HTML有些相同的地方,可以自定义一些标签,但是HTML是用来标记的,XML是用来存储数据的,用来多种程序间共享数据用的。

libxml库,提供了对XML文档的各种操作方法。


3)、安装zlib函数库,是提供数据压缩用的函数库(有可能已经安装)。


4)、安装jpeg6,用于解码.jpg和.jpeg图片
./configure --prefix=/apache/jpeg --enable-shared --enable-static

--enable-shared与--enable-static参数分别为建立共享库和静态库使用的libtool

注意:以下目录必须手动创建。
mkdir /apache/jpeg    
mkdir /apache/jpeg/bin
mkdir /apache/jpeg/lib
mkdir /apache/jpeg/include
mkdir -p /apache/jpeg/man/man1

5)、安装libpng,用于解码.png图片

6)、安装freetype,FreeType库是一个完全免费(开源)的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件,包括TrueType, OpenType, Type1, CID, CFF, Windows FON/FNT, X11 PCF等。

7)、安装gd2,用于处理图像,GD库,是php处理图形的扩展库,GD库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片。 在网站上GD库通常用来生成缩略图,或者用来对图片加水印,或者用来生成汉字验证码,或者对网站数据生成报表等。
./configure --prefix=/apache/gd2 --with-jpeg=/apache/jpeg --with-freetype=/apache/freetype --with-png=/apache/libpng --with-zlib=/apache/zlib

注意:
1、gd库要处理jpeg\字体\png文件,指明应用的位置。
2、png错误,解决方法。(如果不解决会有问题,安装GD2前)
vi gd_png.c
把#include "png.h" 修改为 #include "/apache/libpng/include/png.h"

8)、因为PHP 5.4的版本,检测gd库会有问题,手工修改。(安装完GD2后)
vi /apache/gd2/incude/gd_io.h
在typedef struct gdIOCt
{
void (*data);#加入此句
}

9)、安装libmcrypt库,是一个加密算法扩展库。

10)、安装curl,是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP、FTP、TELNET等。

11)、编译PHP

./configure --prefix=/apache/php/ --with-config-file-path=/apache/php/etc --with-apxs2=/apache/bin/apxs --with-mysql=/apache/mysql/ --with-libxml-dir=/apache/libxml/ --with-jpeg-dir=/apache/jpeg/ --with-png-dir=/apache/libpng/ --with-freetype-dir=/apache/freetype/ --with-gd=/apache/gd2/ --with-mcrypt=/apache/libmcrypt/ --with-mysqli=/apache/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets --with-pdo-mysql=/apache/mysql/ --without-pear --with-curl=/apache/curl/

注意:
1、/apache/php/etc需要自己创建。
2、如果提示
Sorry, I cannot run apxs. Possible reasons follow:

1. Perl is not installed
2. apxs was not found. Try to pass the path using --with-apxs2=/path/to/apxs
3. Apache was not built using --enable-so (the apxs usage page is displayed)

The output of /apache/bin/apxs follows:
./configure: line 8421: /apache/bin/apxs: No such file or directory
configure: error: Aborting
说明没有安装perl,或者没有找到apxs的目录,装Apache时已经安装。


11)、创建/apache/php/etc目录,放置配置文件


12)、复制初始配置文件。

13)、修改apache配置文件让apache能够认识php文件

14)、重新启动Apache服务

 

posted @ 2018-08-18 15:03  虚无缥缈的云  阅读(178)  评论(0编辑  收藏  举报