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/ --确认安装结果
优化执行路径
[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
[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
修改密码:
[root@test-1 ~]# mysqladmin -u root password '123456' //添加数据库密码
[root@test-1 ~]# mysqladmin -u root -p password 'youyuan' //修改数据库密码
有密码登录
[root@test-1 ~]# mysql -u root –pyouyuan
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短语法标记,即<? … ?>