一、准备工作
1.确定CenOS7.2配置好网络环境,能够上网。 ping www.baidu.com 测试是否网络连接通畅,如果不能正常ping通的话按如下步骤操作
首先把虚拟机配置改为桥接模式,然后开启 如图:
然后ping下127.0.0.1看看网卡是否安装正常如图:
设置网卡ens33静态IP
[root@localhost /]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# ls -a #查看network-scripts下的所有文件
使用vi进行编辑
[root@localhost network-scripts]# vi ifcfg-ens33
【点击i 进行插入 完成之后Esc 并输入:wq 进行保存】
配置如图:
[root@localhost ~]# service network restart #重启网络
[root@localhost ~]# ping 192.168.0.108 #ping局域网内的IP正常或者本机IP
[root@localhost ~]# ping www.baidu.com #ping百度域名还是不行
ping: www.baidu.com: Name or service not known #出现这个错误
ping 命令是属于ICMP协议,ping ip地址有效。若直接ping网址(域名),需要配置DNS。编辑添加nameserver(本人系统无resolv.conf文件,自行创建文件并配置如下内容):
vi /etc/resolv.conf #创建文件并打开
nameserver 8.8.8.8
nameserver 8.8.4.4
- 配置防火墙,开启80、3306端口。CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。
停止firewall服务
systemctl stop firewalld.service
禁止firewall开机启动
systemctl disable firewalld.service
安装
yum install iptables-services
编辑防火墙配置文件
vi /etc/sysconfig/iptables
加入()的两行代码,请注意位置一定要对应。否则无效果
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
(-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT)# ( )去掉这里说明用
(-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT)#( )去掉这里说明用
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
:wq! #保存退出
最后重启防火墙使配置生效
systemctl restart iptables.service
设置防火墙开机启动
systemctl enable iptables.service
- 关闭seinux
修改配置文件
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq! #保存退出
使配置立即生效
setenforce 0
二、安装Lamp环境。
- 安装apahce
yum install httpd
systemctl start httpd.service #启动apache
systemctl stop httpd.service #停止apache
systemctl restart httpd.service #重启apache
systemctl enable httpd.service #设置apache开机启动
systemctl restart httpd.service #重启服务
输入localhost或者ip地址 ,出现如图之后代表已经安装上去了。
三、安装mysql。(5.6版本)
由于yum源上没有mysql-server。所以必须去官网下载,这里我们用wget命令,直接获取。
# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
在linux中使用wget时,若报-bash: wget: command not found,则表明没有安装wget,需要安装,安装命令如下:
#yum -y install wget //安装完成即可以使用
# rpm -ivh mysql-community-release-el7-5.noarch.rpm
# yum install mysql-community-server
安装完成后重启mysql
# systemctl restart mysqld.service
初入安装 root用户没有密码:
[root@linuxidc-web linuxidc]# mysql -u root
#设置msyql密码为 123456
mysql> set password for 'root'@'localhost' =password('123456');
#远程连接设置,所有以root账号连接的远程用户,设其密码为 123456
mysql> grant all privileges on *.* to root@'%'identified by '123456';
#更新权限
mysql>flush privileges;
#退出mysql
mysql>exit;
三、安装php
查看 centos 版本
# cat /etc/centos-release
如果已经安装过php就先删除之前的版本。检查方法如下:
yum list installed | grep php
然后将安装的包进行删除
比如 yum remove php.x86_64 php-cli.x86_64 php-common.x86_64 php-gd.x86_64 php-ldap.x86_64 php-mbstring.x86_64 php-mcrypt.x86_64 php-mysql.x86_64 php-pdo.x86_64
具体根据显示的安装列表的名称进行相应的删除
也可这样操作删除之前的 php 版本
# yum remove php* php-common
更新yum源地址 根据linux系统决定
CentOS 7.x
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
CentOS 6.x
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
CentOS 5.x
rpm -Uvh http://mirror.webtatic.com/yum/el5/latest.rpm
现以rpm 安装 php7 相应的 yum源为例,如果想安装php5.5或者5.6版本,将下面的php70w替换为php55w或者php56w就可以了。本人安装php56w。
更新完yum源可查看要安装的php版本:
yum list php*
通过yum源进行php和其他组件的安装
yum install php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-mysql.x86_64 php70w-pdo.x86_64
yum install php70w-fpm
其他需要的组件在自行安装
重启mysql
# systemctl restart mysqld.service
重启apache
# systemctl restart httpd.service
以上安装 apahce 、mysql 、php 安装完毕。
查看安装环境版本:
cd /var/www/html ,新建index.php文件,输入:
phpinfo();
最终查看为:php版本:
yum安装的lamp默认路径
apache:
如果采用RPM包安装,安装路径应在 /etc/httpd目录下
apache配置文件:/etc/httpd/conf/httpd.conf
Apache模块路径:/usr/sbin/apachectl
web目录:/var/www/html
如果采用源代码安装,一般默认安装在/usr/local/apache2目录下
查看apache mpm的方法
ubuntu: apache2ctl -v redhat: httpd -v 查看Server MPM:prefork
apache并发参数详解
https://blog.csdn.net/dreamer2020/article/details/52849773
PHP:
如果采用RPM包安装,安装路径应在 /etc/目录下
php的配置文件:/etc/php.ini
如果采用源代码安装,一般默认安装在/usr/local/lib目录下
php配置文件: /usr/local/lib/php.ini
或/usr/local/php/etc/php.ini
MySQL:
如果采用RPM包安装,安装路径应在/usr/share/mysql目录下
mysqldump文件位置:/usr/bin/mysqldump
mysqli配置文件:
/etc/my.cnf或/usr/share/mysql/my.cnf
mysql数据目录在/var/lib/mysql目录下
如果采用源代码安装,一般默认安装在/usr/local/mysql目录下
Apache设置禁止访问网站目录及文件
Apache默认在当前目录下没有index.html入口就会显示网站根目录,让网站目录文件都暴露在外面,是一件非常危险的事,例如:数据库密码泄露,隐藏页面暴露等严重安全问题!
vim /etc/httpd/conf/httpd.conf
Options Indexes FollowSymLinks
修改为:
Options FollowSymLinks
修改后结果如下:
#Options None
#Options Indexes FollowSymLinks
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
其实就是将Indexes去掉,Indexes表示若当前目录没有index.html就会显示目录结构。
重启Apache服务器 /etc/init.d/httpd restart
- 禁止访问某些文件/目录
增加Files选项来控制,比如要不允许访问 .txt和.log 扩展名的文件,保护php类库:
Order allow,deny
Deny from all
#继续添加验证即可
Order allow,deny
Deny from all
禁止访问某些指定的目录:(可以用
Order allow,deny
Deny from all
通过文件匹配来进行禁止,比如禁止所有针对图片的访问:
Order allow,deny
Deny from all
针对URL相对路径的禁止访问:
Order allow,deny
Deny from all
Apache的speling_module模块,该模块支持URL忽略大小写。(windows端大小写不敏感,linux端大小写敏感。)
【speling_module】
检查是否有speling_module模块
[root@xxmodules]# ls -ld /etc/httpd/modules/mod_speling.so
-rwxr-xr-x. 1 root root 14608 Jul 23 22:18 /etc/httpd/modules/mod_speling.so
1. [root@xxmodules]# vi /etc/httpd/conf/httpd.conf
添加如下行:
LoadModule speling_module modules/mod_speling.so
CheckSpelling on
保存修改,退出
2.重启httpd服务。
systemctl restart httpd.service
Centos7搭建FTP服务器,详细教程
https://blog.csdn.net/annita2019/article/details/92798827