搭建lamp

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搭建lamp相关的知识,希望对你有一定的参考价值。

LAMP环境搭建

  •  下载源码包

Mysqlrpm)地址: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         //编译时间很长等着

 

 

  • ApachePHP结合

  • 编辑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/,因为里面还没有phpIni文件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的主要内容,如果未能解决你的问题,请参考以下文章

centos7.4编译安装lamp

lamp安装

lamp部署

源码编译构建LAMP

PHP 简介

在 Ubuntu Server 16.04 LTS 上安装 LAMP