LAMP 环境搭建

一、安装前准备

获取软件包:

[root@test-1 opt]# wget http://mirrors.cnnic.cn/apache//httpd/httpd-2.4.10.tar.gz

[root@test-1 opt]# wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15.tar.gz

[root@test-1 opt]# wget http://cn2.php.net/get/php-5.6.4.tar.gz/from/this/mirror

二、开始安装

1、apache安装

[root@test-1 opt]# rpm -qa |grep http        --检查apache系统rpm包

[root@test-1 opt]# rpm -e httpd                --卸载系统httpd包

[root@test-1 opt]# tar zxf httpd-2.4.10.tar.gz

[root@test-1 opt]# cd httpd-2.4.10

[root@test-1 httpd-2.4.10]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi

--prefix:指定将httpd服务程序安装到哪个目录,如/usr/local/httpd

--enable-so :启用动态加载模块支持,使httpd具备进一步扩展功能的能力

--enable-rewrite :启用网页地址重写功能,用于网站优化及目录迁移维护

--enable-charset-lite :启用字符集支持,以便支持使用各种字符集编码的网页

--enable-cgi :启用CGI脚本程序支持,便于扩展网站的应用访问能力

编译apache时出错:
#./configure --prefix……检查编辑环境时出现:
checking for APR... no
configure: error: APR not found .  Please read the documentation
解决办法:
1.下载所需软件包:
wget http://archive.apache.org/dist/apr/apr-1.4.5.tar.gz 
wget http://archive.apache.org/dist/apr/apr-util-1.3.12.tar.gz  
wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.10/pcre-8.10.zip   
2.编译安装:
yum remove apr-util-devel apr apr-util-mysql apr-docs apr-devel apr-util apr-util-docs 
具体步骤如下:
  a:解决apr not found问题>>>>>>
[root@xt test]# tar -zxf apr-1.4.5.tar.gz  
[root@xt test]# cd  apr-1.4.5  
[root@xt apr-1.4.5]# ./configure --prefix=/usr/local/apr  
[root@xt apr-1.4.5]# make && make install  
  b:解决APR-util not found问题>>>>
[root@xt test]# tar -zxf apr-util-1.3.12.tar.gz  
[root@xt test]# cd apr-util-1.3.12  
[root@xt apr-util-1.3.12]# ./configure --prefix=/usr/local/apr-util -with-apr=/usr/local/apr/bin/apr-1-config  
[root@xt apr-util-1.3.12]# make && make install 
  c:解决pcre问题>>>>>>>>>
[root@xt test]#unzip -o pcre-8.10.zip  
[root@xt test]#cd pcre-8.10  
[root@xt pcre-8.10]#./configure --prefix=/usr/local/pcre  
[root@xt pcre-8.10]#make && make install 
4.最后编译Apache时加上:
--with-apr=/usr/local/apr
--with-apr-util=/usr/local/apr-util/
--with-pcre=/usr/local/pcre

[root@test-1 httpd-2.4.10]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre

成功编译完成~

[root@test-1 httpd-2.4.10]# make && make install

[root@test-1 httpd-2.4.10]# ls –l /usr/local/httpd/      --确认安装结果

image

优化执行路径

[root@test-1 httpd-2.4.10]# ln -s /usr/local/httpd/bin/* /usr/local/bin/

添加httpd系统服务

[root@test-1 httpd-2.4.10]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd

[root@test-1 httpd-2.4.10]# chkconfig --level 35 httpd on

[root@test-1 httpd-2.4.10]# chkconfig --list httpd

image

[root@test-1 httpd-2.4.10]# vim /usr/local/httpd/conf/httpd.conf

修改ServerName www.example.com:80 为 ServerName localhost:80

[root@test-1 httpd-2.4.10]# /usr/local/httpd/bin/apachectl –t     --检查配置内容语法
Syntax OK
[root@test-1 httpd-2.4.10]# service httpd start    --启动httpd服务

注意:访问时注意防火墙

2、mysql安装

mysql  5.5以后是通过cmake来编译的

[root@test-1 opt]# wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz

[root@test-1 opt]# tar -zxf cmake-2.8.4.tar.gz

[root@test-1 opt]# cd cmake-2.8.4

[root@test-1 cmake-2.8.4]# ./configure

[root@test-1 cmake-2.8.4]# make

[root@test-1 cmake-2.8.4]# make install

创建mysql的安装目录及数据存放目录

[root@test-1 opt]# mkdir /usr/local/mysql    //mysql安装目录

[root@test-1 opt]# mkdir /usr/local/mysql/data    //数据存储目录

创建mysql用户及用户组

[root@test-1 opt]# groupadd mysql

[root@test-1 opt]# useradd -r -g mysql mysql

赋予数据存放目录权限:

[root@test-1 opt]# chown mysql:mysql -R /usr/local/mysql/data

编译安装mysql

[root@test-1 opt]# tar -zxf mysql-5.6.15.tar.gz

[root@test-1 opt]# cd mysql-5.6.15

[root@test-1 mysql-5.6.15]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/usr/local/mysql/etc -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DWITH_EXTRA_CHARSETS=all -DWITH_SSL=bundled -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

参数说明:
CMAKE_INSTALL_PREFIX : MySQL安装目录
SYSCONFDIR : 配置文件目录
MYSQL_DATADIR :数据库目录
MYSQL_TCP_PORT :数据库端口
MYSQL_UNIX_ADDR :安排个目录放mysql.sock文件把,可以设置为日志存放,data存放目录等位置
WITH_EXTRA_CHARSETS : 字符
WITH_SSL       :the type of SSL
WITH_EMBEDDED_SERVER :Whether to build embedded server (默认:OFF)
ENABLED_LOCAL_INFILE :Whether to enable LOCAL for LOAD DATA INFILE(默认:OFF)  允许从本地导入数据
WITH_INNOBASE_STORAGE_ENGINE:  1

参数详细见:http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html

如果发生错误查看:
。。。/mysql-5.6.15/CMakeFiles下的CMakeError.log、CMakeOutput.log文件
注意事项:
重新编译时,需要清除旧的对象文件和缓存信息。
# rm -f CMakeCache.txt

安装

[root@test-1 mysql-5.6.15]# make

[root@test-1 mysql-5.6.15]# make install

初始化数据库

[root@test-1 mysql-5.6.15]# cd /usr/local/mysql/

[root@test-1 mysql]# mkdir etc

[root@test-1 mysql]# mkdir log

[root@test-1 mysql]# chown -R mysql .

[root@test-1 mysql]# chgrp -R mysql .

[root@test-1 mysql]# scripts/mysql_install_db  --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

[root@test-1 mysql]# chown -R root .

[root@test-1 mysql]# chown -R mysql data

[root@test-1 mysql]# bin/mysqld_safe --user=mysql &

配置数据库

[root@test-1 mysql]# cp support-files/mysql.server /etc/init.d/mysqld

[root@test-1 mysql]# cp support-files/my-default.cnf /etc/my.cnf

编辑/etc/my.cnf

[root@test-1 mysql]# vim /etc/my.cnf

在 [mysqld]下增加lower_case_table_names = 1

编辑/etc/profile

[root@test-1 mysql]# vim /etc/profile

在最后一行添加 PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH

[root@test-1 mysql]# export PATH        --更改生效

启动数据库

[root@test-1 mysql]# service mysqld start

设置开机自启

[root@test-1 mysql]# chkconfig --level 35 mysqld on

登录数据库

[root@test-1 ~]# mysql -u root

image

修改密码:

[root@test-1 ~]# mysqladmin -u root password '123456'      //添加数据库密码

[root@test-1 ~]# mysqladmin -u root -p password 'youyuan'    //修改数据库密码

有密码登录

[root@test-1 ~]# mysql -u root –pyouyuan

image

3、安装PHP

下载安装需要的扩展工具

[root@test-1 opt]# wget http://soft.7dot.com/soft/libmcrypt-2.5.8.tar.gz

[root@test-1 opt]# wget http://soft.7dot.com/soft/mcrypt-2.6.8.tar.gz

[root@test-1 opt]# wget http://soft.7dot.com/soft/mhash-0.9.9.9.tar.gz

[root@test-1 opt]# tar -zxf libmcrypt-2.5.8.tar.gz

[root@test-1 opt]# tar -zxf mhash-0.9.9.9.tar.gz

[root@test-1 opt]# tar -zxf mcrypt-2.6.8.tar.gz

[root@test-1 opt]# cd libmcrypt-2.5.8

[root@test-1 libmcrypt-2.5.8]# ./configure

[root@test-1 libmcrypt-2.5.8]# make && make install

[root@test-1 libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/lib/

[root@test-1 libmcrypt-2.5.8]# cd ../mhash-0.9.9.9

[root@test-1 mhash-0.9.9.9]# ./configure

[root@test-1 mhash-0.9.9.9]# make && make install

[root@test-1 mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash.* /usr/lib/

[root@test-1 mhash-0.9.9.9]# cd ../mcrypt-2.6.8

[root@test-1 mcrypt-2.6.8]# ./configure

编译报错:

configure: error: *** libmcrypt was not found      //这是环境变量问题

解决办法:

gcc编译的时候根据自身定义的变量寻找相关函数库等文件,libmcrypt也是刚安装的,在变量中没有定义出来,所以手动添加:

[root@test-1 mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

[root@test-1 mcrypt-2.6.8]# make && make install

编译安装PHP

[root@test-1 opt]# tar -zxf php-5.6.4.tar.gz

[root@test-1 opt]# cd php-5.6.4

[root@test-1 php-5.6.4]# ./configure --prefix=/usr/local/php5 --with-mcrypt --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php5 --enable-mbstring

--prefix:指定PHP程序安装目录,如/usr/local/php5

--with-mcrypt:加载数据加密等扩展工具支持

--with-apxs2:设置‘Apache HTTP Server’提供的apxs模块支持程序的文件位置

--with-mysql:设置mysql数据库服务程序的安装位置

--with-config-file-path:设置PHP配置文件php.ini将要放置的位置

--enable-mbstring:启用多字节字符串功能,以便支持中文等代码

[root@test-1 php-5.6.4]# make

[root@test-1 php-5.6.4]# make install

[root@test-1 php-5.6.4]# ll php.ini-*

-rw-r--r--. 1 1000 1000 72338 12月 17 09:25 php.ini-development     //开发版样例文件,用于学习、测试

-rw-r--r--. 1 1000 1000 72369 12月 17 09:25 php.ini-production       //生产版样例文件,用于实际运营

[root@test-1 php-5.6.4]# cp php.ini-development /usr/local/php5/php.ini

[root@test-1 php-5.6.4]#cd /usr/local/php5/

[root@test-1 php5]# vim php.ini

添加如下行:

default_charset = "utf-8"           //设置默认字符集为utf-8
file_uploads = On                     //允许通过PHP页面上传文件
upload_max_filesize = 2M          //允许上传的文件大小限制
max_file_upload = 20               //每个HTTP请求最多允许上传文件数
post_max_size = 8M                //每次通过表单POST提交的数据量限制
short_open_tag = On               //允许识别PHP短语法标记,即<? … ?>

能够潇洒恣意的活,必然背负孤独寂寞的伤! Blog: http://www.cnblogs.com/chaichuan/
原文地址:https://www.cnblogs.com/chaichuan/p/4198669.html