服务器搭建(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. 谷歌浏览器xpath获取网页按钮路径

    谷歌浏览器打开要获取的页面按下F12打开开发者工具 点击最左边的元素选择器,高亮后光标移动到对应元素框(这里只选择里层的元素,如这里要选到input级别) 点击后下方HTML会高亮显示,鼠标移动上去右 ...

  2. 2022春每日一题:Day 31

    题目:机器分配 设f[i][j]表示前i个机器,共分配了j个的最大值,枚举第i个机器分配个数,转移f[i][j]=max{f[i-1][k]+a[i][j-k]},此题只是加了个要输出 代码: #in ...

  3. vcenter的虚拟机开机进入bios

  4. 基于python的数学建模---多模糊评价

    权重 ak的确定--频数统计法 选取正整数p的方法 画箱形图   取1/4与3/4的距离(IQR)  ceil()取整 代码: import numpy as np def frequency(mat ...

  5. <四>理解空间配置器allocator, 优化STL 中的Vector

    .在上一节我们实现的 MyVector存在哪些问题? 问题1 现在有Student类 class Student{ public: Student(){cout<<"构造Stud ...

  6. 简单的sql注入1

    首先查看源码找找思路 发现源码里什么都没有 再使用bp拦截下数据 多次拦截后发现我们在 输入框里输入的等下就是id= 意思是我们这里就可以直接使用get注入了 好像类似于sql-labs上的?id= ...

  7. C温故补缺(十四):内存管理

    内存管理 stdlib库中有几个内存管理相关的函数 序号 函数和描述 1 void *calloc(int num, int size);在内存中动态地分配 num 个长度为size 个字节 的连续空 ...

  8. Vue 双向绑定数据已经更新,但是视图更新:

    使用ElementUI做动态增减表单项的时候,发现数据刷新后视图未更新 Vue包装了数个数组操作函数,使用这些方法操作的数组去,其数据变动时会被vue监测: push() pop() shift() ...

  9. Java锁的逻辑(结合对象头和ObjectMonitor)

    我们都知道在Java编程中多线程的同步使用synchronized关键字来标识,那么这个关键字在JVM底层到底是如何实现的呢. 我们先来思考一下如果我们自己实现的一个锁该怎么做呢: 首先肯定要有个标记 ...

  10. 关于deepin-wine或wine更换字体方法

    前言 首先要知道,deepin-wine打包的QQ和你自己用 deepin-wine跑的windows软件,他们所在不是同一个容器 deepin打包QQ所在的容器,在你的 ~/.deepinwine ...