服务器搭建(CenOS 7 Apache + PHP _Mysql环境(LAMP))

第一步、更换阿里云 yum源

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum update

(查找文件的命令 find / -name "www")

第二步、Apache部分

安装Apacheyum -y install httpd

启动Apache服务systemctl start httpd

检查Apache服务状态是否runningsystemctl status httpd

设置Apache服务自启动守卫systemctl enable httpd

此时,访问服务器的80端口,应可以看到Apache的默认页。如果不能访问,请检查防火墙设置。Apache的默认网页资源目录是/var/www/html,默认配置文件位置是/etc/httpd/conf/httpd.conf

Firewalld常用命令:

systemctl start firewalld.service            #启动防火墙  
systemctl stop firewalld.service             #停止防火墙  
firewall-cmd --state                         #查看防火墙状态
firewall-cmd --list-ports                   #查看所有打开的端口
firewall-cmd --add-port=80/tcp --permanent   #永久添加80端口例外(全局)
firewall-cmd --remove-port=80/tcp --permanent #永久删除80端口例外(全局)

Firewall配置步骤

输入setenforce 0临时关闭SELINUX 关闭防火墙 systemctl stop firewalld 关闭firewall之后,此时便可以通过浏览器成功访问apache页面了。并且在/var/www/html目录中的所有.html网页都可以通过浏览器访问了。

第三步、MySQL 5.7 部分

安装MySQL及服务器:由于需要下载文件,请在合适的目录下执行下列操作。若系统没有wget,请先yum install wget安装之。

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm yum -y install mysql57-community-release-el7-10.noarch.rpm yum -y install mysql-community-server

启动MySQL服务systemctl start mysqld.service

检查MySQL服务是否runningsystemctl status mysqld.service

设置MySQL服务自启动守卫systemctl enable mysqld.service

获取MySQL初始随机密码: grep "password" /var/log/mysqld.log

使用该密码进入数据库mysql -uroot -p,输入密码进入

执行查询,修改默认密码ALTER USER 'root'@'localhost' IDENTIFIED BY '[NEWPASSWORD]';

注意,依据安全性政策,过于简单的密码无法通过要求。

可以更改安全性政策,如下:

select 'host' from user where user='root';

此时可能会出现“You must reset your password using ALTER USER statement before executing this statement.”

【解决办法】

MySQL版本5.7.6版本以前用户可以使用如下命令:

mysql> SET PASSWORD = PASSWORD('你的密码'); MySQL版本5.7.6版本开始的用户可以使用如下命令:

mysql> ALTER USER USER() IDENTIFIED BY '你的密码';

括号里面的你的密码也就是刚才Mysql的初始随机密码

之后:查看 mysql 初始的密码策略

SHOW VARIABLES LIKE 'validate_password%';
set global validate_password_policy=LOW;
这样policy就成了LOW就可以执行修改密码了;
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';

但是你用SQLmyog等远程连接数据库可能失败,显示 1130,ERROR 1130: Host http://xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server

在本机登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'即可

mysql -u root -p

mysql;use mysql;

mysql;select 'host' from user where user='root';

mysql;update user set host = '%' where user ='root';

mysql;flush privileges;

mysql;select 'host' from user where user='root';

就可以了;

如果出现access denied的原因有如下可能:

1)mysql的服务器停止:   若MySQL已经没有启动,重启MySQL服务器:systemctl restart mysqld 2)用户的端口号或者IP导致:   若用户的端口号与IP(3306/3307)不一致,打开my.ini文件进行编辑。全部编辑替换为: port=X 3)mysql的配置文件错误----my.ini等文件:   my.ini文件误输入无效内容,不知道到何处。复制替换该文件;有人已经对my.ini文件进行解释以及注释:https://blog.csdn.net/lienfeng6/article/details/78140404 4)root用户的密码错误(后面解决)

第四步、PHP部分

1,安装之前先卸载虚拟机上其他版本的PHP

yum -y remove php* 2,由于linux的yum源不存在PHP7.x,所有我们要改yum源(两条命令)

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm 3,安装PHP及其扩展,比如安装php7.2 yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml

4,安装成功之后,开启PHP服务:

  1. systemctl enable php-fpm.service

  2. systemctl start php-fpm.service

5,开启服务后,试着运行一下PHP代码,输出一行当前时间戳:

php -r "echo time();"

6,运行php -m看当前PHP安装的扩展有哪些,如果有需要的扩展没安装,比如要安装redis扩展,可以先用search命令查看此版本的PHP所有扩展服务名:

yum search all php72w

上图红框内是redis扩展的名称,接下来使用yum安装:yum install后面加上扩展名称。

yum install php72w-pecl-redis.x86_64

安装完毕后,再php -m查看当前已安装的扩展:

redis扩展已经安装成功,其他的扩展都是这样;相比较编译安装这种安装方式简直太舒服。

防火墙和端口设置

对于服务器操作系统来说,对外暴露一些不必要的端口都是非常危险的。因此,在管理服务器的时候,知道开放了哪些服务器端口对于运维人员来说算是一项基本技能。下面我们来看看,怎么知道服务器开放了哪些端口。

工具/原料

  • CentOS7

一、在本机上查看

  1. 在CentOS主机上查看当前主机在监听哪些端口的命令是netstat,常用的命令是:

    netstat -tlunp

    这个命令会显示出当前主机打开的所有端口,显示结果如下所示,从图中可以看到目前主机上开放的端口tcp端口的22和25,upd的68号端口

  2. 而端口名称后面关联了对应的进程名称,如下面图中所示。这里需要注意的是,如果你的服务器是公网服务器,你在公网上开放了22号端口,那么你的主机就会被公网上很多扫描器扫描,然后尝试爆破你的账号密码,来黑掉你的服务器。解决方法一般是通过修改特定服务监听的端口,如下面第二张图中所示,修改后的sshd进程监听的端口有22和63213端口,那么我把这个端口暴露出去,被扫描的纪律就小很多了。

  3. 上面这个命令查看的是服务器上的进程对外监听的端口,但是在CentOS7中,默认会打开firewalld防火墙,如果防火墙打开后,默认情况下只会监听在22号端口,也就是说主机对外暴露的端口只有22。如下面图中所示,查看防火墙开放端口的命令是

    iptables-save

    结果如下面第二张图中所示:

  4. 如果想增加对外开放的端口,就需要通过防火墙的管理命令firewalld-cmd,例如我想开放80端口,那么命令就是:

    firewall-cmd --zone=public --add-port=80/tcp --permanent

    firewall-cmd --reload

    第一条命令是添加端口,第二条命令是重载防火墙。

  5. 看到sucess字样后,再使用iptables-save命令查看端口,可以看到,对外放开的端口增加了80.

    1、开放端口

    firewall-cmd --zone=public --add-port=5672/tcp --permanent # 开放5672端口

    firewall-cmd --zone=public --remove-port=5672/tcp --permanent #关闭5672端口

    firewall-cmd --reload # 配置立即生效

2、查看防火墙所有开放的端口

firewall-cmd --zone=public --list-ports

Http没有效应直接显示源码

1.apache没有添加对应的php类型,所以不支持php的脚本解析

解决办法:在配置文件中添加对应类型

找到apache配置文件:知道位置的自己去找,不知道位置的试试使用find命令

在根目录下执行:#find / -name "httpd.conf"

修改httpd.conf在文件中添加一行内容:AddType application/x-httpd-php .php

2.没有加上针对php的索引,如果没有该索引的支持,则无法解析用php编写的网页

解决办法:在配置文件中添加对应索引

找到配置文件方法同上,找到DirectoryIndex index.html

改为DirectoryIndex index.html index.htm index.php 即可

服务器搭建(CenOS 7 Apache + PHP _Mysql环境(LAMP))的更多相关文章

  1. Windows下SVN服务器搭建方法整理(apache)

    http://skydream.iteye.com/blog/437959 http://www.cnblogs.com/liuke209/archive/2009/09/23/1572858.htm ...

  2. centos下yum搭建安装linux+apache+mysql+php环境

    一.脚本YUM源安装: 1.yum install wget                                                     #安装下载工具wget 2.wge ...

  3. SVN服务器搭建(与apache整合)

    一.SVN介绍 SVN是一个版本控制工具,Subversion的版本库(repository),就是位于服务器,统一管理和储存数据的地方. 二.SVN数据存储方式 在Subversion中,版本库的数 ...

  4. centos6.5 yum搭建安装linux+apache+mysql+php环境

    一.脚本YUM源安装: 1.yum install wget                                                     #安装下载工具wget2.wget ...

  5. centos下yum搭建安装linux+apache+mysql+php环境教程

    我们利用linux系统中yum安装Apache+MySQL+PHP是非常的简单哦,只需要几步就可以完成,具体如下: 一.脚本YUM源安装: 1.yum install wget             ...

  6. 腾讯云服务器搭建Apache/PHP/MySQL环境

    软件环境 Windows Server 2008 R2 企业版 SP1 64位 刚刚进入 Windows Server ,你会看到以下界面: 列出了服务器的基础信息和常用配置 下载 XAMPP htt ...

  7. 第02章_MySQL环境搭建

    第02章_MySQL环境搭建 1. MySQL的卸载 步骤1:停止MySQL服务 在卸载之前,先停止MySQL8.0的服务.按键盘上的"Ctrl + Alt + Delete"组合 ...

  8. 如何搭建lamp(CentOS7+Apache+MySQL+PHP)环境 [转]

    在网上搜资料,自己在本地虚拟机上尝试搭建,弄了整整一天一夜,终于弄好了.网上的资料,虽然很多,但大多都是重复的,拿去试了之后,又很多都不能得到正确的结果.最终找到了适合我的linux环境的搭建方式;在 ...

  9. linux下的服务器搭建集成环境

    linux下的服务器搭建集成环境 ——写给初学者的我们 1.准备工具 1.1 SecureCRT SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录 ...

  10. 搭建Apache+MySQL+PHP环境

    1.1 搭建Apache+MySQL+PHP环境 1.1.1 关于安装前的准备 配置好yum源(/etc/yum.repos.d/)目录下,不会就去寻求运维支持. httpd-2.2.29.tar.g ...

随机推荐

  1. js函数组合

    纯函数和柯里化容易引起洋葱代码 函数组合可以让我们把细粒度的函数重新组合生成一个新的函数 函数组合并没有减少洋葱代码,只是封装了洋葱代码 函数组合执行顺序从右到左 满足结合律既可以把g和h组合 还可以 ...

  2. day12-Servlet02

    Servlet02 6.GET和POST请求的分发处理 开发Servlet,通常编写doGet,doPost方法.来对表单的get和post请求进行分发处理 例子 在web文件夹下面创建一个html页 ...

  3. 修改api-server支持的NodePort端口映射范围

    创建svc资源报错显示:provided port is not in the valid range. The range of valid ports is 30000-32767 k8s集群默认 ...

  4. php中的try语句

    为了进一步处理异常,我们需要使用try-catch语句----包括Try语句和至少一个的catch语句.任何调用 可能抛出异常的方法的代码都应该使用try语句.Catch语句用来处理可能抛出的异常.以 ...

  5. 集群部署看过来,低代码@AWS智能集群的架构与搭建方案

    为了帮助充分利用AWS的托管服务快速构建起一套集群环境,彻底去掉"单一故障点",实现最高的可用性,我们准备了<低代码智能集群@AWS的架构与搭建方案>看完本文,带你掌握 ...

  6. day18 批量查询与模糊查询 & 聚合函数与内置函数 & distinct关键字 & 分页查询limit & 排序order

    day18 两个表student和user student id s_name s_age s_sex user id u_name u_age u_sex 批量插入 insert into stud ...

  7. Linux相关命令及软件安装教程

    @font-face { font-family: "Times New Roman" } @font-face { font-family: "宋体" } @ ...

  8. 【每日一题】【第一个出现的值】【二分】2022年1月10日-NC105 二分查找-II

    描述请实现有重复数字的升序数组的二分查找给定一个 元素有序的(升序)长度为n的整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的第一个出现的target,如果目标值存在返 ...

  9. 输出图形字符的命令 banner

    输出图形字符的命令 banner 有趣的 Linux 命令.来自实验楼操作系统课程 安装 sudo apt install sysvbanner 截图 其他 还有两个类似的命令toilet,figle ...

  10. 7-3 停车场管理 (20point(s))

    设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出.车辆按到达停车场时间的先后次序依次从停车场最里面向大门口处停放 (即最先到达的第一辆车停放在停车场的最里面) .如果停车场已放满n辆 ...