一、LAMP架构的安装
-
安装apache
-
首先要解决apache在安装过程中依赖的库文件
在源码安装的过程中,要解决掉Apache依赖的库文件。那么首先我们来了解Apache依赖哪些库文件。
apr,apr-uapr-util,pcre这三个相关的库文件!在这里我用的是apr-1.4.5,apr-util-1.3.12 ,pcre-8.10版本,
下面是执行的编译安装过程:
#cd apr-1.4.5/
#./configure --prefix=/usr/local/apr
#make
#make install
#cd apr-util-1.3.12/
#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
#make
#make install
#cd pcre-8.10/
#./configure --prefix=/usr/local/pcre
#make
#make install -
安装libxml2、libmcrypt、zlib、libpng、libtool、jpeg6、freetype、autoconf、GD库,注意各版本的搭配,下面能看到我用的版本号。一定要注意,按照顺序安装。
#cd libxml2-2.7.6/
#./configure --prefix=/usr/local/libxml2
#make
#make install#cd libmcrypt-2.5.8/
#./configure --prefix=/usr/local/libmcrypt
#make
#make install#cd zlib-1.2.5/
#./configure --prefix=/usr/local/zlib
#make
#make install#cd libpng-1.4.1/
#ls
#./configure --prefix=/usr/local/libpng
#make
#make install#cd libtool-2.2.6/
#./configure
#make
#make install安装jpeg6,这个软件有些特殊,其他软件在安装的时候,如果安装目录不存在,会自动创建,但是这个需要手动创建
#mkdir /sur/local/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 jpeg-6b
#./configure --prefix=/usr/local/jpeg6 --enable-shared --enable-static
#make
在make的时候会报错,make: ./libtool: Command not found
这个时候我们需要切换到jpeg6目录下,做以下操作:
#cp /usr/local/share/libtool/config/config.sub .
#cp /usr/local/share/libtool/config/config.guess .
从新的编译安装,就可以了
#./configure --prefix=/usr/local/jpeg6 --enable-shared --enable-static
#make
#make install#cd /usr/local/src/autoconf-2.61
#./configure
#make
#make install#cd libgd-2.1.1
#./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/ -
安装apache
#cd httpd-2.4.18
#./configure --prefix=/usr/local/http
#–enable-mods-shared=all
#–enable-so
#–enable-proxy-ajp
#–enable-rewrite
#–with-apr=/usr/local/apr
#–with-apr-util=/usr/local/apr-util/
#–with-pcre=/usr/local/pcre启动apache
#cd /usr/local/http/bin
#./apachectl start
可以看到apache已经启动起来了!
在启动时候如果报错就需要修改httpd.conf,找到ServerName 添加ServerName:localhost:80 退出保存,再重启就可以了!在这里建议绝对路径启动,重启,停止!
-
-
安装mysql
1、在这里用的mysql版本为5.6.17,由于由于mysql在5.6版本之后编译方式改为cmake,所以我们在安装之前,要先安装cmake,这里用yum安装就好。
#yum -y install cmake
2、接下来就是安装mysql。
#cd mysql-5.6.17
#cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/usr/local/mysql/data
-DSYSCONFDIR=/etc
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_MEMORY_STORAGE_ENGINE=1
-DWITH_READLINE=1
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock
-DMYSQL_TCP_PORT=3306
-DENABLED_LOCAL_INFILE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
-DEXTRA_CHARSETS=all
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci#make
#make install
3、启动mysql
如果没有就创建用户就创建如下用户:
#groupadd mysql
#useradd -g mysql mysql
修改/usr/local/mysql 权限:
#chown -R mysql:mysql /usr/local/mysql#cd /usr/local/mysql
进入安装路径,执行初始化配置脚本,创建系统自带的数据库和表
#scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
–user=mysql添加服务,拷贝服务脚本到 init.d 目录,并设置开机启动
#cd /usr/local/mysql
#cp support-files/mysql.server /etc/init.d/mysql
#chkconfig mysql on
#service mysql start -
安装php
cd php-5.6.18
./ 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
–with-xpm-dir=/usr/lib64/
–enable-soap
–enable-mbstring=all
–enable-sockets#make
#make install
在安装的时候需要注意,有一定的报错! -
测试php安装正确性以及数据库连通性
与 mysql 相关的三个模块
mysql、 mysqli、 mysqlnd、 pdo-mysql
关于 php.ini 生效路径问题
PHP 将按照如下顺序依次查找该文件:
1、当前工作目录;
2、环境变量 PHPRC 指明的路径;
3、编译时指定的路径。
上传文件关注如下几个参数:
post_max_size = 128M
upload_max_filesize = 128M
#这两个设置一样即可,可以更大但要注意超时
max_execution_time = 30
max_input_time = 600
memory_limit = 32M
PS:重点提示,在源码安装编译的过程中,会有很多报错,特别提醒的是,不要遇见报错就去百度搜索,要试着自己解决问题!!!