LAMP环境搭建与配置

LAMP架构介绍

  • Linux + Apache(httpd) + MySQL + PHP

    在这里插入图片描述

(1)安装MySQL

MySQL的几个常用安装包:rpm、源码、二进制免编译

 cd /usr/local/src   (软件包放一起容易管理)

下载源码包,最好在官网下载;其他网站下载的可能被修改过

 [root@lamp src]#wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz
 [root@lamp src]# pwd
  /usr/local/src
 [root@lamp src]# ls
  mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz

解压压缩包:

tar -zxvf mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz

安装和配置

1).移动位置
[root@lamp src]# mv mysql-5.6.39-linux-glibc2.12-x86_64 /usr/local/mysql 
[root@lamp src]# cd /usr/local/mysql/

2).创建MySQL用户
[root@lamp mysql]# useradd -s /sbin/nologin mysql

3).创建datadir,数据库文件会放到这里面
[root@lamp mysql]# mkdir -p /data/mysql

4).更改权限,否则后续容易出问题
[root@lamp mysql]# chown -R mysql:mysql /data/mysql

5).执行脚本
[root@lamp mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql/
//--user表示定义数据库的以哪个用户的身份运
//--datadir表示定义数据库的安装目录

报错,安装:
[root@lamp mysql]# yum install -y perl-Module-Install

6).修改配置文件
 # These are commonly set, remove the # and set as required.
   basedir = /usr/local/mysql     //basedir表示MySQL包所在路径
   datadir = /data/mysql	//表示定义存放数据的位置
   port = 3306			//port表示定义MySQL服务监听的端口号
   server_id = 155		//表示该MySQL服务的ID号
   socket = /tmp/mysql.sock		//定义MySQL服务监听的套接字地址
   
7).复制启动脚本文件
[root@lamp mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@lamp mysql]#vi /etc/init.d/mysqld //修改启动脚本
      basedir=/usr/local/mysql
      datadir=/data/mysql

开启服务:

[root@lamp mysql]# chkconfig --add mysqld	//把mysql服务加到系统服务列表中
[root@lamp mysql]# chkconfig mysqld on		//开机就启动
[root@lamp mysql]# service mysqld start	//启动服务
 Starting MySQL.Logging to '/data/mysql/localhost.localdomain.err'.
 . SUCCESS!   //安装成功

遇到的问题:

在这里插入图片描述
解决方法:安装autoconf,命令如下:

  yum -y install autoconf

(2)安装Apache

Apache是一个基金会的名字,httpd才是我们要安装的软件包,早期它的名字就叫apache

ps:Apache官网www.apache.org

1).下载源码包:httpd-2.4.39.tar、apr-1.6.5.tar和apr-util-1.6.1.tar

[root@lamp src]# ls
 apr-1.6.5.tar.gz       mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz
 apr-util-1.6.1.tar.gz  php-5.6.30.tar.gz
 httpd-2.4.46.tar.gz    php-7.1.6.tar.bz2

2).解压压缩包:

[root@lamp src]# tar -zxvf apr-1.6.5.tar.gz 
[root@lamp src]# tar -zxvf apr-util-1.6.1.tar.gz 
[root@lamp src]# tar -zxvf httpd-2.4.46.tar.gz 

3).安装和配置:

[root@lamp mysql]# cd /usr/local/src/apr-1.6.5
[root@lamp mysql]# ./configure --prefix=/usr/local/apr
[root@lamp mysql]# make && make install

[root@lamp mysql]# cd /usr/local/src/apr-util-1.6.1
[root@lamp apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
[root@lamp apr-util-1.6.1]# make && make install

[root@lamp ~]# cd /usr/local/src/httpd-2.4.46
[root@lamp httpd-2.4.46]# ./configure   
 --prefix=/usr/local/apache2.4 		//--perefix指定安装目录
 --enable-so 				//--nable-so表示启用DSO
 --with-pcre 
 --with-included-apr 
 --enable-modules=most 
 --enable-mpms-shared=all 		//表示以共享形式安装模块
 --with-mpm=prefork	
 
[root@lamp src]# yum install -y pcre pcre-devel  //为避免make时出错提前安装库文件
[root@lamp src]# make && make install 

4).安装成功:

[root@lamp apache2.4]# ls /usr/local/apache2.4/modules
[root@lamp apache2.4]# /usr/local/apache2.4/bin/apachectl -M  
  //查看配置文件有哪些文件
  //share字样的动态共享模块,static以静态形式存在

5).遇到的问题:

①.[root@lamp apr-1.6.5]# ./configure --prefix=/usr/local/apr

configure: error: in `/usr/local/src/apr-1.6.5':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details

解决方法:安装libtool,命令如下:*

  yum install -y libtool*

②.[root@lamp apr-util-1.6.1]#make && make install

 fatal error: expat.h: No such file or directory
  #include <expat.h>
               ^
  compilation terminated.
  make[1]: *** [xml/apr_xml.lo] Error 1
  make[1]: Leaving directory `/usr/local/src/apr-util-1.6.1'
  make: *** [all-recursive] Error 1

解决方法:安装expat-devel,命令如下:

 yum install -y expat-devel

(3)安装PHP

PHP的官网网站:www.php.net
主流版本:5.6/7.1

1).下载源码包:php-5.6.30.tar

 [root@lamp src]# pwd
  /usr/local/src
 [root@lamp src]# ls
  apr-1.6.5              httpd-2.4.46.tar.gz
  apr-1.6.5.tar.gz       mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz
  apr-util-1.6.1         php-5.6.30.tar.gz
  apr-util-1.6.1.tar.gz  php-7.1.6.tar.bz2
  httpd-2.4.46
 [root@lamp src]# 

2).解压压缩包:

 [root@lamp src]# tar -zxvf php-5.6.30.tar.gz 
 [root@lamp src]# yum install -y bzip2  //安装解压缩工具包
 [root@lamp src]# tar -jxvf php-7.1.6.tar.bz2 

3).安装和配置:

[root@lamp src]#yum install -y libxml2-devel openssl openssl -devel bzip2 bzip2-devel libpng libpng-devel freetype freetype-devel epel-release libmcrypt-devel 
//为防止配置时出错提前安装库文件
[root@lamp src]# cd php-5.6.30
[root@lamp src]# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php/etc  --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-libxml-dir --with-gd  --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
[root@lamp src]# make && make install //编译安装
[root@lamp php-5.6.30]# cd /usr/local/src/php-5.6.30
[root@lamp php-5.6.30]# /usr/local/apache2.4/bin/httpd -M //查看加载的模块
[root@lamp php-5.6.30]# cp php.ini-production  /usr/local/php/etc/php.ini

 安装php7:
[root@lamp src]# yum install -y libjpeg libpng freetype libjpeg-devel   libpng-devel freetype-devel 
[root@lamp src]# cd php-7.1.6
[root@lamp src]# ./configure --prefix=/usr/local/php7 --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php7/etc  --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --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
[root@lamp src]# make && make install
[root@lamp php-7.1.6]# ls /usr/local/apache2.4/modules/libphp7.so
 /usr/local/apache2.4/modules/libphp7.so
[root@lamp php-7.1.6]# cp php.ini-production  /usr/local/php7/etc/php.ini

(4)httpd解析PHP

vi /usr/local/apache2.4/conf/httpd.conf  //编辑httpd的主配置文件

①把ServerName www.example.com:80前的#去掉

 <Directory />
     AllowOverride none
     Require all denied
 </Directory>
 改成:
 <Directory />
     AllowOverride none  
     Require all granted
 </Directory>    //目的允许所有请求访问

②AddType application/x-gzip .gz .tgz,在下面添加一行 AddType application/x-httpd-php .php

 <IfModule dir_module>
     DirectoryIndex index.html 
 </IfModule>
 改成:
 <IfModule dir_module>
     DirectoryIndex index.html index.php
 </IfModule>

③: LoadModule php5_module modules/libphp5.so注释掉,并改成
LoadModule php7_module modules/libphp7.so

测试安装:

①:测试配置文件是否正确

 [root@lamp ~]# /usr/local/apache2.4/bin/apachectl -t 检验配置文件是否正确
  Syntax OK

启动httpd命令

/usr/local/apache2.4/bin/apachectl start

查看是否启动

[root@lamp conf]# cd /usr/local/apache2.4/conf
[root@lamp conf]# netstat -lnp |grep httpd
  tcp6       0      0 :::80                   :::*                 LISTEN      37176/httpd 
  
 [root@lamp conf]# curl localhost
 <html><body><h1>It works!<h1><body><html>
 //使用curl命令简单测试,显示了就是成功

② : 测试是否正确解析PHP

[root@lamp conf]# vi /usr/local/apache2.4/htdocs/test.php
<?php
 echo  “php解析正确”
?>
[root@lamp conf]#curl localhost/1.php
 php解析正确  //如显示此信息则PHP解析正确
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值