CentOS7 搭建 LAMP环境

时间:2022-04-10 08:40:30

更改软件源

如果你CentOS安装时,选择的跟我一样是最新安装。

一、配置网络连接

    $> ip addr

查看自己的网卡

`$> cat /etc/sysconfig/network-scripts/ifcfg-en* // 查看对应的网`卡信息

从上面的配置中有看到虽然BOOTPROTO=dhcp,但是ONBOOT=no,这里用vi将ONBOOT=no改成ONBOOT=yes,然后重启CentOS。

二、设置静态IP

eno16777736 是我的网卡

$> vi /etc/sysconfig/network-scripts/ifcfg-eno1677BOOTPROTO=dhcp
IPADDR0=192.168.235.120
PREFIX0=24
GATEWAY0=192.168.235.2
DNS1=114.114.114.114
DNS2=114.114.115.115

安装工具

$> yum install net-tools, make, gcc, kernel-devel, ntsysv, tree, links, wget

三、安装虚拟机增强工具

做好上述工具安装准备,再安装增强工具。
纯命令行模式下是不支持中文的

四、配置LAMP环境

1、 查看系统初始化环境

cat /var/log/messages | grep error (检查有无系统级错误信息)
dmesg (检查硬件设备是否有错误信息)
cat /proc/cpuinfo (检查 CPU 频率是否正常)
top (按 1 检测 CPU 核数是否正常,内存大小是否正常)
ifconfig(检查网卡设置是否正确)
ping www.qq.com(检查网络是否正常)

2、关闭不需要的服务

执行 ntsysv 命令:
ntsysv // linux下配置开机自启动服务的命令ntsysv

在服务设置界面,设置各项服务的开关。以下仅列出需要启动的服务,未列出的服务一律推荐关闭:

    atd
crond
irqbalance
microcode_ctl
network
sendmail
sshd
syslog

关闭 SElinux ,关闭方法如下:
修改 /etc/selinux/config 文件中的 SELINUX= 为 disabled。

3、 配置Apache环境

    yum -y install httpd
rpm -qi httpd // 查看包详细信息

增加刚才分配给 Apache 的端口通过防火墙,然后重新加载防火墙。

修改配置文件

    cd /etc/httpd/conf
cp httpd.conf httpd.conf.origin
more httpd.conf
如果你想更改 Apache HTTP 服务器的默认端口号(80)为其它端口,你需要编辑配置文件 ‘/etc/httpd/conf/httpd.conf’ 并查找以下面开始的行:
LISTEN 80
把端口号 ‘80’ 改为其它任何端口(例如 3221),保存并退出。

HTTP服务器已经启动,进行一下简单配置

    vi /etc/httpd/conf/httpd.conf #编辑文件
ServerSignature On #添加,在错误页中显示Apache的版本,Off为不显示
Options Indexes FollowSymLinks #修改为:Options Includes ExecCGI FollowSymLinks(允许服务器执行CGI及SSI,禁止列出目录)
#AddHandler cgi-script .cgi #修改为:AddHandler cgi-script .cgi .pl (允许扩展名为.pl的CGI脚本运行)
AllowOverride None  #修改为:AllowOverride All (允许.htaccess)
AddDefaultCharset UTF-8 #修改为:AddDefaultCharset GB2312 (添加GB2312为默认编码)
#Options Indexes FollowSymLinks #修改为 Options FollowSymLinks(不在浏览器上显示树状目录结构)
DirectoryIndex index.html #修改为:DirectoryIndex index.html index.htm Default.html Default.htm index.php(设置默认首页文件,增加index.php)
MaxKeepAliveRequests 500 #添加MaxKeepAliveRequests 500 (增加同时连接数)

重启服务

systemctl restart httpd.service

设置为自动启动

systemctl enable httpd.service  //在centos7中chkconfig httpd on 被替换成 systemctl enable httpd

定制防火墙 管理员权限

In CentOS 7.0 uses Firewall-cmd, so I will customize it to allow external access to port 80 (http) and 443 (https).

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

开启了防火墙,客户机就能通过浏览器访问了

links 127.0.0.1 // 很cool

4、 安装准备工作 安装最新的epel

    rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
yum -y install epel-release

5、 安装数据库 MariaDB

参考

yum -y install mariadb-server mariadb

systemctl start mariadb.service

设置开机启动

systemctl enable mariadb.service

设置密码

mysql_secure_installation

回车

配置

cp /usr/share/mysql/my-huge.cnf /etc/my.cnf  //覆盖原配置就好了。

为什么使用MariaDB呢?

MariaDB is the free MySQL fork, MariaDB is compatible with MySQL and the commands from MariaDB are still nemad "mysql" or "mysqldump", so there are no differences from the Client side. All Major Linux Distributions replaced MySQL with MariaDB now, so we will use that for the tutorials as well. Some users also Report that MariDB is faster then MySQL in the latest releases.

6、 安装php5

yum -y install php

重启httpd服务

systemctl restart httpd.service

配置:

 vi /etc/php.ini
date.timezone = PRC #把前面的分号去掉,改为date.timezone = PRC
disable_functions = passthru,exec,system……#列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。
expose_php = Off #禁止显示php版本的信息
short_open_tag = ON #支持php短标签
open_basedir = .:/tmp/ #设置表示允许访问当前目录(即PHP脚本文件所在之目录)和/tmp/目录,可以防止php木马跨站,如果改了之后安装程序有问题(例如:织梦内容管理系统),可以注销此行,或者直接写上程序的目录/data/www.osyunwei.com/:/tmp/

测试一下:

vi /var/www/html/index.php  
输入
<?php phpinfo(); ?>

wq保存退出。

打开网页,如果能看到PHP配置信息页,说明PHP服务器正常。

7、测试

vi /var/www/html/info.php
输入
<?php
phpinfo();
?>

客户机访问网站

8、 获得php的mysql支持

yum search php
yum -y install php-mysql

安装php模块

yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel

重启服务

 systemctl restart httpd.service

9.、安装phpMyAdmin

    yum install phpMyAdmin

配置phpMyAdmin

    vi /etc/httpd/conf.d/phpMyAdmin.conf

注释

    #<Directory /usr/share/phpMyAdmin/>
# <IfModule mod_authz_core.c>
# # Apache 2.4
# <RequireAny>
# Require ip 127.0.0.1
# Require ip ::1
# </RequireAny>
# </IfModule>
# <IfModule !mod_authz_core.c>
# # Apache 2.2
# Order Deny,Allow
# Deny from All
# Allow from 127.0.0.1
# Allow from ::1
# </IfModule>
#</Directory>

添加

    <Directory /usr/share/phpMyAdmin/>
Options none
AllowOverride Limit
Require all granted
</Directory>

10.、将phpMyAdmin的认证 从cookie 修改为 http

vi /etc/phpMyAdmin/config.inc.php

更改

$cfg['Servers'][$i]['auth_type']     = 'http';    // Authentication method (config, http or cookie based)?

在客户端浏览器中登录phpMyAdmin时,用户名和密码为数据库的用户名和密码