搭建LAMP服务(Apache、Mysql、Php)

一、搭建LAMP服务

在这里插入图片描述

1.先准备好apache、mysql、php安装包

1.搭建Apache

在这里插入图片描述在这里插入图片描述
1.解压三个软件包

tar    zxvf     apr-1.6.2.tar.gz
tar    zxvf     apr-util-1.6.tar.gz
tar    jxvf      httpd-2.4.29.tar.bz2

2.把软件包移动到httpd中的目录文件中

[root@server2 ~]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@server2 ~]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util

3.安装依赖包

[root@server2 ~]# yum -y install pcre-devel expat-devel perl

在这里插入图片描述
4.开启一些功能模块

[root@server2 httpd-2.4.29]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi

在这里插入图片描述

5.编译安装

make   &&    make   install 

6.设置chkconfig管理http

[root@server2 httpd-2.4.29]# cd
[root@server2 ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[root@server2 ~]# vi /etc/init.d/httpd 
[root@server2 ~]# chkconfig --add httpd
[root@server2 ~]# chkconfig --list
[root@server2 ~]# systemctl enable httpd

在这里插入图片描述

 vi /etc/init.d/httpd
 添加:
     #chkconfig:45 87 31
     #description:Apache HTTP Server

在这里插入图片描述
7.建立软链接

[root@server1 ~]# ln -s /usr/local/httpd/bin/* /usr/bin/
[root@server1 ~]# ln -s /usr/local/httpd/conf/httpd.conf  /etc/

8.网站与域名捆绑

vi /etc/httpd.conf
修改:
 ServerName www.nb.com:80

在这里插入图片描述

9.检查语法的两种方法

[root@server1 ~]# apachectl   -t
[root@server1 ~]# httpd   -t

在这里插入图片描述

10.将this is my 重定向输入到index.html中

echo "<h1>this  is  my</h1>" > /usr/local/httpd/htdocs/index.html 
[root@server1 ~]# systemctl restart httpd         #重启服务
[root@server1 ~]# netstat -anpt | grep httpd       #查看httpd服务端口状态
[root@server1 ~]# curl http://localhost       #测试访问

测试:
在这里插入图片描述

2.搭建Mysql

1.安装mysql4个依赖包

yum -y install nucurses \
ncurses-devel  \
bison \
cmake \

在这里插入图片描述
2.创建一个不可登陆的用户

useradd -s /sbin/nologin  mysql    

3.解压mysql安装包

tar zxvf mysql-boost-5.7.20.tar.gz

4.配置cmake

cd mysql-5.7.20/

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \              #安装目录 安装路径
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \   #指定套接字文件的存储路径套接字:客户端访问mysql数据库的一个接口
-DSYSCONFDIR=/etc \                                     #配置my. cnf的目录 配置文件路径,(根目录)
-DSYSTEMD_PID_DIR=/usr/local/mysql \          #主服务进程所在路径 (进程文件目录)
-DDEFAULT_CHARSET=utf8 \                           #默认字符集
-DDEFAULT_COLLATION=utf8_general_ci \      #默认编码
-DWITH_INNOBASE_STORAGE_ENGINE=1 \     #启用InnoDB引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \        #启用ARCHIVE引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \   #启用BLACKHOLE引擎
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \  #启用perfschema引擎
-DMYSQL_DATADIR=/usr/local/mysql/data \    #数据存储路径  (数据库目录)
-DWITH_BOOST=boost \              #boost库是为C++语言标准库提供扩展的一些C++程序库的总称
-DWITH_SYSTEMD=1 #这是mysql5.7原生支持systemd的选项,如果用systemctl启动,就必须开启

在这里插入图片描述

5.编译安装

[root@server1 ~]#make   &&   make install

6.设置属主属组(因为要运行权限)

[root@server1 ~]#cd
[root@server1 ~]#chown  -R  mysql  . mysql  /usr/local/mysql/    

在这里插入图片描述

7.编辑配置文件

[root@server1 ~]#vi    /etc/my.conf                  #进入全部清空,然后编辑

[client]       #客户端
    port = 3306        #访问端口
    default-character-set = utf8    #默认字符集
    socket = /usr/local/mysql/mysql.sock     #套接字
    [mysql]            #运行用户
    port = 3306       #运行端口
    default-character-set = utf8
    socket = /usr/local/mysql/mysql.sock
    [mysqld]          #程序
        user = mysql       运行用户
        basedir = /usr/local/mysql   #根目录
        datadir = /usr/local/mysql/data   #用户目录
        port = 3306
        character_set_server = utf8    #服务器设置字符
        socket = /usr/local/mysql/mysql.sock   #进程文件
        pid-file = /usr/local/mysql/mysql.pid
        server-id = 1
        sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
chown mysql.mysql /etc/my.cnf

8.将/usr/local/mysql/bin和/usr/local/mysql/lib追加到变量PATH

echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile

9.把export PATH设为全局变量,追加到/etc/profile末尾

[root@server1 ~]#echo 'export PATH' >> /etc/profile    
[root@server1 ~]#tail -5 /etc/profile
添加:
unset i
unset -f pathmunge
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
export PATH

在这里插入图片描述

10./etc/profile是初始化的配置文件

 [root@server1 ~]#source  /etc/profile
 [root@server1 ~]#echo $PATH              

在这里插入图片描述

11.初始化设置

[root@server1 ~]# mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
[root@server1 ~]# cd /usr/local/mysql/
[root@server1 mysql]# cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system
[root@server1 mysql]# systemctl daemon-reload 守护进程
[root@server1 mysql]# systemctl start mysqld  
[root@server1 mysql]# cd
[root@server1 ~]# netstat -anpt | grep 3306
[root@server1 ~]# systemctl enable mysqld
[root@server1 ~]# mysql  登录(第一次登录密码为空)

在这里插入图片描述

1.修改Mysql密码

方法一、

[root@server1 ~]# mysqladmin -uroot -p password 'fa123'
进行登录检验
[root@server1 ~]# mysql -uroot -p
输入密码fa123

在这里插入图片描述
方法二、

[root@server1 ~]# mysqladmin -uroot -p123456 password 'fa123'

在这里插入图片描述
方法三、
在数据库中修改密码

[root@server1 ~]# mysql  -u  root   -p

mysql > set password  for root@localhost = password('123456');
Query OK,0 rows affected, 1 warning (0.00 sec)

在这里插入图片描述

2.忘记密码

vi   /etc/my.cnf
末尾加
skip_name_resolve        #跳过名字
skip_grant_tables           #跳过表的授权
bind-address=0.0.0.0         #绑定地址
:wq

systemctl   restart    mysqld           #重启
然后重新登录Mysql,登录上去默认是没有密码的,然后可以重新设置密码

二、搭建PHP

在这里插入图片描述

依赖包

libjpeg libjpeg-devel:jpeg图像压缩库
libpng libpng-devel:png图像压缩库
freetype freetype-devel:字体引擎,统一的接口访问多种字体格式文件
libxml2 libxml2-devel:xml程序库,用来对xml文件进行解析
zlib zlib-devel:数据压缩用的函式库,可相当轻松的通过把压缩数据写入到由gzip头的文件中
curl curl-devel:利用url规则在命令行下工作的文件传输工具
openssl openssl-devel:是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包被广泛应用在互联网的网页服务器上

1.安装依赖包

yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel

在这里插入图片描述
2.解压

tar zxvf php-7.1.10.tar.bz2 

3.php配置选项

./configure
--prefix=/usr/local/php \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip \

4.拷贝文件、添加套接字路径、时间

cp php.ini-development  /usr/local/php/lib/php.ini           #拷贝文件
vi /usr/local/php/lib/php.ini            #编辑

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

5.验证php模块有没有安装成功

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

在这里插入图片描述

6.添加php功能

  vi /etc/httpd.conf          

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

 vi /usr/local/httpd/htdocs/index.php 
 添加:
        <?php
           phpinfo();
          ?>

在这里插入图片描述
实现效果:
在这里插入图片描述
在这里插入图片描述
成功后,就说明php与apache可以联动

1.开始做php与mysql联动

mysql> grant all privileges on myadm.*(库点表) to 'myadm'(用户)@'localhost'(范围) identified by 'admin123';(以授权的密码是adm123)
mysql> grant all privileges on myadm.* to 'myadm'@'%'(其他范围) identified by 'admin123';

flush   privileges        #刷新权限,使它生效
exit

在这里插入图片描述

2.修改php的html页面

vi /usr/local/httpd/htdocs/index.php 
修改:
<?php
$link(定义的变量)=mysqli_connec(变量池,获取的值)t('20.0.0.13'(获取的地址()本机地址),'admin'(数据库登录名),'admin123'(数据库登录密码));
if($link) echo "<h1>Success!!!</h1>"    #如果这个link变量是
else echo "Fail!!!";
?>

在这里插入图片描述

然后去虚拟机上连接测试
在这里插入图片描述
这边可以看出php与apache实现了连通,而调用的数据是mysql中的数据

1.使用图形化工具管理Mysql数据库

安装包
在这里插入图片描述
1.解压

[root@server1 ~]#unzip phpMyAdmin-4.7.6-all-languages.zip 

2.把phpMyAdmin-4.7.6-all-languages剪切到/usr/local/httpd/htdocs/中的myadm目录中

[root@server1 ~]# mv phpMyAdmin-4.7.6-all-languages   /usr/local/httpd/htdocs/myadm   
[root@server1 ~]# cp /usr/local/httpd/htdocs/myadm/config.sample.inc.php /usr/local/httpd/htdocs/myadm/config.inc.php
[root@server1 ~]# vi /usr/local/httpd/htdocs/myadm/config.inc.php 

在这里插入图片描述

修改后http://20.0.0.13/myadm

在这里插入图片描述
默认用root账户登录不上去,因为没有给root权限
添加权限
在这里插入图片描述
添加完权限后再用root账户登录
root
fa123
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值