Linux搭建LAMP

什么是LAMP

什么是LAMP?
一种成熟的动态企业网站服务模式
Apache在最前端,负责接收HTTP访问请求

实验环境准备

  • 已经配置好yum仓库//没有搭建的看上一篇博客
  • 配好IP地址,能够与物理机ping通
  • 关闭防火墙,SELiunx
  • 能够使用Xshell远程登录linux

LAMP安装与应用

安装LAMP平台组件

[root@ svr7 ~] yum  -y  install  httpd  mariadb-server  mariadb  php  php-mysql

[root@ svr7 ~] yum  list  httpd  mariadb-server  mariadb  php  php-mysql

启用LAMP网站平台

开启httpd mariadb服务 设置开机自启

[root@ svr7 ~] systemctl  restart  httpd  mariadb   //启动服务
[root@ svr7 ~] systemctl  enable  httpd  mariadb   //设置开机自启

Created symlink from / etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.

关闭防火墙服务

[root@ svr7 ~] systemctl  stop  firewalld   //立即停止防火墙
[root@ svr7 ~] systemctl  disable  firewalld   //以后开机不再启动防火墙

关闭SELinux保护机制

[root@ svr7 ~] setenforce  0 //立即切换为宽松模式
[root@ svr7 ~] getenforce //确认结果
Permissive        //disabled也可以
[root@ svr7 ~] vim  / etc/selinux/config //以后开机不再强制生效
SELINUX=permissive //宽松模式

测试LAMP网站平台

测试php网页解析

编写网页 /var/www/html/xx.php

[root@svr7 ~] vim / var/www/html/xx.php
<?php
phpinfo();
?>

使用linux访问http://127.0.0.1/xx.php 是否会出现php环境信息

测试php访问数据库

编写网页 /var/www/html/oo.php
在web服务器的网页目录下新建另一个测试网页oo.php 其中本机的mariadb数据库服务未做配置,管理员账号为root,密码为空

[root@svr7 ~] vim  / var/www/html/oo.php
<?php
$link=mysql_connect('localhost','root','');
if($link) echo "Success !!";       //成功则显示 Success !!
else echo "Failure !!";           //失败则显示 Failure !!
 mysql_close();                   //关闭数据库连接
?>

访问http://127.0.0.1/oo.php 可以看到数据库连接的反馈信息,正常结果显示为success

web网站基础配置

更改网站根目录

[root@svr7 ~] mkdir  -p  / var/www/webroot   //创建网站根目录

修改httpd服务配置
将文件中的两个 /var/www/html 修改为 /var/www/webroot

[root@svr7 ~] vim  / etc/httpd/conf/httpd.conf
.. ..
DocumentRoot  / var/www/webroot
<Directory  / var/www/webroot>

重启httpd服务 更新配置

[root@svr7 ~] systemctl  restart  httpd

部署自定义网页文件

新建网站首页index.html

[root@svr7 ~] vim  / var/www/webroot/index.html
<a  href="https://blog.51cto.com/14309999">blog.51cto</ a>

<a href="插入超链接 输入完整的网址">连接名</a>

测试网页效果

本机访问 http://127.0.0.1

配置虚拟主机

修改 /etc/hosts 文件

[root@svr7 ~] vim  /e tc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.10.7 xx.cn  oo.cn

测试访问结果:
使用ping命令检测到两个域名的访问,确保可连通且对应到正确的IP地址

[root@svr7 ~] ping xx.cn
[root@svr7 ~] ping  oo.cn

配置httpd服务 实现两个不同的网站

为两个网站分别准备网页目录、测试网页index.html

[root@svr7 ~] mkdir  / var/www/web1
[root@svr7 ~] vim  / var/www/web1/index.html
Hello  Linux

[root@svr7 ~] mkdir  / var/www/web2
[root@svr7 ~] vim  / var/www/web2/index.html
Hello  PHP

添加新的Web配置,支持两个虚拟Web主机,分别指向不同的网页目录

[root@svr7 ~] vim  / etc/httpd/conf.d/vhosts.conf 
<VirtualHost  *:80>
    ServerName  xx.cn
    DocumentRoot  / var/www/web1
</VirtualHost>
<VirtualHost  *:80>
    ServerName  oo.cn
    DocumentRoot  / var/www/web2
</VirtualHost>

语法检查

root@svr7 ~] httpd  -t
....
Syntax OK

重启httpd服务:

[root@svr7 ~] systemctl  restart  httpd

从浏览器分别访问两个虚拟Web主机,对比页面结果

部署论坛代码

部署Discuz论坛代码

提前下载好Discuz!论坛的代码包文件,比如 Discuz_X3.4_SC_UTF8.zip,通过Xshell工具将此文件上传到服务器的 /root/ 目录下,并在服务器上确认

[root@svr7 ~] ls  -lh  /root/Discuz_X3.4_SC_UTF8.zip 
-rw-r--r--. 1 root root 11M 12月 20 15:01 /root/Discuz_X3.4_SC_UTF8.zip

解压此文件到临时目录tdir

[root@ svr7 ~] unzip  /root/Discuz_X3.4_SC_UTF8.zip  -d  tdir
.. ..
[root@ svr7 ~] ls  tdir/  //检查解压结果
readme  upload  utility

将论坛代码部署为 /var/www/bbs/,作为此站点的网页目录

root@svr7 ~] cp  -rf  tdir/upload/  /var/www/bbs

[root@svr7 ~] ls  /var/www/bbs     //检查部署结果
admin.php        data         m           source
api              favicon.ico  member.php  static
api.php          forum.php    misc.php    template
archiver         group.php    plugin.php  uc_client
config           home.php     portal.php  uc_server
connect.php      index.php    robots.txt
crossdomain.xml  install      search.php

添加虚拟主机 http://bbs.xxoo.cn/

调整/etc/hosts主机映射

[root@svr7 ~] vim  /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.10.7  xx.cn  oo.cn  bbs.xxoo.cn

修改 httpd 服务配置,为 bbs.xxoo.cn 添加配置

root@svr7 ~] vim  / etc/httpd/conf.d/vhosts.conf
.. ..
<VirtualHost  *:80>
    ServerName  bbs.xxoo.cn
    DocumentRoot  /var/www/bbs
</VirtualHost>

安装Discuz!论坛

访问安装程序

在 Firefox 浏览器访问 http://bbs.xxoo.cn/install/ ,确保可看到论坛安装页面,单击“我同意”按钮
Linux中搭建LAMP平台及论坛服务

根据网页提示完成 Discuz! 论坛系统安装

检查安装环境
单击底部“我同意”按钮,进入检查安装环境页面。此页面的最底部会显示“请将以上红叉部分修正再试”,无法继续,可能是目录权限问题
Linux中搭建LAMP平台及论坛服务

解决显示红叉方法

[root@ svr7 ~] cd  / var/www/bbs/    //进入论坛代码目录
[root@ svr7 bbs] chown  -R  apache  config/  data/  uc_server/  uc_client/ 
                                //修改相关子目录归属
[root@ svr7 bbs] ls  -ld  config/  data/  uc_server/  uc_client/   //确认结果
drwxr-xr-x.  2 apache root  90 12月 20 15:04 config/
drwxr-xr-x. 12 apache root 202 12月 20 15:04 data/
drwxr-xr-x.  7 apache root 106 12月 20 15:04 uc_client/
drwxr-xr-x. 14 apache root 256 12月 20 15:04 uc_server/

选择安装方式

接下来的设置运行环境接受默认的“全新安装”即可
Linux中搭建LAMP平台及论坛服务

设置数据库连接

然后会进入到数据库设置页面,根据页面提示正确填写好连接参数

Linux中搭建LAMP平台及论坛服务

完成安装

等待安装程序写入数据库信息,完成相关安装操作,成功后页面右下角会出现提示
Linux中搭建LAMP平台及论坛服务

总结

如果没有安装yum仓库 请先安装yum仓库在安装软件
LAMP在搭建的过程中可能会遇到很多问题,涉及到很多问题LAMP也相对比较重要
关于LAMP的常见问题我会在下篇博客中写到