搭建lamp
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搭建lamp相关的知识,希望对你有一定的参考价值。
LAMP环境搭建
下载源码包
Mysql(rpm)地址:http://cdn.mysql.com//Downloads/MySQL-5.5/mysql-5.5.47-linux2.6-x86_64.tar.gz
Apache源地址:http://mirrors.hust.edu.cn/apache/httpd/httpd-2.2.31.tar.gz
Php源地址:http://cn2.php.net/distributions/php-5.5.30.tar.gz
yum install -y zlib-devel pcrepcre-devel apr apr-devel libxml2-devel openssl openssl-devel bzip2 bzip2-devellibpng libpng-devel freetype freetype-devel libcurl-devel libjpeg-devellibtool-ltdl-devel epel-release libmcrypt-devel
安装mysql
下载到usr/local/src
[[email protected] ~]# cd /usr/local/src
三个包都下到这个目录里:
[[email protected] src]# wget http://cdn.mysql.com//Downloads/MySQL-5.5/mysql-5.5.47-linux2.6-x86_64.tar.gz
[[email protected] ~]# yum remove mysql //卸载mysql的二进制包
[[email protected] ~]# yum remove httpd //卸载httpd 的二进制包
三、将mysql解压
[[email protected] src]# tar zxfmysql-5.5.47-linux2.6-x86_64.tar.gz
[[email protected] src]# mv mysql-5.5.47-linux2.6-x86_64 /usr/local/mysql
解压后的文件移动到usr/local下改名成mysql
四、建立mysql用户,不让其登录
[[email protected] src]# useradd -M -s /sbin/nologin mysql
五、初始化数据库
[[email protected] src]# cd .. ; cd mysql
[[email protected] mysql]# mkdir -p /data/mysql ; chown -R mysql:mysql/data/mysql
[[email protected] mysql]# yum -y install libaio-* (apt-*)
[[email protected] mysql]# ./scripts/mysql_install_db --user=mysql--datadir=/data/mysql
-user 定义数据库的所属主, --datadir 定义数据库安装到哪里,建议放到大空间的分区上,这个目录需要自行创建。这一步骤很关键,如果你看到两个“OK”说明执行正确
六、拷贝配置文件
[[email protected] mysql]# cpsupport-files/my-large.cnf /etc/my.cnf
七、拷贝启动脚本到etc下
[[email protected] mysql]# cp support-files/mysql.server/etc/init.d/mysqld
[[email protected] mysql]# chmod 755 /etc/init.d/mysqld
八、修改启动脚本
[[email protected] mysql]# vim /etc/init.d/mysqld
#46 basedir=/usr/local/mysql
#47 datadir=/data/mysql
九、把启动脚本设置成开机启动
[[email protected] mysql]# chkconfig --add mysqld
[[email protected] mysql]# chkconfig mysqld on
[[email protected] mysql]# service mysqld start
Starting MySQL..[确定]
十、检查mysql启动
[[email protected] ~]# ps -aux |grep mysqld
安装apache
解压
[[email protected] src]# tar zxfhttpd-2.2.31.tar.gz
进入httpd,进行编译
[[email protected] src]# cd httpd-2.2.31
[[email protected] httpd-2.2.31]# yum -y install gcc apr-* pcre-* zlib-*
[[email protected] httpd-2.2.31]# ./configure --prefix=/usr/local/apache2 --with-included-apr --enable-so--enable-deflate=shared --enable-expires=shared --enable-rewrite=shared--with-pcre
[[email protected] httpd-2.2.31]# make && make install
安装php
解压
[[email protected] src]# tar zxf php-5.5.30.tar.gz
进行编译安装
[[email protected] src]# cd php-5.5.30
[[email protected] php-5.5.30]# yum -y install libxml2-* openssl-* bzip2-* libpng-* freetype-* libjpeg-* epel-*(db4-* )
由于yum中没有这个rpm包,所以到第三方去下载了一个libmcrypt-devel源码包:
[[email protected] ~]# rpm -ivh http://www.lishiming.net/data/attachment/forum/epel-release-6-8_64.noarch.rpm(可选)
//备用链接
rpm -ivh http://www.aminglinux.com/bbs/data/attachment/forum/month_1211/epel-release-6-7.noarch.rpm(可选)
[[email protected] php-5.5.30]# yum install -y libmcrypt-devel
[[email protected] php-5.5.30]# ./configure --prefix=/usr/local/php--with-apxs2=/usr/local/apache2/bin/apxs--with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql--with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir--with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt--enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets--enable-exif --disable-ipv6
[[email protected] php-5.5.30]# make && make install //编译时间很长要等着
Apache和PHP结合
编辑apache配置文件
[[email protected] ~]# vim /usr/local/apache2/conf/httpd.conf
#313
AddType application/x-httpd-php .php
#170-#172
<IfModule dir_module>
DirectoryIndex index.htmlindex.htm index.php
</IfModule>
#102
ServerName localhost:80
2.检查配置是否正确
[[email protected] ~]# /usr/local/apache2/bin/apachectl -t
Syntax OK
3.启动apache
[email protected] ~]# /usr/local/apache2/bin/apachectl start
//这里有时候会遇到重启apache服务时端口被占用的问题,这个原因是因为我们错误的启动了另一个httpd造成的,解决方法用:
killall -9 httpd
杀掉所有httpd的进程,然后在查看httpd的服务还有没有了。
4.查看端口是否起来
[[email protected] ~]# netstat -lnp |grep httpd
tcp 0 0 :::80 :::* LISTEN 16070/httpd
5.测试是否能打开网页
[[email protected] ~]# curl localhost
<html><body><h1>Itworks!</h1></body></html>[[email protected] ~]#
//测试的内容it works
6.编辑一个php文件
[[email protected] ~]# vim /usr/local/apache2/htdocs/1.php
<?php
header("Content-Type: text/html; charset=utf-8"); #为了防止在显示中文时出现乱码指定为utf8
echo "php解析正常";
?>
#######################测试PHP的函数#######################################
<?php
phpinfo();
?>
7. 复制配置文件,将这个编译参数复制到/usr/local/php/etc/,因为里面还没有php。Ini文件data会报错。
[[email protected] htdocs]#
cp /usr/local/src/php-5.5.30/php.ini-production /usr/local/php/etc/php.ini
8.进行php测试
[[email protected] ~]#curl localhost/1.php
php解析正常[[email protected] ~]#
用网页登录时记得关闭防火墙。
php不解析的排查步骤:
2. 查看配置文件中是否有
AddType application/x-httpd-php .php
3. 看看有没有加入index
<IfModule dir_module>
DirectoryIndex index.html index.htmindex.php
</IfModule>
4. 不要忘记重启apache
5. 还有一个不容忽视的问题,就是检查你的selinux是否开启
命令: getenforce 如果结果是 Enforcing 就说明是打开的
关闭: setenforce 0
还要在配置文件中配置一下 vi /etc/selinux/config 把enforcing改为disabled
在测试的时候,可以在你的linux本机上测试 curllocalhost/phpinfo.php -I 看下状态码,看是否是200
本文出自 “8653294” 博客,请务必保留此出处http://8653294.blog.51cto.com/8643294/1742799
以上是关于搭建lamp的主要内容,如果未能解决你的问题,请参考以下文章