LAMP环境搭建与配置

栏目: 数据库 · 发布时间: 7年前

内容简介:LAMP是Linux  Apache  MySQL  PHP的缩写,即把Apache、MySQL以及PHP安装在Linux系统上,组成一个环境来运行PHP的脚本语言。Apache是最常用的Web服务软件,而MySQL是比较小型的数据库软件。三个角色可以安装在一台机器上,也可以分开(但httpd和php要在一起的)下面来介绍如何构建LAMP环境:

LAMP是Linux  Apache  MySQL  PHP的缩写,即把Apache、 MySQL 以及 PHP 安装在 Linux 系统上,组成一个环境来运行PHP的脚本语言。Apache是最常用的Web服务软件,而MySQL是比较小型的数据库软件。三个角色可以安装在一台机器上,也可以分开(但httpd和php要在一起的)

LAMP环境搭建与配置

下面来介绍如何构建LAMP环境:

安装MySQL:(Mariadb安装几乎一样)

(1)MySQL/Mariadb介绍

MySQL是一个关系型数据库,由mysql ab公司开发,mysql在2008年被sun公司收购(10亿刀),2009年sun公司被Oracle公司收购(74亿刀)

MySQL官网https://www.mysql.com  最新版本5.7GA/8.0DMR

MySQL5.6变化比较大,5.7性能上有很大提升

Mariadb为MySQL的一个分支,官网https://mariadb.com/最新版本10.2

MariaDB主要由SkySQL公司(现更名为MariaDB公司)维护,SkySQL公司由MySQL原作者带领大部分原班人马创立.

Mariadb5.5版本对应MySQL的5.5,10.0对应MySQL5.6

Community 社区版本,Enterprise 企业版,GA(Generally Available)指通用版本,在生产环境中用的,DMR(Development Milestone Release)开发里程碑发布版,RC(Release Candidate)发行候选版本,Beta开放测试版本,Alpha内部测试版本

(2)MySQL安装过程:

①下载源码包到/usr/local/src/目录下:

进入该目录:cd /usr/local/src/

下载源码包:wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz

②解压,然后挪动位置/usr/local/mysql

解压:tar -zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz

[ -d /usr/local/mysql ] && mv /usr/local/mysql /usr/local/mysql_old    这一步意思:是否存在mysql目录了,有的话,修改就mysql目录名称!

挪动位置:mv mysql-5.6.36-linux-glibc2.5-x86_64 /usr/local/mysql

③创建MySQL用户,启动MySQL需要该用户:useradd -s /sbin/nologin mysql

④创建MySQL数据库文件存放目录/data/mysql并更改权限:mkdir -p /data/mysql;    chown -R mysql:mysql /data/mysql;

⑤进入/usr/local/mysql目录,初始化:./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

LAMP环境搭建与配置

这里会出现FATAL ERROR报错,这是因为缺少 perl 包导致的,我们yum安装就好了:yum install -y perl-Module-Install

安装完成后,重新执行上一条命令;接下来你会看见两个OK,并且会在/data/mysql目录下生成了几个文件和目录,说明执行成功了。或者echo $?查看是否成功!

LAMP环境搭建与配置

LAMP环境搭建与配置

⑥复制配置文件:cp support-files/my-default.cnf /etc/my.cnf;    (因为系统默认有my.cnf文件,所以会提示覆盖)

LAMP环境搭建与配置

⑦修改配置文件:vim /etc/my.cnf

LAMP环境搭建与配置

⑧复制启动脚本,并修改其属性

LAMP环境搭建与配置

⑨修改启动脚本:vim /etc/init.d/mysqld

LAMP环境搭建与配置

⑩到这里安装就完成了,接下来就是启动和检查了

LAMP环境搭建与配置

从上图看见已经是启动成功了,还提示了mysql错误日志文件。

使用之前的命令检查MySQL是否启动了: LAMP环境搭建与配置

安装Apache:

(1)Apache介绍

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

(2)Apache安装过程

①下载源码包存放在/usr/local/src/:

进入src目录:cd /usr/local/src

下载源码包以及两个依赖包:

httpd:wget http://mirrors.sohu.com/apache/httpd-2.4.29.tar.gz

apr:wget http://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-1.6.3.tar.gz

apr-util:wget http://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-util-1.6.1.tar.gz

②解压

tar -zxvf apr-1.6.3.tar.gz

tar -zxvf apr-util-1.6.1.tar.gz

tar -zxvf httpd-2.4.29.tar.gz

③安装依赖库,如果不安装这两个依赖,httpd2.4就无法工作(如果是httpd2.2是不用手动安装的)

安装apr:

cd /usr/local/src/apr-1.6.3

./configure --prefix=/usr/local/apr

make && make install

可能出错:(友情提示:安装软件时,最好没执行一步,就echo $?看看是否执行成功!)

LAMP环境搭建与配置

错误提示很明显了,缺少gcc包;那我们就yum安装:yum install -y gcc;安装完成后,重新执行上面的命令!

安装apr-util:

cd /usr/local/src/apr-util-1.6.1

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

make && make install

可能报错:

LAMP环境搭建与配置

缺少expat.h文件,yum安装:yum install -y expat-devel;安装完成后,重新执行上面的命令!

④安装httpd:

cd /usr/local/src/httpd-2.4.29

./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/lcal/apr-util --enable-so --enable-mods-shared=most

make && make install

可能报错:

LAMP环境搭建与配置

解决办法:yum install -y pcre pcre-devel

LAMP环境搭建与配置

说明:缺少了xml相关的库,需要安装libxml2-devel包。直接安装并不能解决问题,因为httpd调用的apr-util已经安装好了,但是apr-util并没有libxml2-devel包支持

解决办法:

# 安装libxml2-devel包
    yum install -y libxml2-devel
    # 删除apr-util安装目录,并重新编译安装
    rm -rf /usr/local/apr-util   
    cd /usr/local/src/apr-util-1.6.1 
    # 这一步很重要,必须清除之前配置时的缓存
    make clean 
    ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
    make && make install
    
    # 重新编译安装httpd
    cd /usr/local/src/httpd-2.4.29
    # 同样要清理之前的缓存十分重要
    make clean
    ./configure --prefix=/usr/local/apache2.4  --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most
    make && make install

⑤安装完成后,查看httpd的木目录结构和modules目录下的模块文件:

ls /usr/local/apache2.4/
    bin  build  cgi-bin  conf  error  htdocs  icons  include  logs  man  manual  modules
    ls /usr/local/apache2.4/modules/
    # 查看已经加载了哪些模块
    /usr/local/apache2.4/bin/apachectl -M

安装PHP:

(1)下载源码包/usr/local/src/:wget http://mirrors.sohu.com/php/php-5.6.9.tar.gz

(2)解压:tar -zxvf php-5.6.9.tar.gz

(3)配置编译参数:

./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-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

(4)编译和安装:make && make install

可能报错:

LAMP环境搭建与配置

解决办法:yum install -y openssl openssl-devel

LAMP环境搭建与配置

解决办法:yum install -y bzip2 bzip2-devel

LAMP环境搭建与配置

解决办法:yum install -y libjpeg libjpeg-devel

LAMP环境搭建与配置

解决办法:yum install -y libpng libpng-devel

LAMP环境搭建与配置

解决办法:yum install -y lfreetype freetype-devel

LAMP环境搭建与配置

解决办法:yum install -y epel-release libmcrypt-devel

(5)最后是复制配置文件:cp php.ini-production /usr/local/php/etc/php.ini

配置httpd支持PHP:

(1)修改httpd主配置文件/usr/local/apache2.4/conf/httpd.conf

搜索ServerName,删除前面的 '#'

找到<Directory />,修改成

<Directory />
       AllowOverride none
       Require all granted
    </Directory>

在AddType增加一行:

LAMP环境搭建与配置

LAMP环境搭建与配置

测试LAMP是否成功:

(1)测试配置文件是否正确

LAMP环境搭建与配置

(2)启动apache服务

LAMP环境搭建与配置

(3)使用curl命令简单测试:

LAMP环境搭建与配置

(4)测试是否正确解析php

添加测试php脚本!

LAMP环境搭建与配置

到这里,LAMP环境就搭建好了,下面熟悉一下httpd的配置!

httpd配置:

(1)默认虚拟主机

编辑httpd配置文件httpd.conf:vim /usr/local/apache2.4/conf/httpd.conf

LAMP环境搭建与配置

然后编辑虚拟主机的配置文件:vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

LAMP环境搭建与配置

这样一个<VirtualHost>***</VirtualHost>就是一个虚拟主机了。

还要创建网站目录呢

mkdir -p /data/www/default.com
        echo "This is the default site." > /data/www/default.com/index.html

LAMP环境搭建与配置

(2)用户认证

编辑httpd配置文件httpd.conf:vim /usr/local/apache2.4/conf/httpd.conf

LAMP环境搭建与配置

接下来就是创建密码文件:(-c为create, -m为MD5加密;第二次就不用-c了,否则会清空密码文件)

LAMP环境搭建与配置

用户认证效果:(当然你需要在本机的hosts文件加入虚拟机的IP和default.com才能在浏览器访问了)

LAMP环境搭建与配置 LAMP环境搭建与配置

当然你也可以对网站的文件进行用户认证了,新建了一个站点进行文件的用户认证。

LAMP环境搭建与配置

LAMP环境搭建与配置

效果:

LAMP环境搭建与配置

(3)配置域名跳转

编辑httpd配置文件httpd.conf:vim /usr/local/apache2.4/conf/httpd.conf

在<VirtualHost>站点加入下面的代码

LAMP环境搭建与配置

当然还需要去httpd主配置文件,打开rewrite模块

LAMP环境搭建与配置

验证是否开启:

LAMP环境搭建与配置

配置完成后,使用curl进行测试

LAMP环境搭建与配置

(4)配置访问日志

定义访问日志的格式在主配置文件httpd.conf

LAMP环境搭建与配置

继续修改vhost配置文件:(默认是common,我们现在修改成combined)

LAMP环境搭建与配置

当有访问时,会产生日志文件:(记录的信息明显变多了)

LAMP环境搭建与配置

日志过滤掉图片、js、css等静态文件,节约磁盘容量,并且做 日志切割 ,一天一个文件!

在站点的配置文件vhost中加入过滤代码: LAMP环境搭建与配置

(5)配置静态元素过期时间

修改vhost:

LAMP环境搭建与配置

LAMP环境搭建与配置

(6)配置防盗链

LAMP环境搭建与配置

LAMP环境搭建与配置

(7)访问控制

①通过限制IP访问:

修改vhost配置文件:

LAMP环境搭建与配置

效果:(192.168.159.131和127.0.0.1都是本机IP)

LAMP环境搭建与配置

②也可以针对某个文件做限制

同样是修改vhost

LAMP环境搭建与配置

效果:

LAMP环境搭建与配置

③针对user_agent来做访问控制

修改vhost:(OR:或者;NC:不区分大小写;F:Forbidden)

LAMP环境搭建与配置

效果:(curl -A指定user_agent)

LAMP环境搭建与配置

④上传目录 禁止解析php代码

LAMP环境搭建与配置

LAMP环境搭建与配置

PHP配置:

(1)查看php配置文件所在路径:/usr/local/php/bin/php -i |grep -i "loaded configaration file"

LAMP环境搭建与配置

设置时区:vim /usr/local/php/etc/php.ini

LAMP环境搭建与配置

(2)禁用一些php内置的危险函数

LAMP环境搭建与配置

(3)配置日志error_log

打开php配置文件php.ini:vim /usr/local/php/etc/php.ini

# 修改一下的设置项
        log_errors = On
        error_log = /var/log/php/php_errors.log
        error_reporting = E_ALL & ~E_NOTICE
        display_errors = Off

然后创建错误日志存放目录,并修改权限

LAMP环境搭建与配置

(4)配置open_basedir

open_basedir的作用是将网站限定在指定的目录里,万一一个站点被黑了,也不会影响其他的站点。

如果直接在php配置文件设置open_basedir参数的,就是所有的站点都定义在一起了,起不到open_basedir的作用。

下面介绍在每个站点的独立虚拟主机上配置open_absedir:

LAMP环境搭建与配置

(5)PHP动态扩展模块安装

查看php加载了哪些功能模块:

/usr/local/php/bin/php -m

安装php的 redis 扩展模块:

①下载模块:wget https://codeload.github.com/phpredis/phpredis/zip/develop

②重命名:mv develop phpredis-develop.zip; 解压:unzip phpredis-develop.zip

③生成可执行文件:cd phpredis-develop/ ;   /usr/local/php/bin/phpize

报错: LAMP环境搭建与配置

安装:yum install -y autoconf

④编译安装 三部曲:./configure    make   make install

./configure --with-php-config=/usr/local/php/bin/php-config
        make && make install

⑤查看安装的模块文件:ls /usr/local/php/lib/php/extensions/no-debug-zts-20131226/

⑥编辑php配置文件:echo "extension = redis.so" >> /usr/local/php/etc/php.ini

⑦检验:/usr/local/php/bin/php -m|grep redis

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址: https://www.linuxidc.com/Linux/2018-10/154913.htm


以上所述就是小编给大家介绍的《LAMP环境搭建与配置》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Where Wizards Stay Up Late

Where Wizards Stay Up Late

Katie Hafner / Simon & Schuster / 1998-1-21 / USD 16.00

Twenty five years ago, it didn't exist. Today, twenty million people worldwide are surfing the Net. "Where Wizards Stay Up Late" is the exciting story of the pioneers responsible for creating the most......一起来看看 《Where Wizards Stay Up Late》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具