LAMP1

LAMP环境搭建与配置

L 代表linux
A 代表Apache(httpd)
M 代表Mysql
P 代表PHP
解释了含义下面开始实施

1安装mysql

首先再网上下载二进制免编译包
在这里插入图片描述

解压

[root@demo src]# tar -zxvf mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz

然后移动到/usr/local/mysql

[root@demo src]# mv mysql-5.6.43-linux-glibc2.12-x86_64 ../mysql

创建数据库用户

[root@demo mysql]# useradd -s /sbin/nologin mysql

创建存放数据的目录将用户和用户组设置为mysql

[root@demo mysql]# mkdir -p /data/mysql; chown -R mysql:mysql /data/mysql

安装perl脚本工具

[root@demo mysql]# yum install -y perl-Module-Install

然后跑脚本指定用户和存放数据的目录,跑完出现2个OK即为成功

[root@demo mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

然后把自带的mariadb的配置文件覆盖了

[root@demo mysql]# cp support-files/my-default.cnf  /etc/my.cnf

然后修改配置文件以下五项

basedir = /usr/local/mysql  安装位置
datadir = /data/mysql     存放数据位置
port = 3306              端口号
server_id = 155           mysql的服务id号
socket = /tmp/mysql.sock  MySQL 服务监听的套接字地址

复制启动脚本

[root@demo mysql]# cp support-files/mysql.server  /etc/init.d/mysqld

修改启动脚本 下面的两项

[root@demo mysql]# vi /etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/data/mysql

然后将启动脚本加入系统的服务中,设置开机自启

[root@demo mysql]# chkconfig --add mysqld
[root@demo mysql]# chkconfig mysqld on

然后启动mysql

[root@demo mysql]# service mysqld start
Starting MySQL.Logging to '/data/mysql/demo.err'.
. SUCCESS!

用ps查看进程

[root@demo mysql]# ps -ef |grep mysqld

root 4018 1 0 23:03 pts/0 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/demo.pid
mysql 4195 4018 0 23:03 pts/0 00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=demo.err --pid-file=/data/mysql/demo.pid --socket=/tmp/mysql.sock --port=3306
root 4227 3291 0 23:06 pts/0 00:00:00 grep --color=auto mysqld
查看网络端口

[root@demo mysql]# netstat -ntpl | grep 3306

tcp6 0 0 :::3306 ::😗 LISTEN 4195/mysqld

2安装Apach

下载httpd、apr、apr-util
wget http://mirrors.cnnic.cn/apache/httpd/httpd-xxx 经常更新版本需要去查看具体多少
wget http://mirrors.hust.edu.cn/apache/apr/apr-xxx 同上
wget http://mirrors.hust.edu.cn/apache/apr/apr-util-xxx 同上
解压

tar -zxvf httpd-2.4.46.tar.gz
tar -zxvf apr-util-1.6.1.tar.gz
tar -zxvf apr-1.6.5.tar.gz

安装apr

yum install –y libtool*  需要安装这个库 

编译

cd /usr/local/src/apr-1.6.5
./configure --prefix=/usr/local/apr  指定了安装目录

出现这个没关系
rm: cannot remove ‘libtoolT’: No such file or directory
make的安装

make &&make install

然后安装apr-util

cd /usr/local/src/apr-util-1.6.1
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

指定apr-util的安装目录,同时依赖apr

make &&make install

接着安装httpd

cd /usr/local/src/httpd-2.4.46

先安装正则表达式的库

yum install -y pcre-devel

然后编译

./configure  \ 加上这个斜杠可以把一行写成多行
--prefix=/usr/1ocal/apache2.4 \
--with-apr=/usr/local/apr  \
--with-apr-util=/usr/local/apr-util \  
--enable-so  \
--enable-mods-shared=most 
//--enable-so 表示启用 DSO 
//--enable -mods- shared 表示以共享形式安装模块

然后安装make

make -j4 && make install     -j4表示加4个线程加速

若是报错了,把这俩个复制到srclib下

cp -r apr-1.6.5 httpd-2.4.39/srclib/apr
cp -r apr-util-1.6.1 httpd-2.4.39/srclib/apr-util

然后清除一下

make clean

然后重新编译

./configure --prefix=/usr/local/apache2.4 --enable-so --with-pcre --with-included-apr --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork

然后再make安装
完成

3安装PHP

下载PHP
wget http://cn2.php.net/distributions/php-5.6.30.tar.gz
解压

tar -zxvf php-5.6.30.tar.gz
cd php-5.6.30

提前安装一些包

yum install -y libxml2-devel bzip2 bzip2-devel libpng libpng-devel openssl openssl-devel freetype freetype-devel opel-release

编译

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

然后这里编译完提示还是少jpeg,我们可以编译时去掉,节省时间
configure: error: jpeglib.h not found.

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

然后提示
configure: error: mcrypt.h not found. Please reinstall libmcrypt.
需要再安装一个扩展源的包

yum install -y epel-release
yum install -y libmcrypt-devel

然后再编译一下这次安装成功了没有报错
在这里插入图片描述

然后make安装

Make –j4 && make install

然后查看是否有php

/usr/local/apache2.4/bin/httpd –M

php5_module (shared)这个就是
查询php的相关信息

/usr/local/php/bin/php -i|less

然后把配置文件拷出来
php.ini-development 适合开发环境
php.ini-production 适合生产环境
我们这里用生产环境的

cp php.ini-production /usr/local/php/etc/php.ini

完成 PHP7同理

4配置htppd支持php

vi /usr/local/apache2.4/conf/httpd.conf

搜索Server取消注释这行
在这里插入图片描述

搜索Require然后把这行原有的denied改为granted
在这里插入图片描述

搜索AddType加一行
在这里插入图片描述

搜索Index再这后面加上index.php
在这里插入图片描述

测试是否正确

/usr/local/apache2.4/bin/apachectl  -t

提示 Syntax OK 就是正确

/usr/local/apache2.4/bin/apachectl  start 启动服务graceful重启

如果启动失败可以用kill -9 杀掉httpd的进程
然后

curl localhost 
<html><body><h1>It works!</h1></body></html>显示这个成功

然后创建一个php测试解析

vi test.php

输入内容

<?php
echo "解析php"
?>

然后使用curl

curl localhost/test.php  指定要访问的php文件

返回解析php
然后用网页也可以看到解析
在这里插入图片描述

成功

5.httpd的默认虚拟主机

先编辑

vi /usr/local/apache2.4/conf/httpd.conf

然后把主配置文件下的虚拟主机配置文件注释去掉
s

然后准备修改vhosts文件修改之前先备份一下

cp httpd-vhosts.conf httpd-vhosts.conf-bak

然后编辑vhosts文件
ServerAdmin 指定管理员邮箱
DocumentRoot 为该虚拟主机站点的根目录
ServaerName 为网站的域名
ServerAlias 为网站的第二域名
ErrorLog 为站点的错误日志
CustomLog 为站点的访问日志
在这里插入图片描述

然后在apache2.4目录下创建一个docs目录
在这里插入图片描述

然后再创建俩个和网站名字一样的目录
在这里插入图片描述

分别在两个目录下创建index.html并且输入内容
在这里插入图片描述

改完配置文件后测试
在这里插入图片描述

然后重新加载一下服务
在这里插入图片描述

测试访问刚刚配置的网页
在这里插入图片描述

然后php也可以解析

6httpd的用户认证

编辑vhosts文件

vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

我们只对一个网站做认证先注释掉另一个
在这里插入图片描述

然后再第一个网站上添加这段

<Directory /data/wwwroot/testdomain.com> //指定认证的目录
AllowOverride AuthConfig //这个相当于打开认证的开关
AuthName "testdomain.com user auth" //自定义认证的名字,作用不大
AuthType Basic //认证的类型,一般为Basic
AuthUserFile /data/.htpasswd //指定密码文件所在位置
require valid-user //指定需要认证的用户为全部可用用户
</Directory>

在这里插入图片描述

然后创建密码文件,用户和密码

[root@demo extra]# /usr/local/apache2.4/bin/htpasswd  -cm
/usr/local/apache2.4/docs/.htpasswd    cqf

-c是创建一个用户
-m是以md5形式加密
.htpasswd是密码文件
然后访问网页测试是否成功

curl -xlocalhost:80 -u cqf:123123 cqf.com –I

在这里插入图片描述

然后通过网页测试
在本地电脑hosts里面添加192.168.100.5 cqf.com www.cqf.com
然后再去网页输入网址输入用户名和密码即可

sss

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值