LAMP环境搭建与配置步骤与成果展示

任务1 安装LAMP,基础配置解析PHP

1. 安装MySQL

(1)下载与解压

[root@localhost ~]#cd /usr/local/src       //软件包都放在这里方便管理
[root@localhost src]#tar zxvf mysql-5.6.43-linux-glibc2.12-x86_64.tar

(2)安装和配置

[root@localhost src]# useradd -s /sbin/nologin mysql
[root@localhost src]# mkdir -p /data/mysql
[root@localhost src]# chown -R mysql:mysql /data/mysql
[root@localhost src]# mv mysql-5.6.35-linux-glibc2.12-x86_64 /usr/local/mysql
[root@localhost src]# cd /usr/local/mysql
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
[root@localhost mysql]#cp support-file/my-default.cnf /etc/my.cnf
[root@localhost mysql]#vi  my-default.cnf    //修改配置文件

修改my-default.cnf配置文件

#These are commonly set ,remove the # and set as required
Basedir=/usr/local/mysql   //basedir表示MySQL包所在路径
Datadir=/data/mysql/datadir  //表示定义存放数据的位置
Port=3306     //port表示定义MySQL服务监听的端口号
Server_id=128  //表示该MySQL服务的ID号
socket = /tmp/mysql.sock    //定义MySQL服务监听的套接字地址
[root@localhost mysql]#cp  support-files/mysql.server  /etc/init.d/mysql  
[root@localhost mysql]#chmod  755  /etc/init.d/mysql
[root@localhost mysql]#vi /etc/init.d/mysql    //修改启动脚本
    basedir=/usr/local/mysql
    datadir=/data/mysql
[root@localhost mysql]#chkconfig --add mysql    //把mysql服务加到系统服务列表中
[root@localhost mysql]#chkconfig mysql on       //开机就启动
[root@localhost mysql]#service mysql start      //启动服务

(3)安装成功

[root@localhost mysql]# service mysql start
Starting MySQL SUCCESS!

(4)遇到的问题

[root@localhost mysql]# ./scripts/mysql_install_db  --user=mysql --datadir=/data/mysql
-bash: ./scripts/mysql_install_db: /usr/bin/perl: 坏的解释器: 没有那个文件或目录

解决方法

yum -y install autoconf

2. 安装Apache
(1)下载并解压

[root@localhost src]#tar -zxvf http-2.4.46.tar
[root@localhost src]#tar -zxvf apr-1.6.5.tar
[root@localhost src]#tar -zxvf apr-util-1.6.1.tar

(2)安装和配置

[root@localhost src]#cd apr-1.6.5
[root@localhost apr-1.6.5]#./configure --prefix=/usr/local/apr
[root@localhost apr-1.6.5]#make &&make install
[root@localhost apr-1.6.5]#cd /usr/local/src/apr-util-1.6.1. 
[root@localhost apr-util-1.6.1]#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
[root@localhost apr-util-1.6.1]#make &&make install
[root@localhost apr-util-1.6.1]#cd /usr/local/src/http-2.4.46
[root@localhost http-2.4.46]#./configure  --prefix=/usr/1ocal/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most
[root@localhost http-2.4.46]#yum install -y pcre pcre-devel
[root@localhost http-2.4.46]#make && make install
[root@localhost http-2.4.46]#/usr/local/apache2.4/bin/apachectl -M

(3)安装成功
在这里插入图片描述

(4)遇到的问题

configure:error: in `/usr/local/src/httpd-2.2.21/srclib/apr’:
configure:error: no acceptable C compiler found in $PATH
执行./configure命令时,在遇到以上错误是,这个是因为gcc包没有安装。
yum install -y gcc命令就可以了

xml/apr_xml.c:35:19: 致命错误:expat.h:没有那个文件或目录
#include <expat.h>
^
编译中断。
make[1]: *** [xml/apr_xml.lo] 错误 1
make[1]: 离开目录“/usr/local/src/apr-util-1.6.1”
make: *** [all-recursive] 错误 1
执行make &&make install命令时报错,没有expat库文件,用yum install -y expat-devel命令安装

[root@localhost httpd-2.4.46]# ./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --enable-so --enable-mods-shared=most
执行完如果是以下报错内容
checking for pcre-config… false
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
yum install -y pcre-devel命令安装再重新执行上面命令

安装PHP
(1)下载并解压

[root@localhost ~]#cd /usr/local/src
[root@localhost src]#tar -zxvf php-5.6.30.tar.gz

(2)安装和配置

[root@localhost src]# yum install -y libxml2-devel
[root@localhost src]# yum install -y openssl openssl-devel
[root@localhost src]# yum install -y bzip2 bzip2-devel
[root@localhost src]# yum install -y libpng libpng-devel
[root@localhost src]# yum install -y freetype freetype-devel
[root@localhost src]# yum install -y epel-release
[root@localhost src]# yum install -y libmcrypt-devel    //为防止配置时出错提前安装库文件	
[root@localhost src]# cd  php-5.6.30
[root@localhost php-5.6.30]#./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-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@localhost php-5.6.30]#make && make install

4. httpd解析PHP
编辑httpd的主配置文件

[root@localhost php-5.6.30]# cd /usr/local/apache2.4/conf/

搜索ServerName,把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>

(4)测试安装
① 测试配置文件是否正确

[root@localhost conf]#/usr/local/apache2.4/bin/apachectl -t    //检验配置文件是否正确
Syntax OK
[root@localhost conf]#/usr/local/apache2.4/bin/apachectl start      //启动httpd命令
[root@localhost conf]# netstat -lnp |grep httpd   //查看是否启动
tcp6       0      0 :::80                   :::*                    LISTEN      5427/httpd          
[root@localhost conf]# curl localhost     //使用curl命令简单测试,,显示了就是成功
<html><body><h1>It works!</h1></body></html>

② 测试是否正确解析PHP

[root@localhost conf]# vi /usr/local/apache2.4/htdocs/1.php     //编写一个测试脚本
<?
echo  “php解析正确”
?>
[root@localhost conf]# curl localhost/1.php
“php解析正确”[root@localhost conf]# 

测试成功

在这里插入图片描述
在这里插入图片描述

任务2 Apache配置

1. 默认虚拟主机
(1)虚拟主机
虚拟主机(共享主机,又称虚拟服务器)是一种在单一主机或主机群上,实现多网域服务的方法,可以运行多个网站或服务的技术。虚拟主机之间完全独立,并可由用户自行管理,虚拟并非指不存在,而是指空间是由实体的服务器延伸而来,其硬件系统可以是基于服务器群,或者单个服务器。
(2)配置

[root@localhost ~]# vi /usr/local/apache2.4/conf/httpd.conf
  Include conf/extra/httpd-vhosts.conf    //搜索httpd-vhost,去掉#
[root@localhost ~]# vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf   //编辑虚拟主机配置文件  

配置文件

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/usr/local/apache2.4/docs/abc.com"
    ServerName abc.com
    ServerAlias www.abc.com www.aaa.com
    ErrorLog "abc.com-error_log"
    CustomLog "logs/abc.com-access_log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "/usr/local/apache2.4/docs/111.com"
    ServerName 111.com
    ErrorLog "logs/111.com-error_log"
    CustomLog "logs/111.com-access_log" common
</VirtualHost>

ServerAdmin指定管理员邮箱,
DocumentRoot为该虚拟主机站点的根目录,
ServaerName为网站的域名
ServerAlias为网站的第二域名
ErrorLog为站点的错误日志
CustomLog为站点的访问日志

[root@localhost apache2.4]# mkdir docs
[root@localhost apache2.4]# cd docs/
[root@localhost docs]# mkdir abc.com 111.com
[root@localhost docs]# vi abc.com/index.html
abc.com
[root@localhost docs]# vi 111.com/index.html
111.com
[root@localhost docs]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@localhost docs]# /usr/local/apache2.4/bin/apachectl graceful

(3)配置验证

[root@localhost docs]# curl -xlocalhost:80 www.abc.com 
abc.com
[root@localhost docs]# curl -xlocalhost:80 www.aaa.com 
abc.com
[root@localhost docs]# curl -xlocalhost:80 111.com 
111.com

(4)测试成功
在这里插入图片描述


版权声明:本文为m0_46396703原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。