LAMP 架构的搭建 ----- Yum仓库+Apache+Mysql+PHP+phpMyadmin --------- 细心!不要慌。。。

【关于 LAMP 架构的介绍】

  • LAMP 架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态 Web 站点服务及其应用开发环境。
  • LAMP 是一个缩写词,具体包括 Linux 操作系统、Apache 网站服务器、Mysql 数据库服务器、PHP(或Perl、Python)网页编译语言。
  • LAMP 优势及特点:成本低廉;可定制、易于开发;方便易用、安全和稳定。

【LAMP架构 分块搭建】

---- yum 源 配置

(有这个才能下载 关于 yum 安装的服务)

[root@localhost ~]# mount /dev/cdrom /mnt
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ll
[root@localhost yum.repos.d]# mkdir backup
[root@localhost yum.repos.d]# mv C* backup/
[root@localhost yum.repos.d]# cp backup/CentOS-Base.repo local.repo
[root@localhost yum.repos.d]# vi local.repo

[centos]
name=centos
baseurl=file:///mnt
gpgcheck=0
enabled=1
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
 
[root@localhost yum.repos.d]# yum clean all
[root@localhost yum.repos.d]# yum makecache

---- 安装 Apache(http)服务器

安装Apache所需软件:
apr-1.6.2.tar.gz
apr-util-1.6.0.tar.gz
httpd-2.4.29.tar.gz
(以上三个包,客观可以自己去网上下载这三个包,以及后面要用的其他安装包)

1、将这三个包上传至 /opt 目录下

[root@localhost ~]# cd /opt
[root@localhost opt]# ll

[root@localhost opt]# tar xf apr-1.6.2.tar.gz
[root@localhost opt]# tar xf apr-util-1.6.0.tar.gz
[root@localhost opt]# tar xf httpd-2.4.29.tar.bz2
 
[root@localhost opt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@localhost opt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util

2、安装环境

[root@localhost opt]# 

yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl


[root@localhost opt]# cd /opt/httpd-2.4.29/

./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi

3、编译及安装

[root@localhost httpd-2.4.29]# make -j3
[root@localhost httpd-2.4.29]# make install

4、优化执行路径

[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/
[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/bin/* /usr/local/bin/
[root@localhost httpd-2.4.29]# httpd -v

5、添加 httpd 系统服务

[root@localhost httpd-2.4.29]# cd /lib/systemd/system/
[root@localhost httpd-2.4.29]# vi httpd.service          ###直接添加下面内容

[Unit]                     (#:这些数据是用于控制由 systemd 管理 或者 监控 httpd 服务的)
Description=The Apache HTTP Server
After=network.target

[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart= /usr/local/bin/apachectl $OPTIONS
ExecrReload= /bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target
 
[root@localhost system]# systemctl start httpd.service
[root@localhost system]# systemctl enable httpd.service
[root@localhost system]# systemctl is-enabled httpd.service    (检验httpd是否是开机自启,如果是,会显示 enabled )

6、修改 httpd.conf 配置文件

vi /usr/local/httpd/conf/httpd.conf

ServerName www.51xit.top:80     (#:找到这行,去掉 “#” 号 ,并修改想设的网址)
 
[root@localhost system]# systemctl restart httpd

7、验证httpd服务开启成功

[root@localhost system]# netstat -anpt | grep 80

随便找个网页输入 自己的 ip地址 网页就会出现默认的 “ It works ”。 即 Apache 服务开启成功。

=================================================
想知道详细是怎么安装的请翻我之前的博客《Apache 服务 ---- 详细安装》
添加链接描述

=================================================

---- 安装 Mysql 数据库

1、安装环境

[root@localhost ~]#

yum -y install \
ncurses \
ncurses-devel \
bison \
cmake
 
[root@localhost ~]# useradd -s /sbin/nologin  mysql

2、上传mysql-boost-5.7.20.tar.gz到 /opt 目录下

[root@localhost ~]# cd /opt
[root@localhost opt]# tar xzvf mysql-boost-5.7.20.tar.gz
[root@localhost opt]# cd mysql-5.7.20/
[root@localhost mysql-5.7.20]#

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1
 
  
[root@localhost mysql-5.7.20]# make -j3
[root@localhost mysql-5.7.20]# make install
[root@localhost mysql-5.7.20]# chown -R mysql:mysql /usr/local/mysql/
[root@localhost mysql-5.7.20]# vi /etc/my.cnf

[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
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
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
 

[root@localhost mysql-5.7.20]# chown mysql:mysql /etc/my.cnf

3、设置环境变量

[root@localhost mysql-5.7.20]# echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
[root@localhost mysql-5.7.20]# echo 'export PATH' >> /etc/profile
[root@localhost mysql-5.7.20]# source /etc/profile

4、初始化数据库

[root@localhost mysql-5.7.20]# cd /usr/local/mysql/

bin/mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

[root@localhost mysql]# cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
 
[root@localhost mysql]# systemctl enable mysqld
[root@localhost mysql]# systemctl start mysqld
 
[root@localhost mysql]# netstat -anpt | grep 3306
tcp6       0      0 :::3306                 :::*                    LISTEN      86320/mysqld

5、设置 MYSQL 密码

[root@localhost mysql]# mysqladmin -u root -p password                  #####刚开始密码为空直接回车,然后在输入密码,再确认密码
 
[root@localhost mysql]# mysql -u root -p             #####输入密码,就登录数据库中了;exit 或 quit 退出数据库

==================================================
Mysql 数据库 ---- 详情安装

==================================================

---- 安装 PHP 网页编译语言

1、安装环境

[root@localhost opt]# 

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、上传php-7.1.10.tar.bz2包到 /opt 目录下,并解压

[root@localhost ~]# cd /opt
[root@localhost opt]# tar xjvf php-7.1.10.tar.bz2

3、添加 PHP的各种执行模块的安装

[root@localhost opt]# cd php-7.1.10/
[root@localhost php-7.1.10]#

./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、编译安装

[root@localhost php-7.1.10]# make -j3
[root@localhost php-7.1.10]# make install

5、修改配置文件(进行优化)

[root@localhost php-7.1.10]# cp php.ini-development /usr/local/php/lib/php.ini              ###这条就是进行的优化
[root@localhost php-7.1.10]# vi /usr/local/php/lib/php.ini
 
mysqli.default_socket = /usr/local/mysql/mysql.sock            ####直接查找 mysqli.default_socket = 那行后,添加后面的 绝对路径(也就是做关联对接的接口)
date.timezone = Asia/Shanghai           ####直接查找 ;date.timezone = 这一行后 添 加 时区(也就是同步上海的时间), 并去掉这行前面的 “;”号

6、验证安装的模块

[root@localhost php-7.1.10]# /usr/local/php/bin/php -m

7、做 apache 服务的一些配置(因为之前在 安装Apache服务时 做过 软链接 了,所以这里只需要修改这个的配置文件)

[root@localhost php-7.1.10]# vi /etc/httpd.conf
 

#AddEncoding x-compress .Z
#AddEncoding x-gzip .gz .tgz
#
# If the AddEncoding directives above are commented-out, then you
# probably should define those extensions to indicate media types:
#
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz

AddType application/x-httpd-php .php                #####直接在这个位置添加(告诉 http ,这里要内嵌这俩个 php 的服务)
AddType application/x-httpd-php-source .phps             #####直接在这个位置添加
 
         ...........
      ........
       
<IfModule dir_module>
DirectoryIndex index.php index.html                   #####在这行的中间 添加 index.php (增加 首页的语言)
</IfModule>

(注意事项:这里要注释掉一行命令,因为有可能会与之前安装的 apache 服务 串稀,导致网页不能用,需要在 /etc/httpd.conf 中把这行 httpd-vhosts.conf 注释掉
在这里插入图片描述
在查看一下监听端口,只需要一个 80端口 就行了 ,有其他的也注释掉)
在这里插入图片描述

8、更改、添加测试

[root@localhost php-7.1.10]# rm -f /usr/local/httpd/htdocs/index.html           ##### 删除原来的 index.html 首页
[root@localhost php-7.1.10]# vi /usr/local/httpd/htdocs/index.php          ####更改编辑成 index.php 的首页(直接插入下面的内容)

<?php
phpinfo();                              ####测试首页能不能用  所以添加了phpinfo
?>
 [root@localhost php-7.1.10]# systemctl restart httpd         ####记得重启 http
8 —httpd 重启报错

!!!!哎呦,卧槽!!!…碰到一个报错 apache 服务 重启不了
在这里插入图片描述
于是我利用 systemctl 工具 查看 httpd 的状态
在这里插入图片描述
AH00526 Syntax error on line 362 of … 报错,我进配置文件里查看 362行到底什么鬼 ,发现我根本没动过它们 ,想想可能是装了太多东西 串稀了,索性我就 # 号注释掉(别注释掉源码),成功启动 。 (如果看到上面这个报错就一定是配置文件有问题)
在这里插入图片描述
9、真机测试
随便找个网页测试 : 输入你的 ip地址

在这里插入图片描述
OK!PHP 安装完毕!摸摸头发又少了几根,离巅峰状态不远了…

10、进入 Mysql 数据库 进行授权

[root@localhost php-7.1.10]# mysql -u root -p
mysql > grant database myadm;           ####创建一个 myadm 数据库
mysql > grant all on myadm.* to 'myadm'@'%' identified by  'admin123';        
mysql > grant all on myadm.* to 'myadm'@'localhost' identified by 'admin123';
mysql > flush privileges;
mysql > exit

11、真机测试,如有 “ Success!! " 即 OK
在这里插入图片描述
PHP 网页编译语言安装完毕。

---- 安装 phpMyadmin(图形化界面)

1、上传 phpMyAdmin-4.7.6-all-languages.zip 到 /opt 目录下

[root@mimi ~]# cd /opt
[root@mimi opt]# ll
-rw-r--r--.  1 root  root  11475526 Sep 19 00:37 phpMyAdmin-4.7.6-all-languages.zip

2、解压包

[root@mimi opt]# unzip phpMyAdmin-4.7.6-all-languages.zip -d /opt/               #####没有 unzip 工具的话需要 yum -y install unzip ,安装下

3、刷刷刷,搞定

[root@mimi opt]# mv phpMyAdmin-4.7.6-all-languages /usr/local/httpd/htdocs/myadm                  ####比如说 一个叫 htdocs 的仓库又嵌了一个叫 myadm 的仓库进去
[root@mimi opt]# cd /usr/local/httpd/htdocs/myadm
[root@mimi myadm]# cp config.sample.inc.php config.inc.php
[root@mimi myadm]# vi config.inc.php           #####找到第31行,将 'localhost' 改成 '你自己的IP地址'
$cfg['Servers'][$i]['host'] = '127.0.0.1';          ####修改的结果如下图

在这里插入图片描述
4、真机测试 ,输入你的 IP地址/myadm 测试;图形化界面嘛,直接上图最直观的给你看
在这里插入图片描述
在这里插入图片描述

4 ---- 登陆 mysql 图形化界面报错

这里呢 有些时候会出现一个无法登陆的报错:(一般来说这种报错就是输错了密码)
mysqli_real_connect(): (HY000/1045): Access denied for user ‘root’@‘mimi’ (using password: YES)
意思是说 :root 没有权限连接 Mysql 图形化界面
解决:
1、怎么解决呢,请注意这串报错中的这个地方 (using password: YES) ;这代表用了密码 ,还无权连接 ;那你就 去虚拟机里重启一下 Mysql 数据库 ,就可以登上了(我这里就这样报错,这样登上的,如果还登不上 ,那您老还得费点事)
2、请注意这串报错中的这个地方 (using password: NO) ;这就代表没有用密码 ,无权连接;
这个的解决办法为:去虚拟机中将 Mysql 数据的 root 用户密码设置为 空( ‘’ ),然后重新连输入 root 直接回车,估计就能进去(为什么说估计呢,因为我没遇到过)

在这里插入图片描述
那这就进来了,你可以试着玩一玩

LAMP 架构的搭建就到此完毕了,感谢客官老爷的观看

猜你喜欢

转载自blog.csdn.net/XCsuperman/article/details/108647588