LAMP(CentOS)环境详细配置步骤
Posted eyes++
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LAMP(CentOS)环境详细配置步骤相关的知识,希望对你有一定的参考价值。
零:相关配置
配置操作需要root权限,可以使用以下指令转变为root用户
su - root
回车后输入密码即可获取root权限。
配置前可以先将yum更换一下阿里云镜像源,这里是centos的方法,其他linux可自行查找:
- 备份原镜像源:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
- 下载镜像源文件,在线下载并改名。
centos5:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
centos6:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
centos7:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
- 更改CentOS-Media.repo使其为不生效:
enabled=0
- 运行下面命令生成缓存文件
yum clean all
yum makecache
一:配置Apache服务
安装Apache:
yum -y install httpd
启动Apache服务:
systemctl start httpd
检查Apache服务状态是否running:
systemctl status httpd
设置Apache服务开机自动启动:
systemctl enable httpd
或者
chkconfig httpd on # 关闭服务: chkconfig httpd off
此时,访问服务器的80端口,应可以看到Apache的默认页:
除了使用localhost,还可以使用ip访问,查看服务器ip:
ip a
如果访问不了,就需要关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
查看当前系统一共开启了哪些服务:
chkconfig --list
此时linux提示了其他查看方式:
This output shows SysV services only and does not include native
systemd services. SysV configuration data might be overridden by native
systemd configuration.
If you want to list systemd services use 'systemctl list-unit-files'.
To see services enabled on particular target use
'systemctl list-dependencies [target]'.
然后我们就可以对apache进行配置了,可以使用vim打开配置文件:
vim /etc/httpd/conf/httpd.conf
然后输入以下指令使vim提供行号支持:
:set nu
结果如下:
有修改默认端口的需求的话可以修改此处,修改后记得重启apache修改才能生效
还有一个很重要的就是这个路径,DocumentRoot指示了apache提供web服务的文件路径,它下面124行是指是否设置为只允许通过链接访问,默认是不允许。
我们可以修改这个路径到自己想提供web服务的目录,但如果修改的话还有一处也需要修改,下面这个是web服务目录的权限配置。其中Options Indexes FollowSymLinks
是指允许以目录和链接形式访问。
一般开发模式时我们可以这么配置,但是在生产环境需要将Indexes给删掉,即不允许以目录形式访问,因为以目录形式访问会出现极大的安全隐患,如下,我在/var/www/html创建了以下文件,服务器默认会找index.html,index.php,index.jsp等文件,如果没找到,就会展示根目录:
先创建test目录,创建五个文件:
从浏览器访问就会是这个效果:
当我们删除indexes后,就不会出现这种安全隐患了:
# vim打开文件
vim /etc/httpd/conf/httpd.conf
# 进入编辑模式删除Indexes
# 保存修改并退出
:wq
# 重启服务器
service httpd restart
再进入localhost/test就会报错了
当然,前面说过,服务器默认会找index.html文件,找不到就forbiddon,我们也可以在httpd.conf里修改默认入口文件:
二:配置mysql
使用yum安装mysql
# 安装mysql-server(服务端)时mysql(客户端)会作为依赖一起安装.......
yum install -y mysql mysql-server
启动mysql
systemctl start mysqld
如果这样报错:
Redirecting to /bin/systemctl start mysqld.service
Failed to start mysqld.service: Unit not found.
那就是因为yum install -y mysql-server
安装的是MariaDB而不是mysql。。。。。。。具体情况以及解决方法可以见大佬博客,反正我是很惊讶。。。。。。
解决后就可以成功启动mysql了,然后我们再登录mysql
mysql -uroot -p
输入上面命令后直接回车,会提示输入密码,但mysql刚安装是没有密码的,再回车直接登录。登录后我们可以通过修改表来添加密码:
show databases;
# 指定mysql库
use mysql;
# 查看mysql库中的表
show tables;
用户相关配置就在user表内,我们可以直接修改表内配置从而修改密码:
update user set Password=passworpassword('新密码') where User="root";
我们也可以这样修改密码:
set password for root@localhost = password('新密码');
修改成功后即可输入exit
或quit
退出mysql重新密码登录。
如果需要修改默认端口的话,可以进行以下操作:
vim /etc/my.cnf
默认是没有这一行的,且默认端口是3306,如果需要修改可以直接在这改。
修改端口后,每次登录就需要指定端口号了:
mysql -uroot -hlocalhost -Pport -p
三:配置PHP
先下载php以及php与mysql连接的包(默认安装php5.4,如需更高版本,可往下看)
yum install php php-mysql
下载完成后即可重启apache和mysql服务:
service httpd restart
service mysqld restart
然后来测试一下php有没有生效,进入web目录,默认是/var/www/html
:
# 进入web服务目录
cd /var/www/html
# 创建并编辑index.php文件
vim index.php
即输出php配置信息:
打开浏览器运行:
如果要用php7的话,可以进行如下操作:
添加EPEL和REMI存储库:
sudo yum install epel-release
sudo yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
在CentOS 7上安装PHP 7.4版本:
sudo yum -y install yum-utils
yum repolist all |grep php
sudo yum-config-manager --enable remi-php74
在CentOS 7上安装PHP 7.4 以及扩展:
sudo yum install php php-cli php-fpm php-mysqlnd php-zip php-devel php-gd php-mcrypt php-mbstring php-curl php-xml php-pear php-bcmath php-json php-redis
当前的PHP版本应为7.4版,如下所示:
php -v
如果要查看启用的模块,请运行:
php --modules
如果有兴趣了解更多相关内容,欢迎来我的个人网站看看:瞳孔的个人空间
以上是关于LAMP(CentOS)环境详细配置步骤的主要内容,如果未能解决你的问题,请参考以下文章