CentOS7 安装 LAMP 和 Mod Security 手记

安装Apache

Apache在默认的CentOS仓库中可用,安装非常简单。 在CentOS和RHEL上,Apache软件包和服务称为httpd。 要安装软件包,请运行以下命令:

sudo yum install httpd
sudo yum install mod_security
sudo yum install mod_ssl mod_xsendfile mod_security mod_security-mlogc mod_evasive

安装完成后,启用并启动Apache服务:

sudo systemctl enable httpd
sudo systemctl restart httpd


如果您正在运行防火墙,则还需要打开HTTP和HTTPS端口80和443:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload


我们可以通过以下方式检查Apache服务的状态和版本:

sudo systemctl status httpd

 

安装配置Mod Security

yum install mod_security

# cd /etc/httpd
# git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git
# mv owasp-modsecurity-crs modsecurity-crs
# cd modsecurity-crs
# cp modsecurity_crs_10_setup.conf.example modsecurity_crs_10_config.conf


conf

#LoadModule security2_module modules/mod_security2.so
LoadModule security2_module modules/mod_security2.so
LoadModule unique_id_module modules/mod_unique_id.so
#<IfModule security2_module>
#  Include conf.d/mod_security.conf
#</IfModule>


Include modsecurity-crs/crs-setup.conf
Include modsecurity-crs/rules/*.conf

设置虚拟主机需要删除welcome.conf



PHP的安装方案一

本方案的源只有 PHP7.1 和 PHP 7.2,如需安装 PHP 7.3+ 应使用方案二

1、由于 CentOS 7 的 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


2、yum查询安装php72w

yum search php72w
yum install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml


PHP的安装方案二


## 安装EPEL仓库:

sudo yum install epel-release

## 安装remi仓库:

sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm


## 安装PHP 7.3 
yum --enablerepo=remi-php73 install php
## 安装 PHP 7.2 
yum --enablerepo=remi-php72 install php


安装PHP模块

## For PHP 7.3
yum --enablerepo=remi-php73 install php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt php-opcache php-pdo php-mysqlnd
## For PHP 7.2
yum --enablerepo=remi-php72 install php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt php-opcache php-pdo php-mysqlnd


列出remi仓库下所有PHP7.3可用模块

yum --enablerepo=remi-php73 search php | grep php73

 


MySQL安装

CentOS7的yum源中默认是没有mysql的。为了解决这个问题,我们要先下载mysql的repo源。

在Centos7中用MariaDB代替了mysql数据库。所以在新安装MySQL前必须做好对系统的清理工作。

清理CentOS7下的MariaDB。

rpm -qa | grep mariadb

yum -y remove mari*

#下载mysql 安装源[MySQL Yum Repository ]

wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

#添加 MySQL Yum Repository 到你的系统 repository 列表中

yum localinstall mysql-community-release-el7-5.noarch.rpm

#查看安装源是否有mysql 安装包

yum repolist enabled | grep "mysql.*-community.*"

#查看mysql版本

yum repolist all | grep mysql

#可通过修改/etc/yum.repos.d/mysql-community.repo 来启用禁用某版本

#查看当前启用的版本

yum repolist enabled | grep mysql

#安装mysql

yum install mysql-community-server 

whereis mysql 

systemctl start mysqld

systemctl status mysqld

systemctl stop mysqld

#配置防火墙(centos 7.x的用法),增加mysql默认端口号 3306

#如果没有防火墙也可以不用管

#开放端口

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

firewall-cmd --permanent --zone=public --add-port=3306/udp

firewall-cmd --reload 

#mysql设置

mysql_secure_installation #之后按提示设置,记得设在root密码

#登陆mysql

mysql -u root -p

#grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口令’

#创建wwws用户为网页用户,连接数据库

CREATE USER 'wwws'@'%' IDENTIFIED BY 'zheshimima@123456';

GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO 'wwws'@'%';

#创建admins用户,允许远程连接数据库

CREATE USER 'admins'@'%' IDENTIFIED BY 'zheshimima@123456';

GRANT ALL ON *.* TO 'admins'@'%';

#使授权立刻生效

flush privileges;

 

修改时间 2018-10-22

声明:本站所有文章和图片,如无特殊说明,均为原创发布。商业转载请联系作者获得授权,非商业转载请注明出处。
真诚赞赏,手留余香
赞赏
随机推荐
Debian11 安装笔记2:编译安装PHP
MySQL 删除逗号分隔字段中的某一个值
CSS 媒体特性 prefers-color-scheme
Debian11 安装笔记1:编译安装Nginx、Naxsi 和 Njs
WordPress 常用的路径
MySQL 字符串截取函数 SUBSTRING_INDEX
River 主题
wp_signon() 自定义用户登录函数