LAMP详细搭建及配置
来源:互联网 发布:雅迅网络股份有限公司 编辑:程序博客网 时间:2024/06/05 22:37
LAMP环境搭建
-------Victor-Jo编
1、 最小化系统安装(centors6.6)
2、 编译环境安装
3、 准备相关源码包
4、 卸载相关旧的安装包
5、 开始安装
编译环境
安装编译工具
确认是否已经安装
[root@centos6 ~]# rpm -q make gcc gcc-c++ zlib-devel libaio
—如果没有则使用yum进行安装
[root@centos6 ~]# yum install –y make gcc gcc-c++ zlib-devel libaio
备注:安装libpng时候需要zlib-devel
安装mysql时候需要libaio
安装相关包
libxml2,libmcrypt,zlib,libpng,jpeg,freetype,autoconf,GD
将这些统一放在/usr/local/lamp/下
安装libxml2
[root@centos6 lamp]# tar -zxvf libxml2-2.6.30.tar.gz
[root@centos6 lamp]# cd libxml2-2.6.30
[root@centos6 libxml2-2.6.30]# ./configure –prefix=/usr/local/libxml2/
[root@centos6 libxml2-2.6.30]# make;make install
注:libxml2是一个xml的c语言版的解析器,不仅支持c语言,还支持c++、php、Pascal、Ruby、Tcl等语言的绑定
安装libmcrypt
[root@centos6 lamp]# tar -zxvf libmcrypt-2.5.8.tar.gz
[root@centos6 lamp]#cd libmcrypt-2.5.8
[root@centos6 libmcrypt-2.5.8]# ./configure –prefix=/usr/local/libmcrypt/
[root@centos6 libmcrypt-2.5.8]# make;make install
注:libmcrypt是加密算法扩展库。支持DES, 3DES, RIJNDAEL, Twofish, IDEA, GOST, CAST-256, ARCFOUR, SERPENT, SAFER+等算法。
安装zlib
[root@centos6 lamp]# tar -zxvf zlib-1.2.5.tar.gz
[root@centos6 lamp]# cd zlib-1.2.3
[root@centos6 zlib-1.2.3]# ./configure –prefix=/usr/local/zlib/
[root@centos6 zlib-1.2.3]# make ; make install
注:zlib是提供数据压缩用的函式库
安装libpng
[root@centos6 lamp]# tar -zxvf libpng-1.6.17.tar.gz
[root@centos6 lamp]# cd libpng-1.6.17
[root@centos6 libpng-1.6.17]#./configure –prefix=/usr/local/libpng/ –enable-shared
[root@centos6 libpng-1.6.17]# make ; make install
安装jpeg
[root@centos6 lamp]# tar -zxvf jpegsrc.v8c.tar.gz
[root@centos6 lamp]# cd jpeg-8c
[root@centos6 jpeg-8c]# mkdir /usr/local/jpeg/(创建jpeg软件的安装目录)
[root@centos6 jpeg-8c]# mkdir /usr/local/jpeg/bin/(创建存放命令的目录)
[root@centos6 jpeg-8c]# mkdir /usr/local/jpeg/lib/(创建jpeg库文件所在目录)
[root@centos6 jpeg-8c]# mkdir /usr/local/jpeg/include/(创建存放头文件目录)
[root@centos6 jpeg-8c]# mkdir -p /usr/local/jpeg/man/man1(建立存放手册的目录)
[root@centos6 jpeg-8c]#./configure –prefix=/usr/local/jpeg/ –enable-shared –enable-static(建立共享库使用的GNU的libtool和静态库使用的GNU的libtool)
[root@centos6 jpeg-8c]# make ; make install
安装freetype
[root@centos6 lamp]# tar -zxvf freetype-2.4.6.tar.gz
[root@centos6 lamp]# cd ./freetype-2.4.6
[root@centos6 freetype-2.4.6]# ./configure –prefix=/usr/local/freetype/ –enable-shared
[root@centos6 freetype-2.4.6]# make ;make install
安装autoconf
[root@centos6 lamp]# tar -zxvf autoconf-2.61.tar.gz
[root@centos6 lamp] # cd ./autoconf-2.61
[root@centos6 autoconf-2.61]# ./configure
[root@centos6 autoconf-2.61]# make ; make install
安装GD
[root@centos6 lamp]# tar -zxvf gd-2.0.35.tar.gz
[root@centos6 lamp]# cd ./gd-2.0.35
[root@centos6 gd-2.0.35]#
./configure –prefix=/usr/local/gd/ –with-zlib=/usr/local/zlib/ –with-jpeg=/usr/local/jpeg/ –with-png=/usr/local/libpng/ –with-freetype=/usr/local/freetype/
[root@centos6 gd-2.0.35]# make ; make install
GD报错
make[2]: * [gd_png.lo] Error 1
make[2]: Leaving directory /tmp/gd-2.0.35'
/tmp/gd-2.0.35’
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
make: * [all] Error 2
解决方法:
[root@centos6 gd-2.0.35]# vim gd_png.c
找到“png.h”改成“/usr/local/libpng/include/png.h”)
先运行make clean 再重新编译 安装
编译apache
卸载旧的http
[root@centos6 lamp]rpm –qa | grep http —检查是否安装
http-aXXXXXXX
[root@centos6 lamp]yum remove httpd 卸载httpd
在编译安装apache之前先安装apr,apr-util,pcre ;仨个包
安装apr
[root@centos6 lamp]tar –zxvf apr-1.5.2.tar.gz
[root@centos6 lamp]cd apr-1.5.2
[root@centos6 lamp] ./configure –prefix=/usr/local/apr/
[root@centos6 lamp] make ; make install
安装apr-util
[root@centos6 lamp]tar –zxvf apr-util-1.4.1.tar.gz
[root@centos6 lamp]cd apr-util-1.4.1
[root@centos6apr-util-1.4.1]
./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr/
[root@centos6 apr-util-1.4.1] make ; make install
安装pcre
./configure –prefix=/usr/local/pcre
安装apache
[root@centos6 lamp]# tar -zxvf httpd-2.4.1.tar.gz
[root@centos6 lamp]# cd httpd-2.4.1
[root@centos6httpd-2.4.1]#
./configure –prefix=/usr/local/apache/ –enable-so –enable-rewrie
–with-apr-util=/usr/local/apr-util-1.4.1 –with-pcre=/usr/local/pcre
[root@centos6 httpd-2.4.1]# make ; make install
[root@centos6 httpd-2.4.1]# /usr/local/apache/bin/apachectl start
[root@centos6 httpd-2.4.1]#cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
[root@centos6 httpd-2.4.1]# chmod +x /etc/init.d/httpd
[root@centos6 ~]# chkconfig –add httpd
错误:service httpd does not support chkconfig
解决办法:
打开 vi /etc/rc.d/init.d/httpd 添加(#!/bin/sh下面)
-#chkconfig: 2345 10 90
-#description: Activates/Deactivates Apache Web Server
加上上面这两行就可以,#必须有,前面的-去掉
其中:2345是设为要启动的运行级别,10是启动优先级,90是杀死进程的优先级,谁优先谁先挂的意思。
[root@centos6 ~]# chkconfig –level 2345 httpd on
[root@centos6 ~]# service httpd restart
添加开机启动
修改/etc/rc.local文件
root@centos6 ~]# vim /etc/rc.d/rc.local
在文件中添加/usr/local/apache/bin/apachectl start
配置apache
[root@zjzhi apache]# vim /usr/local/apache/conf/ httpd.conf
找到
-#Include conf/extra/httpd-vhosts.conf
这行,将前面的注释去掉
修改
User root
Group root
为
User www
Group www
修改
DirectoryIndex index.html
为
DirectoryIndex index.html index.htm index.php
保存退出
关闭apache目录浏览权限
[root@localhost conf]# vim httpd.conf
LoadModule autoindex_module modules/mod_autoindex.so
将这行注释掉
保存退出
[root@zjzhi conf]# cd /usr/local/apache/conf/extra/
root@zjzhi extra]# cat httpd-vhosts.conf
Include /usr/local/apache/conf/vhosts/*.conf
[root@zjzhi vhosts]#cd /usr/local/apache/conf/vhosts/
[root@zjzhi vhosts]# ls
phpwind.conf
[root@zjzhi vhosts]#cat phpwind.conf —-自己创建这个配置文件
添加apache用户组
[root@centos6 ~]#groupadd www
[root@centos6 ~]#useradd -g www www
[root@centos6 ~]#mkdir -p /var/alidata/www/phpwind
[root@centos6 ~]#chmod +w /var/alidata/www/phpwind
[root@centos6 ~]#chown www:www /var/alidata/www/phpwind -R
注:/var/alidata/www/phpwind —-站点目录
添加apacheURl重写规则
[root@zjzhi conf]# vim /usr/local/apache/conf/httpd.conf
找到 #LoadModule rewrite_module modules/mod_rewrite.so
这行,将前面的注释去掉 开启Url重启规则模块
修改
AllowOverride none
为
AllowOverride all
保存退出
重写规则
[root@zjzhi conf]#vim /var/alidata/www/phpwind/.htaccess
编译mysql
[root@centos6 lamp]rpm –qa | grep mysql —检查是否安装
有的话卸载 yum remove mysql OR rpm –e mysql-XXX –nodeps
[root@centos6 lamp]# tar-zxvf mysql-5.5.20-linux2.6-x86_64.tar.gz
[root@centos6 lamp]# cd mysql-5.5.20-linux2.6-x86_64
[root@centos6 mysql-5.5.20-linux2.6-x86_64]# groupadd mysql
[root@centos6 mysql-5.5.20-linux2.6-x86_64]# useradd -r -g mysql mysql
(创建mysql用户,并将用户指定至mysql组)
[root@centos6 mysql-5.5.20-linux2.6-x86_64]# cd /usr/local/
[root@centos6 local]# ln -s /usr/local/lamp/mysql-5.5.20-linux2.6-x86_64 mysql
[root@centos6 local]# cd ./mysql/
[root@centos6 mysql]# chown -R mysql .(将该目录的用户权限全部更改为mysql用户)
[root@centos6 mysql]# chgrp -R mysql .(将该目录的用户组全部改为mysql用户组)
[root@centos6 mysql]# ./scripts/mysql_install_db –user=mysql
(将mysql目录的数据库使用权限指定为mysql)
[root@centos6 mysql]# chown -R root .
[root@centos6 mysql]# chown -R mysql data
[root@centos6 mysql]# cp support-files/my-medium.cnf /etc/my.cnf
(将当前目录下的配置文件拷贝到系统配置文件下,并更名为my.cnf)
[root@centos6 mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@centos6 mysql]# chmod +x /etc/init.d/mysqld
[root@centos6 mysql]# chkconfig –add mysqld
[root@centos6 mysql]# chkconfig –level 345 mysqld on
[root@centos6 mysql]#vim /etc/my.cnf
在[mysqld]选项下面添加:
skip-name-resolve ——禁用DNS解析,加快访问速度
保存 退出
[root@centos6 mysql]# service mysqld restart
[root@centos6 mysql]# /usr/local/mysql/bin/mysqladmin -u root password ‘**’
(设置root用户登录mysql的密码)
[root@centos6 mysql]# /usr/local/mysql/bin/mysql -u root –p(进入并访问mysql数据)
避免每次都需要输入那么长的路径才可以使用mysql的命令,可以修改下用户环境
[root@localhost ~]# vim .bash_profile
PATH=
添加mysql用户
[root@centos6 mysql]#mysql –uroot –p*****
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON . TO ‘user’@’localhost’ IDENTIFIED BY PASSWORD ‘**’ WITH GRANT OPTION
如果提示ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number;
问题原因:你输入的密码是明文。不允许这么输入。
解决办法:用select password(‘mima’);查询出你的密码对应的字符串,
然后用这个字符串在创建用户命令中替换你的密码。
导入数据
mysql> create database dataname;
mysql> use dataname;
mysql> source /path/dataname.sql;
mysql> show databases;
+——————–+
| Database |
+——————–+
| information_schema |
| mysql |
| performance_schema |
| test |
| dataname |
+——————–+
5 rows in set (0.00 sec)
编译php
[root@centos6 lamp]rpm –qa | grep php —检查是否安装
有的话卸载 yum remove mysql OR rpm –e php-XXX –nodeps
[root@centos6 LAMP]# tar -zxvf php-5.3.7.tar.gz
[root@centos6 LAMP]# cd ./php-5.3.7
[root@centos6 php-5.3.7]#
./configure –prefix=/usr/local/php/ –with-apxs2=/usr/local/apache/bin/apxs –with-libxml-dir=/usr/local/libxml2/ –with-jpeg-dir=/usr/local/jpeg/
–with-freetype-dir=/usr/local/freetype/ –with-gd-dir=/usr/local/gd/ –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 –with-pdo-mysql=mysqlnd –with-mysql=mysqlnd
编译如果报错,切记勿要继续按照,一定完美通过才能安装,不然后面会有问题
[root@centos6 php-5.3.7]# make ; make install
报错:
make: * [libphp5.la] Error 1
解决方法如下:
cd zlib-1.2.3 //进入zlib目录
Make clean
CFLAGS=”-O3 -fPIC” ./configure –prefix=/usr/local/zlib //使用64位元的方法进行编译
make
make install
[root@centos6 php-5.3.7]#cp php.ini-development /usr/local/php/lib/php.ini
更改apache的配置文件,达到解析php文件的目的
[root@centos6 ~]# vim /usr/local/apache/conf/httpd.conf
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
Addtype application/x-httpd-php .php .phtml —–添加部分
Addtype application/x-httpd-php-source .phps —–添加部分
添加上面绿色内容,表示apache服务中可以解析php格式文件
接下来要检查apache目录下生成的php动态连接库文件,在目录/usr/local/apache/modules,找到是否存在 libphp5.so文件
验证
[root@centos6 ~]# vim /var/alidata/www/phpwind/index.php
添加内容为
- LAMP详细搭建及配置
- Ubuntu搭建LAMP及相关配置
- LAMP环境搭建配置及代码上传
- centos 6.8 搭建LAMP环境及配置
- CentOS搭建LAMP详细教程
- 超详细LAMP环境搭建
- 超详细LAMP环境搭建
- LAMP环境的详细搭建
- LAMP安装及配置
- LAMP安装配置详细讲解
- Lamp安装配置详细过程
- 阿里云Centos7.*全套配置:挂载磁盘 搭建LAMP环境 配置虚拟主机 搭建svn等超详细解析
- 服务器架设:CentOS搭建LAMP详细教程
- 服务器架设:CentOS搭建LAMP详细教程
- 服务器架设:CentOS搭建LAMP详细教程
- 服务器架设:CentOS搭建LAMP详细教程
- 阿里云搭建LAMP环境详细教程
- Linux 搭建LAMP 源码编译详细文档
- Linux大内存页Oracle数据库优化
- 职场气度的养成
- 黑马程序员——JAVA基础------IO流(四)----字节字符转换流和缓冲流
- 学习笔记之Myeclipse学习笔记(二)_MyEclipse跟踪调试
- CUDA分支优化
- LAMP详细搭建及配置
- 【Struts2七】struts2获取表单元素的两种方式
- Android 下拉刷新框架实现
- maven依赖包 打包
- Webservice 封装为 Thread 在主线程进行调用--Android
- 常见面试题之ListView的复用及如何优化
- AdapterView与Adapter(四) --App调试内存泄露之Cursor
- 一个不错的shell 脚本教程 入门级
- 【Linux 内核网络协议栈源码剖析】recvfrom 函数剖析